(57)【特許請求の範囲】
【請求項１】
原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、前記原稿画像のオブジェクトの色により影の写り込みの影響が少ない特異画素の領域を決定する決定ステップと、
前記特異画素の画素値を、前記特異画素の周辺の画素の画素値にもとづいて算出した値に置き換えることにより、前記入力画像の影成分を示す画像を生成する生成ステップとを有し、
前記生成ステップは、前記輝度成分を示す画像において、前記特異画素の画素値を、前記特異画素の周辺の特定画素ではない画素の画素値にもとづいて算出した値に置き換える第１のステップと、画素値が置き換えられた特異画素について特異画素ではない画素とみなす第２のステップを有し、特異画素とみなされる画素がなくなるまで、前記第１のステップと前記第２のステップを繰り返すことを特徴とする情報処理方法。
【請求項２】
原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、前記輝度成分を示す画像に対応する色成分の値と、色成分全体から算出する代表値との差分が、所定の閾値よりも大きい差分がある特異画素の領域と、それ以外の写り込みの影響が大きい領域を決定する決定ステップと、
前記特異画素の周辺の画素値を参照し、前記特異画素の画素値を写り込みの影響が大きい領域から算出した値に置き換えることにより、前記入力画像の影成分を示す画像を生成する生成ステップとを有し、
前記生成ステップは、前記輝度成分を示す画像において、特異画素の領域が、影が写り込んでいる領域であって前記原稿画像のオブジェクトのない領域の値から算出した値への置き換えによってなくなるまで、前記特異画素の画素値を写り込みの影響が大きい領域から算出した値に置き換えることを繰り返すことを特徴とする情報処理方法。
【請求項３】
更に、前記入力画像を複数のブロックに分割する分割ステップと、
前記分割ステップによって分割されたブロックにおける複数の画素の輝度成分を用いて、前記ブロックにおいて代表値を取得する取得ステップと、
前記取得ステップにおいて取得されたそれぞれのブロックの代表値を用いて、画像を生成する第２の生成ステップとを有し、
前記決定ステップにおける前記入力画像の輝度成分を示す画像は、前記第２の生成ステップによって生成された画像の輝度成分を示す画像であることを特徴とする請求項１または２に記載の情報処理方法。
【請求項４】
原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、前記画像の画素の輝度成分を用いて、前記輝度成分を示す画像において、エッジを示す画素である特異画素の領域を決定する決定ステップと、
前記特異画素の周辺の画素値を参照し、前記特異画素の画素値よりも所定の閾値以上明るい領域から算出した値に置き換えることにより、前記入力画像の影成分を示す画像を生成する生成ステップとを有し、
前記特異画素と判定される領域がなくなるまで、前記決定ステップと前記生成ステップを繰り返すことを特徴とする情報処理方法。
【請求項５】
原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、前記原稿画像のオブジェクトの色により影の写り込みの影響が少ない特異画素の領域を決定する決定手段と、
前記特異画素の画素値を、前記特異画素の周辺の画素の画素値にもとづいて算出した値に置き換えることにより、前記入力画像の影成分を示す画像を生成する生成手段とを有し、
前記生成手段は、前記輝度成分を示す画像において、前記特異画素の画素値を、前記特異画素の周辺の特定画素ではない画素の画素値にもとづいて算出した値に置き換える第１のステップと、画素値が置き換えられた特異画素について特異画素ではない画素とみなす第２のステップを有し、特異画素とみなされる画素がなくなるまで、前記第１のステップと前記第２のステップを繰り返すことを特徴とする情報処理装置。
【請求項６】
コンピュータに、請求項１から４のいずれか一項に記載の情報処理方法の各ステップを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された画像に写り込んだ影を除去するための技術に関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレットＰＣといった高度な情報処理機能を持つ携帯端末が普及してきている。これらの携帯端末は、カメラを備え、撮影機能を有している。このような携帯端末のカメラ機能を用いて紙媒体の原稿を撮影し、携帯端末のメモリ上に画像データとして保存することが行われるようになってきた。それに伴い、撮影した画像データをプリンタへ送信してプリントするといったように、原稿を複写するために携帯端末とプリンタを組み合わせて使用する機会が増えてきた。このように、ユーザがスキャナ機能とプリント機能を備えた複合機を持っていなくても、携帯端末とプリンタがあれば、原稿の複写ができるようになってきている。
【０００３】
携帯端末のカメラ機能を用いて原稿の撮影を行う場合、周囲の物体や撮影者の影が原稿に写り込み、影が写り込んだ原稿を撮影することで、撮影画像に影が写りこむことがある。写り込んだ影による撮影画像上の明るさのムラ全般のことを以降「影」と表記することとする。画像に影がある状態では、撮影された原稿の可読性は低く、プリントした際の画質も低下する。
【０００４】
カメラによって原稿を撮影した際の影を補正する技術として、特許文献１がある。特許文献１では、撮影した画像内の影成分を推定し、その推定した影成分情報にもとづき、撮影した画像から影成分を除去する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−９５００２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では、原稿において大きな面積を占めるオブジェクトがある場合に、推定した影成分にオブジェクトの影響が残るため、撮影画像における影の推定精度が低下する。具体的には、特許文献１の手法は、撮影画像を複数のブロックに分割し、分割されたブロックごとに色の代表値を求め、その結果から影を推定するものである。その際、周辺のブロックから差異がある影推定値については、周辺のブロックの影推定値を利用して置換する。この手法は、オブジェクトの大きさが１つのブロックを占める程度である場合に有効であるが、オブジェクトが複数のブロックを占める場合には、影の推定においてオブジェクトの影響を除去することができない。
【課題を解決するための手段】
【０００７】
本発明の情報処理方法は、原稿画像を撮影することで得られた入力画像の輝度成分を示す画像において、前記原稿画像のオブジェクトの色により影の写り込みの影響が少ない特異画素の領域を決定する決定ステップと、前記特異画素の画素値を、前記特異画素の周辺の画素の画素値にもとづいて算出した値に置き換えることにより、前記入力画像の影成分を示す画像を生成する生成ステップとを有し、前記生成ステップは、前記輝度成分を示す画像において、前記特異画素の画素値を、前記特異画素の周辺の特定画素ではない画素の画素値にもとづいて算出した値に置き換える置き換えステップと、画素値が置き換えられた特異画素について特異画素ではない画素とみなす無効化ステップを有し、特異画素とみなされる画素がなくなるまで、前記置き換えステップと前記無効化ステップを繰り返すことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、原稿において大きな面積を占めるオブジェクトがある場合であっても、撮影画像における影を精度よく推定することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態としてのシステム構成図
【図２】携帯端末１０１の外観の例
【図３】携帯端末１０１の構成図の例
【図４】プリンタ１０３の構成図の例
【図５】本発明における処理の例を示す図
【図６】実施例１の全体フローチャート
【図７】実施例１の縮小画像補正処理のフローチャート
【図８】補正率調整ＬＵＴの例
【図９】特異値画素の補正処理の例１
【図１０】特異値画素の補正処理の例２
【図１１】実施例２のフローチャート
【図１２】エッジ判定結果の例
【発明を実施するための形態】
【００１０】
〔実施例１〕
以下、本発明を実施するための形態について図面を用いて説明する。
【００１１】
図１に本実施例で利用するシステムの全体構成を示す。無線ルータ１０２、プリンタ１０３が、ＬＡＮ１１０に接続されている。携帯端末１０１は無線ルータ１０２およびＬＡＮ１１０を介して、プリンタ１０３に接続することができる。なお、本実施例では、情報処理装置として、携帯端末１０１を例に挙げて説明するが、情報処理装置は、ＰＣ（パーソナルコンピュータ）、プリンタ、複写機などでもよい。ただし、複写機では、カメラの代わりに、スキャナを用いて原稿をスキャンすることで画像を取得する。
【００１２】
＜携帯端末の構成＞
図２は、本実施例で利用する携帯端末１０１の外観を示す。携帯端末１０１は様々な種類が存在するが、図２（ａ）は、携帯端末１０１の表面である。表面には、タッチパネルディスプレイ２０１、操作ボタン２０２を持つ。タッチパネルディスプレイ２０１は、詳細には、操作に必要な情報やボタン、画像などを表示するための表示装置と、人体の指などで触れることにより位置入力をする装置とが組み合わされた装置である。図２（ｂ）は携帯端末１０１の裏面である。裏面には撮影部２０３が配置されている。なお、本実施例は撮影部２０３を含むカメラ機能を持つ端末装置ならば利用が可能である。すわなち、適用されるのはカメラ機能を持ったスマートフォンや携帯電話でも、通信機能を持ったデジタルカメラでも構わない。また、原稿を非接触に撮影可能な書画カメラにも適用可能である。
【００１３】
図３は、携帯端末１０１の内部の構成を示す図である。但し、この構成図は本実施例を実施するための構成の一例である。図３において、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３がデータバス３１１を介してプログラムやデータを送受信する。また、データバス３１１には、記憶部３０４、データ送受信部３０５、撮像部３０６、表示部３０７、操作部３０８、画像処理部３０９、モーションセンサ３１０が接続される。記憶部３０４、データ送受信部３０５、撮像部３０６、表示部３０７、操作部３０８、画像処理部３０９、モーションセンサ３１０は、ＣＰＵ３０１、ＲＡＭ３０２、ＲＯＭ３０３と併せて、互いにプログラムやデータの送受信を行っている。
【００１４】
記憶部３０４は、フラッシュメモリであり、画像データや各種プログラムを格納する。データ送受信部３０５は、無線ＬＡＮコントローラを有し、無線ルータ１０２を介して、プリンタ１０３とのデータの送受信を実現する。撮像部３０６は、前述のカメラ２０３であり、原稿の撮影を行って撮影画像を取得する。取得された撮影画像のデータは、記憶部３０４やＲＡＭ３０２を介して、画像処理部３０９やＣＰＵ３０１で処理される。処理された画像データは、ＣＰＵ３０１により、表示部３０７での表示、記憶部３０４への保存、データ送受信部３０５を介した外部への送信等の後処理が施される。
【００１５】
表示部３０７は、前述のタッチパネルディスプレイ２０１を構成するディスプレイであり、カメラ機能を用いて原稿を撮影する際のライブビューによる表示のほか、本実施例の画像処理結果の表示、処理過程の通知や操作に必要な情報などを表示する。操作部３０８は、前述のタッチパネルディスプレイ２０１を構成するタッチパネルや操作ボタン２０２であり、ユーザからの操作を受け付けて各部へ該操作の情報を送信する。モーションセンサ３１０は、３軸加速度センサ、電子コンパス、３軸角速度センサを搭載しており、公知の技術を利用することにより、携帯端末１０１の姿勢や移動を検知することが可能である。
【００１６】
なお、ＣＰＵ３０１がＲＯＭ３０３や記憶部３０４が保持するプログラムを実行することで、これらの携帯端末１０１内の構成要素の制御を行う。
【００１７】
＜プリンタの構成＞
図４は本実施例で用いるプリンタ１０３の構成を説明する図である。プリンタ１０３は、コントローラ部４００、操作部４０９、外部メモリ４１０、プリンタ部４１１からなる。コントローラ部４００は、ＣＰＵ４０５は制御プログラム等に基づいて、システムバス４０８に接続されるプリンタＩ／Ｆ部４０４を介し、プリンタ部４１１に画像信号を出力する。なお、制御プログラムはＲＯＭ４０７や外部メモリ４１０に記憶される。また、このＲＯＭ４０７は、ＣＰＵ４０５の制御プログラム等を記憶する。ＣＰＵ４０５は、ネットワークＩ／Ｆ部４０１およびＬＡＮ１１０を介して、携帯端末１０１との通信処理が可能となっている。これにより、プリンタ内の情報や、携帯端末１０１で撮影された画像データなどを携帯端末１０１と送受信可能に構成されている。ＲＡＭ４０６は、ＣＰＵ４０５の主メモリ、ワークエリア等として機能する。
【００１８】
携帯端末１０１から送信された処理済みの撮影画像データは、ネットワークＩ／Ｆ部４０１を介してコントローラ部４００へ送られる。続いてＰＤＬ（ページ記述言語）データ処理部４０２が、ＰＤＬ解釈、レンダリングを行って、画像処理部４０３がプリント出力用画像処理を行い、プリンタ部４１１が処理済み画像データをプリントする。
【００１９】
＜処理の流れの詳細説明＞
図６（ａ）、（ｂ）、（ｃ）は本実施例における入力画像を補正する処理を説明するフローチャートである。図６（ａ）、（ｂ）、（ｃ）の処理は、携帯端末１０１（情報処理装置）で実行される。図６（ａ）、（ｂ）、（ｃ）の処理を実行するプログラムをＲＯＭ３０３に格納しておき、ＣＰＵ３０１が前記格納されたプログラムをＲＡＭ３０２に読み出して実行することで、図６（ａ）、（ｂ）、（ｃ）のフローチャートが実行される。
【００２０】
図６（ａ）は入力画像の補正処理の全体の流れを表している。携帯端末１０１を用いて撮影部２０３を含むカメラ機能によって原稿を撮影した画像や、記憶部３０４に保存されている画像、または外部装置から受信した画像などを入力画像として取得すると処理が開始される。入力画像は原稿画像が含まれていることが前提となる。入力画像に原稿以外の背景領域が含まれている場合は、原稿領域を検出し、検出した原稿領域が矩形領域になるように射影変換を行ったものを入力画像とすればよい。図５（ａ）は、入力画像の例である。文字列の背景に影があることが分かる。
【００２１】
ステップＳ６１０で画像処理部３０９が入力画像を処理して、入力画像に写り込んでいる撮影環境における影の成分を推定する。この影推定処理の詳細は図６（ｂ）および図７のフローチャートにより後述する。図５（ｂ）は、入力画像図５（ａ）から推定された影の成分の例である。文字領域以外の影成分だけが推定されていることが分かる。
【００２２】
次に推定された影成分情報を利用して、ステップＳ６２０で画像処理部３０９が入力画像から影成分を除去する処理を実施する。この影除去処理の詳細は図６（ｃ）のフローチャートにより後述する。図５（ｃ）は、入力画像図５（ａ）から推定された影成分情報（図５（ｂ））を利用して、影成分を除去した例である。正確に影成分が推定されているので、影が問題なく除去されていることが分かる。
【００２３】
図６（ｂ）は影推定処理を説明するフローチャートである。
【００２４】
まず、ステップＳ６１１で画像処理部３０９が入力画像を複数のブロックに分割する。その際、１ブロックの形状や１ブロックに含まれる入力画素数に制限は無いが、例えば１ブロックは縦横同数の入力画素を含む正方形とし、縦横の分割数をそれぞれ８から６４程度となるよう決定する。分割数は固定でも、入力画像の条件に従って可変としてもよい。
【００２５】
次にステップＳ６１２で画像処理部３０９が、分割後の各ブロックの代表画素値を算出する。代表画素値はＲＧＢ信号（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅの３チャンネルで表される画像データ）の画素値となる。代表画素値は、ブロックに含まれる複数の入力画素のうち輝度値の高い画素を選択し、それらを利用して決定する。ここでの輝度値は、例えば、ＲＧＢ色空間をＹＣｂＣｒ色空間に変換した際のＹ信号である。輝度値としては、Ｌ＊ａ＊ｂ＊色空間のＬ信号やＹＵＶ色空間のＹ信号を利用してもよい。ここで、原稿の余白領域である、原稿の中で白紙の下地がそのまま残っている領域のことを紙白領域と呼称することとする。代表画素値は、ブロック内に紙白領域が含まれている場合には、影成分の推定値となる。紙白領域は白（８ｂｉｔ信号であればＲ＝２５５、Ｇ＝２５５、Ｂ＝２５５）であることが理想的な領域である。カメラで原稿を撮影した入力画像は、その紙白領域に影成分が載ることにより白では無くなっている。つまり、紙白領域の画素値は影成分と考えられる。紙白以外の領域は影が載ることにより、紙白領域よりも暗くなっている。よって、紙白領域がブロック内にある場合は、ブロック内の比較的輝度値の高い領域が紙白領域と推定され、その領域から代表画素値を算出することは、そのブロックの影成分を推定していることになる。ブロック内に、紙白領域がない場合には、代表画素値は最も明るいオブジェクト領域に影が載った際の画素値となる。
【００２６】
各ブロックの代表画素値の算出方法としては、例えば、入力画素各々の輝度値を算出し、ブロック内での最大輝度値をもつ画素の値を代表画素値とする方法がある。また、ブロック内で輝度値の高いほうから既定数画素を選択しそれらの画素値の平均値を算出して代表画素値とする方法などがある。また、ブロック内最大輝度値から既定範囲内の輝度値を持つ画素のみを選択する、または、輝度値ヒストグラムを利用して画素を選択することにより、それらの画素値の平均値を算出し代表画素値とする方法もある。ブロック内の影成分の推定方法としては、計算量が多くなるが、ブロック内のＲＧＢ信号をクラスタリングして、各々のクラスタ代表値を算出して、もっとも輝度値の高いクラスタ代表値を代表画素値とする方法も考えられる。
【００２７】
このようにして全ブロックの代表画素値を求めた結果を受けて、ステップＳ６１３で、画像処理部３０９が各ブロックの代表画素値のみで構成されるＲＧＢ画像を生成する。各ブロックの代表画素値のみで構成される画像は、入力画像を前述の分割数で規定される画素数を持つ画像に縮小したものであり、この後続く影推定処理の起点画像となる。次にステップＳ７００で画像処理部３０９が、前記起点画像である縮小画像から影成分のみを残すための補正処理を実施する。この縮小画像補正処理の詳細は図７を用いて後述する。次に、ステップＳ６１４で画像処理部３０９が補正処理済みの縮小画像を拡大することで入力画像と同一サイズの影マップを生成し、影推定処理が終了する。
【００２８】
図６（ｃ）は前記影マップを利用して入力画像から影を除去する処理を説明するフローチャートである。
【００２９】
ステップＳ６２１で画像処理部３０９が入力画像の明るさ成分として代表輝度値を算出する。代表輝度値の決定方法は、前記縮小画像の各画素から算出した輝度値の平均値または中央値とする。なお、代表輝度値は、画像の下地の推定値であるため、入力画像よりもオブジェクトの影響が少ない縮小画像から算出するほうが高精度に求めることができ、演算量も少なくて済む。
【００３０】
ステップＳ６２２で画像処理部３０９が、記憶部３０４に保持しているテーブルを参照し、前記代表輝度値に対応する補正率Ａを決定する。この補正率Ａは画像全体に一律に適用される数値である。代表輝度値が暗い場合は、原稿のオブジェクトや下地の影響で、影成分以上に暗く、原稿の紙白領域が存在しない、または、少ないことが想定さる。そのような場合には、下地や原稿のオブジェクトの画素値が影成分の推定値として利用されてしまい、影成分の推定精度が低下し、影成分（影マップ）が暗く推定される。そのような場合に、補正をそのまま行うと、過補正になってしまうため、代表輝度値が暗い場合には補正率を下げる。こうすることにより、過補正を防ぐことが可能となる。
【００３１】
図８（ａ）は、ステップＳ６２２で参照されるテーブルを、グラフに表した例を示す。グラフ縦軸の補正率は、影除去処理における推定影成分の適用率を示しており、例えば入力画像の代表輝度値が３２すなわち非常に暗い入力画像であった場合には補正率０％であるので、前記影マップの状態によらず補正（影除去）は一切行わないことを表している。このように、代表輝度値が非常に暗い場合は、推定した影成分（影マップ）が暗い下地の影成分も含んでいる可能性が高く、影除去補正を行わないことにより、暗い下地が白になるような補正がかかることを防ぐことができる。
【００３２】
次に、ステップＳ６２３で、画像処理部３０９が入力画像に含まれる注目画素の値と前記注目画素と同一座標にある前記影マップの画素の値との差分を、入力画像の各画素に対して算出する。本実施例では、差分算出時の入力画像と影マップの形式としてＲＧＢ画像を想定しているため、Ｒ、Ｇ、Ｂチャンネルごとの差分を求める。例えば、入力画像のある座標（注目画素）の画素値が（Ｒｉｎ（赤成分）、Ｇｉｎ（緑成分）、Ｂｉｎ（青成分））、前記座標と同一の座標にある影マップの画素値が（Ｒｍａｐ（赤成分）、Ｇｍａｐ（緑成分）、Ｂｍａｐ（青成分））であるとする。求められる差分は｜Ｒｉｎ−Ｒｍａｐ｜、｜Ｇｉｎ−Ｇｍａｐ｜、｜Ｂｉｎ−Ｂｍａｐ｜である。ここで｜＊｜は絶対値を表す。使用する差分値は１つであるため、例えば、ここでは、Ｒ、Ｇ、Ｂの差分値のうち最大値を選択し、選択された差分値を、この画素の差分値とする。差分値の求め方としては、計算量が多くなるが、入力画像と影マップのＲＧＢ値をＬ＊ａ＊ｂ＊に変換して、各画素において色差ΔＥを求めても良い。
【００３３】
次にステップＳ６２４で、画像処理部３０９が記憶部３０４に保持しているテーブルを参照し、差分値に対応する補正率Ｂをこの画素における補正率Ｂと決定する。この補正率Ｂは、画素毎に求められた差分値に応じて、画素毎にそれぞれ適用される数値である。図８（ｂ）にここで参照されるテーブルをグラフに表した例を示す。図８（ａ）同様、グラフ縦軸の補正率は影除去処理における推定影成分の適用率を示している。例えばある画素における入力画像と影マップの差分値が１２８である場合には補正率８０％である。入力画像と影マップの差分値が１２８の場合、入力画像の画素値が、推定された影の画素値と大きく異なるため、原稿上の何らかのオブジェクト上の画素であると推測される。そのため推定された影成分をそのまま補正するとオブジェクトの色が損なわれる可能性が高い。よって、影成分の補正率を８０％にしている。同様に、例えば、入力画像における画素と影マップにおける対応する画素との差分値が０である場合、補正率は１００％にしている。この場合、入力画像の画素値と対応する推定された影の画素値の差分が無い、すなわち原稿上の紙白部分の画素であると推測されるため、影成分の補正率を１００％にしている。
なお、図８（ｂ）は、入力画像の画素値と対応する影マップの画素値の差分値が大きいほど、補正率は小さくなっている関係を示しているが、差分値が大きくなるほど、線形に補正率が小さくなる関係を示す直線でもよい。
【００３４】
ステップＳ６２５で画像処理部３０９は入力画像、影マップ、補正率Ａ、補正率Ｂを使って、入力画像の各画素の影成分を除去する（白にする）補正を行う。影成分を除去する補正は、入力画像の各画素の補正率と、影マップの画素値を用いて、入力画像の画素値を補正する。入力画像に含まれる画素ｋにおける補正率を考慮した影マップの画素値は、１つのチャンネルにつき８ｂｉｔの画像データに対して算出する場合、下記の式（１）と式（２）で表される。
【００３５】
【数１】
0006624827.tif 000002
これを利用してある画素ｋの画素値は下式のように変換される。
【００３６】
【数２】
0006624827.tif 000003
上記式の処理により、Ｒ’ｍａｐ（ｋ）、Ｇ’ｍａｐ（ｋ）、Ｂ’ｍａｐ（ｋ）より明るい画素値が２５５になるため、入力画像の各画素に対して上記の処理を行うと影除去済みの画像が出力される。
【００３７】
図７は縮小画像補正処理（Ｓ７００）の詳細を説明するフローチャートである。
【００３８】
ステップＳ７０１では画像処理部３０９が、縮小画像の画素の中で、第１の色範囲に入る画素値を持つ画素の有無を判断する。第１の色範囲とは、白紙を様々な条件下で撮影した場合に得られる画素値として想定される色の範囲である。つまり、紙白部分と想定される色の範囲である。その色範囲の設定方法として例えば、ＹＣｂＣｒ色空間を利用する場合は無彩色を表す（Ｃｂ，Ｃｒ）＝（０，０）からある閾値で定義される一定の距離以内を第１の色範囲とする。ステップＳ７０１での判断では第１の色範囲に入る画素（無彩色から閾値距離以内にあるＣｂ、Ｃｒ値を持つ画素）が１つでもあればＹｅｓ、無い場合にはＮｏと判断する。
【００３９】
ステップＳ７０２では画像処理部３０９が縮小画像から色成分代表値を算出する。色成分代表値とは、白紙を撮影した場合に得られる色成分値を入力画像から推定した値を意味
する。この値は、影の色成分であり、この後の影除去処理により白に変換されるべき色である。上記第１の色範囲内の画素値を利用して算出するが、ここでは第１の色範囲内の色成分値の平均を色成分代表値として定義する。
【００４０】
続いてステップＳ７０４では、ステップＳ７０２で算出された色成分代表値を基準に、縮小画像の画素値が、第１の閾値以上離れた色成分値を持つ画素の割合を算出する。ここでは入力画像中の紙白領域ではない領域の割合を求めていることになる。色成分の距離はＣｂ、Ｃｒ空間における距離を用いればよい。
【００４１】
ステップＳ７０５で、ステップＳ７０４で算出された割合が第２の閾値以上であるか否かを画像処理部３０９が判定する。判定の結果Ｎｏである、すなわち入力画像中の紙白領域が一定割合を超えている場合には、白紙をベースとする原稿が撮影されて得られた画像が入力画像であると推測できるため、画像処理部３０９は入力画像の基本色を白と決定する（Ｓ７０６）。判定の結果Ｙｅｓである、入力画像中の紙白領域が一定以上の場合には、撮影された原稿が色紙や有彩色のオブジェクトが広範囲に存在するなど、白紙がベースの原稿ではないと推測できるため、画像処理部３０９が基本色は白ではないと決定する（Ｓ７０７）。
【００４２】
ここで一旦ステップＳ７０１の判断がＮｏの場合に戻る。ステップＳ７０３では画像処理部３０９が色成分代表値を無彩色（（Ｃｂ，Ｃｒ）＝（０，０））と定義する。これは、白紙を撮影した場合に得られる色成分値を入力画像から推定することができないため、影除去処理による色成分の変換は行わないためである。また、このとき入力画像に紙白領域はないため、ステップＳ７０７で画像処理部３０９が基本色は白ではないと決定する。
【００４３】
次に、ステップＳ７０８では、画像処理部３０９が縮小画像の全画素について色成分値を参照し、ステップＳ７０２で算出した色成分代表値から所定の閾値（第３の閾値）よりも大きい色成分値をもつ画素を、特異画素と判定する。特異画素とは縮小画像内で紙白領域以外を表す画素のことであり、この後、周囲の紙白領域と推定される画素を利用して値が置換されるべき画素である。ここでは、色成分値が代表値から大きく離れている、すなわち白紙とは明らかに色が異なる領域が、特異画素として特定されることを意味する。
【００４４】
ステップＳ７０９では、この時点での縮小画像の平均輝度値を画像処理部３０９が算出する。
【００４５】
ステップＳ７１０で、画像処理部３０９が縮小画像の全画素について輝度成分値を参照し、ステップＳ７０９で算出された平均輝度値から、第４の閾値以上に輝度値が離れた画素について、エッジを構成する画素であるか否かを判断する。エッジを構成する画素であるか否かの判断方法は、公知のいかなるエッジ判定手法を適用しても良い。ただし、ここでのエッジ画素は周囲の画素より暗いためにエッジと判定（暗エッジ判定）される画素（暗エッジ）である。周囲より明るいためにエッジ画素判定（明エッジ判定）される画素（明エッジ）については無視をする。これは紙白領域である可能性が低い領域は紙白領域よりも暗いことが想定されるからである。平均輝度値から第４の閾値以上離れた輝度値でありかつ暗エッジ画素であると判断された画素は特異画素と判定される。ステップＳ７１０における特異画素は、平均輝度と差異があり、周囲の画素と輝度値が異なるエッジ画素であり、紙白領域である可能性が低い画素である。これは、紙白領域は平均輝度との差分が小さい可能性が高く、影成分しか存在しないため急激な輝度変化がない可能性が高い領域であるためである。なお、第４の閾値を０として、エッジだけに基づいて、特異画素を判定するようにしてもよい。
【００４６】
ステップＳ７１１で、画像処理部３０９がステップＳ７０８およびステップＳ７１０で特異画素と判定された画素があるか否かを判断し、Ｙｅｓすなわち特異画素が存在する場合にはステップＳ７１２に進む。
【００４７】
ステップＳ７１２では、画像処理部３０９が特異画素の輝度値を周辺画素から求めた輝度値に置換する処理を行う。この処理は、紙白領域ではないと判定された特異画素を、紙白領域と推測される周辺画素から算出した輝度値で置換することを意味している。実際の処理として、隣接する複数の画素のうち、処理対象画素よりも所定以上輝度が明るくかつ特異画素では無い画素を選択し、それらの画素群の輝度値の平均値を算出して、処理対象画素の輝度値として決定する方法などが適用される。選択される隣接画素が存在しない場合には未置換の特異画素が残るため、この処理を未置換の特異画素が無くなるまで繰り返す（ステップＳ７１３）。なお、条件によっては特異画素が無くならない場合があるため、そのような場合は一定回数ループしたら、隣接する画素すべての輝度値の平均値を処理対象画素の輝度値にするなど特異画素が無くなるように置換条件を変更すればよい。
【００４８】
ここまでの処理で、色が白紙とは明らかに異なる領域と、エッジ領域の画素の輝度値の置換が完了するが、比較的大きな面積を占めるオブジェクトが含まれていた場合には、その外周のみが置換されて内部が残されているためステップＳ７０９に戻る。ステップＳ７０９、Ｓ７１０では再度エッジ部の特異画素判定を行い、ステップＳ７１２でその特異画素の輝度値の置換処理が行われる。これを繰り返すことで、オブジェクトの領域に相当する画素が、周囲の紙白領域の情報で置換される。ステップＳ７１０における特異画素判定は、置換すべき特異画素が無くなるとステップＳ７１１でＮｏと判断され、ステップＳ７１４へと進む。なお特異画素が一定数を下回った場合に、ステップＳ７１１でＮｏと判断するようにしてもよい。
【００４９】
また、既に特異画素判定がされた画素領域のうち紙白領域の可能性が高い領域については、ステップＳ７１０における特異値画素判定の対象外とすることにより、処理の高速化を図ってもよい。紙白領域の可能性が高い領域というのは、置換した結果の輝度値が平均輝度値から一定の範囲内になったような正しい置換が行われた可能性が高い領域である。この処理には、処理の高速化だけではなく、ノイズ画素の影響による影推定の誤差が、繰り返し処理のために広範囲に広がるのを防ぐ効果もある。
【００５０】
この処理フローの例を図９に示す。図９（ａ）はステップＳ７０９への最初に入力される画像である。矩形のオブジェクト領域があり、この領域では画素値が正しい影成分の推定値となっていない。色がついていない部分は紙白領域であり、正しい影成分が推定されている。ステップＳ７０９およびステップＳ７１０で特異値判定された結果が、図９（ｂ）である。斜線部が特異画素と判定された部分であり、矩形領域のエッジ部分が特異画素として判定されている。ステップＳ７１２において、この特異画素を周囲の紙白領域の画素で置換した結果が図９（ｃ）である。矩形のオブジェクト領域は残っているものの、矩形領域の大きさが減少していることが分かる。図９（ｃ）は、ステップＳ７０９への２回目の入力となる。２回目のステップＳ７０９およびステップＳ７１０で特異値判定された結果が、図９（ｄ）である。続いて、２回目のステップＳ７１２において、この特異画素を周囲の紙白領域の画素で置換した結果が図９（ｅ）である。さらに、矩形領域が減少していることが分かる。図９（ｅ）は、ステップＳ７０９への３回目の入力となる。３回目のステップＳ７０９およびステップＳ７１０で特異値判定された結果が、図９（ｆ）である。続いて、３回目のステップＳ７１２において、この特異画素を周囲の紙白領域の画素で置換した結果が図９（ｇ）である。矩形領域が消滅していることが分かる。図９（ｇ）はステップＳ７０９への４回目の入力となるがステップＳ７０９およびステップＳ７１０で特異値判定がされず、ステップＳ７１１で特異画素数が０と判定され、ステップＳ７１４へ分岐し、繰り返し処理が終了する。このような繰り返し処理により、大きなオブジェクト領域があっても、問題なく周囲の画素で置換が可能であることが分かる。
【００５１】
ステップＳ７１４では画像処理部３０９が、基本色情報に基づいて輝度成分のゲイン調整値を決定する。例えば、基本色が白である場合、紙白領域が多いため、影推定を入力画像に基づいて高精度で行うことができる。ただし、推定した影成分はブロックごとの代表値であるため、ブロック内には、より暗い影がある可能性もある。そのため、影の輝度成分分布に従った影除去を強めに（より明るくするように）実施するためのゲイン調整値に決定する。基本色が白でない場合には、紙白領域が存在しない、もしくは少ないために、影推定精度が低く、推定した影成分に下地やオブジェクト色が含まれている可能性が高い。そのために、推定された影成分をそのまま除去してしまうと過補正になってしまう。そこで、影の輝度成分分布に従った影除去を弱めに実施して過度の変換を防止するためのゲイン調整値に決定する。ステップＳ７１５で画像処理部３０９が、縮小画像に含まれるすべての画素について、ステップＳ７１４で決定されたゲイン調整値を輝度値に乗算することにより、全画素の輝度成分値を変換する。
【００５２】
次にステップＳ７１６で画像処理部３０９が全画素の色成分値を一律にステップＳ７０２またはステップＳ７０３で決定された色成分代表値に置換する。
【００５３】
以上の処理により、縮小画像からオブジェクトの要素を除去して、影成分の分布に変換された画像が生成される。なお、最終的に生成される画像は、ＲＧＢ画像となる。途中の処理において輝度成分や色成分の修正・置換があるため、図７のフロー処理を行う際には、一旦、ＹＣｂＣｒ画像に変換して、そのＹＣｂＣｒ画像に対して処理を行って、最後にＲＧＢ画像に変換してもよい。または、各ステップで画素単位にＲＧＢ値からＹＣｂＣｒ値を計算し、ＹＣｂＣｒ値が修正された場合には、その値をＲＧＢ値に戻すようにしてもよい。
【００５４】
実施例１によれば、影成分の推定を精度よく行い、その推定した情報を利用することにより影を除去することが可能となる。特に、オブジェクトの存在が推定されるエッジとなっている特異画素を、周囲の特異画素より明るい影推定値の信頼性が高い画素から算出した値で置換した後、再度特異画素判定し、その画素を置換することを繰り返す。これにより、大きなオブジェクトがあった場合でも、影を精度よく推定することが可能となる。
【００５５】
〔実施例２〕
実施例１においては、特異画素判定を特異画素判定される画素が無くなるまで繰り返していた。しかしながら、入力画像の中に撮影時の照り返しがあった場合や、色紙の中に付箋を貼っていて色紙よりも明るい領域があるなど原稿の大部分の領域よりも明るい小領域がある場合がある。この場合、特異画素の置換処理が逆に影成分の推定精度を落とすことになってしまう。
【００５６】
入力画像の中に撮影時の照り返しがある場合は、その部分だけ白飛びをしているため、代表画素値で構成される縮小画像における白飛び領域は隣接する画素よりも明るい画素になる。そのため、隣接する画素が紙白領域であったとしてもエッジ領域となり、特異画素となってしまうことがある。紙白領域であるので、その隣接画素の値は正しい影成分の推定値であるのに、白飛びした領域の明るい画素値で置換してしまうことになるため、影成分の推定精度を落とすことになる。
【００５７】
原稿の大部分の領域よりも明るい小領域がある場合については、代表画素値で構成される縮小画像において、小領域周囲の画素は小領域の画素値で置き換えられていくことになる。小領域が紙白領域であったとしても、小領域の情報だけで、繰り返し処理により、周囲の色紙などの領域を大量に置換していくと、置換の元となる情報は小領域の画素値の情報だけであり、情報量が少ないため、影成分の推定精度は落ちてしまう。
【００５８】
これらの場合は、代表画素値で構成される縮小画像の輝度値は、図１０（ａ）のような状況となっている場合が多い。つまり、明るい領域の周囲が暗い領域で囲まれている状況である。このような場合は、明るい領域の周囲の画素が特異画素判定され、明るい領域から算出された輝度値に置き換えられていく。それを表現しているのは図１０（ｂ）（ｃ）（ｄ）である。つまり、周囲の画素が特異画素判定され、その画素が明るい領域の輝度値から算出された値に置換され、さらに、その周囲が特異画素判定されるということが繰り返されていく。このような場合には、特異画素判定される画素が増えていく。例えば、図１０（ｂ）では特異画素が１８画素であったが、図１０（ｄ）では特定画素が２６画素になる。これは、明るい領域が暗い領域に囲まれているから生じる問題である。通常は、暗い領域が明るい領域に囲まれており、このような問題は生じない。本実施例において、このような場合に、特異画素判定の繰り返し処理を中止し、中止することによって、逆に影推定の推定精度を向上させる。
【００５９】
図１１は本実施例における縮小画像補正処理（Ｓ７００）の詳細を説明するフローチャートである。図７のフローチャートと異なる部分は、ステップＳ１１０１〜Ｓ１１０４のみであるため、その部分だけを説明する。
【００６０】
ステップＳ１１０１において、画像処理部３０９は、直前特異画素数を縮小画像全体の画素数とする。これは後段の処理で利用する変数の初期化処理となる。
【００６１】
ステップＳ１１０２において、画像処理部３０９は、ステップＳ７１０とエッジ判定手法を除き、同等の処理を行う。エッジ判定処理における差異としては、エッジ判定された際の幾何的な状況を考慮する点である。暗エッジ判定された画素について、隣接画素に類似した画素値の領域が多い場合には、暗エッジ判定を無効にする。隣接画素に類似した画素値の領域が多い場合は、前述したような明るい領域が暗い領域に囲まれている状況である可能性が高いためである。
【００６２】
図１２に、その例を示す。中央の画素が暗エッジ判定された画素であり、エッジ判定は隣接画素のそれぞれと差分を取り、所定の閾値以上暗かった場合に暗エッジ判定される。隣接画素の複数画素から暗エッジ判定される場合もあり、例えば図１２（ａ）は隣接画素すべてから暗エッジ判定された場合である。このような場合は、暗エッジは明るい画素に囲まれて孤立した状態である。図１２（ｂ）は５画素、図１２（ｃ）は３画素から暗エッジ判定された場合である。これらの場合は、暗エッジは明るい画素に囲まれているわけではないが、明るい領域を暗い領域が囲んでいるわけでもない。図１２（ｄ）は２画素、図１２（ｅ）は１画素から暗エッジ判定された場合である。これらの場合は、明るい領域を暗エッジ判定された画素に類似した暗い領域が囲んでいる状況であり、このような場合には、暗エッジ判定を無効にし、特異画素判定がされないようにする。こうすることにより、特異画素の置換処理により、逆に影成分の推定精度を落としてしまうことを防ぐことが可能となる。
【００６３】
ステップＳ１１０３では、画像処理部３０９が、ステップＳ７０８およびステップＳ１１０２で特異画素と判定された画素があり、さらに、その特異画素数が直前特異画素数より小さいか否かを判断し、Ｙｅｓの場合には、ステップＳ１１０４に進む。Ｎｏの場合は、特異画素の置換処理を終了、もしくは中止して、Ｓ７１４に進む。ステップＳ１１０３はステップＳ７１２に、特異画素数が直前特異画素数より小さいか否かの判断が加わっている。これは、前述したように、図１０のような明るい画素が暗い画素に囲まれている状況の場合には、特異画素数が増えていく。そのよう場合に、特異画素の置換処理を中止することにより、不適切な置換処理により、影成分の推定精度を落としてしまうことを防ぐことが可能となる。
【００６４】
ステップＳ１１０４では、画像処理部３０９は次回以降のＳ１１０３の判定のために、最新の特異画素数を直前特異画素数とする。
【００６５】
実施例２によれば、原稿の大部分の領域よりも明るい小領域がある場合に、特異画素の置換処理が逆に影成分の推定精度を落とすことを防ぎ、影成分の推定精度を向上させることが可能となる。その推定した情報を利用することにより影を精度よく除去することも可能となる。
【００６６】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0006624827.tif 000004
【図２】
0006624827.tif 000005
【図３】
0006624827.tif 000006
【図４】
0006624827.tif 000007
【図５】
0006624827.tif 000008
【図６】
0006624827.tif 000009
【図７】
0006624827.tif 000010
【図８】
0006624827.tif 000011
【図９】
0006624827.tif 000012
【図１０】
0006624827.tif 000013
【図１１】
0006624827.tif 000014
【図１２】
0006624827.tif 000015