(57)【特許請求の範囲】
【請求項１】
複数の画像オブジェクトを含むドキュメントデータをレンダリングし、ラスター画像を生成する手段と、
前記生成したラスター画像上で画像オブジェクトが描画されたかどうかをフラグで表すオブジェクトフラグ画像を生成する手段と、
前記生成したオブジェクトフラグ画像において、前記画像の各行を走査し輪郭追跡の開始点を決定し、前記決定された開始点から画像オブジェクトが描画された領域の輪郭を追跡することで、前記追跡した輪郭をもつ領域を前記ラスター画像上の写真領域として判定する手段と、
前記判定した写真領域に対応する前記ラスター画像上の画素群に対して、画素値を補正するための補正パラメータを生成する手段と、
前記写真領域に対応する前記ラスター画像上の画素群に対して、前記生成した補正パラメータを用いて画素値を補正する手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記オブジェクトフラグ画像を生成する手段は、前記画像オブジェクト同士の重なりの度合いを前記画像オブジェクトの描画領域に対応する形で含めたオブジェクトフラグ画像を生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
さらに
複数の前記写真領域の輪郭情報から前記複数の写真領域の一体性を判定し、一体性があると判定した場合は１つの写真領域に結合する手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
複数の画像オブジェクトを含むドキュメントデータをレンダリングし、ラスター画像を生成する手段と、
前記生成したラスター画像上で画像オブジェクトが描画されたかどうかをフラグで表すオブジェクトフラグ画像を生成する手段と、
前記生成したオブジェクトフラグ画像において、前記画像の各行を走査し輪郭追跡の開始点を決定し、前記決定された開始点から画像オブジェクトが描画された領域の輪郭を追跡することで、前記追跡した輪郭をもつ領域を前記ラスター画像上の写真領域として判定する手段と、
前記写真領域に対応する前記ラスター画像上の画素群に対して、画素値を補正するための補正パラメータを生成する手段と、
前記写真領域と前記補正パラメータとを関連づけて記憶する手段と、
前記画像オブジェクトの各画素が属する写真領域を前記記憶手段から読み出し、前記写真領域に関連付けられた補正パラメータを取得する手段と、
前記画像オブジェクトの各画素に対して、前記取得した補正パラメータを用いて画素値を補正する手段と、
を有することを特徴とする画像処理装置。
【請求項５】
前記オブジェクトフラグ画像を生成する手段は、前記画像オブジェクト同士の重なりの度合いを前記画像オブジェクトの描画領域に対応する形で含めたオブジェクトフラグ画像を生成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
さらに
複数の前記写真領域の輪郭情報から前記複数の写真領域の一体性を判定し、一体性があると判定した場合は１つの写真領域に結合する手段を有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
複数の画像オブジェクトを含むドキュメントデータをレンダリングし、ラスター画像を生成する工程と、
前記生成したラスター画像上で画像オブジェクトが描画されたかどうかをフラグで表すオブジェクトフラグ画像を生成する工程と、
前記生成したオブジェクトフラグ画像において、前記画像の各行を走査し輪郭追跡の開始点を決定し、前記決定された開始点から画像オブジェクトが描画された領域の輪郭を追跡することで、前記追跡した輪郭をもつ領域を前記ラスター画像上の写真領域として判定する工程と、
前記判定した写真領域に対応する前記ラスター画像上の画素群に対して、画素値を補正するための補正パラメータを生成する工程と、
前記写真領域に対応する前記ラスター画像上の画素群に対して、前記生成した補正パラメータを用いて画素値を補正する工程と、
を有することを特徴とする画像処理方法。
【請求項８】
複数の画像オブジェクトを含むドキュメントデータをレンダリングし、ラスター画像を生成する工程と、
前記生成したラスター画像上で画像オブジェクトが描画されたかどうかをフラグで表すオブジェクトフラグ画像を生成する工程と、
前記生成したオブジェクトフラグ画像において、前記画像の各行を走査し輪郭追跡の開始点を決定し、前記決定された開始点から画像オブジェクトが描画された領域の輪郭を追跡することで、前記追跡した輪郭をもつ領域を前記ラスター画像上の写真領域として判定する工程と、
前記写真領域に対応する前記ラスター画像上の画素群に対して、画素値を補正するための補正パラメータを生成する工程と、
前記写真領域と前記補正パラメータとを関連づけて記憶手段に記憶する工程と、
前記画像オブジェクトの各画素が属する写真領域を前記記憶手段から読み出し、前記写真領域に関連付けられた補正パラメータを取得する工程と、
前記画像オブジェクトの各画素に対して、前記取得した補正パラメータを用いて画素値を補正する工程と、
を有することを特徴とする画像処理方法。
【請求項９】
コンピュータを請求項１乃至６のいずれか一項に記載された画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやスキャナ等のデジタル撮像装置が普及し、写真をデジタル画像としてコンピュータに取り込むことが頻繁に行われるようになってきた。コンピュータに取り込まれた画像はコンピュータ上のアプリケーションを用いて編集されプリンタ等で出力される。プリンタで出力する際に印刷物上の写真の見栄えがよくなるよう、プリンタドライバで画像を自動的に補正してからプリンタに出力することがよく行われている。
【０００３】
しかしながら、ディスプレイ上では写真が１つに見えていても、アプリケーションからドライバへ写真のデータを送信する際に、アプリケーションが写真を複数の画像に分割して送信するケースがある。その場合、分割された個々の画像毎に補正パラメータを算出し補正を行うと、各分割画像に適応的な補正が行われる。その結果、分割画像毎に最適な補正が行われ、１つの写真としては分割画像毎に補正結果が異なる一貫性のない画像となってしまい、印刷物にバンディングなどの不具合が発生する。
【０００４】
この不具合を解決するための技術が特許文献１に公開されている。特許文献１の技術では、複数存在する画像それぞれの描画領域の情報から隣接する画像を判定し、隣接すると判定された画像については一体性があると見なしてサンプリング情報を結合・共有する。これにより、一体性のある複数の画像に対して一貫性のある補正を行うことが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−０７６４１６号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の手法では、写真が多数の画像に分割されている場合に、画像の隣接を判定する組み合わせの数が膨大となりパフォーマンスが落ちるという問題があった。また、全ての画像で隣接を判定し終わるまでサンプリング情報を全ての画像の数だけ記憶しておく必要があるため、写真が多数の画像に分割されている場合に、多くのメモリを消費するという問題があった。
【０００７】
本発明は上記問題点に鑑み、写真が多数の画像に分割されている場合にも、周辺画素を参照した画像処理によるバンディングを抑制しつつ、一体性判定のパフォーマンス劣化やメモリ消費を低減する、画像処理装置および方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、複数の画像オブジェクトを含むドキュメントデータをレンダリングし、ラスター画像を生成する手段と、前記生成したラスター画像上で画像オブジェクトが描画されたかどうかをフラグで表すオブジェクトフラグ画像を生成する手段と、前記生成したオブジェクトフラグ画像において、前記画像の各行を走査し輪郭追跡の開始点を決定し、前記決定された開始点から画像オブジェクトが描画された領域の輪郭を追跡することで、前記追跡した輪郭をもつ領域を前記ラスター画像上の写真領域として判定する手段と、前記判定した写真領域に対応する前記ラスター画像上の画素群に対して、画素値を補正するための補正パラメータを生成する手段と、前記写真領域に対応する前記ラスター画像上の画素群に対して、前記生成した補正パラメータを用いて画素値を補正する手段とを有することを特徴とする画像処理装置を提供する。
【発明の効果】
【０００９】
本発明によれば、ラスター画像に含まれる画像オブジェクトの情報を参照してラスター画像上で写真領域を判定するため、写真領域が分割された場合であっても、精度よく写真領域を判定することができる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態に係る画像処理装置を含む画像形成システムの構成例を示す図
【図２】ＣＰＵ１０２が実行するプログラムの構成例を示す図
【図３】写真を含むドキュメントのデータの例を示す図
【図４】ドライバ２０３のモジュール構成とデータの流れの例を示す図
【図５】ドキュメントの写真領域を判定し補正パラメータを算出する処理の例を示す図
【図６】図３のドキュメントのラスター画像、オブジェクトフラグ画像、写真領域の例を示す図
【図７】オブジェクトフラグ画像から写真領域の輪郭を判定する処理の例を示す図
【図８】オブジェクトフラグ画像から写真領域の輪郭を追跡する様子を示す図
【図９】オブジェクトフラグ画像から判定された写真領域の輪郭情報の例を示す図
【図１０】写真領域から補正パラメータを算出する処理の例を示す図
【図１１】写真領域から算出した輝度ヒストグラムの例を示す図
【図１２】写真領域の情報と補正パラメータを関連付けて保存したテーブルの例を示す図
【図１３】ドキュメントの画像オブジェクトを補正するための処理の例を示す図
【図１４】重なった写真を含むドキュメントのデータの例を示す図
【図１５】第二の実施形態に係るオブジェクトフラグ画像を生成する処理の例を示す図
【図１６】図１４のドキュメントのラスター画像、オブジェクトフラグ画像、写真領域の例を示す図
【図１７】図１４のドキュメントに対して判定された写真領域の輪郭情報の例を示す図
【図１８】隣接する写真領域を判定し結合する処理の例を示す図
【図１９】第三の実施形態に係るドライバ２０３のモジュール構成とデータの流れの例を示す図
【図２０】第三の実施形態に係るページ画像レンダリング部１９０３の処理の例を示す図
【発明を実施するための形態】
【００１１】
以下、本発明を実施する為の最良の形態について図面を用いて説明する。
【００１２】
＜第一の実施形態＞
図１は本発明の実施形態に関わる画像処理装置を含む画像形成システムの構成例である。この画像形成システムは、データ転送路１０１、ＣＰＵ１０２、ＲＡＭ１０３、外部記憶装置１０４、ディスプレイ１０５、外部入力装置１０６、画像生成装置１０７、画像形成装置１０８から構成される。このうち、ＣＰＵ１０２、ＲＡＭ１０３、外部記憶装置１０４、ディスプレイ１０５、外部入力装置１０６が画像処理装置１０９を構成する。
【００１３】
図２はＣＰＵ１０２が実行するプログラムの構成を示すブロック図である。外部記憶装置１０４には、画像オブジェクトを含むドキュメントを編集し印刷するアプリケーションのプログラムと、ドキュメントの印刷指示を受け取り印刷データを生成して画像形成装置１０８に出力するプリンタドライバのプログラムが保存されている。ＣＰＵ１０２はアプリケーション２０１のプログラムを外部記憶装置１０４から読み込んでＲＡＭ１０３に格納し実行する。ＣＰＵ１０２はアプリケーション２０１からの指示に従ってディスプレイ１０５にプレビューを表示したり、画像生成装置１０７から写真画像を読み込んでＲＡＭ１０３上に格納したり、外部入力装置１０６を介してユーザからドキュメントの編集の指示を受け付ける。画像生成装置１０７は例えばデジタルスチルカメラやスキャナといった画像を生成する装置である。外部入力装置１０６は例えばキーボードやマウスといったユーザインタフェースである。ＣＰＵ１０２はユーザからドキュメントの印刷の指示を受け取ると、外部記憶装置１０４からプリンタドライバ２０３のプログラムを読み込んでＲＡＭ１０３に格納し実行する。そして、プリンタドライバ２０３はオペレーティングシステム２０２を介してアプリケーション２０１から印刷出力するためのドキュメントデータを受け取る。ここで、ドキュメントデータは、例えばページ記述言語である。プリンタドライバ２０３は画像形成装置１０８に入力するデータを生成するためのプログラムである。画像形成装置１０８は例えば電子写真方式のプリンタやインクジェットプリンタなどである。
【００１４】
図３はアプリケーション２０１が扱うドキュメントのデータの一例を示す図である。ドキュメントデータをディスプレイ１０５にプレビューしたときの様子を図３（ａ）に示す。ドキュメント３０１には写真３０２と写真３０３が貼り付けられている。写真３０２はプレビュー上では１枚の画像に見えるが、実際のドキュメントデータ上では図３（ｂ）に示すように画像３０４、画像３０５、画像３０６の３つの画像オブジェクトで構成されているとする。また、写真３０３もプレビュー上では１枚の画像に見えるが、実際のドキュメントデータ上では図３（ｃ）に示すように画像３０７、画像３０８、画像３０９の３つの画像オブジェクトで構成されているとする。以降の説明ではプリンタドライバ２０３は図３に示すドキュメントデータを受け取ったとして説明する。
【００１５】
図４はプリンタドライバ２０３のモジュール構成とデータの流れの一例を示すブロック図である。プリンタドライバ２０３は、ドキュメントデータ取得部４０１、ドキュメントデータ解釈部４０２、オブジェクト蓄積部４０３、ページ画像レンダリング部４０４、印刷データ生成出力部４０５、画像処理部４０６から構成される。また、画像処理部４０６は、レンダリング部４０７、オブジェクトフラグ画像生成部４０８、写真領域判定部４０９、解析部４１０、パラメータ格納テーブル４１１、補正部４１２より構成される。ドキュメントデータ取得部４０１はアプリケーション２０１からオペレーティングシステム２０２を介してドキュメントデータを取得する。ドキュメントデータ解釈部４０２はドキュメントデータを構成するオブジェクトを解釈し、オブジェクト蓄積部４０３に蓄積する。オブジェクトは、例えば図３（ｂ）や図３（ｃ）に示す３０４〜３０９のような画像オブジェクトや、他にも文字の描画を表すテキストや、グラフや図形などの描画を表すグラフィックスなどがある。画像処理部４０６はオブジェクト蓄積部４０３に蓄積されたオブジェクトのうち画像オブジェクトのみを受け取って画像処理を行い、ページ画像レンダリング部４０４に画像オブジェクトを渡す。ページ画像レンダリング部４０４はオブジェクト蓄積部４０３や画像処理部４０６から受け取った画像、テキスト、グラフィックスのオブジェクトにレンダリングを行いページ画像（ラスタ画像）を生成し、そのページ画像を印刷データ生成出力部４０５に渡す。印刷データ生成出力部４０５は受け取ったページ画像を画像形成装置１０８に入力するデータに変換し、画像形成装置１０８へ出力する。なお、図４の処理の全てまたは一部を、画像形成装置１０８で行ってもよい。
【００１６】
図５は画像処理部４０６においてドキュメントデータ内の画像オブジェクトを補正するためのパラメータを算出するための処理を示すフローチャートである。処理Ｓ５０１では、レンダリング部４０７がオブジェクト蓄積部４０３から画像オブジェクトとその描画領域情報を受け取りラスター画像を生成する。また、同時にオブジェクトフラグ画像生成部４０８はレンダリング部４０７から画像オブジェクトを描画した領域の情報を受け取り、画像オブジェクトを描画した領域と描画しない領域のフラグを切り替えたオブジェクトフラグ画像を生成する。例えばプリンタドライバ２０３が図３に示すドキュメントデータを受け取った場合、レンダリング部４０７が生成するラスター画像は図６（ａ）に示すようなラスター画像である。６０１はラスター画像全体を表し、６０２は図３（ａ）の画像３０４〜３０６を描画した画素群、６０３は図３（ｂ）の画像３０７〜３０９を描画した画素群を示す。オブジェクトフラグ画像生成部４０８が生成するオブジェクトフラグ画像は例えば、図６（ｂ）に示すようなオブジェクトフラグ画像である。６０４はオブジェクトフラグ画像全体を表す。オブジェクトフラグ画像６０４の各画素はラスター画像６０１の同じ座標の画素に対応しており、ラスター画像６０１上で画像オブジェクトが描画された場合は１が、画像オブジェクトが描画されていない場合は０がセットされる。オブジェクトフラグ画像６０４のうち、領域６０５と領域６０６がそれぞれラスター画像上の描画領域６０２、６０３に対応しており、フラグの値として各画素に１がセットされる。オブジェクトフラグ画像６０４における領域６０５と領域６０６以外の画素は対応するラスター画像上の画素に何も画像オブジェクトが描画されていないことを示す０がセットされる。
【００１７】
次に処理Ｓ５０２では、写真領域判定部４０９がオブジェクトフラグ画像６０４から写真領域を判定する。すなわち領域６０５と領域６０６の輪郭を判定することになる。図６（ｃ）に、領域６０５と領域６０６の輪郭を示す矩形６０７、６０８とその四隅の座標の例を示す。オブジェクトフラグ画像６０４から輪郭を示す矩形６０７、６０８を判定するための手法の詳細は後に説明する。次に処理Ｓ５０３では処理Ｓ５０１で生成したラスター画像において処理Ｓ５０２で判定した写真領域の画素を参照して写真領域の見えを良くするための補正パラメータを算出する。補正パラメータの算出方法については後述する。最後に、処理Ｓ５０４において、写真領域の情報とＳ５０３で算出した補正パラメータとを関連付けてパラメータ格納テーブル４１１に格納する。
【００１８】
図７は処理Ｓ５０２においてオブジェクトフラグ画像から写真領域を判定する処理の詳細を示すフローチャートである。このフローチャートでは、二値画像における輪郭追跡処理を行う。輪郭追跡の様子を図８に示す。図８において白い画素は画像描画なしを示す０がセットされている画素、グレーの画素は画像描画ありを示す１がセットされている画素である。また、黒の画素は輪郭を構成する画素として判定された画素である。
【００１９】
処理Ｓ７０１ではオブジェクトフラグ画像内を左上から右下に向かって各行を捜査し、輪郭追跡の開始点を決定する。輪郭追跡の開始点は、画像が描画されていないことを示す０から画像が描画されていることを示す１の値に切り替わる画素が見つかったときに、その画素を開始点として決定する。図８（ａ）がそのときの処理の様子を示しており、白い丸で示されている画素が輪郭追跡の開始点として決定された画素である。次に処理Ｓ７０２ではこの追跡開始点を中心とした８近傍の画素を時計回りで調べる。図８（ｂ）がそのときの処理の様子を示しており、数字が時計回りに画素を調査している様子を示す。
【００２０】
次に処理Ｓ７０３では時計回りに画素を調査したときに０から１に値が切り替わる画素を新たな追跡点とする。図８（ｂ）を参照して説明すると、図８（ｂ）の白い丸の右上の画素（０）から白い丸の右隣の画素（１）に切り替わる画素を新たな追跡点とする。図８（ｃ）がそのときの処理の様子を示しており、白い丸で示されている画素が輪郭追跡の開始点として新たに決定された画素である。次に処理Ｓ７０４では、その新たに決定された開始点が最初の追跡開始点と同じ座標であるかを判定する。同じ座標ではない場合は処理Ｓ７０２に戻り処理Ｓ７０２と処理Ｓ７０３を繰り返す。図８（ｃ）、図８（ｄ）はそのときの処理の様子を示しており、図８（ｃ）では新たに８近傍の画素を参照して０から１に切り替わる画素を新たな追跡点とする。図８（ｄ）はさらに追跡が進んだときの様子を示しており、黒い輪郭画素が多数判定されている。処理Ｓ７０４で、新たに決定された開始点が最初の追跡開始点と同じ座標であると判定された場合は、処理Ｓ７０５に進み追跡した経路を１つの写真領域の輪郭として出力する。図８（ｅ）は新たに決定された開始点が最初の追跡開始点と同じ座標であるときの様子を示している。
【００２１】
処理Ｓ７０５で輪郭を出力する際、輪郭を構成する各画素の経路が直線である部分は直線の始点と終点だけを出力する。処理Ｓ７０６では、オブジェクトフラグ画像を全ての画素を調査したかどうかを判定し、調査がまだ完了していない場合はＳ７０１に戻って未調査の画素から輪郭追跡の開始点を決定する。オブジェクトフラグ画像を全ての画素を調査した場合は図７のフローチャートの処理を終了する。図９は処理Ｓ７０５にて出力された写真領域の輪郭情報を示す。写真領域１や写真領域２の輪郭は４つの直線に囲まれた閉領域である。写真領域１は図６（ｂ）の６０５、図９に示す写真領域１の直線１〜４は図６（ｃ）の６０７、写真領域２は図６（ｂ）の６０６、図９に示す写真領域２の直線１〜４は図６（ｃ）の６０８を示す。
【００２２】
図１０は処理Ｓ５０３で解析部４１０が補正パラメータを算出する処理を示すフローチャートである。処理Ｓ１００１では、ラスター画像において写真領域判定部４０９で判定した写真領域を参照し、写真領域ごとに輝度のヒストグラムを生成する。ラスター画像の各画素がレッド（Ｒ）・グリーン（Ｇ）・ブルー（Ｂ）の８ビットＲＧＢ信号で表現されているとすると、輝度は下記の式１で算出できる。なお、Ｙは輝度を、ＵとＶは色差成分を表す。
【数１】
0005898438.tif 000002
【００２３】
生成したヒストグラムの例を図１１に示す。横軸は輝度、縦軸は画素数である。１１０１がある写真領域の輝度のヒストグラムである。
【００２４】
次に処理Ｓ１００２で輝度ヒストグラムの上端１％度数に対応する輝度値と下端１％度数に対応する輝度値を判定する。上端１％度数に対応する輝度値は写真領域のダイナミックレンジの最大値を表し、下端１％度数に対応する輝度値は写真領域のダイナミックレンジの最小値を現す。上端１％度数と下端１％度数を捨てているのは、ノイズや孤立点などの影響を避けるためである。後に補正部４１２で行う写真領域の補正は、このダイナミックレンジの最大値から最小値までの範囲を輝度で表現可能な最大値（２５５）と最小値（０）まで線形的に広げることによりダイナミックレンジを向上する処理を行う。ヒストグラム１１０１を持つ写真補正領域を補正した後のヒストグラムを１１０４に示す。補正における線形変換処理は下記の式２で表される。
【数２】
0005898438.tif 000003
【００２５】
処理Ｓ１００３ではそのためのパラメータａとｂをヒストグラム１１０１の上下端１％度数の輝度値１１０２と１１０３から求める。パラメータａとｂを求めるには下記の式３と式４を用いる。
【数３】
0005898438.tif 000004
【数４】
0005898438.tif 000005
【００２６】
処理Ｓ５０４で解析部４１０が写真領域の情報と補正パラメータを関連付けてパラメータ格納テーブル４１１に保存した際のテーブルを図１２に示す。写真領域ごとに、輪郭の直線で表現された写真領域と線形変換の補正パラメータａ・ｂを関連付けて記憶している。
【００２７】
図１３は画像処理部４０６においてドキュメントデータ内の画像オブジェクトを補正するための処理を示すフローチャートである。処理Ｓ１３０１では、画像オブジェクトをオブジェクト蓄積部４０３より取得する。次に、処理Ｓ１３０２でパラメータ格納テーブル４１１に記憶されている写真領域のうち、その画像オブジェクトの各画素に対して、その画素の座標値を含む写真領域を判定する。ある座標を決めれば写真領域は必ず一意に定まる。次に処理Ｓ１３０３ではパラメータ格納テーブル４１１からその判定した写真領域に関連付けられた補正パラメータを取得する。そして、処理Ｓ１３０４で画像オブジェクトの各画素に対して画素ごとに取得した補正パラメータを用いて画素値を補正する。画素値の補正は、まず式１を用いてＲＧＢ信号を輝度に変換し、それに対して式２を用いて線形変換しダイナミックレンジを補正する。その後に、その補正後の輝度値に対して下記の式５を用いてＲＧＢ信号に戻し画素値を更新する。
【数５】
0005898438.tif 000006
【００２８】
以上より、第一の実施形態によれば、画像オブジェクトがレンダリングされたかどうかを表す画素群を持つオブジェクトフラグ画像を基に、一体性のある画素群領域を判定している。これにより、ドキュメント内の画像数の増加によるパフォーマンスの劣化・メモリの消費を低減することが可能である。
【００２９】
＜第二の実施形態＞
第一の実施形態では、プリンタドライバ２０３がアプリケーション２０１から、図１４（ａ）に示す写真１４０２と写真１４０３が重なっているようなドキュメントデータ１４０１を受け取った場合、その２つの写真を分離して個別に補正を行うことはできない。さらに、写真１４０２と写真１４０３は図１４（ｂ）や図（ｃ）に示すように画像オブジェクト１４０４〜１４０９に分割されている場合、第一の実施形態で実現したような複数の画像を考慮した写真領域の判定の実現も必要である。第二の実施形態ではこれら２点の特徴を持つドキュメントに対して各写真の補正を可能とするための構成を説明する。なお、第二の実施の形態が第一の実施の形態と異なるのは図４の画像処理部４０６のオブジェクトフラグ画像を生成する処理（図５の処理Ｓ５０１）と、写真領域判定の処理（図５の処理Ｓ５０２）である。
【００３０】
図１５は図５の処理Ｓ５０１においてオブジェクトフラグ画像生成部４０８がオブジェクトフラグ画像を生成する処理の詳細を示すフローチャートである。まず処理Ｓ１５００において、更新フラグ値を初期値０に設定する。次に、処理Ｓ１５０１で、オブジェクトフラグ画像生成部４０８はレンダリング部４０７よりオブジェクトのレンダリングが発生したことを受け付ける。次に、処理Ｓ１５０２では、オブジェクトフラグ画像生成部４０８はレンダリング部４０７がレンダリングした画像オブジェクトの描画領域をレンダリング部４０７より受け取る。レンダリング部４０７はドキュメントデータ１４０１内の画像オブジェクト１４０４〜１４０６を受け取りレンダリングを行い、図１６（ａ）に示すラスター画像１６０１に画素領域１６０２を描画している。
【００３１】
処理Ｓ１５０３ではオブジェクトフラグ画像生成部４０８はオブジェクトフラグ画像内のオブジェクト１４０４〜１４０６の描画領域における全画素のフラグ値を参照し、最大値を取得する。オブジェクトフラグ画像１６０３は最初は全ての画素のフラグ値に０をセットしており、そのためオブジェクト１４０４〜１４０６の描画領域１６０４の画素のフラグ値の最大値は０である。次に処理Ｓ１５０４で、その最大値に対して１を足した値を更新フラグ値として算出する。今回は最大値０に１を足した１が更新フラグ値となる。次に処理Ｓ１５０５でオブジェクトフラグ画像生成部４０８はオブジェクトフラグ画像１４０２内の画像オブジェクト１４０４〜１４０６の領域の画素に対して更新フラグ値１をセットする。すると、図１６（ａ）の領域１６０４の全ての画素に１がセットされる。
【００３２】
次に、処理Ｓ１５０６でレンダリング部４０７がレンダリング終了したかどうかを確認する。レンダリングが終了していない場合は処理Ｓ１５００に戻り、レンダリングが終了した場合は処理を終了する。この例ではドキュメントデータの画像オブジェクト１４０７〜１４０９がまだレンダリングされていないため処理Ｓ１５００に戻る。
【００３３】
処理Ｓ１５０１で画像オブジェクト１４０７のレンダリングが発生したことを受け取り、処理Ｓ１５０２で画像オブジェクト１４０７の描画領域を取得する。この時点でレンダリング部４０７はラスター画像１６０１に写真領域１６０５を描画している。次に処理Ｓ１５０３でオブジェクトフラグ画像生成部４０８はオブジェクトフラグ画像内の１６０６の領域の画素を全て参照し、最大のフラグ値を取得する。この時点では図１６（ａ）の状態であるため、領域１６０６における最大値は１となる。次に処理Ｓ１５０４で最大値１に１を足した２を更新フラグ値として算出する。次に処理Ｓ１５０５ではオブジェクトフラグ画像生成部４０８はオブジェクトフラグ画像１６０３の領域の画素に対して更新フラグ値２をセットする。以上の処理Ｓ１５００〜Ｓ１５０６を繰り返すと、図１６（ｃ）に示すように最終的に生成されるラスター画像１６０１は１６０７と１６０８が描画され、オブジェクトフラグ画像１６０３は１６０９と１６１０の領域にフラグ値２と１がそれぞれセットされる。
【００３４】
次に、図５の処理Ｓ５０２で写真領域判定部がオブジェクトフラグ画像から写真領域を判定する処理の詳細について説明する。まず、写真領域の候補を算出する処理を行う。この処理は図７のフローチャートに示す処理Ｓ７０１〜Ｓ７０６と全く同じ処理を行う。その結果得られた領域の輪郭は図１６（ｄ）に示す写真領域１６１１、写真領域１６１２、写真領域１６１３であり、それぞれの情報は図１７（ａ）に示す写真領域１、写真領域２、写真領域３のように直線の集合として表現する。
【００３５】
次に、隣接する写真領域の候補を判定し結合することで最終的な写真領域を判定する処理を、図１８のフローチャートに示す。処理１８０１では、写真領域の全ての辺（直線）をチェックする。次に処理Ｓ１８０２で両端の座標が一致する２つの直線が見つかったかどうかを判定し、見つかった場合は処理Ｓ１８０３に移り、見つからなかった場合は処理を終了する。処理Ｓ１８０３では、その２つの直線を持つ２つの写真領域を結合して１つの写真領域にする。それには、直線の集合を足し合わせ、両端の座標が一致する辺は消すという処理を行う。この例では写真領域２と写真領域３が結合される。そして処理Ｓ１８０１に戻り、以降の処理を繰り返す。以上の処理により最終的に生成される写真領域の輪郭は図１６（ｅ）に示す１６１１と１６１４であり、写真領域の輪郭の情報は図１７（ｂ）に示す写真領域１と写真領域４となる。
【００３６】
以上より、第二の実施形態によれば、ドキュメントデータ内の写真が複数の画像オブジェクトで構成され、さらにそれが互いに重なっている場合でも、２つの写真領域を分離してバンディングの生じない画像処理を実現することが可能となる。
【００３７】
＜第三の実施形態＞
第一および第二の実施形態ではページ画像レンダリング部４０４が印刷用のページ画像(ラスタ画像)を生成するためのレンダリングする前に画像処理部４０６が独自にレンダリングと写真領域判定を行って画像の補正を行う。しかし、ページ画像レンダリング部４０４と画像処理部４０６のレンダリング部４０７のどちらもがレンダリングを行うのは冗長である。そこで、第三の実施の形態ではページ画像レンダリング部４０４の中で写真領域判定と画像補正を行う画像形成システムの一例を説明する。
【００３８】
図１９は第三の実施の形態におけるプリンタドライバ２０３のモジュール構成とデータの流れの一例を示すブロック図である。プリンタドライバ２０３は、ドキュメントデータ取得部１９０１、ドキュメントデータ解釈部１９０２、ページ画像レンダリング部１９０３、印刷データ生成出力部１９０４から構成される。また、ページ画像レンダリング部１９０３は、レンダリング部１９０５、オブジェクトフラグ画像生成部１９０６、写真領域判定部１９０７、解析部１９０８、補正部１９０９より構成される。ドキュメントデータ取得部１９０１はアプリケーション２０１からオペレーティングシステム２０２を介してドキュメントデータを取得する。ドキュメントデータ解釈部１９０２はドキュメントデータを構成するオブジェクトを解釈し、ページ画像レンダリング部１９０３にオブジェクトの情報を出力する。ページ画像レンダリング部１９０３は、入力されたオブジェクトの情報を受け取ってレンダリング・補正を行い、そのページ画像(ラスタ画像)を印刷データ生成出力部１９０４に渡す。印刷データ生成出力部１９０４は受け取ったページ画像を画像形成装置１０８に入力するデータに変換し、画像形成装置１０８へ出力する。
【００３９】
図２０はページ画像レンダリング部１９０３の処理を示すフローチャートである。処理Ｓ２００１では、レンダリング部１９０５がドキュメントデータ解釈部１９０２からオブジェクトとその描画領域情報を受け取りラスター画像を生成する。また、同時にオブジェクトフラグ画像生成部１９０６はレンダリング部１９０５から画像オブジェクトについてのみ描画した領域の情報を受け取り、画像を描画した領域と描画しない領域のフラグを切り替えたオブジェクトフラグ画像を生成する。次に処理Ｓ２００２では、写真領域判定部１９０７がオブジェクトフラグ画像から写真領域を判定する。処理Ｓ２００３では、処理Ｓ２００１で生成したラスター画像の写真領域の画素を参照して写真領域の見えを良くするための補正パラメータを算出する。なお、Ｓ２００３で参照する写真領域の画素はＳ２００２で判定した画素である。補正パラメータの算出方法については第一の実施の形態で説明したとおりである。最後に、処理Ｓ２００４ではラスター画像上の写真領域ごとにおのおのの補正パラメータに基づいて画素値を補正し、印刷データ生成出力部１９０４に出力する。
【００４０】
以上より、第３の実施形態によれば、写真領域を判定し補正パラメータを生成する為だけにレンダリングを行うという必要がないため、パフォーマンスの劣化やメモリの消費を低減させることが可能となる。
【００４１】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４２】
４０１  ドキュメントデータ取得部
４０７  レンダリング部
４０８  オブジェクトフラグ画像生成部
４０９  写真領域判定部
４１０  解析部
４１１  パラメータ格納テーブル
４１２  補正部
【図１】
0005898438.tif 000007
【図２】
0005898438.tif 000008
【図３】
0005898438.tif 000009
【図４】
0005898438.tif 000010
【図５】
0005898438.tif 000011
【図６】
0005898438.tif 000012
【図７】
0005898438.tif 000013
【図８】
0005898438.tif 000014
【図９】
0005898438.tif 000015
【図１０】
0005898438.tif 000016
【図１１】
0005898438.tif 000017
【図１２】
0005898438.tif 000018
【図１３】
0005898438.tif 000019
【図１４】
0005898438.tif 000020
【図１５】
0005898438.tif 000021
【図１６】
0005898438.tif 000022
【図１７】
0005898438.tif 000023
【図１８】
0005898438.tif 000024
【図１９】
0005898438.tif 000025
【図２０】
0005898438.tif 000026