(57)【特許請求の範囲】
【請求項１】
画像データに含まれる複数レイヤの画像オブジェクトを重ね合わせ処理し出力画像データを生成する画像処理装置であって、
複数レイヤの画像オブジェクトを含む画像データを入力する入力手段と、
前記重ね合わせ処理の対象となるレイヤの画像オブジェクトの解像度情報を取得する取得手段と、
前記取得手段で取得した解像度情報が示す解像度で、前記対象となるレイヤの画像オブジェクトに対するピクセルデータを生成し記憶手段に格納する生成手段と、
前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きい場合、値ａを該下地レイヤの解像度を該重ね合わせレイヤの解像度で除して得られる値、値ｂを１と設定し、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きくない場合、値ａを１、値ｂを該重ね合わせレイヤの解像度を該下地レイヤの解像度で除して得られる値と設定する設定手段と、
前記下地レイヤにおける連続するａピクセル及び前記重ね合わせレイヤにおける連続するｂピクセルを単位としてピクセルを重ね合わせる重ね合わせ手段と、
前記生成手段による画像データの生成と前記重ね合わせ手段によるピクセルの重ね合わせを未処理のレイヤが存在しなくなるまで繰り返し実行するよう制御する制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記生成手段は、単色塗りつぶしの前記下地レイヤに対しては、単一ピクセルの画像データを生成し前記記憶手段に記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記重ね合わせ手段は、単色塗りつぶしの前記下地レイヤに対しては、前記単一ピクセルの画像データを再帰的に利用し前記重ね合わせレイヤのピクセルと重ね合わせることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
画像データに含まれる複数レイヤの画像オブジェクトを重ね合わせ処理し出力画像データを生成する画像処理装置の制御方法であって、
入力手段が、複数レイヤの画像オブジェクトを含む画像データを入力する入力工程と、
取得手段が、前記重ね合わせ処理の対象となるレイヤの画像オブジェクトの解像度情報を取得する取得工程と、
生成手段が、前記取得手段で取得した解像度情報が示す解像度で、前記対象となるレイヤの画像オブジェクトに対するピクセルデータを生成し記憶手段に格納する生成工程と、
設定手段が、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きい場合、値ａを該下地レイヤの解像度を該重ね合わせレイヤの解像度で除して得られる値、値ｂを１と設定し、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きくない場合、値ａを１、値ｂを該重ね合わせレイヤの解像度を該下地レイヤの解像度で除して得られる値と設定する設定工程と、
重ね合わせ手段が、前記下地レイヤにおける連続するａピクセル及び前記重ね合わせレイヤにおける連続するｂピクセルを単位としてピクセルを重ね合わせる重ね合わせ工程と、
制御手段が、前記生成工程による画像データの生成と前記重ね合わせ工程によるピクセルの重ね合わせを未処理のレイヤが存在しなくなるまで繰り返し実行するよう制御する制御工程と、
を含むことを特徴とする画像処理装置の制御方法。
【請求項５】
コンピュータを、
複数レイヤの画像オブジェクトを含む画像データを入力する入力手段、
前記複数レイヤのうち重ね合わせ処理の対象となるレイヤの画像オブジェクトの解像度情報を取得する取得手段、
前記取得手段で取得した解像度情報が示す解像度で、前記対象となるレイヤの画像オブジェクトに対するピクセルデータを生成し記憶手段に格納する生成手段、
前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きい場合、値ａを該下地レイヤの解像度を該重ね合わせレイヤの解像度で除して得られる値、値ｂを１と設定し、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きくない場合、値ａを１、値ｂを該重ね合わせレイヤの解像度を該下地レイヤの解像度で除して得られる値と設定する設定手段、
前記下地レイヤにおける連続するａピクセル及び前記重ね合わせレイヤにおける連続するｂピクセルを単位としてピクセルを重ね合わせる重ね合わせ手段、
前記生成手段による画像データの生成と前記重ね合わせ手段によるピクセルの重ね合わせを未処理のレイヤが存在しなくなるまで繰り返し実行するよう制御する制御手段、
として機能させるためのプログラム。
【請求項６】
請求項１乃至３の何れか一項に記載の画像処理装置と、
前記画像処理装置により生成された出力画像データに基づき印刷を実行する印刷手段と、
を備えることを特徴とするプリンタ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像オブジェクトの重ね合わせ処理技術に関するものである。
【背景技術】
【０００２】
近年、プリンタの高画質化に伴い、高解像度での印刷のニーズが非常に高まってきている。ところで、印刷するアプリケーションのデータやオブジェクトの特性によって、ユーザに与える画質の印象は異なる。例えば、文字や図形（グラフィック）に関しては、エッジ部分の印象が非常に強く、高解像度での出力が求められる。また、写真イメージなどに関しては解像度より階調性が重視される傾向にある。従って、文字主体の原稿データに対しては高解像度で出力することにより画質を保ち、写真イメージなどの原稿データに対しては低解像度で印刷することにより、印刷速度を向上するようなラスタ処理が近年用いられている。
【０００３】
しかし、高解像度の文字や図形と低解像度の写真イメージとを重ね合わせる場合、それぞれ異なる解像度でラスタ処理やレンダリング処理を行った場合、そのまま重ね合わせ処理を実行してしまうと不正な描画が生じてしまう。
【０００４】
そこで、例えば、特許文献１には、高解像度処理と低解像度処理の二つの処理手段を備える構成が開示されている。そしてイメージオブジェクトと、文字やグラフィック等の非イメージオブジェクトが重なる領域は、イメージオブジェクトのレンダリング処理に用いる低解像度のレンダリング処理を施す。さらに非イメージオブジェクトにも適用し、解像度を統一させて重ね合わせ処理を行う技術が存在する。
【特許文献１】特開平１０−２４３２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の従来技術においては以下の問題点がある。まず、オブジェクトの属性を元にそれぞれの解像度のレンダリング処理を選択しているため、同一の属性を持つオブジェクトに対し異なる解像度のレンダリング処理を行うことが出来ない。例えば、同じ”イメージ”属性のオブジェクトでも、デザイン用途のイメージのように画質が優先されるイメージや、オフィス用途の単純なイメージとでは特性が異なる。そのため、同一の属性であっても出力する解像度を変更したい場合が生じるが、従来の技術ではこのようなケースに対応することができない。
【０００６】
また、文字やグラフィック等、元々高解像度で出力されるべきものを、重ね合わせ処理を行う場合に低解像度に変換すると画質が損なわれてしまう恐れがある。しかし、高解像度で重ね合わせ処理を行う場合、メモリ等のリソースをより多く必要としてしまうと共に、重ね合わせ処理を施すピクセル数も増加してしまい、処理速度に影響をもたらす。従って、効率的かつ低リソースでより高解像度な重ね合わせ処理を実現するための手法が望まれている。
【０００７】
本発明は上述の問題点に鑑みなされたものであり、画像の重ね合わせ処理の高速化を低コストで実現可能な画像処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の問題点を解決するために、本発明の画像処理装置は以下の構成を備える。すなわち、画像データに含まれる複数レイヤの画像オブジェクトを重ね合わせ処理し出力画像データを生成する画像処理装置において、複数レイヤの画像オブジェクトを含む画像データを入力する入力手段と、前記重ね合わせ処理の対象となるレイヤの画像オブジェクトの解像度情報を取得する取得手段と、前記取得手段で取得した解像度情報が示す解像度で、前記対象となるレイヤの画像オブジェクトに対するピクセルデータを生成し記憶手段に格納する生成手段と、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きい場合、値ａを該下地レイヤの解像度を該重ね合わせレイヤの解像度で除して得られる値、値ｂを１と設定し、前記重ね合わせ処理における重ね合わせレイヤの解像度が下地レイヤの解像度より大きくない場合、値ａを１、値ｂを該重ね合わせレイヤの解像度を該下地レイヤの解像度で除して得られる値と設定する設定手段と、前記下地レイヤにおける連続するａピクセル及び前記重ね合わせレイヤにおける連続するｂピクセルを単位としてピクセルを重ね合わせる重ね合わせ手段と、前記生成手段による画像データの生成と前記重ね合わせ手段によるピクセルの重ね合わせを未処理のレイヤが存在しなくなるまで繰り返し実行するよう制御する制御手段と、を備える。
【発明の効果】
【００１５】
本発明によれば、画像の重ね合わせ処理の高速化を低コストで実現可能な画像処理技術を提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１７】
（第１実施形態）
本発明に係る画像処理装置の第１実施形態として、パーソナルコンピュータ（ＰＣ）とカラーレーザビームプリンタ（プリンタ）を含む画像処理システムを例に挙げて以下に説明する。
【００１８】
＜システムの構成＞
図１は、第１実施形態に係る画像処理システムの概略構成を示す図である。
【００１９】
画像処理システムには、おおまかにデータ処理装置であるＰＣ１０１と画像記録装置であるプリンタ１０２とが含まれる。ＰＣ１０１は、プリンタ１０２へ画像データを出力およびプリンタ１０２の制御を行う。ここではプリンタ１０２として、レーザビームプリンタ（ＬＢＰ）を用いて説明する。ただし、適用可能な画像記録装置は、ＬＢＰに限られるものではなく、インクジェットプリンタ等他のプリント方式のプリンタでもよい。
【００２０】
プリンタ１０２には、プリンタ１０２の各部を制御するプリンタコントローラ１０３、および、用紙などの記録媒体に対し記録を実行するプリンタエンジン１０５が含まれる。また、ユーザへの情報表示およびユーザからの入力受付を行うユーザインタフェース（ＵＩ）であるパネル部１０４が含まれる。
【００２１】
プリンタコントローラ１０３は、ＰＣ１０１から供給される制御コード（ページ記述言語など）に含まれる画像データに基づいて、ページ毎にラスタデータ（ビットマップデータ）を生成し、プリンタエンジン１０５に送出する。
【００２２】
プリンタエンジン１０５は、プリンタコントローラ１０３から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着（電子写真方式）することにより画像を記録媒体に記録する。
【００２３】
パネル部１０４は、ＵＩとして使用され、ユーザは、パネル部１０４を操作することにより、プリンタ１０２に動作を指示することができる。また、パネル部１０４には、プリンタ１０２の処理内容や、ユーザへの警告内容が表示される。
【００２４】
図２は、タンデム方式のプリンタ１０２の構成を説明するための図である。ここでは、イエロー（Ｙ）、マゼンタ（Ｍ）、シアン（Ｃ）、ブラック（Ｋ）の４色のトナーを利用するカラープリンタの例を示している。
【００２５】
２０１は、プリンタ筐体である。２０２は、ユーザが各種指示を与えるためのスイッチ、メッセージやプリンタの設定内容等を表示するためのＬＣＤ表示器等が配された操作パネルである。２０３は、ボード収容部であり、プリンタコントローラ１０３及びプリンタエンジン１０５の電子回路部分を構成するボードを収容する。
【００２６】
２２０は、用紙（記録媒体）Ｓを保持する用紙カセットであり、不図示の仕切り板によって電気的に用紙サイズを検知する機構を有する。２２１は、カセットクラッチであり、用紙カセット２２０上に載置された用紙Ｓの最上位の一枚を取り出して、取り出した用紙Ｓを不図示の駆動手段から伝達される駆動力によって給紙ローラ２２２まで搬送するカムを有する。このカムは、給紙の度に間欠的に回転し、１回転に対応して１枚の用紙Ｓを給紙する。２２３は用紙検知センサで、それぞれ用紙カセット２２０に保持されている用紙Ｓの量を検知する。
【００２７】
給紙ローラ２２２は、用紙Ｓの先端部をレジストシャッタ２２４まで搬送するローラである。２２４は、レジストシャッタであり、用紙Ｓを押圧することにより給紙を停止することができる。
【００２８】
２３０は、手差しトレイであり、２３１は、手差し給紙クラッチである。手差し給紙クラッチ２３１は、用紙Ｓの先端を手差し給紙ローラ２３２まで搬送するために使用され、手差し給紙ローラ２３２は、用紙Ｓの先端をレジストシャッタ２２４まで搬送するために使用される。画像記録に供する用紙Ｓは、用紙カセット２２０及び手差しトレイ２３０のいずれかの給紙手段を選択して給紙される。
【００２９】
プリンタエンジン１０５は、プリンタコントローラ１０３と所定の通信プロトコルにしたがって通信を行い、プリンタコントローラ１０３からの指示にしたがって用紙カセット２２０手差しトレイ２３０の中からいずれかの給紙手段を選択する。さらに、印刷の開始指示に応じて該当する給紙手段よりレジストシャッタ２２４まで用紙Ｓを搬送する。なお、プリンタエンジン１０５は、給紙手段、潜像の形成、転写、定着等の電子写真プロセスに関する機構、排紙手段及びそれらの制御手段を含む。
【００３０】
２０４ａ、２０４ｂ、２０４ｃ、２０４ｄは４色それぞれに対応する画像記録部であり、感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄやトナー保持部等を有する電子写真プロセスにより、用紙Ｓ上に各色のトナー像を形成する。一方、２０６ａ、２０６ｂ、２０６ｃ、２０６ｄは、レーザスキャナ部であり、画像記録部にレーザビームによる画像情報を供給する。
【００３１】
画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄには、用紙Ｓを搬送する用紙搬送ベルト２５０が複数の回転ローラ２５１〜２５４によって用紙搬送方向（図の下から上方向）に扁平に張設される。その最上流部においては、バイアスを印加した吸着ローラ２２５によって、用紙を用紙搬送ベルト２５０に静電吸着させる。またこのベルト搬送面に対向して４個の感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄが直線状に配設されており、画像形成手段を構成している。画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄのそれぞれには、感光ドラムの周辺近傍を順次取り囲んで、帯電器、現像器が配置されている。
【００３２】
２０７ａ、２０７ｂ、２０７ｃ、２０７ｄは、レーザユニットであり、プリンタコントローラ１０３から送出される画像信号（ＶＩＤＥＯ信号ともいう）に応じて、内蔵の半導体レーザを駆動し、レーザビームを発射する。レーザユニット２０７ａ、２０７ｂ、２０７ｃ、２０７ｄから発せられたレーザビームは、ポリゴンミラー（回転多面鏡）２０８ａ、２０８ｂ、２０８ｃ、２０８ｄにより走査され、感光ドラム２０５ａ、２０５ｂ、２０５ｃ、２０５ｄ上に潜像を形成する。
【００３３】
２６０は、定着器で、画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄにより用紙Ｓに形成されたトナー画像を記録紙Ｓに熱定着させる。２６１は、搬送ローラで、用紙Ｓを排紙搬送する。２６２は、排紙センサで、用紙Ｓの排紙状態を検知する。２６３は、排紙ローラ兼両面印刷用搬送路切替えローラで、用紙Ｓを排紙方向へ搬送し、用紙Ｓの搬送指示が排紙の場合はそのまま排紙トレイ２６４に排紙する。搬送指示が両面搬送の場合は、用紙Ｓの後端が排紙センサ２６２を通過した直後に回転方向を逆向きに変え、スイッチバックすることにより用紙Ｓを両面印刷用搬送路２７０へ搬送する。２６５は排紙積載量検知センサで、排紙トレイ２６４上に積載された用紙Ｓの積載量を検知する。
【００３４】
２７０は、両面印刷用搬送路である。排紙ローラ兼両面印刷用搬送路切替えローラ２６３により両面印刷用に搬送された用紙Ｓは、両面搬送ローラ２７１〜２７４によって再びレジストシャッタ２２４まで搬送される。そして画像記録部２０４ａ、２０４ｂ、２０４ｃ、２０４ｄへの搬送指示を待つ。なお、プリンタ１０２には、さらにオプションカセットや封筒フィーダ等のオプションユニットを装備することができる。
【００３５】
図３は、第１実施形態に係るプリンタに含まれるプリンタコントローラの内部ブロック図である。
【００３６】
３０１は、パネル部１０４とのデータ通信を行うパネルインタフェース部である。３０２は、ネットワークを介してホストコンピュータ等のＰＣ１０１と双方向に通信接続するためのホストインタフェース部である。３０４は、プリンタエンジン１０５と通信接続するためのエンジンインタフェース部である。
【００３７】
ＣＰＵ３０５は、パネルインタフェース部３０１を介して、ユーザがパネル部１０４において設定・指示した内容を確認することができる。また、エンジンインタフェース部３０４を介して、プリンタエンジン１０５の状態を認識することができる。また、ＣＰＵ３０５は、ＲＯＭ３０３に保持された制御プログラムコードに基づいて、ＣＰＵバス３２０に接続されたデバイスを制御する。
【００３８】
画像オブジェクト格納メモリ３０６は、ＰＣ１０１から入力されたデータから生成した画像オブジェクトを格納するオブジェクトメモリである。画像メモリ３０７は、画像オブジェクトから生成したラスタデータ（ピクセルデータ）を一時的に保持するための画像メモリである。３２０は、アドレス、データ、コントロールバスを含むＣＰＵバスである。
【００３９】
ＲＯＭ３０３の内部には、ＣＰＵ３０５が実行すべき各種描画処理プログラムが記憶されている。解像度識別部３０８は、入力される画像データの解像度とその領域を識別する。実際には画像オブジェクトごとに解像度および領域を識別する。
【００４０】
図４は、ＰＣから入力される画像データの一例を示す図である。入力される画像データには、例えば、図４（ａ）に示すように２つの画像オブジェクト４０１および４０２に対応するデータ（画像オブジェクトデータ）が含まれる。なお、各画像オブジェクトには独立して解像度情報および出力画像データにおける出力位置を特定するための領域情報が設定されている。
【００４１】
例えば、画像オブジェクト４０１はタイルイメージであり解像度は６００ｄｐｉが指定されている。従って、解像度識別部３０８はタイルイメージの領域の解像度を６００ｄｐｉであると識別する。また、画像オブジェクト４０２は写真イメージを示しており、解像度は１２００ｄｐｉである。従って、解像度識別部３０８はイメージの領域の解像度を１２００ｄｐｉであると識別する。
【００４２】
画像領域分割部３０９は、ピクセル生成部３１０と後述する重ね合わせ処理部３１１が処理する単位に画像データを分割する処理を行う。具体的には、入力される画像データを、画像オブジェクトのエッジ間の領域である分割領域（Ｒｕｎ）４０４，４０５，４０６（図４（ａ））と、各々のＲｕｎにおけるレイヤ４０７，４０８（図４（ｃ））の情報とに分割する。さらに、レイヤ４０７，４０８に対して各々の解像度情報を付加する処理も行い各々のＲｕｎと関連付けを行う。
【００４３】
例えば、ある長さの主走査方向（ここでは、４０３，４０４，４０５の長さ）の描画を行う際、画像オブジェクトの重なりのエッジで区切られるＲｕｎ４０３，４０４，４０５に分割する。そしてこのエッジで区切られたＲｕｎ単位に、各Ｒｕｎに含まれるレイヤ４０６，４０７を関連させたＲｕｎ情報５０１，５０２，５０３を生成する。例えば、Ｒｕｎ４０４はレイヤ４０６、４０７が重なり合う領域なので、Ｒｕｎ情報５０２のようにレイヤ４０６，４０７を含んだＲｕｎ情報を生成する。つまり、各Ｒｕｎに対して解像度情報を保持したレイヤを関連付ける点がポイントとなる。詳しくは後述するが、このような関連付け構成にすることにより、Ｒｕｎ単位で解像度の切り替え処理が可能となる。
【００４４】
図５は、Ｒｕｎ情報のデータフォーマットおよびレイヤ情報のデータフォーマットを説明する図である。
【００４５】
Ｒｕｎ情報５０１，Ｒｕｎ情報５０２，Ｒｕｎ情報５０３は、それぞれ、Ｒｕｎ４０３，４０４，４０５に対応するＲｕｎ情報である。
【００４６】
図４（ａ）から分かるように、Ｒｕｎ４０３は、タイルイメージ４０１のみが描画される領域である。従って、Ｒｕｎ情報５０１には、レイヤ情報５０７の情報が格納される。また、Ｒｕｎ４０３のピクセル長も併せて格納される。一方、Ｒｕｎ４０４は、タイルイメージ４０１と写真イメージ４０２が重なり合って描画される領域（オーバーラップ領域位置）である。従って、Ｒｕｎ情報５０２には、レイヤ情報５０７とレイヤ情報５０８の情報が格納される（オーバーラップ領域情報）。また、Ｒｕｎ４０４のピクセル長も併せて格納される。さらに、Ｒｕｎ４０５は、写真イメージ４０２のみが描画される領域である。従って、Ｒｕｎ情報５０３には、レイヤ情報５０８の情報が格納される。また、Ｒｕｎ４０５のピクセル長も併せて格納される。
【００４７】
レイヤ情報５０７は、タイルイメージ４０１を示す塗り情報である。情報としては、解像度識別部３０８が識別した解像度情報とタイルイメージ４０１を描画するために必要な情報とが含まれる。レイヤ情報５０８は、写真イメージ４０２を示す塗り情報である。情報としては、解像度識別部３０８が識別した解像度情報と写真イメージ４０２を描画するために必要な情報とが含まれる。
【００４８】
なお、レイヤ情報５０９は、図４では示されていないがＦｌａｔ（領域に対して均一の単色塗りを行うもの）を示す塗り情報である。情報としては、解像度識別部３０８が識別した解像度情報とＦｌａｔを描画するために必要な情報とが含まれる。ただし、Ｆｌａｔに関してはピクセル長に関わらず均一の色を描画するため、解像度情報は不要であり省略してもかまわない。
【００４９】
ピクセル生成部３１０は、分割されたＲｕｎ４０４，４０５，４０６の各々における各レイヤ４０７，４０８のピクセルを生成する。ピクセル生成の詳細に関しては後述する。
【００５０】
重ね合わせ処理部３１１は、ピクセル生成部３１０で生成された各レイヤのピクセル情報の重ね合わせ処理を実行する。重ね合わせ処理の詳細に関しては後述する。
【００５１】
＜システムの動作＞
図６は、第１実施形態に係るプリンタが実行する画像処理の全体フローチャートである。なお、以下の各ステップは、ＣＰＵ３０５がＲＯＭ３０３に保持された制御プログラムコードを実行しプリンタの各部を制御することにより実現される。
【００５２】
ステップＳ６０１では、ＰＣ１０１から入力されたデータのうち、ページ処理（画像処理）が終了していないデータが残っているか否かを判定する。残っていれば処理対象となるページを設定後ステップＳ６０２に進み、残っていなければ処理を終了する。ここでは、図４に示したページを処理対象とした場合について説明する。
【００５３】
ステップＳ６０２では、ステップＳ６０１において設定されたページに対し、画像領域分割部３０９により画像領域の分割処理を行う。前述したように、具体的には、入力された画像データをＲｕｎ情報５０１，５０２，５０３とレイヤ情報５０７，５０８とに分割したデータを生成する。
【００５４】
ステップＳ６０３では、画像領域分割部３０９で生成されたＲｕｎ情報を参照し、ピクセル生成および重ね合わせ処理を行っていないレイヤが存在するか否かを判定する。例えば、Ｒｕｎ情報５０２を処理している際、レイヤ情報５０７およびレイヤ情報５０８に対するピクセル生成処理と重ね合わせ処理を行ったかを判定する。存在しなかった場合はステップＳ６０６へ進み、存在した場合はステップＳ６０４へ進む。
【００５５】
ステップＳ６０４では、ステップＳ６０３で未処理と判定されたレイヤから、処理するレイヤを選択する。一般的に重ね合わせ処理は互いに重なる複数のレイヤの下から順に描画を行うため、下のレイヤから順に選択する。
【００５６】
ステップＳ６０５では、ステップＳ６０４で選択されたレイヤのピクセルを生成する。ピクセル生成処理の詳細は図７を参照して後述する。
【００５７】
ステップＳ６０６では、ステップＳ６０５で生成したピクセルデータと、下地のピクセルデータに対して重ね合わせ処理を行う。ここで、下地ピクセルデータとは、１回目の重ね合わせ処理の場合、白塗りデータを意味し、２回目以降の重ね合わせ処理の場合、前回までに重ね合わせ処理をして得られたピクセルデータを意味する。
【００５８】
ステップＳ６０７では、ステップＳ６０６により生成されたピクセルデータが最終解像度と同等の解像度であるかを判断する。なお、当該ステップは、例えば、Ｒｕｎ情報５０２を処理している際、レイヤ情報５０７とレイヤ情報５０８の重ね合わせ処理が完了した際に実行される。つまり、分割されたＲｕｎに対するすべてのレイヤの重ね合わせ処理が完了し出力されたピクセルデータに対し判定する。同等と判定した場合はステップＳ６０９に進み、同等でなかった場合、ステップＳ６０８に進む。
【００５９】
ステップＳ６０８では、ステップＳ６０６により生成されたピクセルデータ（下地ピクセルデータ）を最終的に出力する出力画像データの解像度に解像度変換処理する。なお、ここで用いる解像度変換処理は公知の技術を用いて行う。
【００６０】
ステップＳ６０９では、ステップＳ６０６またはステップＳ６０８で生成されたピクセルデータ（下地ピクセルデータ）を画像メモリに出力し、ステップＳ６０１に戻る。
【００６１】
図７は、ピクセル生成処理の詳細フローチャートである。
【００６２】
ステップＳ７０１では、ステップＳ６０４で選択された処理するレイヤ（例えば、レイヤ情報５０７）のレイヤ情報を取得する。
【００６３】
ステップＳ７０２では、ステップＳ７０１で取得したレイヤ情報に基づきＦｌａｔであるかを判定する。つまり、Ｆｌａｔであるかの情報は、図５に示したようにレイヤ情報に含まれるので、その情報を元に判定する。そして、Ｆｌａｔであった場合はステップＳ７０５へ進み、Ｆｌａｔ以外（つまり、タイルイメージまたは写真イメージ）であった場合はステップＳ７０３へ進む。
【００６４】
ステップＳ７０３では、ステップＳ７０１で取得したレイヤ情報に基づき解像度情報を取得する。
【００６５】
ステップＳ７０４では、ステップＳ７０３で取得した解像度情報に従ってタイルイメージまたは写真イメージからピクセルデータを生成する。つまり、解像度に応じたピクセル数のデータを生成する。
【００６６】
ステップＳ７０５では、解像度に依存せず、１ピクセルのデータを生成する。なぜなら、Ｆｌａｔは全体がある特定のピクセルのデータと同一であるため、１ピクセルのデータ生成で十分だからである。
【００６７】
つまり、たとえ高解像度のレイヤに合わせる処理を行うとしても、当該ピクセル生成処理においてはあくまで低解像度で作成する点が従来と大きく異なる。そして後述する、重ね合わせ処理の際に高解像度化しながら重ね合わせ処理を行う。また、Ｆｌａｔだった場合は解像度に依存せず、１ピクセルのデータのみを生成する。そして後述するように、重ね合わせ処理の際に生成したピクセルを再帰的に利用しながら重ね合わせ処理を行う。
【００６８】
このようなピクセル生成処理を行うことにより、従来に比較し生成するピクセル数が低減される。その結果、必要なメモリ量を大幅に低減することができる。また、上述のように、当該ピクセル生成処理はＲｕｎ単位で行われる。従って、オブジェクト同士の重なり具合に関わらず最小単位で解像度の判定が可能となり処理の軽減が可能である。
【００６９】
図８は、重ね合わせ処理の詳細フローチャートである。
【００７０】
ステップＳ８０１では、重ね合わせ処理に用いる各種の値（Ｍ、Ｎ、ｐｉｘ、ａ、ｂ）を初期化する。ここで、Ｍは処理対象となる下地レイヤのピクセルオフセットを示す値である。Ｎは処理対象となる重ね合わせレイヤ（注目画像オブジェクト）のピクセルオフセットを示す値である。ここで、ピクセルオフセットは、各レイヤが用いるイメージピクセルデータの開始位置を示すものである。ｐｉｘは、下地レイヤと重ね合わせレイヤとの重ね合わせ処理が完了したピクセル数を示す。ａは下地レイヤの拡大率を示す値である。ｂは重ね合わせレイヤの拡大率を示す値である。
【００７１】
ステップＳ８０２では、重ね合わせ処理を行う下地のレイヤと重ね合わせるレイヤの解像度を比較する。具体的には、Ｒｕｎ情報に含まれる１以上のレイヤの内の未処理のレイヤの解像度を関連付けられたレイヤ情報から抽出し、下地のレイヤ（処理済のレイヤ）の解像度と比較する。同一の解像度であった場合、ステップＳ８０６へ進み、異なる場合は、ステップＳ８０３へ進む。
【００７２】
ステップＳ８０３では、重ね合わせを行う下地のレイヤと重ね合わせるレイヤの解像度のどちらが高解像度かを識別する。下地のレイヤの方が高解像度の場合はステップＳ８０４へ進み、下地のレイヤの方が低解像度の場合はステップＳ８０５へ進む。
【００７３】
ステップＳ８０４では、下地レイヤの拡大率ｂを算出する。後述するが、この拡大率ｂを用い低解像度のピクセルデータの拡大処理を行い、高解像度のピクセルデータと同じ解像度のピクセルデータを生成する。
【００７４】
ステップＳ８０５では、重ね合わせるレイヤの拡大率ａを算出する処理である。同様に、この拡大率ａを用い低解像度のピクセルデータの拡大処理を行い、高解像度のピクセルデータと同じ解像度のピクセルデータを生成する。
【００７５】
ステップＳ８０６では、下地レイヤがＦｌａｔであるか否かを判別する。Ｆｌａｔであった場合はステップＳ８０７へ進み、Ｆｌａｔでなかった場合（つまり、タイルイメージまたは写真イメージ）はステップＳ８０８へ進む。
【００７６】
ステップＳ８０７では、拡大率ａを０にする。つまり、ＦｌａｔはＥｄｇｅ間の領域全体（Ｒｕｎ）に対して同一のピクセル値を用いるため、１ピクセル（単一画素）の値のみ用意し再利用するように設定を行う。
【００７７】
ステップＳ８０８では、重ねあわせレイヤがＦｌａｔであるか否かを判別する。Ｆｌａｔであった場合はステップＳ８０９へ進み、Ｆｌａｔでなかった場合はステップＳ８１０へ進む。
【００７８】
ステップＳ８０９では、拡大率ｂを０にする。つまり、ＦｌａｔはＥｄｇｅ間の領域全体（Ｒｕｎ）に対して同一のピクセル値を用いるため、１ピクセル（単一画素）の値のみ用意し再利用するように設定を行う。
【００７９】
ステップＳ８１０では、現在処理しているＲｕｎに対応するＲｕｎ長のピクセル数だけ重ね合わせ処理を実行したか否かを判定する。つまり、当該Ｒｕｎにおける重ね合わせ処理が完了したか否かを判定する。図中の変数ｐｉｘは下地レイヤと重ね合わせレイヤとの重ね合わせ処理が完了したピクセル数を示す。従って、ｐｉｘがＲｕｎ長以上になった時点でＳ８１０のループを抜け処理を終了する。
【００８０】
ステップＳ８１１では、重ね合わせるピクセル（注目画素位置）に対応する複数個（ここでは２個）の画素データを下地レイヤ／重ね合わせの各レイヤから取得する。つまり、下地レイヤ／重ね合わせレイヤ共にそれぞれのピクセルオフセットに従ったピクセルを取得する。なお、図８に示す関数ｆｌｏｏｒ（）は、与えられた引数の整数部分を抽出する関数である。従って、下地レイヤ／重ね合わせレイヤ共にそれぞれのピクセルオフセットの整数部分を考慮したピクセルを取得する。
【００８１】
ステップＳ８１２では、ステップＳ８１１で取得した下地レイヤ／重ね合わせの各レイヤのピクセルを重ね合わせる（合成処理）。重ね合わせ処理としては、例えばＲＯＰ処理・透過値の演算処理などがある。
【００８２】
ステップＳ８１３では、重ね合わせ処理に用いるピクセルオフセットＭ、Ｎ、およびインデックスｐｉｘを更新する。ピクセルオフセットＭに対してはａだけ、ピクセルオフセットＮに対してはｂだけ、インデックスｐｉｘに対しては１だけ、それぞれインクリメントする。このように各値を設定することで、出力する出力画像データの各座標を順次スキャンする。そして、各スキャン位置でステップＳ８１１〜ステップＳ８１３を実行し、低解像度のピクセルデータの解像度変換処理を実現している。また、高解像度のピクセルデータに関しては、等倍のピクセルデータを取得するようにする。ただし、解像度変換処理に他の手法を用いてもかまわない。
【００８３】
例えば、一方の重ね合わせレイヤの解像度が６００ｄｐｉで他方の下地レイヤが１２００ｄｐｉの場合、ステップＳ８０３からステップＳ８０４に進み、ｂ＝６００／１２００＝１／２となる。ステップＳ８１１〜ステップＳ８１３で重ね合わせレイヤの画素については１画素ずつ更新されるのに対し下地レイヤの画素については１／２ずつ更新されて重ね合わせ処理が行われる。結果として、重ね合わせレイヤと２倍に拡大された下地レイヤが重ね合わせ処理されることになる。
【００８４】
以上説明したように、第１実施形態に係る画像処理システムでは、オブジェクトごとではなく、エッジ間のレイヤ単位（Ｒｕｎ単位）で処理をおこなう。そのため、例えば、重なる複数のレイヤの中に一つだけ高解像度のレイヤがあった場合、各レイヤの解像度（つまり、高解像度レイヤの解像度より低い解像度）で重ね合わせ処理を行うことが可能となる。そのため、重ね合わせ処理の直前に高解像度化することができる。その結果、メモリの必要量を軽減する画像の重ね合わせ処理を実現している。そのため、システムあるいは装置のコストを低減することが可能となる。
【００８５】
また、結果的に処理データ量が低減されるため、処理の高速化も期待できる。特に、複雑な重ね合わせ処理（ＲＯＰ処理や透過処理）が存在する場合や、多くのレイヤが重なる場合に際しては非常に大きな効果が望める。
【００８６】
なお、ここでは、プリンタ１０２内における処理として説明したが、例えば、ＰＣ１０１上で動作するソフトウェアで同様の重ね合わせ処理を実行しても良い。ここで、ソフトウェアには、アプリケーションソフトウェアあるいはドライバソフトウェアのほかオペレーティングシステム（ＯＳ）における描画モジュールが含まれる。
【００８７】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００８８】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【００８９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００９０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭなどがある。
【００９１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９２】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００９３】
【図１】第１実施形態に係る画像処理システムの概略構成を示す図である。
【図２】タンデム方式のプリンタ１０２の構成を説明するための図である。
【図３】第１実施形態に係るプリンタに含まれるプリンタコントローラの内部ブロック図である。
【図４】ＰＣから入力される画像データの一例を示す図である。
【図５】Ｒｕｎ情報のデータフォーマットおよびレイヤ情報のデータフォーマットを説明する図である。
【図６】第１実施形態に係るプリンタが実行する画像処理の全体フローチャートである。
【図７】ピクセル生成処理の詳細フローチャートである。
【図８】重ね合わせ処理の詳細フローチャートである。
【図１】
0004940110.tif 000002
【図２】
0004940110.tif 000003
【図３】
0004940110.tif 000004
【図４】
0004940110.tif 000005
【図５】
0004940110.tif 000006
【図６】
0004940110.tif 000007
【図７】
0004940110.tif 000008
【図８】
0004940110.tif 000009