(57)【要約】【課題】文字の視認性を保って画像圧縮する。【解決手段】ブロック抽出手段１ｂは、入力画像Ｐ１から文字を含むブロックを抽出する。階調変換手段１ｃは、入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とを設定する。そして、階調変換手段１ｃは、入力画像に含まれる各画素の階調値のうち、第１の階調値よりも小さい階調値を、階調変換後の最小階調値に変換し、第２の階調値よりも大きい階調値を、階調変換後の最大階調値に変換する。更に、第１の階調値以上で第２の階調値以下の範囲に含まれる階調値をこの範囲の階調数が現階調数よりも少なくなるように変換し、階調変換画像を生成する。解像度変換手段１ｄは、ブロック抽出手段１ｂが抽出したブロックの縦方向および横方向の画素数が所定の画素数以下とならない範囲で、階調変換画像の解像度を低解像度に変換する。【選択図】図１
2010057080.tif 000002
【特許請求の範囲】
【請求項１】
入力画像のデータ量を圧縮する画像処理装置において、
前記入力画像から１つ以上の文字の全体または一部を含む領域であるブロックを抽出するブロック抽出手段と、
前記入力画像の階調数を削減した階調変換画像を生成する階調変換手段であって、前記入力画像のデータを基に、当該入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とを設定し、前記入力画像に含まれる各画素の階調値のうち、前記第１の階調値よりも小さい階調値を、階調変換画像における最小階調値に変換し、前記第２の階調値よりも大きい階調値を、階調変換画像における最大階調値に変換し、前記第１の階調値以上で前記第２の階調値以下の範囲に含まれる階調値を当該範囲の階調数が現階調数よりも少なくなるように変換して、前記階調変換画像を生成する階調変換手段と、
前記ブロック抽出手段が抽出した前記ブロックの縦方向および横方向の画素数が所定の最小画素数より少なくならない範囲で、前記階調変換画像の解像度を低解像度に変換する解像度変換手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記階調変換手段は、前記ブロック抽出手段が抽出した前記ブロック単位で各ブロックに現れる階調値の頻度を示すヒストグラムを生成し、前記ヒストグラムに現れるピークに基づいて、前記第１の階調値および前記第２の階調値を前記ブロック単位で決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記階調変換手段は、前記各ブロックについての前記ヒストグラムにおいて、階調値の小さい方から最初に現れる第１のピークに対応する階調値が所定の第１の限界階調値以下である場合、前記第１のピークに対応する階調値を前記第１の階調値に決定し、前記第１のピークに対応する階調値が前記第１の限界階調値よりも大きい場合、前記第１の限界階調値を前記第１の階調値に決定することを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記階調変換手段は、前記各ブロックについての前記ヒストグラムにおいて、前記第１のピークに対応する階調値よりも大きい階調値に現れる第２のピークに対応する階調値が前記第１の限界階調値よりも大きい所定の第２の限界階調値以上である場合、前記第２のピークに基づいて前記第２の階調値を決定し、前記第２のピークに対応する階調値が前記第２の限界階調値よりも小さい場合、前記第２の限界階調値以上の所定の階調値を前記第２の階調値に決定することを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記階調変換手段は、前記階調変換画像における前記ブロック以外の領域に含まれる各画素の階調値については、前記各ブロックについての前記ヒストグラムにおいて、前記第１のピークに対応する階調値のうち最も小さな階調値を前記第１の階調値に決定し、前記第２のピークに対応する階調値のうち最も大きな階調値に対応する前記第２のピークに基づいて前記第２の階調値を決定し、前記第１の階調値よりも小さい階調値を前記最小階調値に変換し、前記第２の階調値よりも大きい階調値を前記最大階調値に変換し、前記第１の階調値以上で前記第２の階調値以下の範囲に含まれる階調値を当該範囲の階調数が現階調数よりも少なくなるように変換することを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記階調変換手段は、前記階調変換画像における前記ブロック以外の領域に含まれる各画素の階調値については、前記第１の階調値および前記第２の階調値として予め決められた値を適用して、前記第１の階調値よりも小さい階調値を前記最小階調値に変換し、前記第２の階調値よりも大きい階調値を前記最大階調値に変換し、前記第１の階調値以上で前記第２の階調値以下の範囲に含まれる階調値を当該範囲の階調数が現階調数よりも少なくなるように変換することを特徴とする請求項２〜４記載の画像処理装置。
【請求項７】
前記階調変換手段は、前記入力画像単位で前記入力画像に現れる階調値の頻度を示すヒストグラムを生成し、前記ヒストグラムに現れるピークに基づいて、前記第１の階調値および前記第２の階調値を決定することを特徴とする請求項１記載の画像処理装置。
【請求項８】
前記階調変換手段は、前記入力画像についての前記ヒストグラムにおいて、階調値の小さい方から最初に現れる低域側ピークに対応する階調値を前記第１の階調値に決定することを特徴とする請求項７記載の画像処理装置。
【請求項９】
前記階調変換手段は、前記入力画像についての前記ヒストグラムにおいて、前記第１のピークに対応する階調値よりも大きい階調値に現れる高域側ピークに基づいて、前記第２の階調値を決定することを特徴とする請求項８記載の画像処理装置。
【請求項１０】
前記ブロック抽出手段は、所定の階調値以下を有する画素が縦方向および横方向に連続した領域を前記ブロックとして抽出することを特徴とする請求項１〜９記載の画像処理装置。
【請求項１１】
前記解像度変換手段が前記階調変換画像の解像度変換により生成した解像度変換画像に所定の圧縮符号化処理を施して圧縮画像データを生成する圧縮符号化手段を更に有し、
前記解像度変換手段は、前記圧縮符号化手段が生成した前記圧縮画像データが所定のデータ量よりも小さい場合には、前記変換後解像度を向上させて前記階調変換画像の前記解像度変換および前記圧縮符号化処理を再実行する、
ことを特徴とする請求項１０記載の画像処理装置。
【請求項１２】
入力画像のデータ量を圧縮する画像処理装置の画像処理方法において、
ブロック抽出手段が、前記入力画像から１つ以上の文字の全体または一部を含む領域であるブロックを抽出し、
階調変換手段が、前記入力画像のデータを基に、当該入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とを設定し、前記入力画像に含まれる各画素の階調値のうち、前記第１の階調値よりも小さい階調値を階調数削減後の最小階調値に変換し、前記第２の階調値よりも大きい階調値を階調数削減後の最大階調値に変換し、前記第１の階調値以上で前記第２の階調値以下の範囲に含まれる階調値を当該範囲の階調数が現階調数よりも少なくなるように変換して前記階調変換画像を生成し、
解像度変換手段が、前記ブロック抽出手段が抽出した前記ブロックの縦方向および横方向の画素数が所定の最小画素数より少なくならない範囲で、前記階調変換画像の解像度を低解像度に変換する、
ことを特徴とする画像処理方法。
【請求項１３】
入力画像のデータ量を圧縮する画像処理プログラムにおいて、
コンピュータを、
前記入力画像から１つ以上の文字の全体または一部を含む領域であるブロックを抽出するブロック抽出手段、
前記入力画像の階調数を削減した階調変換画像を生成する階調変換手段であって、前記入力画像のデータを基に、当該入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とを設定し、前記入力画像に含まれる各画素の階調値のうち、前記第１の階調値よりも小さい階調値を、階調変換画像における最小階調値に変換し、前記第２の階調値よりも大きい階調値を、階調変換画像における最大階調値に変換し、前記第１の階調値以上で前記第２の階調値以下の範囲に含まれる階調値を当該範囲の階調数が現階調数よりも少なくなるように変換して、前記階調変換画像を生成する階調変換手段、
前記ブロック抽出手段が抽出した前記ブロックの縦方向および横方向の画素数が所定の最小画素数より少なくならない範囲で、前記階調変換画像の解像度を低解像度に変換する解像度変換手段、
として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特に、画像圧縮処理を行う画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、撮像装置や画像取込装置等を用いて作成した大きなデータサイズの画像を小さなデータサイズの画像に変換（圧縮）する画像圧縮技術が利用されている。画像圧縮技術を利用することで、画像の保存領域の節約やデータ伝送における送信遅延の低減等を図ることができる。
【０００３】
ところで、画像取込装置で読み取る原稿や帳票等の紙面には、下地が含まれるものも存在する。例えば、紙媒体で発行される各種帳票や公的な証明書等には、不正な複製・改ざん防止のために地紋が含まれるものがある。地紋は通常、利用者によって記入される、あるいは印刷されている文字よりも薄い色によって描かれている。
【０００４】
ここで、下地を含む帳票を読み取って画像化すると、下地に重なる文字や図柄が元の紙面よりも見難くなる場合がある。特に、公的な証明書等では、画像として保存する場合、所定の視認性（画像に含まれる文字等の見易さ）が保持されることとする旨の規定が設けられているものもある。
【０００５】
このような課題に対し、地紋を含む画像に関して、その不正防止の効果を保持しつつ文字等の視認性を向上する方法が知られている（例えば、特許文献１参照）。
また、地紋を含む画像の圧縮を行う際に、不正防止の効果を保持しつつ画像圧縮を行う方法も知られている（例えば、特許文献２参照）。
【特許文献１】特開２００６−３１９４２２号公報
【特許文献２】特開２００７−０７４３６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１に記載の方法では、取込画像の視認性は向上するが圧縮は行われないため、画像のデータサイズが大きいという問題がある。
一方、上記特許文献２に記載の方法では、圧縮は行われるが視認性が保証されないという問題がある。例えば、高い圧縮率を実現する圧縮方法としてＪＰＥＧ（Joint Photographic Experts Group）圧縮が知られているが、ＪＰＥＧ圧縮では圧縮率を高めると文字や図柄にブロックノイズが生じて見難くなってしまう。また、他の圧縮方法として、画像の色を白黒に限定（２値化）する方法が考えられる。２値化は、圧縮率は非常に高いが下地と重なる文字や図柄が一体となってしまい見難くなってしまう。
【０００７】
すなわち、文字を含む画像の圧縮では、文字の視認性と画像圧縮率の両立が望まれる。
本発明はこのような点に鑑みてなされたものであり、文字の視認性を保って画像圧縮を行うことが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、入力画像のデータ量を圧縮する画像処理装置が提供される。この画像圧縮装置は、ブロック抽出手段、階調変換手段および解像度変換手段を有する。ブロック抽出手段は、入力画像から１つ以上の文字の全体または一部を含む領域であるブロックを抽出する。階調変換手段は、入力画像の階調数を削減した階調変換画像を生成する。階調変換手段は、入力画像のデータを基に、入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とを設定し、入力画像に含まれる各画素の階調値のうち、第１の階調値よりも小さい階調値を、階調変換画像における最小階調値に変換し、第２の階調値よりも大きい階調値を、階調変換画像における最大階調値に変換し、第１の階調値以上で第２の階調値以下の範囲に含まれる階調値をこの範囲の階調数が現階調数よりも少なくなるように変換して、階調変換画像を生成する。解像度変換手段は、ブロック抽出手段が抽出したブロックの縦方向および横方向の画素数が所定の最小画素数より少なくならない範囲で、階調変換画像の解像度を低解像度に変換する。
【０００９】
このような画像処理装置によれば、ブロック抽出手段により、入力画像から１つ以上の文字の全体または一部を含む領域であるブロックが抽出される。次に、階調変換手段により、入力画像のデータを基に、入力画像の総階調数の中から第１の階調値と、それより大きい第２の階調値とが設定され、入力画像に含まれる各画素の階調値のうち、第１の階調値よりも小さい階調値が階調変換後の最小階調値に変換され、第２の階調値よりも大きい階調値が階調変換後の最大階調値に変換され、第１の階調値以上で第２の階調値以下の範囲に含まれる階調値がこの範囲の階調数が現階調数よりも少なくなるように変換して、階調変換画像が生成される。そして、解像度変換手段により、ブロック抽出手段が抽出したブロックの縦方向および横方向の画素数が所定の最小画素数より少なくならない範囲で、階調変換画像の解像度が低解像度に変換される。
【００１０】
また、上記課題を解決するために、上記画像処理装置と同様の処理を行う画像処理方法が提供される。
また、上記課題を解決するために、上記画像処理装置と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【００１１】
本発明の画像処理装置、画像処理方法および画像処理プログラムによれば、視認性を保って画像圧縮を行うことができる。
【発明を実施するための最良の形態】
【００１２】
以下、本実施の形態を図面を参照して詳細に説明する。
図１は、実施の形態の概要を示す図である。画像処理装置１は、入力画像Ｐ１を圧縮処理する。入力画像Ｐ１は、地紋等の下地をもつ帳票や証明書等の紙媒体を読み取ったものであり、図示しない画像取込装置等から画像処理装置１に入力される。この紙媒体には、例えば人手により文字も描かれており、画像処理装置１は、読み取った画像を文字が視認しやすくなるように変換すると共に、そのデータ量を削減する処理を実行する。この画像処理装置１は、階調変更手段１ａブロック抽出手段１ｂ、階調変換手段１ｃ、解像度変換手段１ｄおよび圧縮符号化手段１ｅを有する。
【００１３】
階調変更手段１ａは、入力画像Ｐ１に含まれる各画素の階調値のうち、所定の階調値Ｌ３よりも大きな階調値を最大階調値に対応付けた変換画像を生成する。ここで、色の階調は、色の濃淡を示す数値（階調値）によって表される。階調値は、各画素に対する信号レベル値に対応しており、値が大きいほど明るく（淡い）、値が小さいほど暗い（濃い）。階調値の最大値は、白色に相当し、階調値の最小値は、黒色に相当する。
【００１４】
また、階調値Ｌ３には、下地が消えない適切な値が予め設定される。
ブロック抽出手段１ｂは、階調変更手段１ａが生成した変換画像から１つ以上の文字の全体または一部を含むブロックを抽出する。抽出されたブロックは、階調変換手段１ｃの処理の閾値の決定や解像度変換手段１ｄによる解像度低下の度合いを求めるために用いられる。
【００１５】
階調変換手段１ｃは、階調変更手段１ａが生成した変換画像に含まれる階調数を削減して階調変換画像を生成する。階調変換手段１ｃは、各画素の階調値のうち、階調値Ｌ３より小さい階調値Ｌ１よりも小さい階調値を階調変換画像における最小階調値に変換する。ここで、階調値Ｌ１は、特許請求の範囲における第１の階調値に対応する。
【００１６】
また、階調値Ｌ１より大きく階調値Ｌ３より小さい階調値Ｌ２よりも大きい階調値を階調変換画像における最大階調値に変換する。ここで、階調値Ｌ２は、特許請求の範囲における第２の階調値に対応する。
【００１７】
そして、階調値Ｌ１以上で階調値Ｌ２以下の範囲に含まれる階調値をこの範囲の階調数が現階調数よりも少なくなるように変換する。階調変換手段１ｃは、これらの処理の結果、階調変換画像を生成する。
【００１８】
なお、階調変換手段１ｃは、例えば、上記の階調変換処理を、ブロック抽出手段１ｂが抽出したブロック毎に実行する。この場合、階調値Ｌ１，Ｌ２を、ブロック毎の階調値の頻度を示すヒストグラムに基づき、適正な値をブロック毎の階調変換処理のたびに決定することができる。また、例えば、上記の階調変換処理を変換画像全体に対して施してもよい。この場合、階調値Ｌ１，Ｌ２を、変換画像全体に含まれる階調値の頻度を示すヒストグラムに基づいて決定することもできる。
【００１９】
解像度変換手段１ｄは、ブロック抽出手段１ｂが抽出したブロックに基づいて現解像度よりも低い変換後解像度を決定する。変換後解像度は、例えば、抽出されたブロックのうち最小のブロックに含まれる文字が所定の視認性を満たすような解像度として決定される。階調変換手段１ｃが生成した階調変換画像を変換後解像度に変換した解像度変換画像を生成する。
【００２０】
圧縮符号化手段１ｅは、解像度変換手段１ｄが生成した解像度変換画像に、所定の画像圧縮符号化方式に従った圧縮符号化処理を施して圧縮画像データを生成する。
このような画像処理装置１によれば、入力画像Ｐ１の階調値Ｌ１より小さい領域の階調値が解像度変換後の最小階調値に変換され、階調値Ｌ２より大きい領域の階調値が解像度変換後の最大階調値に変換される。また、階調値Ｌ１以上で階調値Ｌ２以下の範囲にある階調数が現階調数よりも小さくなるように各画素の階調値が変換される。その後、所定の圧縮方法により圧縮処理が行われ出力画像Ｐ２が出力される。これにより、下地および下地と重なる文字の階調差を際立たせることができる。また、画像全体の階調数や解像度が削減され、所定の圧縮処理によりデータ量が削減される。
【００２１】
これにより、文字の視認性を保持しつつデータサイズを小さく圧縮することが可能となる。
［第１の実施の形態］
以下、第１の実施の形態を図面を参照して詳細に説明する。
【００２２】
図２は、第１の実施の形態の画像処理装置のハードウェア構成を示す図である。画像処理装置１００は、地紋を含む帳票等の紙媒体を読み込んだ画像を圧縮処理する。
画像処理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０８を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５，１０６および通信インタフェース１０７が接続されている。
【００２３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションソフトのプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００２４】
ＨＤＤ１０３は、データを記憶するためのディスク装置である。ＨＤＤ１０３には、ＯＳのプログラムやアプリケーションソフトのプログラムが格納される。また、ＨＤＤ１０３には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００２５】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。
入力インタフェース１０５，１０６は、外部装置からのデータの入力を受け付けるインタフェースである。
【００２６】
入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０８を介してＣＰＵ１０１に送信する。
【００２７】
入力インタフェース１０６には、スキャナ１４が接続されている。入力インタフェース１０６は、スキャナ１４から送られてくる所定の帳票の画像情報に対応する信号をバス１０８を介してＣＰＵ１０１に送信する。また、入力インタフェース１０６は、入力インタフェース１０６の有するＤＭＡ（Direct Memory Access）機能により、取得する画像情報をバス１０８を介して直接ＲＡＭ１０２に格納することもできる。
【００２８】
通信インタフェース１０７は、ネットワーク１０に接続されている。通信インタフェース１０７は、ネットワーク１０を介して、他の情報処理装置との間でデータの送受信を行う。
【００２９】
図３は、第１の実施の形態の画像処理装置の機能を示すブロック図である。画像処理装置１００は、管理情報記憶部１１０、入力部１２０、階調変更部１３０、ブロック抽出部１４０、階調変換部１５０、解像度変換部１６０および圧縮符号化部１７０を有する。これらの機能は、ＣＰＵ１０１により所定のプログラムが実行されることで実現される。なお、これらの機能の少なくとも一部は、専用のハードウェア回路によって実現されてもよい。
【００３０】
管理情報記憶部１１０は、階調変更部１３０、階調変換部１５０および解像度変換部１６０の処理に必要なパラメータを記憶する。
入力部１２０は、スキャナ１４から取得する画像を階調変更部１３０に出力する。なお、入力画像の各画素が取り得る圧縮前の階調数は、“０〜２５５”の２５６段階であるものとする。
【００３１】
階調変更部１３０は、入力部１２０から取得する入力画像に含まれる各画素の階調値のうち、階調変更の閾値となる階調値Ｌ３以上の階調値を、白色を示す最大階調値“２５５”に変換する。階調値Ｌ３は、地紋が消えない適切な階調値（すなわち、地紋よりも小さい階調値）として管理情報記憶部１１０に予め設定される。階調変更部１３０は、この処理により生成される変換画像をブロック抽出部１４０に出力する。
【００３２】
ブロック抽出部１４０は、階調変更部１３０から取得する変換画像に含まれる１つ以上の文字の全体または一部を含むブロックを抽出する。ブロック抽出部１４０は、所定の値以下の階調値を有する画素が（縦および横に）所定の長さだけ連続する領域を、文字または文字の一部であると認識して抽出することができる。
【００３３】
このようにすると、例えば、２つの別の文字であっても、その間が地紋により連続している場合には、１つのブロックとして抽出する。ただし、抽出されたブロックのサイズが大きくなり過ぎないようにするため、ブロックの縦または横のサイズ（画素数）には上限を設ける。また、文字の全体または一部として認識するための最低限の大きさを保証するため、ブロックとして認識する最小のサイズ（画素数）も設ける。
【００３４】
そして、ブロック抽出部１４０は、抽出したブロックを示す位置情報を階調変換部１５０に出力する。
階調変換部１５０は、ブロック抽出部１４０により抽出されたブロック単位に階調変換を行う。階調変換後の階調数は、管理情報記憶部１１０に予め設定される。階調変換部１５０は、管理情報記憶部１１０を参照して階調変換後の階調数を取得する。
【００３５】
階調変換部１５０は、元の画像の階調数を小さな階調数に変換する。階調変換部１５０は、このために、まず取得したブロックの各画素の階調値の頻度を示すヒストグラムを生成する。階調変換部１５０は、このヒストグラムに基づいて、中間階調の階調値範囲を決定する。この階調値範囲の下限を階調値Ｌ１、上限を階調値Ｌ２とする。
【００３６】
階調値Ｌ１，Ｌ２は、ヒストグラム上のピークから求めることができる。例えば、階調値Ｌ１は、文字を構成する画素が有する階調値を示すピークに基づいて求めることができる。また、階調値Ｌ２は、地紋を構成する画素が有する階調値を示すピークに基づいて求めることができる。なお、ブロックに地紋が含まれない場合、階調値Ｌ２は、例えば階調値Ｌ１に所定の数値を加えた値として求めることができる。
【００３７】
そして、階調変換部１５０は、階調値Ｌ１よりも小さい階調値を階調変換後の最小階調値に変換する。また、階調値Ｌ２よりも大きい階調値を階調変換後の最大階調値に変換する。
【００３８】
更に、階調変換部１５０は、階調値Ｌ１以上Ｌ２以下の範囲に含まれる階調数を目的の階調数となるように階調変換する。
階調変換部１５０は、階調数の削減処理により生成した階調変換画像を解像度変換部１６０に出力する。
【００３９】
解像度変換部１６０は、ブロック抽出部１４０により抽出されたブロックに基づいて現解像度よりも低い変換後解像度を決定する。解像度変換部１６０は、変換後解像度を抽出されたブロックのうち最小のブロックに含まれる文字が所定の視認性を満たすような解像度として決定する。解像度変換部１６０は、階調変換部１５０から取得する階調変換画像を変換後解像度に変換して解像度変換画像を生成し、圧縮符号化部１７０に出力する。
【００４０】
圧縮符号化部１７０は、解像度変換部１６０から取得する解像度変換画像に画像圧縮を施す。圧縮符号化部１７０は、例えば、解像度変換画像に対してＰＮＧ（Portable Network Graphics）圧縮を施してＰＮＧ形式の圧縮画像データを生成する。
【００４１】
図４は、第１の実施の形態のパラメータ管理テーブルのデータ構造例を示す図である。パラメータ管理テーブル１１１は、ＲＡＭ１０２またはＨＤＤ１０３に設けられた管理情報記憶部１１０に記憶される。パラメータ管理テーブル１１１には、属性を示す項目および設定値を示す項目が設けられている。各項目の横方向に関連付けられた情報同士が１つの圧縮パラメータに関する情報を構成する。
【００４２】
パラメータ管理テーブル１１１には、以下の情報が設定される。
第１の情報として、属性が“階調変更閾値”、その設定値が“１７０”という情報が設定される。これは、階調変更部１３０による階調変更の閾値となる階調値Ｌ３が“１７０”であり、この値よりも大きい階調値は、最大階調値２５５に変換されることを示している。
【００４３】
第２の情報として、属性が“階調数”、その設定値が“８”という情報が設定される。これは、２５６階調を階調変換部１５０による階調変換処理により８階調まで削減することを示している。すなわち、階調変換処理後の最小階調値は、０であり、階調変換処理後の最大階調値は７となる。
【００４４】
第３の情報として、属性が“文字ピーク上限階調値”、その設定値が“５０”という情報が設定される。文字ピーク上限階調値は、階調変換部１５０による階調変換処理における階調値Ｌ１の上限を示している。すなわち、階調変換部１５０は、ヒストグラムの階調値“５０”以下の領域でピーク（文字を構成するピーク）を検出する場合には、そのピークに対応する階調値をＬ１とするが、階調値“５０”以下の領域でピークを検出しない場合には、階調値Ｌ１＝５０を設定する。文字ピーク上限階調値は、特許請求の範囲における第１の限界階調値に対応する。
【００４５】
第４の情報として、属性が“地紋ピーク下限階調値”、その設定値が“１５０”という情報が設定される。地紋ピーク下限階調値は、階調変換部１５０による階調変換処理において、ヒストグラムの地紋を構成するピークに対応する階調値の下限を示している。すなわち、階調変換部１５０は、ヒストグラムの階調値“１５０”以上の領域でピーク（地紋を構成するピーク）を検出する場合には、そのピークに対応する階調値に基づいて階調値Ｌ２を決定するが、階調値“１５０”以上の領域でピークを検出しない場合には、下限階調値“１５０”以上の所定の値を階調値Ｌ２として決定する。地紋ピーク下限階調値は、特許請求の範囲における第２の限界階調値に対応する。
【００４６】
第５の情報として、属性が“ブロック最小縦画素数”、その設定値が“１０”という情報が設定される。これは、入力画像に含まれる文字を表す画素数を削減して見読可能とすることができる縦の画素数の最小値を示している。また、この値は、ブロック抽出部１４０が抽出するブロックの縦の画素数の下限も示している。なお、最小画素数としては、ブロックの縦方向に限らず横方向の画素数、またはそれらの両方として設定してもよい。また、最小ブロックに含まれる画素数の合計により設定してもよい。
【００４７】
第６の情報として、属性が“圧縮後目標サイズ”、その設定値が“１ＭＢ（Mega Byte）”という情報が設定される。これは、圧縮符号化部１７０が生成する圧縮画像の最低サイズを１ＭＢとすることを示している。この“圧縮後目標サイズ”の設定により、圧縮画像データに基づく再生画像のサイズを一定のサイズに近付けることができる。
【００４８】
なお、パラメータ管理テーブル１１１には、これらの情報の他にもブロックとして認識する最大サイズ（最大画素数）等の情報も設定される。
パラメータ管理テーブル１１１には、元の画像の処理を行う前に、それぞれのパラメータについて最適な値が予め設定される。
【００４９】
次に、以上のような構成を備える画像処理装置１００において実行される処理の詳細を説明する。
図５は、第１の実施の形態の画像圧縮処理の手順を示すフローチャートである。以下、図５に示す処理をステップ番号に沿って説明する。
【００５０】
［ステップＳ１１］階調変更部１３０は、入力部１２０から取得する入力画像に含まれる各画素の階調値のうち、パラメータ管理テーブル１１１に記憶された階調変更閾値である階調値Ｌ３（＝“１７０”）以上の階調値を最大階調値“２５５”に変換する。なお、この処理での変換後の値は必ずしも２５５に限らず、階調値Ｌ３以上の階調値はＬ３以上２５５以下の所定の値に変換されればよい。そして、階調変更部１３０は、この階調変更処理により生成した変換画像をブロック抽出部１４０に出力する。
【００５１】
［ステップＳ１２］ブロック抽出部１４０は、階調変更部１３０から取得する変換画像から１つ以上の文字の全体または一部を含むブロックを抽出する。そして、ブロック抽出部１４０は、抽出した複数のブロックを階調変換部１５０に出力する。
【００５２】
［ステップＳ１３］階調変換部１５０は、ブロック抽出部１４０から取得する複数のブロックから１つを選択して、そのブロックに含まれる各画素の階調値の頻度を示すヒストグラムを生成する。
【００５３】
［ステップＳ１４］階調変換部１５０は、生成したヒストグラムのピークに基づいて、中間階調の階調値範囲を決める下限の階調値Ｌ１および上限の階調値Ｌ２を求める。階調変換部１５０は、階調値Ｌ１をブロックに含まれる文字のピークの階調値とする。文字のピークは、濃い色を示す小さな階調値のピークとして識別することができる。また、階調値Ｌ２を地紋のピークに基づいて算出する。地紋のピークは、文字より淡い色を示すより大きな階調値のピークとして識別することができる。
【００５４】
［ステップＳ１５］階調変換部１５０は、ブロックの各画素に関し、ステップＳ１４で求めた階調値Ｌ１よりも小さい階調値を階調変換後の階調値“０”に、階調値Ｌ２よりも大きい階調値を階調変換後の最大階調値“７”に、それぞれ変換する。そして、階調変換部１５０は、パラメータ管理テーブル１１１に記憶された階調数“８”に基づき、階調値Ｌ１以上Ｌ２以下の階調範囲を階調値“１〜６”の計６階調に変換する。
【００５５】
［ステップＳ１６］階調変換部１５０は、ブロック抽出部１４０から取得した全てのブロックについて階調削減処理を行ったか否かを判定する。全ブロックに対して処理済みの場合、処理がステップＳ１７に移される。全ブロックに対して処理済みでない場合、未処理ブロックを次の処理対象として抽出して、処理がステップＳ１３に移される。
【００５６】
［ステップＳ１７］階調変換部１５０は、ブロック抽出部１４０によりブロックとして抽出されなかった残りの領域に対する階調削減処理を行う。階調変換部１５０は、残り領域に関して、例えば、ステップＳ１４により求められた各ブロックの階調値Ｌ１のうち最も小さい値と、階調値Ｌ２のうち最も大きい値を用いて残り領域全てをステップＳ１５と同様の処理により一律に階調削減を行う。そして、階調変換部１５０は、階調削減処理により生成した階調変換画像を解像度変換部１６０に出力する。なお、このステップＳ１７では、残りの領域に適用する階調値Ｌ１，Ｌ２を、予め決められた値としてもよい。
【００５７】
［ステップＳ１８］解像度変換部１６０は、ブロック抽出部１４０が抽出したブロックのうち、最小のブロックの縦画素数ｆを取得する。解像度変換部１６０は、この縦画素数ｆとパラメータ管理テーブル１１１に記憶されたブロック最小縦画素数“１０”を用いて、解像度の縮小率ｐ＝１０／ｆを算出する。
【００５８】
［ステップＳ１９］解像度変換部１６０は、階調変換部１５０から取得した階調変換画像をステップＳ１８で算出した縮小率で解像度変換して解像度変換画像を生成し、圧縮符号化部１７０に出力する。本例では、縦方向の画素数の縮小率を求めているが、横方向に関しても同じ縮小率で圧縮を行う。すなわち、画像全体の画素数は、ｐ2＝１０2／ｆ2に削減される。なお、縮小率ｐ＝１である場合には、解像度変換は行われない。
【００５９】
［ステップＳ２０］圧縮符号化部１７０は、解像度変換部１６０から取得した解像度変換画像に対してＰＮＧ圧縮を施して圧縮画像データを生成する。
［ステップＳ２１］圧縮符号化部１７０は、ＰＮＧ圧縮により生成した圧縮画像データのサイズが適切であるか否かを判定する。圧縮画像データのサイズがパラメータ管理テーブル１１１に記憶された圧縮後目標サイズ“１ＭＢ”以上である場合、圧縮画像データを出力して処理が完了する。圧縮画像データのサイズが１ＭＢ未満である場合、縮小率ｐの値を１段階増やして、処理がステップＳ１８に移される。
【００６０】
このように、圧縮画像データのデータサイズが１ＭＢ未満の場合、縮小率を１段階上げて解像度変換し、ＰＮＧ圧縮して、再び圧縮画像データのデータサイズを検出する。これを、圧縮画像データのデータサイズが１ＭＢに達するまで繰り返す。これにより、圧縮画像データのデータサイズを一定の値に保つと共に過剰に圧縮されて必要以上に画質が劣化することを防止することができる。
【００６１】
なお、解像度変換部１６０は、最初に最低縮小率より高い縮小率で解像度変換して、１ＭＢ以上である場合には、更に解像度を下げ、１ＭＢ以下となったら下限まで下がっていなくてもその解像度に決定するようにしてもよい。
【００６２】
上記に示した処理により画像処理装置１００は、画像に含まれる階調を地紋および地紋と重なる文字の階調差を際立たせることができる。これにより、文字を容易に視認できるようにしつつデータサイズを現サイズよりも小さく圧縮することが可能となる。
【００６３】
また、ブロックとして抽出されなかった領域に関しては、ブロック毎に生成したヒストグラムから取得するそれぞれの中間階調の範囲のうち最も小さい下限値と最も大きい上限値を用いて階調削減処理を行うようにする。これにより、ブロックとして抽出されなかった領域に地紋や文字が含まれていた場合でも、文字を視認しやすくすることができる。また、ブロックとの境界をより自然に接続させ、視認時の違和感を低減することもできる。
【００６４】
以下では、画像処理装置１００による画像圧縮処理の処理例を説明する。
図６は、読取画像の例を示す図である。画像２００は、地紋付きの紙媒体をスキャナ１４で読み込んだ画像である。領域２０１は、画像２００のうち、地紋２０２より色の薄い領域（階調値が“１７０”以上であるものとする）を示している。地紋２０２は、例えば、紙媒体に記載された情報の複製を防止する機能を果たすものである。地紋２０２の背景（領域２０１等）には、更に、地紋２０２より薄い色で別の模様が描かれていてもよい。このような画像２００は、スキャナ１４により読み込まれ、入力部１２０を介して階調変更部１３０に画像データとして出力される。
【００６５】
図７は、階調変更部による階調変更処理後の画像の例を示す図である。画像３００は、階調変更部１３０による画像２００の階調変更処理後の状態を示している。領域３０１は、階調変更部１３０により領域２０１の階調値が最大階調値“２５５”に変換された場合を示している。なお、このような処理を、ステップＳ１２のブロック抽出処理に対して事前に行っておくことで、ブロック抽出処理時における閾値との比較処理の負荷を軽減できる。また、その後の階調削減処理（ステップＳ１４〜Ｓ１５）においても、階調変更された画素を階調値Ｌ３（＝１７０）より大きい階調値をもつ画素として容易に識別できるようになり、処理負荷を軽減できる。
【００６６】
図８は、ブロック抽出処理により抽出されたブロックの例を示す図である。ブロック３１０，３２０，３３０は、画像３００からブロック抽出部１４０により抽出される。ブロック３１０は、“昭”の文字とこの文字に重なる地紋３１０ａとを含むブロックである。ブロック３２０は、“和”の文字の偏である「のぎへん」を含むブロックである。ブロック３２０は、“和”の文字の旁である「くち」を含むブロックである。
【００６７】
ブロック抽出部１４０は、文字の領域であるか否かを判定するための判定閾値を用い、階調変更処理後の画像において、判定閾値以下の階調値をもつ画素が横方向および縦方向に所定の画素数だけ連続して現れたとき、それらの画素の領域を文字を含むブロックとして抽出する。また、判定閾値以下の階調値をもつ画素が一定数だけ連続した後、ごく少ない画素数分だけ階調値が判定閾値を超え、その後の画素から判定閾値以下の階調値をもつ画素が再度連続した場合には、それらの領域を１つのブロック（すなわち、１つの文字）として認識してもよい。このような処理により、ブロック３１０のように、複数の部首が組み合わされて構成された文字を、１つの文字として認識できるようになる。
【００６８】
ここで、判定閾値としては、ステップＳ１１の階調変更処理で利用された階調値Ｌ３とすることができる。この場合、ブロック抽出処理では、各画素の階調値がＬ３以下であるか否かを検出するのではなく、各画素の階調値が、階調変更処理により変換された階調値“２５５”であるか否かを判定するという簡単な処理で文字を認識できるようになる。
【００６９】
なお、判定閾値として設定し得る上限値は、階調変更部１３０で閾値として用いられた階調値Ｌ３より小さくする必要があり、下限値は、文字の領域として予測される階調値より大きくする必要がある。ただし、その下限値については、地紋の階調値として予測される値以上としてもよい。この場合、ブロック３１０のように、地紋の領域も文字領域の一部として認識される場合があるが、このことは特に精度に影響しない。また、例えば、ブロック抽出部１４０への入力画像における階調値のヒストグラムに基づき、上記の条件に合致する判定閾値を決定してもよい。
【００７０】
次に、階調変換部１５０は、ブロック３１０，３２０，３３０それぞれの階調値の頻度を示すヒストグラムを生成し、階調削減処理を行う。
次に、ブロック３１０に対して生成されるヒストグラムに関して説明する。
【００７１】
図９は、階調変換部により生成されたヒストグラムの例を示す図である。ヒストグラム３１１は、階調変換部１５０により生成される。ヒストグラム３１１は、ピーク３１１ａ，３１１ｂを有する。階調値“２５５”に現れるピークは、階調変更部１３０により、各画素の階調値のうち、階調値Ｌ３以上が階調値“２５５”に変換されたことによるピークである。
【００７２】
ピーク３１１ａは、ヒストグラム上で階調値の小さい方から最初に現れたピークであり、階調値Ｌ１の位置に現れている。ピーク３１１ａは、ブロック３１０における文字“昭”を構成する画素のもつ階調値によるピークとして識別することができる。なぜなら、“昭”を構成する画素は、ブロック３１０の中でも濃い階調を有する画素の集合だからである。
【００７３】
ピーク３１１ｂは、階調値がＬ３より小さい領域に最初に現れるピークであり、このピーク３１１ｂが現れる階調値を、階調値Ｌ２’とする。ピーク３１１ｂは、ブロック３１０における地紋を構成する画素のもつ階調値によるピークとして識別することができる。なぜなら、地紋を構成する画素は、ブロック３１０の中で“昭”の文字を構成する画素よりも淡い階調を有する画素の集合だからである。
【００７４】
すなわち、階調変換部１５０は、ヒストグラム３１１に現れるピークのうち、最も小さい階調値に現れるピークが文字によるピークであると認識することができる。そして、文字によるピークよりも大きい階調値に現れるピークが地紋やその他の下地によるピークであると認識することができる。なお、複数の色や明るさの地紋が存在する場合には、これらに対応する複数のピークが現れる場合がある。このような場合、例えば、これらのうち最も大きな階調値の位置に現れたピークを、階調値Ｌ２’に対応するピーク３１１ｂとして決定すればよい。
【００７５】
階調変換部１５０は、階調値Ｌ１を階調削減範囲の下限とする。また、階調変換部１５０は、ピーク３１１ｂに対応する階調値Ｌ２’より大きく、階調値Ｌ３より小さい範囲において、階調削減範囲の上限となる階調値Ｌ２を決定する。階調値Ｌ２は、例えば、ピーク３１１ｂに対応する階調値Ｌ２’に基づく統計的な手法により求めることができる。また、例えば、階調値Ｌ２’に予め決められた所定の数値を加えた階調値、あるいは、階調値Ｌ２’と階調値Ｌ３との間の範囲を所定の割合で分割した分割点の値などとして求めることもできる。
【００７６】
ここで、ブロック３２０，３３０には、地紋が含まれない。このため、ブロック３２０，３３０に関してヒストグラムを生成すると、文字または文字の一部を構成する画素の階調値にピーク（ピーク３１１ａに対応）が現れるのみとなる。この場合は、このピークに対応する階調値Ｌ１が階調削減範囲の下限となる。そして、例えば、この下限の階調値に所定の数値を加えた階調値として、あるいは、階調値Ｌ１と階調値Ｌ３との間の範囲を所定の割合で分割した分割点の値などとして、階調削減範囲の上限（階調値Ｌ２）を求めることができる。
【００７７】
更に、階調変換部１５０は、次のようにして階調数の削減を行う。
図１０は、階調変換部の階調削減処理を示す図である。階調変換部１５０は、階調値Ｌ１未満の範囲に含まれる階調値を階調変換後の最小階調値０に変換する。また、階調値Ｌ２よりも大きい範囲に含まれる階調値を階調変換後の最大階調値“７”に変換する。
【００７８】
更に、階調変換部１５０は、各画素について階調値Ｌ１以上Ｌ２以下の範囲に含まれる階調数を削減して、６階調とする。例えば、Ｌ１＝４０、Ｌ２＝１６０である場合、分割値“４０，６４，８８，１１２，１３６，１６０”により階調範囲を５つに等分割する。そして、これらの分割値の間に含まれる階調値を各階調値から最も近い分割値に対応付ける。例えば、階調値“４５”は、分割値“４０”に対応付けられ、階調値“１３８”は、分割値“１３６”に対応付けられる。
【００７９】
なお、階調値“５２”のように最も近い分割値が２つ存在する場合には、小さい方の分割値に対応付ける等、予め規定しておく。例えば、階調値“５２”は、分割値“４０”および分割値“６４”のうちの小さい方の分割値“４０”に対応付ける。
【００８０】
次に、階調変換部１５０は、分割値“４０”に対応付けた画素の階調値を、階調値“１”に変換する。同様に、分割値“６４，８８，１１２，１３６，１６０”にそれぞれ対応付けた画素の階調値を、それぞれ階調値“２，３，４，５，６”に変換する。
【００８１】
このようにして、元の画像データの２５６階調を８階調に変換する。ただし、分割値の決め方に関しては、上記の例に限らず他の方法を適用することもできる。
これにより階調の情報が削減され、画像のデータサイズを小さくすることができる。更に、中間階調の領域のみ階調を残し、その領域でのコントラストを際立たせるように画像が変換されることで、その画像を視認したときに文字と地紋との区別がつきやすくなる。すなわち、文字の視認性を保持しながらも、画像のデータサイズを圧縮することができる。
【００８２】
なお、ヒストグラム３１１において、階調値Ｌ１（＝４０）より小さい階調値をもつ画素については、それらの階調値を全て分割値“４０”に対応付けてもよい。また、階調値Ｌ２（＝１６０）以上の階調値をもつ画素については、それらの階調値を全て分割値“１６０”に対応付けてもよい。このようにすると、階調削減後の階調数を６とすることが可能となり、更に階調の情報を削減し、データサイズを圧縮することができる。また、このように変換前における４０以下の階調値、１６０以上の階調値をそれぞれ変換後の階調の最小値、最大値とする場合には、４０以上１６０以下の範囲の階調分割数を８段階としてもよい。この場合、図１０の例と比較して、データサイズを変えることなく、中間階調の階調数をより多く残すことが可能になり、文字と地紋とを視覚的に識別しやすくなる。
【００８３】
なお、ステップＳ１７で述べたように、ブロックとして抽出されなかった領域の各画素のデータについても、ブロック内と同じ階調数を有するデータに変換される。この処理の手順は、階調値Ｌ１，Ｌ２，Ｌ２’の決め方以外は各ブロック内での処理と同様である。階調値Ｌ１，Ｌ２，Ｌ２’としては、例えば、予め決められた数値が設定されてもよい。あるいは、前述のように、階調値Ｌ１を、各ブロックで求められた階調値Ｌ１のうち最も小さい値に設定し、階調値Ｌ２を、各ブロックで求められた階調値Ｌ２のうち最も大きい値に設定してもよい。後者の処理により、ステップＳ１２で抽出されなかった文字や地紋がブロック以外の領域に存在していた場合でも、これらの文字と地紋とをより識別しやすくすることができる。
【００８４】
図１１は、解像度変換部による縮小率の決定処理を示す図である。ブロック３４１は、縦方向の画素数ｘのブロックである。ブロック３４２は、縦方向の画素数ｙ（ｙ＞ｘ）のブロックである。ブロック３４３ａ，３４３ｂは、解像度変換後の画像において、文字の視認性を保持可能な縦方向の最小の画素数ｚ（ｙ＞ｘ＞ｚ）のブロックである。ここでは例として、ｘ＝３，ｙ＝４，ｚ＝２である。
【００８５】
例えば、ブロック抽出部１４０が抽出した最小のブロックがブロック３４１であった場合を考える。この場合、解像度変換部１６０は、ブロック３４３ａの縦方向の画素数とブロック３４１の縦方向の画素数との比によって、最小ブロックの文字がつぶれない縦方向の縮小率ｐ＝２／３を得ることができる。
【００８６】
また、例えば、ブロック抽出部１４０が抽出した最小のブロックがブロック３４２であった場合を考える。この場合にも解像度変換部１６０は、同様にブロック３４３ｂの縦方向の画素数とブロック３４２の縦方向の画素数との比によって、縦方向の縮小率ｐ＝１／２を得ることができる。
【００８７】
なお、前述した通り、本例では縦方向の縮小率を求めたが、横方向も縮小率ｐにより圧縮が行われる。これにより、画像全体の画素の削減率は、ｐ2となる。
このように、ブロック抽出部１４０が抽出した最小のブロックに応じて解像度変換に用いる縮小率ｐを求めるようにする。そして、この縮小率ｐを用いて画像全体の解像度変換を行うことで、ブロック単位で文字の視認性を保証しながら、データサイズをより小さくすることができる。
【００８８】
図１２は、圧縮符号化部による画像圧縮処理後の画像の例を示す図である。圧縮符号化部１７０は、解像度変換部１６０が生成した解像度変換画像に対し、更に所定の圧縮符号化処理を施す。なお、圧縮符号化部１７０では、例えば、ＰＮＧ圧縮を行うようにする。ＰＮＧ圧縮では、まず、画像データを隣接する画素間での階調値の差分で表す（フィルタリング）。そして、フィルタリングの結果現れる冗長箇所（階調値の差分の値が連続する箇所）に基づいて画像の圧縮符号化を行う。このため、ＰＮＧ圧縮は、階調数および解像度が削減された画像の圧縮に適している。すなわち、解像度変換部１６０が生成した解像度変換画像に対してＰＮＧ圧縮を行うことで、画像データサイズの大幅な削減を図ることができる。
【００８９】
なお、圧縮符号化部１７０は、画像４００のデータサイズがパラメータ管理テーブル１１１に設定された圧縮後目標サイズ“１ＭＢ”よりも小さくなる場合には、解像度変換部１６０により解像度を１段階高い解像度（例えば、１５０ｄｐｉから２００ｄｐｉ）に上げるよう指示する。そして、圧縮符号化部１７０は、再度、解像度変換部１６０により解像度を上げて生成された解像度変換画像の圧縮処理を行う。これにより、ＰＮＧ圧縮後の圧縮データのサイズを一定値に保ちつつ、その再生画像の解像度をできるだけ高くしてその画質を向上させることができる。
【００９０】
このように、画像処理装置１００は、画像に含まれる各画素の中間階調を残して階調数を削減し、画像の解像度を低下させて、画像圧縮処理を施す。これにより、画像に含まれる文字や地紋等の下地に対する所定の視認性を保持しつつ、データサイズを小さく圧縮することができる。
【００９１】
なお、以上で説明した例では、階調変換部１５０は、階調削減処理のためのヒストグラムをブロック毎に作成し、ブロック毎に階調削減処理を行うものとしたが、ヒストグラムを抽出されたブロック全部に基づいて作成するようにしてもよい。この場合、階調変換部１５０は、ブロック全部の領域から作成されたヒストグラムに基づいて、画像単位で階調削減処理を行う。これにより、上記の例と同様の効果を得ることも可能である。以下、このような場合の処理について、第２の実施の形態として説明する。
【００９２】
［第２の実施の形態］
以下、第２の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【００９３】
第２の実施の形態に係る画像処理装置は、図２，３に示した第１の実施の形態に係る画像処理装置１００と同様のハードウェア構成によって実現することができる。
図１３は、第２の実施の形態の画像処理装置の機能を示すブロック図である。画像処理装置１００ａは、管理情報記憶部１１０、入力部１２０、階調変更部１３０、ブロック抽出部１４０、階調変換部１５０ａ、解像度変換部１６０および圧縮符号化部１７０を有する。なお、管理情報記憶部１１０、入力部１２０、階調変更部１３０、ブロック抽出部１４０、解像度変換部１６０および圧縮符号化部１７０は、図３の画像処理装置１００において同一の符号で示した構成と同一の機能であるため、その説明を省略する。ただし、階調変更部１３０は、階調変更後の変換画像を階調変換部１５０ａに出力する。
【００９４】
階調変換部１５０ａは、階調変更部１３０から取得する変換画像に基づいて、変換画像に含まれる各画素の階調値の頻度を示すヒストグラムを生成する。階調変換部１５０ａは、このヒストグラムに基づいて、階調削減処理の対象となる階調値範囲の下限の階調値Ｌ１および上限の階調値Ｌ２を求める。これらの階調値は、ヒストグラム上のピークから求めることができる。
【００９５】
階調変換部１５０ａは、求めた階調値Ｌ１，Ｌ２に基づいて画像に含まれる階調数を削減する。階調変換部１５０ａは、例えば、２５６段階の階調を８段階の階調に削減する。この方法は、第１の実施の形態で示した階調変換部１５０と同様の方法を用いることができる。
【００９６】
ここで、第１の実施の形態の階調変換部１５０は、１枚の画像に含まれるブロック単位で階調削減処理を実行する。これに対し、第２の実施の形態の階調変換部１５０ａでは、１枚の画像単位で階調削減処理を実行する点が異なる。
【００９７】
階調変換部１５０ａは、この階調削減処理により生成した階調変換画像をブロック抽出部１４０に出力する。
そして、ブロック抽出部１４０は、階調変換部１５０ａから取得する階調変換画像に基づいてブロックを抽出する。解像度変換部１６０は、ブロック抽出部１４０が抽出したブロックに基づいて、解像度変換処理を行う。
【００９８】
なお、管理情報記憶部１１０に記憶されるパラメータ管理テーブルの構成も第１の実施の形態におけるパラメータ管理テーブル１１１の構成と同一であるため説明を省略する。
次に、以上のような構成を備える画像処理装置１００ａにおいて実行される処理の詳細を説明する。
【００９９】
図１４は、第２の実施の形態の画像圧縮処理の手順を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ３１］階調変更部１３０は、入力部１２０から取得する入力画像に含まれる各画素の階調値のうち、階調値Ｌ３（＝１７０）以上の階調値を最大階調値“２５５”に変換する。そして、階調変更部１３０は、この階調変更処理により生成した変換画像を階調変換部１５０ａに出力する。
【０１００】
［ステップＳ３２］階調変換部１５０ａは、階調変更部１３０から取得する変換画像に含まれる各画素の階調値の頻度を示すヒストグラムを生成する。
［ステップＳ３３］階調変換部１５０ａは、生成したヒストグラムのピークに基づいて、中間階調の階調値範囲を決める下限の階調値Ｌ１および上限の階調値Ｌ２を求める。階調変換部１５０ａは、階調値Ｌ１を画像に含まれる文字のピークの階調値とする。また、階調値Ｌ２を地紋のピークに基づいて算出する。これらの階調値Ｌ１，Ｌ２の算出方法は、図５のＳ１４での処理と同様である。
【０１０１】
［ステップＳ３４］階調変換部１５０ａは、画像に含まれる各画素に関し、ステップＳ３３で求めた階調値Ｌ１よりも小さい階調値を階調変換後の階調値“０”に、階調値Ｌ２よりも大きい階調値を階調変換後の最大階調値“７”に、それぞれ変換する。そして、階調変換部１５０ａは、パラメータ管理テーブル１１１に記憶された階調数“８”に基づき、階調値Ｌ１以上Ｌ２以下の階調範囲を階調値“１〜６”の計６階調に変換する。すなわち、ここでの階調削減処理は、第１の実施の形態において各ブロックに適用した処理（図５のＳ１５）を、画像全体に適用したものである。階調変換部１５０ａは、階調削減処理の結果生成される階調変換画像をブロック抽出部１４０に出力する。
【０１０２】
［ステップＳ３５］ブロック抽出部１４０は、階調変換部１５０ａから取得する階調変換画像から１つ以上の文字の全体または一部を含むブロックを抽出する。そして、ブロック抽出部１４０は、抽出した複数のブロックのうち、最も小さなブロックの情報を解像度変換部１６０に出力する。
【０１０３】
［ステップＳ３６］解像度変換部１６０は、ブロック抽出部１４０が抽出したブロックのうち、最小のブロックの縦画素数ｆを取得する。解像度変換部１６０は、この縦画素数ｆとパラメータ管理テーブル１１１に記憶されたブロック最小縦画素数“１０”を用いて、解像度の縮小率ｐ＝１０／ｆを算出する。
【０１０４】
［ステップＳ３７］解像度変換部１６０は、階調変換部１５０ａから取得した階調変換画像をステップＳ３６で算出した縮小率ｐで解像度変換して解像度変換画像を生成し、圧縮符号化部１７０に出力する。なお、縮小率ｐ＝１である場合には、解像度変換は行われない。
【０１０５】
［ステップＳ３８］圧縮符号化部１７０は、解像度変換部１６０から取得した解像度変換画像に対してＰＮＧ圧縮を施して圧縮画像データを生成する。
［ステップＳ３９］圧縮符号化部１７０は、ＰＮＧ圧縮により生成した圧縮画像データのサイズが適切であるか否かを判定する。圧縮画像のサイズがパラメータ管理テーブル１１１に記憶された圧縮後目標サイズ“１ＭＢ”以上である場合、圧縮画像データを出力して処理が完了する。圧縮画像のサイズが１ＭＢ未満である場合、縮小率ｐの値を１段階増やして、処理がステップＳ３６に移される。
【０１０６】
このように、画像処理装置１００ａは、画像に含まれる階調を下地および下地と重なる文字の階調差を際立たせるように圧縮処理を行う。これにより、視認性を保持しつつデータサイズを現サイズよりも小さく圧縮することが可能となる。
【０１０７】
また、階調削減処理をブロック単位ではなく画像単位で行うようにすることで、ブロックの境界で階調が不自然に変化することがなくなり、見易さを向上することができる。
なお、上記に示した画像処理装置の処理機能の少なくとも一部は、コンピュータによって実現することができる。その場合には、これらの処理機能の処理内容を記述したプログラムが提供される。そして、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。
【０１０８】
プログラムを流通させる場合には、例えば、そのプログラムが記録された光ディスクなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、そのプログラムを、サーバコンピュータからネットワークを介して他のコンピュータに転送することもできる。
【０１０９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、そのプログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１１０】
以上、本発明の画像処理装置、画像処理方法および画像処理プログラムを図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【図面の簡単な説明】
【０１１１】
【図１】実施の形態の概要を示す図である。
【図２】第１の実施の形態の画像処理装置のハードウェア構成を示す図である。
【図３】第１の実施の形態の画像処理装置の機能を示すブロック図である。
【図４】第１の実施の形態のパラメータ管理テーブルのデータ構造例を示す図である。
【図５】第１の実施の形態の画像圧縮処理の手順を示すフローチャートである。
【図６】読取画像の例を示す図である。
【図７】階調変更部による階調変更処理後の画像の例を示す図である。
【図８】ブロック抽出処理により抽出されたブロックの例を示す図である。
【図９】階調変換部により生成されたヒストグラムの例を示す図である。
【図１０】階調変換部の階調削減処理を示す図である。
【図１１】解像度変換部による縮小率の決定処理を示す図である。
【図１２】圧縮符号化部による画像圧縮処理後の画像の例を示す図である。
【図１３】第２の実施の形態の画像処理装置の機能を示すブロック図である。
【図１４】第２の実施の形態の画像圧縮処理の手順を示すフローチャートである。
【符号の説明】
【０１１２】
１  画像処理装置
１ａ  階調変更手段
１ｂ  ブロック抽出手段
１ｃ  階調変換手段
１ｄ  解像度変換手段
１ｅ  圧縮符号化手段
Ｐ１  入力画像
Ｐ２  出力画像
【図１】
2010057080.tif 000003
【図２】
2010057080.tif 000004
【図３】
2010057080.tif 000005
【図４】
2010057080.tif 000006
【図５】
2010057080.tif 000007
【図６】
2010057080.tif 000008
【図７】
2010057080.tif 000009
【図８】
2010057080.tif 000010
【図９】
2010057080.tif 000011
【図１０】
2010057080.tif 000012
【図１１】
2010057080.tif 000013
【図１２】
2010057080.tif 000014
【図１３】
2010057080.tif 000015
【図１４】
2010057080.tif 000016