(57)【特許請求の範囲】
【請求項１】
画像データを分割し、該分割された画像データのうちの第一の画像データに対して、前記第一の画像データの境界外の画素の値を推定する画像境界外推定手段と、
前記第一の画像データに隣接する前記分割された画像データのうちの第二の画像データおよび前記画像境界外推定手段にて推定した画素の値を参照して、前記第二の画像データに対してフィルタ処理を行い、前記第二の画像データに対するフィルタ処理後の画像データを生成する生成手段と
を有し、
前記生成手段は、前記第二の画像データにおける画像境界からの距離に応じて、前記第二の画像データと前記推定した画素の値との参照比率を変化させることを特徴とする画像処理装置。
【請求項２】
前記生成手段におけるフィルタ処理は、Ｇａｕｓｓｉａｎフィルタを用いた処理であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記生成手段におけるフィルタ処理は、前記画像データに対してサイズが異なるぼかしフィルタを用いることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記生成手段は、前記ぼかしフィルタの種類に応じて、前記第二の画像データと前記推定した画素の値との参照比率を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
分割された前記画像データのうち、ぼかし処理を適用する第一の画像データと前記第一の画像データの直前に隣接連続する第二の画像データのそれぞれに対して、当該画像データの画像境界外の画素の値を推定する画像境界外推定手段と、
前記第一の画像データ、前記第二の画像データ、および前記画像境界外推定手段にて推定した推定画素の値を参照して、サイズの異なるぼかしフィルタを用いて複数のぼかし処理を行い、前記第一の画像データに対する複数のぼかし画像データを生成するぼかし画像生成手段と、
前記ぼかし画像生成手段より生成した複数のぼかし画像を所定の比率で合成し、１つの画像データを生成する画像合成手段と
を有し、
前記推定画素は、前記第一の画像データと前記第二の画像データそれぞれに応じて、当該画像データの画像境界の画素に連続する値を有する画素であり、
前記ぼかし画像生成手段は、
前記ぼかし処理において、対応する前記第一の画像データの画素と前記第二の画像データの推定画素とを参照する際、前記第二の画像データにおける画像境界から離れるほど、前記第二の画像データの推定画素の値に対する参照の重み付けを徐々に減少させ、
前記第二の画像データにおける画像境界から離れるほど、前記第一の画像データの画素の値に対する参照の重み付けを徐々に増加させ、
各画素の値に対する当該重み付けに応じた加重平均を参照する画素値とすることを特徴とする画像処理装置。
【請求項６】
前記ぼかし画像生成手段における前記ぼかし処理は、Ｇａｕｓｓｉａｎフィルタを用いた処理であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記ぼかし画像生成手段は、
前記第一の画像データの画素と前記第二の画像データの推定画素とが重複する画素を参照する際、前記第二の画像データの推定画素の値に対する重み付け、および前記第一の画像データの画素の値に対する重み付けの計算方法を、前記複数のぼかし処理にて用いる前記ぼかしフィルタの種類に応じて所定の計算方法のうちから決定し、画像生成をすること、
を特徴とする請求項５または６に記載の画像処理装置。
【請求項８】
画像データを分割し、該分割された画像データのうちの第一の画像データに対して、前記第一の画像データの境界外の画素の値を推定する画像境界外推定工程と、
前記第一の画像データに隣接する前記分割された画像データのうちの第二の画像データおよび前記画像境界外推定工程にて推定した画素の値を参照して前記第二の画像データに対してフィルタ処理を行い、前記第二の画像データに対するフィルタ処理後の画像データを生成する生成工程と、
を有し、
前記生成工程において、前記第二の画像データにおける画像境界からの距離に応じて、前記第二の画像データと前記推定した画素の値との参照比率を変化させることを特徴とする画像処理方法。
【請求項９】
分割された前記画像データのうち、ぼかし処理を適用する第一の画像データと前記第一の画像データの直前に隣接連続する第二の画像データのそれぞれに対して、当該画像データの画像境界外の画素の値を推定する画像境界外推定工程と、
前記第一の画像データ、前記第二の画像データ、および前記画像境界外推定工程にて推定した推定画素の値を参照して、サイズの異なるぼかしフィルタを用いて複数のぼかし処理を行い、前記第一の画像データに対する複数のぼかし画像データを生成するぼかし画像生成工程と、
前記ぼかし画像生成工程より生成した複数のぼかし画像を所定の比率で合成し、１つの画像データを生成する画像合成工程と
を有し、
前記推定画素は、前記第一の画像データと前記第二の画像データそれぞれに応じて、当該画像データの画像境界の画素に連続する値を有する画素であり、
前記ぼかし画像生成工程では、
前記ぼかし処理において、対応する前記第一の画像データの画素と前記第二の画像データの推定画素とを参照する際、前記第二の画像データにおける画像境界から離れるほど、前記第二の画像データの推定画素の値に対する参照の重み付けを徐々に減少させ、
前記第二の画像データにおける画像境界から離れるほど、前記第一の画像データの画素の値に対する参照の重み付けを徐々に増加させ、
各画素の値に対する当該重み付けに応じた加重平均を参照する画素値とすることを特徴とする画像処理方法。
【請求項１０】
請求項１乃至７のいずれか一項に記載の画像処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、制御方法、及びプログラムに関する。特に１つの写真画像が複数の領域に画像分割されている場合にも好ましいぼかし効果を有するぼかし画像を生成するための画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
近年、デジタルカメラやスキャナ等のデジタル撮像装置が普及し、写真を電子データとしてコンピュータに取り込まれることが頻繁に行われるようになってきた。電子化された写真画像はコンピュータ上でアプリケーションを用いて編集されディスプレイやプリンタ等の出力装置で出力される。その際、写真画像の観察者にとってより見栄えよく表示されるよう、写真画像に発生している逆光や暗部ノイズなどの画質低下要因を補正してから出力装置にて出力することがよく行われている。
【０００３】
写真画像に対して実施される補正処理の一つにぼかし処理がある。ぼかし処理は、写真画像に発生したノイズを低減するために使われる。さらにぼかし処理は、Ｒｅｔｉｎｅｘ理論を利用した局所的輝度補正（覆い焼き補正）を実現する際に、中間画像を生成するための処理としても使用されている。
【０００４】
ここで、Ｒｅｔｉｎｅｘ理論を用いた局所的輝度補正について説明する。Ｒｅｔｉｎｅｘ理論は、式１で示すように人間の視覚で感じる物体の明るさ分布Ｉは物体表面の反射率分布Ｒに照明光分布Ｌを掛け合わせた形で表現されるモデルをベースとしている（非特許文献１等参照）。
【０００５】
0005451313.tif 000002
Ｒｅｔｉｎｅｘ理論のモデルでは、物体表面の反射率分布Ｒは物体に属する恒常的な性質であるため、例えば物体の明るさ分布Ｉに偏りが発生する逆光などの現象の要因は、物体表面の反射率分布Ｒではなく照明光分布Ｌにあるとみなす。写真画像から物体の明るさ分布Ｉを抽出し、照明光分布Ｌと物体表面の反射率分布Ｒに分離することができれば、照明光分布Ｌを補正することで逆光などの現象を改善することができる。
【０００６】
物体の明るさ分布Ｉから照明光分布Ｌを抽出するためのモデルとしてＣｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄモデルが提唱されている。Ｃｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄモデルでは照明光分布Ｌは物体の明るさ分布Ｉの大局的な変化であると仮定する。そのため広範囲のＧａｕｓｓｉａｎフィルタを物体の明るさ分布Ｉにかけて強めのぼかし画像を生成するが、そのぼかし画像には写真画像における被写体内の緩やかな明るさ変化や被写体の輪郭が再現されてない。そのため、中範囲や小範囲のＧａｕｓｓｉａｎフィルタを物体の明るさ分布Ｉにかけて中度のぼかし画像と弱めのぼかし画像を生成し、これら弱め・中度・強めのぼかし画像を所定の比率で合成した画像を照明光分布Ｌの画像として扱う。このようにぼかし処理は写真画像の補正処理において重要な技術となっている。
【０００７】
ただし、ぼかし処理を単純には適用できないケースがある。例えばコンピュータのアプリケーションによって１枚の写真画像が複数の部分領域に画像分割されているケースでは、個々の分割画像にぼかし処理を適用すると再結合後に結合部で明るさの非連続などの不整合が発生してしまう。このようなケースに対して、特許文献１では、分割後に画素が重複している部分では加重平均をとってからぼかし処理を行うことで結合部での明るさの非連続の不整合を低減することを可能としている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特登録０３９８４３４６号公報
【非特許文献】
【０００９】
【非特許文献１】電気学会技術報告，第９８１号，２００４年８月３０日発行，２１世紀のメディア情報・視覚技術，メディア情報・視覚技術調査専門委員会，ｐ．４１〜ｐ．４５
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、一般にアプリケーションは冗長な画素重複領域がないように画像を分割するため、特許文献１に開示されている手法を適用できるケースはあまりない。画素重複領域が無いように写真画像が複数の領域に画像分割されているケースでは、ぼかし処理を単純に適用すると２つの問題が発生する。１つ目の問題は、隣接する分割画像の分割境界付近では、ぼかしフィルタの計算時に互いの画素を参照しないためぼかしフィルタ処理後に画像を再結合すると結合部で明るさの非連続が生じてしまうことである。２つ目の問題は、分割境界の近辺ではぼかしフィルタの一部が処理対象の画像のからはみ出し、十分なぼかし効果のあるぼかし画像が得られないことである。
【００１１】
本発明は上記問題点を鑑み、写真画像が複数の部分領域に画像分割されたケースにおいて、分割画像を再結合した後も結合部で不整合が発生せず、かつ十分なぼかし効果が得られるぼかしフィルタ処理を実現することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は以下の構成を有する。すなわち、画像データを分割し、該分割された画像データのうちの第一の画像データに対して、前記第一の画像データの境界外の画素の値を推定する画像境界外推定手段と、前記第一の画像データに隣接する前記分割された画像データのうちの第二の画像データおよび前記画像境界外推定手段にて推定した画素の値を参照して、前記第二の画像データに対してフィルタ処理を行い、前記第二の画像データに対するフィルタ処理後の画像データを生成する生成手段とを有し、前記生成手段は、前記第二の画像データにおける画像境界からの距離に応じて、前記第二の画像データと前記推定した画素の値との参照比率を変化させることを特徴とする。
【発明の効果】
【００１３】
本発明により、写真画像が複数の部分領域に分割されているような分割画像に対してフィルタ処理後に分割境界で画素値段差が発生することを抑制することが可能となる。さらに、画像が部分領域に分割されていない場合のフィルタ計算結果に近い値を得ることが可能となる。また、画像境界外の画素値を推定してフィルタ処理を実施することにより、十分なフィルタ面積が得られ、画像境界付近でも十分なぼかし効果を得ることが可能となる。
【図面の簡単な説明】
【００１４】
【図１】第一の実施形態に係る画像処理装置を含んだ画像形成システム構成図。
【図２】本実施形態に係る物理構成を示すブロック図。
【図３】本実施形態に係るプログラムのシステム構成を表すブロック図。
【図４】本実施形態に係るモジュール構成を示すブロック図。
【図５】本実施形態に係る局所的輝度補正部のモジュール構成を表すブロック図。
【図６】本実施形態に係る隣接連続画像取得部の処理手順を示したフロー図。
【図７】本実施形態に係る局所的輝度補正対象の画像と隣接連続画像の画像境界外推定領域を示す図。
【図８】本実施形態に係るＧａｕｓｓｉａｎフィルタの２次元空間分布を示す図。
【図９】本実施形態に係るぼかしフィルタ処理部における処理手順を示すフロー図。
【図１０】本実施形態に係るぼかしフィルタを適用した様子を示す図。
【発明を実施するための形態】
【００１５】
＜第一の実施形態＞
以下、本発明を実施するための最良の形態について図面を用いて説明する。第一の実施形態では、写真画像に対してプリンタドライバで局所的輝度補正を実施し、その写真画像をプリンタエンジンより出力する画像処理システムの一例について説明する。なお、本実施形態において、ぼかし処理をぼかしフィルタ処理と記載する。
【００１６】
［全体の概略説明］
図１は本発明の第一の実施形態に係る画像生成装置を含んだ画像形成システムの構成例を示すシステム構成図である。この画像形成システムは、データ伝送路１０１、コンピュータ１０２、ディスプレイ１０３、プリンタコントローラ１０４、プリンタエンジン１０５、画像生成装置１０６より構成される。コンピュータ１０２、プリンタコントローラ１０４、画像生成装置１０６はデータ伝送路１０１を介して互いにデータを通信する。コンピュータ１０２とディスプレイ１０３は互いに接続されており、コンピュータ１０２は動作中のアプリケーションの画面情報をディスプレイ１０３に送信して画面出力する。また、プリンタコントローラ１０４とプリンタエンジン１０５は互いに接続されており、プリンタコントローラ１０４はプリンタエンジン１０５に制御信号を送信してプリンタ出力を実施する。画像生成装置１０６はデジタルカメラなどの画像撮影装置やスキャナなどの画像読取装置を表している。
【００１７】
図２（ａ）はコンピュータ１０２の物理構成を示すブロック図である。コンピュータ１０２は、データ伝送路２０１、ＣＰＵ２０２、ＲＡＭ２０３、外部記憶装置２０４、ディスプレイインタフェース２０５、外部入力装置２０６、ネットワークインタフェース２０７より構成される。ＣＰＵ２０２、ＲＡＭ２０３、外部記憶装置２０４、ディスプレイインタフェース２０５、外部入力装置２０６、ネットワークインタフェース２０７はデータ伝送路２０１を介して互いにデータを通信する。コンピュータ１０２が起動すると、ＣＰＵ２０２がアプリケーション実行プログラムを外部記憶装置２０４から読み込んでＲＡＭ２０３に格納しそのプログラムを実行する。ＣＰＵ２０２が実行しているプログラムが画面表示コマンドに到達したら、ディスプレイインタフェース２０５に対して画面表示データを送信開始し、ディスプレイ１０３に画面を出力する。また、ＣＰＵ２０２は外部入力装置２０６からのユーザ入力情報を監視し、ユーザ入力情報が入力された場合はプログラム中に定義されたユーザ入力情報に対応する処理を実行する。
【００１８】
図２（ｂ）はプリンタコントローラ１０４の物理構成を示すブロック図である。プリンタコントローラ１０４は、データ伝送路５０１、ＣＰＵ５０２、ＲＡＭ５０３、外部記憶装置５０４、ネットワークインタフェース５０５、エンジンインタフェース５０６より構成される。ＣＰＵ５０２、ＲＡＭ５０３、外部記憶装置５０４、ネットワークインタフェース５０５、エンジンインタフェース５０６はデータ伝送路５０１を介して互いにデータを通信する。プリンタコントローラ１０４が起動すると、ＣＰＵ５０２は実行プログラムを外部記憶装置５０４から読み込んでＲＡＭ５０３に格納しそのプログラムを実行する。
【００１９】
図３はＣＰＵ２０２が実行するプログラムのシステム構成を表すブロック図である。アプリケーション３０１は、ディスプレイインタフェース２０５や外部入力装置２０６を介してユーザと情報をやりとりし、外部記憶装置２０４に格納している写真画像を編集する。印刷指示をユーザから受け付けた場合、アプリケーション３０１は、オペレーティングシステム３０２を介してプリンタドライバ３０３に写真画像や付加文字情報の描画命令を出力する。プリンタドライバ３０３は、オペレーティングシステム３０２より描画命令を受け取ると描画命令に応じた印刷データを生成する。そしてさらにその印刷データをネットワークインタフェース２０７に出力することで、プリンタコントローラ１０４に印刷データを渡す。
【００２０】
図４（ａ）はプリンタドライバ３０３のモジュール構成を示すブロック図である。プリンタドライバ３０３は、描画命令取得部４０１、描画命令解釈部４０２、印刷命令作成部４０３、印刷データ出力部４０４、局所的輝度補正部４０５から構成される。描画命令取得部４０１は、オペレーティングシステム３０２から描画命令を受け取り、描画命令解釈部４０２に渡す。描画命令解釈部４０２は、描画命令取得部４０１から受け取った描画命令の種類を判別する。描画命令の種類が文字描画の場合、描画命令解釈部４０２は印刷命令作成部４０３に対して文字用の印刷命令を作成するように指示を出す。また、描画命令の種類が画像描画の場合、描画命令解釈部４０２は写真画像のデータを局所的輝度補正部４０５に渡して局所的輝度補正を適用し、その後に補正後のデータを印刷命令作成部４０３に渡して画像用の印刷命令を作成するよう指示を出す。印刷命令作成部４０３は描画命令解釈部４０２から受け取った印刷描画指示に従って印刷命令を作成し、印刷データとして印刷データ出力部４０４に出力する。その際、画像データには既に局所的輝度補正が既に処理済みであるという付加情報を印刷命令に追記する。印刷データ出力部４０４は、印刷命令作成部４０３より受け取った印刷データをネットワークインタフェース２０７に出力することで印刷データをプリンタコントローラ１０４に送信する。
【００２１】
図４（ｂ）はＣＰＵ５０２で実行するプログラムのモジュール構成を示すブロック図である。プログラムは、印刷データ取得部６０１、印刷命令解釈部６０２、レンダリング処理部６０３、濃度値変換処理部６０４、二値化処理部６０５、エンジン制御部６０６、局所的輝度補正処理部６０７、カラーマッチング処理部６０８より構成される。印刷データ取得部６０１は、ネットワークインタフェース５０５が受信した印刷データを受け取り印刷命令解釈部６０２に出力する。次に印刷命令解釈部６０２は印刷データ取得部６０１から受け取った印刷命令の種類に応じて処理を切り替える。文字用の印刷命令を受け取った場合は、その文字の色情報をカラーマッチング処理部６０８に渡してプリンタエンジン１０５特有の色信号に変換し、レンダリング処理部６０３にレンダリング描画命令を出力する。画像用の印刷命令を受け取った場合は、まずその画像が局所的輝度補正処理済みの画像であるかを判定する。コンピュータ１０２から出力された印刷データの場合、印刷データに局所的輝度補正処理済みの情報が付加されているため、局所的輝度補正処理部６０７をスキップする。そしてカラーマッチング処理部６０８に画像の色情報を渡してプリンタエンジン１０５特有の色信号に変換し、レンダリング処理部６０３にレンダリング描画命令を出力する。レンダリング処理部６０３は印刷命令解釈部６０２から受け取ったレンダリング描画命令に従って１ページ分の画像メモリに描画する。レンダリング処理部６０３は処理中のジョブのレンダリング命令すべてを１ページ分の画像メモリに描画すると、その画像メモリを濃度値変換処理部６０４に出力する。濃度値変換処理部６０４は、レンダリング処理部６０３から受け取った画像メモリをプリンタエンジン１０５が扱う色材（インクやトナーなど）の濃度画像データに変換して二値化処理部６０５に出力する。二値化処理部６０５は濃度画像データをドット状のパターン画像に変換し、エンジン制御部６０６に出力する。エンジン制御部６０６は、ドット状のパターン画像を基にプリンタエンジン制御の指令をエンジンインタフェース５０６に出力する。これによりプリンタエンジン１０５にて画像がインク像やトナー像として紙面上に形成される。
【００２２】
［局所的輝度補正の詳細説明］
局所的輝度補正詳細のについて説明する。図５はプリンタドライバ３０３における局所的輝度補正部４０５のモジュール構成を表すブロック図である。局所的輝度補正部４０５は、画像取得部７０１、輝度色差変換部７０２、照明光分布推定部７０３、反射率分布推定部７１１、照明光分布補正部７１２、輝度信号補正部７１３、画像信号変換部７１４、画像出力部７１５より構成される。画像取得部７０１は、描画命令解釈部４０２から画像データを受け取り、輝度色差変換部７０２に出力する。輝度色差変換部７０２は画像データを輝度色差信号形式の画像データに変換する。輝度色差信号形式とは、例えばＹＵＶという信号形式があり、Ｙが輝度値、ＵとＶが色差（青色／赤色成分）を表す。一般にプリンタドライバ３０３や画像生成装置１０６で生成される画像データの信号はＲＧＢ信号形式（Ｒ：レッド、Ｇ：グリーン、Ｂ：ブルー）であることが多い。ＲＧＢ信号形式からＹＵＶ信号形式への変換は以下の式２により計算する。
【００２３】
0005451313.tif 000003
輝度色差変換部７０２は、ＹＵＶ信号形式に変換した画像データを照明光分布推定部７０３と反射率分布推定部７１１と輝度信号補正部７１３とに出力する。照明光分布推定部７０３は、画像データから照明光分布画像を後述の方法にて推定し、照明光分布画像を反射率分布推定部７１１と照明光分布補正部７１２とに出力する。反射率分布推定部７１１は、輝度色差変換部７０２から受け取った画像データの輝度成分と照明光分布推定部７０３とから受け取った照明光分布画像を用い、式１のＲｅｔｉｎｅｘ理論に基づいて物体表面の反射率分布Ｒを推定する。すなわち、画像データのｉ行ｊ列目の画素（ｉ，ｊ）における反射率分布Ｒ（ｉ，ｊ）は輝度信号分布Ｉ（ｉ，ｊ）（＝Ｒｅｔｉｎｅｘ理論における明るさ分布）と照明光分布Ｌ（ｉ，ｊ）から以下の式３を用いて求める。
【００２４】
0005451313.tif 000004
反射率分布推定部７１１は、算出した反射率分布画像を輝度信号補正部７１３に出力する。照明光分布補正部７１２は照明光分布推定部７０３より受け取った照明光分布画像を補正する。本実施形態において照明光分布補正部７１２では、一例として式４に示したγ＝１．２のトーンカーブによって照明光分布画像を補正する。もちろん、これに限定するわけではなく、式４以外の補正方法でも構わない。
【００２５】
0005451313.tif 000005
照明光分布補正部７１２は補正後の照明光分布を輝度信号補正部７１３に出力する。輝度信号補正部７１３は反射率分布推定部７１１から受け取った反射率分布Ｒと照明光分布補正部７１２から受け取った補正後の照明光分布Ｌ’より、式１のＲｅｔｉｎｅｘ理論に基づいて輝度色差変換部７０２より受け取った輝度信号分布Ｉ’を補正する。すなわち、画像データのｉ行ｊ列目の画素（ｉ，ｊ）における補正後の輝度信号分布Ｉ’（ｉ，ｊ）（＝Ｒｅｔｉｎｅｘ理論における明るさ分布）は照明光分布Ｌ’（ｉ，ｊ）と反射率分布Ｒ（ｉ，ｊ）から以下の式５を用いて求める。
【００２６】
0005451313.tif 000006
輝度信号補正部７１３は、補正後の輝度色差信号形式の画像データを画像信号変換部７１４に出力する。画像信号変換部７１４は、輝度信号補正部より受け取った輝度色差信号の画像データを画像取得部７０１が受け取った時点の画像データの信号形式に戻すように変換する。例えば画像取得部７０１が受け取った画像信号がＲＧＢカラー信号である場合、ＹＵＶ信号形式からＲＧＢ信号形式に変換する。それには以下の式６を用いる。
【００２７】
0005451313.tif 000007
画像信号変換部７１４は、変換後の画像データを画像出力部７１５に出力する。画像出力部７１５は画像信号変換部７１４から受け取った画像データを描画命令解釈部４０２に出力する。
【００２８】
次に照明光分布推定部７０３について詳細に説明する。照明光分布推定部７０３は、隣接連続画像取得部７０４、画像一時記憶部７０５、画像境界外推定部７０６、広域ぼかしフィルタ処理部７０７、中域ぼかしフィルタ処理部７０８、小域ぼかしフィルタ処理部７０９、画像合成処理部７１０により構成される。隣接連続画像取得部７０４は、輝度色差変換部７０２から受け取った画像データと隣接連続する画像データを画像一時記憶部７０５内の画像データから抽出する。なお、この画像一時記憶部７０５に格納されている画像データは既に局所的輝度補正で参照され、図６を用いて後述する隣接連続画像取得部７０４にて格納された画像データである。
【００２９】
［隣接連続画像取得フロー］
隣接連続画像取得部７０４における処理手順を図６のフローチャートを用いて説明する。なお本フローに係るプリンタドライバ３０３のプログラムは、コンピュータ１０２の外部記憶装置２０４に記憶されており、ＲＡＭ２０３に読み出されＣＰＵ２０２によって実行される。Ｓ８０１において、画像一時記憶部７０５に画像データが存在するかを確かめる。画像一時記憶部７０５に画像データが存在しない場合はＳ８０５に移る。画像一時記憶部７０５に画像データが存在する場合は、Ｓ８０２にて画像一時記憶部７０５内に存在する画像データを取り出す。次にＳ８０３では、その取り出した画像データが輝度色差変換部７０２より受け取った画像データの直前に位置する隣接連続の画像データかどうかを、画像データの幅が等しいかどうかで判定する。画像データの幅が互いに等しい場合は画像データが隣接連続であると判定し、Ｓ８０４に移る。次にＳ８０４で画像境界外推定部７０６に前記隣接連続する画像を出力する。一方、幅が等しくない場合は隣接連続ではないと判定し、何もせずＳ８０５に移る。そして次にＳ８０５で画像一時記憶部７０５内の画像データを全て削除する。次にＳ８０６にて輝度色差変換部７０２から受け取った画像データを複製し、画像一時記憶部７０５に格納する。最後にＳ８０７にて輝度色差変換部７０２より受け取った画像データを画像境界外推定部７０６に出力して一連の処理を終了する。なお、本処理フローでは、連続する画像データを当該画像データの幅を用いて判定したが、この方法に限定されるわけではなく、画像データにおける画素の画素情報などを用いて分割された画像が連続であることが判定できれば、他の手法を用いてもよい。
【００３０】
［画像境界外画素の推定］
画像境界外推定部７０６は、隣接連続画像取得部７０４より局所的輝度補正対象の画像データとそれに隣接連続する画像データを受け取り、それぞれの画像境界外の画素値を推定する。推定する範囲は、広域ぼかしフィルタ処理部７０７におけるぼかしフィルタ処理で使用するぼかしフィルタのサイズを包含する範囲である。図７に局所的輝度補正対象の画像データとそれに隣接する画像境界外画素のそれぞれの推定範囲を示す。ここで示す画像データは、それぞれ照明光分布を求める対象の画像データ９０１、画像データ９０１の画像境界９０２、９０７、画像データ９０１の推定領域９０３を有する。また、照明光分布を求める対象の画像データ９０１に隣接連続する画像データ９０４、画像データ９０４の画像境界９０５と９０７、画像データ９０４の推定領域９０６である。なお、便宜上、画像データ９０１を第一の画像データ、画像データ９０１に隣接連続する画像データ９０４を第二の画像データとも呼ぶ。分割前においては、画像データ９０１と画像データ９０４とは分割境界９０７で結合されていたことを意味している。また、画像データ９０１において上端側の境界外画素を推定していないのは、上に隣接接続する画像データ９０４を参照すれば事足りるためである。画像データ９０４において上端側の境界外画素を推定していないのは、画像が分割されていない場合にもその領域はぼかしフィルタ処理の計算対象に含まれていないためである。もちろんその領域の境界外画素を推定し、ぼかしフィルタ処理の計算対象としてもよい。画像データ９０１の推定領域９０３と画像データ９０４の推定領域９０６の範囲は、広域ぼかしフィルタ処理部７０７で使用するぼかしフィルタのサイズをＫとすると、画像境界からの距離がＫ／２画素までの範囲である。画像の境界外画素を推定する方法には様々な方法が知られているが、本実施形態では画像境界の画素値と等しい値がずっと伝播して連続するとして画像境界外の画素を算出する。もちろん、推定方法に関しては、これに限定するわけではなく、他の方法を用いて、画像部分に応じた推定領域９０６を推定してよい。画像境界外推定部７０６は、画像データとそれに隣接連続する画像データの画像境界外を推定した画像データを広域ぼかしフィルタ処理部７０７と中域ぼかしフィルタ処理部７０８と小域ぼかしフィルタ処理部７０９に出力する。
【００３１】
広域ぼかしフィルタ処理部７０７、中域ぼかしフィルタ処理部７０８、小域ぼかしフィルタ処理部７０９は、受け取った画像データとその隣接連続画像データとその推定した画像データを参照しながら、画像データに対してぼかしフィルタ処理を実施する。各ぼかしフィルタ処理部で異なるのは用いるぼかしフィルタのサイズである。いずれの処理部でもぼかしフィルタとしてＧａｕｓｓｉａｎフィルタを用いるが、そのＧａｕｓｓｉａｎフィルタの計算式Ｆｉｌｔｅｒ（ｘ，ｙ）は式７のように示される。
【００３２】
0005451313.tif 000008
ここで、ｘ，ｙはＧａｕｓｓｉａｎフィルタの中央画素を原点とした場合のｘ行ｙ列目の画素の値である。図８にＧａｕｓｓｉａｎフィルタの２次元空間分布を示す。ＧａｕｓｓｉａｎフィルタにおけるＧａｕｓｓｉａｎ（ｘ，ｙ）の値の範囲は０から１．０の範囲にあるが、整数に変換して計算効率を上げるためにＣｏｎｓｔをかけたＦｉｌｔｅｒ（ｘ，ｙ）を実際のぼかしフィルタとして用いる。Ｃｏｎｓｔの値としては本実施形態では一例として２１６（＝６５５３６）を用いるが、それ以外の値でも構わない。実際にぼかしフィルタ処理を計算する場合は式７の計算を毎回行うのではなく、Ｋ×Ｋの行列メモリを用意して計算結果Ｆｉｌｔｅｒ（ｐ，ｑ）を記憶しておく。このＫは前述のぼかしフィルタのサイズを意味する。Ｋは、ぼかしフィルタの値を無視しても問題ない値を設定する。広域ぼかしフィルタ処理部７０７では広い範囲でのぼかし効果を得ることが目的であるため、Ｋを大きくした行列メモリを用意し、σの値を大きくして（本実施形態では一例としてＫ＝８００、σ＝３００）、式７のＦｉｌｔｅｒ（ｐ，ｑ）を算出する。また、小域ぼかしフィルタ処理部７０９では狭い範囲でのぼかし効果を得ることが目的であるため、Ｋを小さくした行列メモリを用意し、式７のσの値を小さくして（本実施形態では一例としてＫ＝６０、σ＝２０）、式７のＦｉｌｔｅｒ（ｐ，ｑ）を算出する。中域ぼかしフィルタ処理部７０８では、本実施形態では、一例としてＫ＝２００、σ＝８０を採用する。
【００３３】
［ぼかしフィルタ処理］
次に、広域ぼかしフィルタ処理部７０７、中域ぼかしフィルタ処理部７０８、小域ぼかしフィルタ処理部７０９におけるぼかしフィルタの処理手順を図９のフローチャートを用いて説明する。なお本フローに係るプリンタドライバ３０３のプログラムは、コンピュータ１０２の外部記憶装置２０４に記憶されており、ＲＡＭ２０３に読み出されＣＰＵ２０２によって実行される。Ｓ１１０１にてぼかしフィルタの中央画素（注目画素）の縦方向の座標（原点は画像データ９０１の左上隅の点）であるｉを定義し、１で初期化する。次にＳ１１０２にてｉが画像データの高さ（画像データの縦方向の大きさ）以下の値であるかどうかを判定する。ｉが画像データの高さよりも大きい値である場合は処理を終了する。ｉが画像データの高さ以下の値である場合、Ｓ１１０３に進む。Ｓ１１０３では、局所的輝度補正対象の画像データの実画素と隣接連続する画像データの推定画素とが重複して存在している領域において、推定画素対実画素の参照の比率を所定の算出方法から決定する。この比率を「ａ：（１−ａ）」と定義すると、本実施形態では比率ａを式８より決定する。
【００３４】
0005451313.tif 000009
式８は比率ａの値は画像境界から離れるほど（ｉが大きくなるほど）小さくなることを意味している。比率ａを求める式としてはｉが大きくなるにつれて比率ａが小さくなる式であれば式８以外の式でも構わない。式８により、画像境界からぼかしフィルタのサイズの半分以上離れると、比率ａは０となり推定画素を全く参照しないでぼかしフィルタ処理を実施する。次にＳ１１０４にてぼかしフィルタの中央画素（注目画素）の横方向の座標（原点は画像データ９０１の左上隅の点）であるｊを定義し、１で初期化する。次にＳ１１０５ではｊが画像データの幅（画像データの横方向の大きさ）以下の値であるかどうかを判定する。ｊが画像データの幅よりも大きい値である場合はＳ１１０８に進んで変数ｉを１増加し、Ｓ１１０２にループバックする。また、ｊが画像データの幅以下の値である場合、Ｓ１１０６に進んで。画素（ｉ，ｊ）を注目画素とするぼかしフィルタ処理を実施する。このぼかしフィルタ処理Ｆｉｌｔｅｒｉｎｇ（ｉ，ｊ）の計算式を式９で表す。式９において、Ｆｉｌｔｅｒ（ｐ，ｑ）は式７で求めたＧａｕｓｓｉａｎフィルタ、ＩＣｕｒｒｅｎｔ（ｘ，ｙ）は局所的輝度補正対象の画像データに属する画素値、ＩＳｅｒｉａｌ（ｘ，ｙ）は隣接連続する画像データの画素値、を表す。Ｖａｌｕｅ（ｘ，ｙ）はぼかしフィルタが参照する画素値を表す。また、
0005451313.tif 000010
のケースは局所的輝度補正対象の画像データの実画素と隣接連続する画像データの推定画素とが重複している領域を表す。重複している領域においては、式８にて求めた比率ａに基づいて、加重平均をとる。その結果、式９により、各画素に対して参照する値を求める。
【００３５】
0005451313.tif 000011
式９による、ぼかしフィルタ処理が完了したらＳ１１０７に進む。Ｓ１１０７では変数ｊを１増加させてＳ１１０５にループバックする。
【００３６】
広域ぼかしフィルタ処理部７０７、中域ぼかしフィルタ処理部７０８、小域ぼかしフィルタ処理部７０９は図９の処理フローに従って、それぞれぼかし画像を生成した後、画像合成処理部７１０に出力する。
【００３７】
画像合成処理部７１０では、上記３つのぼかし画像を合成することで、局所的輝度補正に必要な「オブジェクトの輪郭を残しつつ小さな輝度変化をぼかした大局的な輝度分布」という特徴をもつ照明光分布を生成する。本実施形態では、一例として式１０に従った画素値の重み平均をとってぼかし画像を合成する。もちろん式１０以外の式を用いてもかまわない。
【００３８】
0005451313.tif 000012
Ｆｉｌｔｅｒｉｎｇｌ、Ｆｉｌｔｅｒｉｎｇｍ、Ｆｉｌｔｅｒｉｎｇｓはそれぞれ広域ぼかしフィルタ処理部７０７で生成したぼかし画像、中域ぼかしフィルタ処理部７０８で生成したぼかし画像、小域ぼかしフィルタ処理部７０９で生成したぼかし画像を表す。Ｌ（ｉ，ｊ）は上記３つのぼかし画像を合成した照明光分布画像を表す。
【００３９】
図１０（ａ）を用いて図９に示したフローチャートによる画像処理の様子を説明する。照明光分布を求める対象の画像データ９０１とその推定領域９０３、そしてその画像データに隣接する画像データ９０４と推定領域９０６に対して３種類のぼかしフィルタ処理を実施する。その際の処理の様子を右側の断面図に示す。断面図より推定領域９０６と画像データ９０１がオーバーラップしていることがわかる。そこに各ぼかしフィルタ（１２０１、１２０２、１２０３）を適用する際、画像データがオーバーラップしていない領域は通常のぼかしフィルタ計算を行うが、推定領域９０６と画像データ９０１がオーバーラップしている領域では重み平均を取る。その際、重み比率ａは、ぼかしフィルタの中心画素と分割境界９０７の距離ｉを用いて式８により算出する。これにより、ぼかしフィルタが分割境界９０７から離れるほどに推定領域９０６の重みは徐々に減少し、照明光分布を求める対象の画像データ９０１の重みが徐々に増加することになる。なお、本実施形態において、ぼかしフィルタ処理は、広域、中域、小域としての３つの処理を実行しているが、これに限定するものではなく、必要に応じてフィルタの数を増減してもよい。なお、その際には、式１０にて実現する「オブジェクトの輪郭を残しつつ小さな輝度変化をぼかした大局的な輝度分布」という特徴も併せて考慮する必要がある。
【００４０】
以上より、第一の実施形態によれば、ぼかしフィルタが画像データの境界外に出てしまう場合には画像境界外の画素値を推定してぼかしフィルタ処理を実施するため、十分なぼかしフィルタ面積が得られ、画像境界付近でも十分なぼかし効果を得ることが可能となる。さらに、画像データにぼかしフィルタ処理をかける際にぼかしフィルタ処理を既に実施した隣接画像データの元データおよびその画像外推定画素を参照してぼかしフィルタ処理を行っている。これにより、写真画像が複数の部分領域に分割されているような分割画像に対してぼかしフィルタ処理後に分割境界で画素値段差が発生することを抑制することが可能となる。さらに、ぼかしフィルタ処理をかけようとしている画像データと、既に実施した隣接画像データの画像外推定画素がオーバーラップしている領域では、画像境界から離れるほど、ぼかしフィルタ処理時における推定画素の比率を小さくしている。これにより、画像が部分領域に分割されていない場合のぼかしフィルタ計算結果に近い値を得ることが可能となる。
【００４１】
＜第二の実施形態＞
第一の実施形態では広域ぼかしフィルタ処理部７０７と中域ぼかしフィルタ処理部７０８と小域ぼかしフィルタ処理部７０９において、局所的輝度補正対象の画像データの実画素と隣接連続する画像データの推定画素との重みの比率ａの算出方法は同じであった。
【００４２】
第二の実施形態は第一の実施形態と異なり、ぼかしフィルタ処理の種類に応じて比率ａの算出方法を切り替えることを特徴とする。小域ぼかしフィルタ処理部７０９では比率ａが早く小さくなるように算出する。一方広域ぼかしフィルタ処理部７０７や中域ぼかしフィルタ処理部７０８ではぼかしフィルタ処理後の照明光分布に分割境界付近で段差が発生することを抑制するため、比率ａは緩やかにと小さくなるように算出する。比率ａの算出の例を式１１に示す。
【００４３】
0005451313.tif 000013
図１０（ｂ）を用いて第二の実施形態における図９のフローチャートにおける画像処理の様子を説明する。照明光分布を求める対象の画像データ９０１とその推定領域９０３、そしてその画像データに隣接する画像データ９０４と推定領域９０６に対して３種類のぼかしフィルタ処理を実施する。その際の処理の様子を右側の断面図に示す。断面図より推定領域９０６と画像データ９０１がオーバーラップしていることがわかる。そこに各ぼかしフィルタ（１２０１、１２０２、１２０３）を適用する際、画像データがオーバーラップしていない領域は通常のぼかしフィルタ計算を行うが、推定領域９０６と画像データ９０１がオーバーラップしている領域では重み平均を取る。その際、重み比率ａは、ぼかしフィルタの中心画素と分割境界９０７との距離ｉを用いて式１１により算出する。このとき、小域ぼかしフィルタ処理部７０９での比率ａは広域ぼかしフィルタ処理部７０７と中域ぼかしフィルタ処理部７０８の比率ａよりも早く減少するように計算される。
【００４４】
この第二の実施形態によれば、小域ぼかしフィルタ処理部のぼかしフィルタ処理において、分割境界から離れると比率ａの値をすぐに小さくするため、推定領域では推定が難しいエッジを実画素から抽出ことが可能となる。これにより、第一の実施形態における効果に加え、ぼかし画像合成後の照明光分布画像にオブジェクトの輪郭が維持され、Ｒｅｔｉｎｅｘとして、より望ましい照明光分布を得ることが可能となる。
【００４５】
＜第三の実施形態＞
第一の実施形態および第二の実施形態では局所的輝度補正をプリンタドライバ３０３内で実施する形態を説明したが、第三の実施形態ではプリンタコントローラ１０４内で局所的輝度補正を実施する画像処理システムの例を説明する。
【００４６】
プリンタコントローラ１０４内のＣＰＵ５０２で実行するプログラムのモジュール構成を示す図４（ｂ）において、印刷命令解釈部６０２は印刷データ取得部から受け取った印刷命令の種類を解釈する。受け取った印刷命令が画像用の印刷命令であると判定した場合は、まずその画像が局所的輝度補正処理済みの画像データであるかを判定する。処理中のデータがコンピュータ１０２から出力された印刷データの場合、印刷データに局所的輝度補正処理済みの情報が付加されているため、局所的輝度補正処理部６０７をスキップする。これは、二重に局所的輝度補正が掛かることを防止するためである。一方、処理中のデータが画像生成装置１０６から出力された画像データの場合、印刷データに局所的輝度補正処理済みの情報が付加されていないため、局所的輝度補正処理部６０７に画像データを渡して局所的輝度補正を実施する。局所的輝度補正処理部６０７の処理はプリンタドライバ３０３における局所的輝度補正部４０５の処理と全く同一である。局所的輝度補正処理部６０７は画像データに対して局所的輝度補正を実施すると印刷命令解釈部６０２に画像データを出力し、次いで印刷命令解釈部６０２はカラーマッチング処理部６０８に画像の色情報を渡してプリンタエンジン１０５特有の色信号に変換する。そしてレンダリング処理部６０３に画像データとレンダリング描画命令を出力する。以降の処理は図４（ｂ）について説明した第一の実施形態と全く同一である。
【００４７】
第三の実施形態によれば、第一の実施形態、及び第二の実施形態における効果に加え、同一の画像データに対して二重の局所的輝度補正を防止しつつも、未補正の画像データに対してはプリンタコントローラ側で局所的輝度補正を実施することが可能である。
【００４８】
＜その他の実施形態＞
上記実施形態では画像データの輝度信号に対して局所的輝度補正を実施したが、画像データの信号は何でもよく、例えばＲＧＢ画像データの各カラー信号に対して局所的輝度補正を実施してもよい。また、上記実施形態でＧａｕｓｓｉａｎフィルタを用いたぼかしフィルタ処理を適用したが、ぼかし効果のあるぼかしフィルタであれば何でもよく、例えば値が一律のぼかしフィルタを用いてぼかしフィルタ処理を実施しても良い。
【００４９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005451313.tif 000014
【図２】
0005451313.tif 000015
【図３】
0005451313.tif 000016
【図４】
0005451313.tif 000017
【図５】
0005451313.tif 000018
【図６】
0005451313.tif 000019
【図７】
0005451313.tif 000020
【図８】
0005451313.tif 000021
【図９】
0005451313.tif 000022
【図１０】
0005451313.tif 000023