(57)【要約】【課題】  閲覧時に、普及しているソフトウェアを用いた復号化を行うだけで、モスキートノイズが低減された復号化像を得ることが可能な画像圧縮装置を提供する。【解決手段】  原画像データをＮ×Ｎ画素のブロックに分割するブロック分割手段１０と、各ブロックに対して、最外周の画素が所定値以上である場合に、隣接するブロックに、その値を移動させる画像改変手段２０と、圧縮符号化を施し圧縮画像データを作成する第１の画像圧縮手段３０と、復号化による伸張を施し伸張画像データを作成する画像伸張手段４０と、原画像データに対して、原画像データの画素値から対応する伸張画像データの画素値を減算し、所定の割合αだけ乗算して加算するとともに、所定の値βだけ減算し、補正画像データを作成する画像補正手段５０と、補正画像データに対して圧縮符号化を施し圧縮補正画像データを作成する第２の画像圧縮手段６０を有する。【選択図】  図２
2014207643.tif 000002
【特許請求の範囲】
【請求項１】
原画像データに対して圧縮を施す装置であって、
原画像データに対して所定の圧縮率で符号化を施し圧縮画像データを作成する第１の画像圧縮手段と、
前記圧縮画像データに対して復号化による伸張を施し伸張画像データを作成する画像伸張手段と、
前記原画像データに対して、画素単位で、前記原画像データの画素値から対応する前記伸張画像データの画素値を減算し、減算の結果得られた差分値に所定の割合αを乗算し、前記原画像データの画素値に加算した値を用いて前記原画像データを補正して補正画像データを作成する画像補正手段と、
前記補正画像データに対して前記圧縮率で符号化を施し圧縮補正画像データを作成する第２の画像圧縮手段と、
を備えていることを特徴とする画像圧縮装置。
【請求項２】
請求項１において、
前記画像補正手段は、前記原画像データの画素値から対応する前記伸張画像データの画素値を減算し、減算の結果得られた差分値に所定の割合αを乗算し、前記原画像データの画素値に加算した値から、さらに所定の値βだけ減算し、前記原画像データを補正して補正画像データを作成することを特徴とする画像圧縮装置。
【請求項３】
請求項１または請求項２において、
前記原画像データを、Ｎ×Ｎ画素（Ｎ＞１）のＳｘ×Ｓｙ個のブロック（ｉ，ｊ）（０≦ｉ≦Ｓｘ−１、０≦ｊ≦Ｓｙ−１）に分割するブロック分割手段と、
前記分割された各ブロックを対象ブロック（ｉ，ｊ）とし、対象ブロック内の最外周に画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）＜Ｋ１（０≦ｋ≦Ｎ−１，０≦ｍ≦Ｎ−１）を満たす画素が存在し、最外周の画素以外の内側画素が全て画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に、前記最外周の画素に隣接するブロックであるブロック（ｉ−1，ｊ）、ブロック（ｉ＋1，ｊ）、ブロック（ｉ，ｊ−１）またはブロック（ｉ，ｊ＋１）のいずれかの隣接ブロック内の前記対象ブロックと隣接する画素の値を前記対象ブロック内の隣接する画素の値に置換し、前記対象ブロック内の最外周の画素の値を前記Ｋ１以上の値に変更することにより、前記対象ブロック内の最外周の画素が前記隣接ブロックに移動されたように見える改変を施す画像改変手段と、をさらに有し、
前記画像改変手段により改変が施された原画像データに対して、前記第１の画像圧縮手段、前記画像伸張手段、前記画像補正手段、前記第２の画像圧縮手段による処理が行われるようにしていることを特徴とする画像圧縮装置。
【請求項４】
請求項３において、
前記ブロック分割手段は前記ブロックのサイズであるＮ×Ｎ画素として、ＪＰＥＧ圧縮アルゴリズムのＤＣＴ符号化サイズと同じ８×８画素または１６×１６画素を設定するようにしていることを特徴とする画像圧縮装置。
【請求項５】
請求項３または請求項４において、
前記画像改変手段は、
前記隣接ブロック内に画素値が前記Ｋ１未満である画素が存在する場合にのみ、前記改変を行うようにしていることを特徴とする画像圧縮装置。
【請求項６】
請求項３から請求項５のいずれか一項において、
前記画像改変手段は、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ−１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ−１，ｊ）内の画素の画素値Ｓ（（ｉ−１）×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）により置換し、当該画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）をＫ１に更新するようにし、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ＋１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ＋１，ｊ）内の画素値Ｓ（（ｉ＋１）×Ｎ，ｊ×Ｎ＋ｍ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）により置換し、当該画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）をＫ１に更新するようにし、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ＋１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ＋１）内の画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ＋１）×Ｎ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）により置換し、当該画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）をＫ１に更新するようにし、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ―１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ―１）内の画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ−１）×Ｎ＋Ｎ−１）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）により置換し、当該画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）をＫ１に更新するようにしていることを特徴とする画像圧縮装置。
【請求項７】
請求項３から請求項６のいずれか一項において、
前記画像改変手段は、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ−１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ−１，ｊ）内の全てのＮ×Ｎ画素が画素値Ｓ（（ｉ−１）×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、
当該画素対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ＋１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ＋１，ｊ）内の全てのＮ×Ｎ画素が画素値Ｓ（（ｉ＋１）×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ＋１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ＋１）内の全てのＮ×Ｎ画素が画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ＋１）×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、
当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ―１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ―１）内の全てのＮ×Ｎ画素が画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ−１）×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにしていることを特徴とする画像圧縮装置。
【請求項８】
請求項１から請求項７のいずれか一項において、
前記原画像データは、電子文書ファイルに貼り込まれたものであり、
前記第２の画像圧縮手段をその一部として備え、前記電子文書ファイルに貼り込まれた前記原画像データから前記圧縮補正画像データを作成するとともに、前記電子文書ファイルを所定の形式で符号化する電子文書符号化手段を、
更に有することを特徴とする画像圧縮装置。
【請求項９】
請求項１から請求項８のいずれか一項に記載の画像圧縮装置として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の圧縮に関し、特に、圧縮の際に生じる場合が多い圧縮ノイズの発生を低減するための技術に関する。
【背景技術】
【０００２】
電子文書の標準的な方式としてAdobe Systemsが提案したＰＤＦ (Portable Document Format：登録商標)は、ＩＳＯ標準になり、当初のプリント出力物を画面で閲覧できるようにするといった用途を超えて、ハイエンドでは印刷製版分野でのデータ交換からローエンドでは携帯情報端末での文書閲覧に至るまで広範な分野に普及した。印刷製版分野では、データ量の制約等は考慮せず、できるだけ高精細な画像や文字フォントを埋め込んでデータ交換すれば良い。しかし、ＰＣに比べ画面や処理能力が小さい電子書籍端末やタブレット端末で閲覧される用途においては、データ量をあまり大きくすることができず、表示品質面で新規な問題が生じてきた。
【０００３】
印刷物の画像には本文のテキストとは別にキャプション文字が含まれることがあり、近年は画像としてコンピュータ画面をキャプチャしたものが多用され、メニュー画面など小さな文字が付加されていることが多い。このような画像中のキャプション文字に対して、印刷物ではルーペで拡大すれば大抵判読できるが、ディスプレイ画面ではルーペに相当するズーム処理を行うと画素がモザイク状になり、読めないケースが目立つようになった。このような画像中のキャプション文字をディスプレイ画面で判読可能とするためには、元々の画像解像度を比較的高く設定し、圧縮率を大きく（低品質）する必要がある。圧縮率を大きくした場合、画像中の文字部分の輪郭部にモスキートノイズが目立つようになり、デザイン的な美観を損なうという問題がある。
【０００４】
モスキートノイズとは、蚊が群がっているように見えるノイズであり、大きな明暗差がある輪郭部分で目立つ画像の乱れである。文字を内容とする画像では、文字と背景（文字以外）の境界である文字の輪郭部分において、モスキートノイズが発生する。図８に、内容として文字が表現された原画像と、圧縮後に伸張した画像を比較した表示例を示す。原画像を示す図８（ａ）と圧縮後に伸張した画像を示す図８（ｂ）を比較すると、図８（ｂ）の圧縮後に伸張した画像では、モスキートノイズが目立つことがわかる。このモスキートノイズは、ＪＰＥＧ符号化方式等のＤＣＴ（離散コサイン変換）符号化を用いる圧縮に起因するものであり、ＤＣＴ符号化を使用しない従来の印刷物では発生せず、電子文書特有の現象であるため、印刷物に比べ品質面で劣るという印象を与えてしまう。
【０００５】
ＪＰＥＧ符号化方式では、８×８画素（色成分は１６×１６画素）のブロック単位に独立してＤＣＴ符号化を行う方法をとっている。そのため、ブロック間で段差が発生するブロックノイズ（ブロック歪ともいわれる）と、ＤＣＴ復号化時に高域成分が欠如することによって生じるモスキートノイズの２種類のノイズが原理的に発生する。これらの問題はＪＰＥＧ符号化方式が開発された当時から知られており、これを改善したＪＰＥＧ２０００という符号化方式も提案されている。ＪＰＥＧ２０００ではＪＰＥＧにおけるＤＣＴの代わりにウェーブレット変換を使用するようにしたもので、品質面での優位性は認められているが、計算コスト面での問題を考慮するとコストメリットにおいて今一つで、標準化が進められたが普及がなかなか進まなかった。ＰＤＦ文書でも規格上はＪＰＥＧ２０００をサポートするが、端末側にＪＰＥＧ２０００のデコーダが搭載されているとは限らないため、ＰＤＦ作成時には従来のＪＰＥＧを使用することが推奨される。また、ＪＰＥＧ復号化された画像のブロックノイズやモスキートノイズを画像処理で削減し、尖鋭化を図る手法が提案されている（特許文献１−３参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４００２５９９号公報
【特許文献２】特許第４４５７３４６号公報
【特許文献３】特開２０１１-１８２０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１−３に記載の技術では、いずれも、ＰＤＦ文書内のＪＰＥＧ画像に対して、これらの技術を適用するために、ＰＤＦ閲覧ソフトウェア内にこれらの技術を実装する必要があり、現在普及しているAdobe Readerなど既存のＰＤＦ閲覧ソフトウェアを使用するだけでは、モスキートノイズを低減することは難しいという問題がある。
【０００８】
そこで、本発明は、閲覧時に、普及しているソフトウェアをそのまま用いて通常通り復号化を行うだけで、モスキートノイズが低減された復号化像を得ることを可能にする画像圧縮装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明第１の態様では、原画像データに対して圧縮を施す装置であって、原画像データに対して所定の圧縮率で符号化を施し圧縮画像データを作成する第１の画像圧縮手段と、前記圧縮画像データに対して復号化による伸張を施し伸張画像データを作成する画像伸張手段と、前記原画像データに対して、画素単位で、前記原画像データの画素値から対応する前記伸張画像データの画素値を減算し、減算の結果得られた差分値に所定の割合α（０＜α＜１）を乗算し、前記原画像データの画素値に加算した値を用いて前記原画像データを補正して補正画像データを作成する画像補正手段と、前記補正画像データに対して前記圧縮率で符号化を施し圧縮補正画像データを作成する第２の画像圧縮手段と、を備えていることを特徴とする画像圧縮装置を提供する。
【００１０】
本発明第１の態様によれば、原画像データに対して所定の圧縮率で符号化を施し圧縮画像データを作成し、圧縮画像データに対して復号化による伸張を施し伸張画像データを作成し、画素単位で、原画像データの画素値から対応する伸張画像データの画素値を減算させ、減算の結果得られた差分値に所定の割合αを乗算し原画像データの画素値に加算した値を用いて原画像データを補正し、得られた補正画像データに対して圧縮符号化を施し圧縮補正画像データを作成するようにしたので、モスキートノイズが発生した伸張画像データを原画像データから減じたものを原画像データに重畳させることになり、単一階調の文字と単一階調の背景等、実質的に二値で表現された場合の背景を中間階調に変換することができる。この結果、閲覧時に、普及しているソフトウェアを用いた復号化を行うだけで、モスキートノイズが低減された復号化像を得ることが可能となる。
【００１１】
また、本発明第２の態様では、前記画像補正手段は、前記原画像データの画素値から対応する前記伸張画像データの画素値を減算し、減算の結果得られた差分値に所定の割合αを乗算し、前記原画像データの画素値に加算した値から、さらに所定の値β（０＜β＜２５５）だけ減算し、前記原画像データを補正して補正画像データを作成することを特徴とする。
【００１２】
本発明第２の態様によれば、原画像データの画素値から対応する伸張画像データの画素値を減算させた差分値に所定の割合αだけ乗算して、原画像データの画素値に加算した値から、さらにレベルオフセットβだけ減算して原画像データを補正するようにしたので、画像に表現された内容に応じた画素値の微調整が可能となる。
【００１３】
また、本発明第３の態様では、前記原画像データを、Ｎ×Ｎ画素（Ｎ＞１）のＳｘ×Ｓｙ個のブロック（ｉ，ｊ）（０≦ｉ≦Ｓｘ−１、０≦ｊ≦Ｓｙ−１）に分割するブロック分割手段と、前記分割された各ブロックを対象ブロック（ｉ，ｊ）とし、対象ブロック内の最外周に画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）＜Ｋ１（０≦ｋ≦Ｎ−１，０≦ｍ≦Ｎ−１）を満たす画素が存在し、最外周の画素以外の内側画素が全て画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に、前記最外周の画素に隣接するブロックであるブロック（ｉ−1，ｊ）、ブロック（ｉ＋1，ｊ）、ブロック（ｉ，ｊ−１）またはブロック（ｉ，ｊ＋１）のいずれかの隣接ブロック内の前記対象ブロックと隣接する画素の値を前記対象ブロック内の隣接する画素の値に置換し、前記対象ブロック内の最外周の画素の値を前記Ｋ１以上の値に変更することにより、前記対象ブロック内の最外周の画素が前記隣接ブロックに移動されたように見える改変を施す画像改変手段と、をさらに有し、前記画像改変手段により改変が施された原画像データに対して、前記第１の画像圧縮手段、前記画像伸張手段、前記画像補正手段、前記第２の画像圧縮手段による処理が行われるようにしていることを特徴とする。
【００１４】
本発明第３の態様によれば、第１の画像圧縮手段、画像伸張手段、画像補正手段、第２の画像圧縮手段による処理の前に、原画像データに対してＮ×Ｎ画素のブロック（ｉ，ｊ）（０≦ｉ≦Ｓｘ−１、０≦ｊ≦Ｓｙ−１）に分割し、分割された各ブロックを対象ブロック（ｉ，ｊ）とし、対象ブロック内の最外周に画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす画素が存在し、最外周以外の内側画素が全て画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に、最外周の画素に隣接する隣接ブロック内の対象ブロックと隣接する画素の値を対象ブロック内の隣接する画素の値に置換し、対象ブロック内の最外周の画素の値をＫ１以上の値に変更することにより、対象ブロック内の最外周の画素が隣接するブロックに移動されたように見える改変を施すようにしたので、あるブロックの内側画素が全て背景色である場合、ブロック内の全画素を背景色に変更することができ、全画素が背景色でモスキートノイズが原理的に発生しないブロックの数を増やすことができるため、モスキートノイズを低減することが可能となる。
【００１５】
また、本発明第４の態様では、前記ブロック分割手段は前記ブロックのサイズであるＮ×Ｎ画素として、ＪＰＥＧ圧縮アルゴリズムのＤＣＴ符号化サイズと同じ８×８画素または１６×１６画素を設定するようにしていることを特徴とする。
【００１６】
本発明第４の態様によれば、ブロック分割する際のＮ×Ｎ画素のブロックのサイズをＪＰＥＧ圧縮アルゴリズムのＤＣＴ符号化サイズと同一になるようにしたので、特にＪＰＥＧ圧縮する際のＤＣＴ符号化に伴うモスキートノイズの発生を局所的に阻止することが可能となる。
【００１７】
また、本発明第５の態様では、前記画像改変手段は、前記隣接ブロック内に画素値が前記Ｋ１未満である画素が存在する場合にのみ、前記改変を行うようにしていることを特徴とする。
【００１８】
本発明第５の態様によれば、隣接ブロック内に画素値ＳがＫ１未満である画素が存在する場合にのみ、改変を行うようにしているので、隣接ブロック内の全画素が背景色で隣接ブロックで元々モスキートノイズが発生しない場合に、隣接ブロックに改変を行うことにより隣接ブロックから新たにモスキートノイズが発生するようになることを防ぐことができる。
【００１９】
本発明第６の態様では、前記画像改変手段は、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ−１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）＜Ｋ１（ただし、０≦ｍ≦Ｎ−１）を満たす場合、隣接ブロック（ｉ−１，ｊ）内の画素の画素値Ｓ（（ｉ−１）×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）により置換し、当該画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）をＫ１に更新するようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ＋１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ＋１，ｊ）内の画素値Ｓ（（ｉ＋１）×Ｎ，ｊ×Ｎ＋ｍ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）により置換し、当該画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）をＫ１に更新するようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ＋１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）＜Ｋ１（ただし、０≦ｋ≦Ｎ−１）を満たす場合、隣接ブロック（ｉ，ｊ＋１）内の画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ＋１）×Ｎ）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）により置換し、当該画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）をＫ１に更新するようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ―１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ―１）内の画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ−１）×Ｎ＋Ｎ−１）を前記対象ブロック内の画素の画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）により置換し、当該画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）をＫ１に更新するようにしていることを特徴とする。
【００２０】
本発明第６の態様によれば、前記改変を、対象ブロック内の最外周の画素のうち、特定の隣接ブロックと隣接する最外周の画素の値と、それらの各画素と隣接する画素に対して行うようにしたので、隣接ブロックの画素は、直接隣接する画素の値に応じて改変されることになり、実質的な画像の改変を最小限に抑えることが可能となる。
【００２１】
本発明第７の態様では、前記画像改変手段は、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ−１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ，ｊ×Ｎ＋ｍ）＜Ｋ１（ただし、０≦ｍ≦Ｎ−１）を満たす場合、隣接ブロック（ｉ−１，ｊ）内の全てのＮ×Ｎ画素が画素値Ｓ（（ｉ−１）×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ＋１，ｊ）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋Ｎ−１，ｊ×Ｎ＋ｍ）＜Ｋ１を満たす場合、隣接ブロック（ｉ＋１，ｊ）内の全てのＮ×Ｎ画素が画素値Ｓ（（ｉ＋１）×Ｎ＋ｋ，ｊ×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ＋１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ＋Ｎ−１）＜Ｋ１（ただし、０≦ｋ≦Ｎ−１）を満たす場合、隣接ブロック（ｉ，ｊ＋１）内の全てのＮ×Ｎ画素が画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ＋１）×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにし、当該画素が対象ブロック（ｉ，ｊ）内の画素であり、隣接ブロック（ｉ，ｊ―１）と接する位置にあり、画素値Ｓ（ｉ×Ｎ＋ｋ，ｊ×Ｎ）＜Ｋ１を満たす場合、隣接ブロック（ｉ，ｊ―１）内の全てのＮ×Ｎ画素が画素値Ｓ（ｉ×Ｎ＋ｋ，（ｊ−１）×Ｎ＋ｍ）≧Ｋ１を満たす場合に前記改変を行うようにしていることを特徴とする。
【００２２】
本発明第７の態様によれば、対象ブロック内の最外周の画素のうち、特定の隣接ブロックに隣接する最外周の画素に、Ｋ１未満となる画素が存在する場合、その特定の隣接ブロックの全画素の画素値がＫ１以上である場合には、前記改変を行わないようにしたので、隣接ブロック内の全画素が背景色でモスキートノイズが元々発生しない場合に、隣接ブロックに改変を行うことにより新たにモスキートノイズを発生させることを防ぐことができる。
【００２３】
本発明第８の態様では、前記原画像データは、電子文書ファイルに貼り込まれたものであり、前記第２の画像圧縮手段をその一部として備え、前記電子文書ファイルに貼り込まれた前記原画像データから前記圧縮補正画像データを作成するとともに、前記電子文書ファイルを所定の形式で符号化する電子文書符号化手段を、更に有することを特徴とする。
【００２４】
本発明第８の態様によれば、原画像データが、電子文書ファイルに貼り込まれたものであり、電子文書ファイルに貼り込まれた原画像データから圧縮補正画像データを作成するとともに、電子文書ファイルを所定の形式で符号化するようにしたので、原画像データが貼り込まれた電子文書ファイルを符号化する際に、同時に原画像データを圧縮符号化することが可能となる。
【発明の効果】
【００２５】
本発明によれば、閲覧時に、普及しているソフトウェアを用いた復号化を行うだけで、モスキートノイズが低減された復号化像を得ることが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係る画像圧縮装置のハードウェア構成図である。
【図２】本発明第１の実施形態に係る画像圧縮装置の構成を示す機能ブロック図である。
【図３】本発明第１の実施形態に係る画像圧縮装置の処理概要を示すフローチャートである。
【図４】画像改変処理（Ｓ１０）の詳細を示すフローチャートである。
【図５】補正画像作成処理（Ｓ３０）の詳細を示すフローチャートである。
【図６】画像改変処理（Ｓ１０）によるブロックの改変の様子を示す図である。
【図７】本発明第２の実施形態に係る画像圧縮装置の構成を示す機能ブロック図である。
【図８】内容として文字が表現された原画像と、圧縮後に伸張した画像を比較した表示例を示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の好適な実施形態について図面を参照して詳細に説明する。
＜１．第１の実施形態＞
＜１．１．装置構成＞
図１は、本発明第１の実施形態に係る画像圧縮装置のハードウェア構成図である。本実施形態に係る画像圧縮装置は、汎用のコンピュータで実現することができ、図１に示すように、ＣＰＵ（Central Processing Unit）１と、コンピュータのメインメモリであるＲＡＭ（Random Access Memory）２と、ＣＰＵ１が実行するプログラムやデータを記憶するためのハードディスク、フラッシュメモリ等の大容量の記憶装置３と、キーボード、マウス等のキー入力Ｉ／Ｆ（インターフェース）４と、データ記憶媒体等の外部装置とデータ通信するためのデータ入出力Ｉ／Ｆ（インターフェース）５と、液晶ディスプレイ等の表示デバイスである表示部６と、を備え、互いにバスを介して接続されている。
【００２８】
図２は、本実施形態に係る画像圧縮装置の構成を示す機能ブロック図である。図２において、１０はブロック分割手段、２０は画像改変手段、３０は第１の画像圧縮手段、４０は画像伸張手段、５０は画像補正手段、６０は第２の画像圧縮手段、７０は原画像記憶手段、８０は圧縮補正画像記憶手段である。
【００２９】
ブロック分割手段１０は、原画像記憶手段７０に記憶された原画像データをＮ×Ｎ画素（Ｎ＞１）の複数のブロックに分割する。画像改変手段２０は、各ブロックを対象ブロック（ｉ，ｊ）としたとき、対象ブロック内の画素の値が所定の条件を満たす場合に、隣接するブロックである（ｉ−１，ｊ）番目、（ｉ＋１，ｊ）番目、（ｉ，ｊ−１）番目または（ｉ，ｊ＋１）番目のいずれかの隣接ブロック内の画素と、対象ブロック内の画素の双方の画素値を変化させることにより原画像データの改変を行う。
【００３０】
第１の画像圧縮手段３０は、改変された原画像データに対して所定の圧縮率で符号化を施し圧縮画像データを作成する。画像伸張手段４０は、第１の画像圧縮手段３０により得られた圧縮画像データに対して復号化による伸張を施し伸張画像データを作成する。画像補正手段５０は、画素単位で、改変された原画像データの画素値から対応する伸張画像データの画素値を減算させ、減算させた差分値に所定の割合αだけ乗算し原画像データの画素値に加算するとともに、原画像データの画素値に対して所定の値βだけ減算させて、原画像データを補正して補正画像データを作成する。第２の画像圧縮手段６０は、補正画像データに対して所定の圧縮率で符号化を施し圧縮補正画像データを作成する。
【００３１】
原画像記憶手段７０は、処理対象である原画像データを記憶した記憶手段であり、記憶装置３により実現される。本実施形態では、原画像記憶手段７０に記憶された原画像データは、モノクロの多階調画像である。圧縮補正画像記憶手段８０は、圧縮補正画像データを記憶する記憶手段であり、記憶装置３により実現される。ブロック分割手段１０、画像改変手段２０、第１の画像圧縮手段３０、画像伸張手段４０、画像補正手段５０、第２の画像圧縮手段６０は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。
【００３２】
図２に示した各構成手段は、現実には図１に示したように、コンピュータおよびその周辺機器等のハードウェアに専用のプログラムを搭載することにより実現される。すなわち、コンピュータが、専用のプログラムに従って各手段の内容を実行することになる。なお、本明細書において、コンピュータとは、ＣＰＵ等の演算処理部を有し、データ処理が可能な装置を意味し、画像品質の確認を行うことができる画面サイズと解像度を備え、画像の解像度変換や圧縮処理などの演算を実用的な応答速度で処理可能な演算速度をもつＣＰＵや記憶装置を備えたデスクトップ型、ノート型、タブレット型等のパーソナルコンピュータである。
【００３３】
図１に示した記憶装置３には、ＣＰＵ１を動作させ、コンピュータを、画像圧縮装置として機能させるための専用のプログラムが実装されている。この専用のプログラムを実行することにより、ＣＰＵ１は、ブロック分割手段１０、画像改変手段２０、第１の画像圧縮手段３０、画像伸張手段４０、画像補正手段５０、第２の画像圧縮手段６０としての機能を実現することになる。また、記憶装置３は、原画像記憶手段７０、圧縮補正画像記憶手段８０として機能するだけでなく、画像圧縮装置としての処理に必要な様々なデータを記憶する。
【００３４】
＜１．２．処理動作＞
次に、図１、図２に示した画像圧縮装置の処理動作について説明する。図３は、画像圧縮装置の処理全体の概要を示すフローチャートである。図３に示すように、画像圧縮装置は、まず、ブロック分割手段１０、画像改変手段２０が、画像改変処理（ステップＳ１０）を実行した後、第１の画像圧縮手段３０、画像伸張手段４０、画像補正手段５０が、補正画像作成処理（ステップＳ３０）を実行し、第２の画像圧縮手段６０が、圧縮符号化処理（ステップＳ５０）を実行する。
【００３５】
まず、図４のフローチャートを用いてステップＳ１０の画像改変処理の詳細について説明する。画像改変処理Ｓ１０においては、まず、ブロック分割手段１０が、原画像データを、Ｓｘ×Ｓｙ個の複数のブロックに分割する。全てのブロックは、Ｎ×Ｎ画素で構成され、同一サイズであるものとする。ブロックを特定する変数をｉ，ｊ（０≦ｉ≦Ｓｘ−１、０≦ｊ≦Ｓｙ−１）、ブロック内における画素を特定する変数をｋ，ｍ（０≦ｋ≦Ｎ−１、０≦ｍ≦Ｎ）とすると、原画像内の各画素の画素値は、Ｓ（ｉ×８＋ｋ、ｊ×８＋ｍ）で表現される。各画素の画素値は８ビットで表現されるため、Ｓ（ｉ×８＋ｋ、ｊ×８＋ｍ）は０〜２５５の整数値をとる。なお、本実施形態では、Ｎ＝８としており、１ブロックは８×８画素で構成される。これは、圧縮符号化方式としてＪＰＥＧを採用した場合に適した値であり、採用した圧縮符号化方式が異なる画素数単位で変換を行う場合、それに適したＮの値を設定することができる。以降、原画像データにおける（ｉ，ｊ）番目のブロックを処理対象のブロックである対象ブロックとし、対象ブロックに隣接する（ｉ−１，ｊ）番目、（ｉ＋１，ｊ）番目、（ｉ，ｊ−１）番目、（ｉ，ｊ＋１）番目のブロックを隣接ブロックと呼ぶことにする。
【００３６】
以降のステップＳ１１からステップＳ２３の処理は、画像改変手段２０により行われる。画像改変手段２０は、まず、ｉ＝０，ｊ＝０に設定し、ブロック（０，０）を対象ブロックとして処理を行う。図４のフローチャートでは、１つのブロックを対象ブロックとして特定した場合における、その対象ブロックに対する処理を示している。まず、対象ブロック内の内側画素の画素値が全て所定値Ｋ１以上であるか否かの判断を行う（ステップＳ１１）。ここで、「内側画素」とは、他のブロックに隣接する最外周画素以外の画素を意味する。したがって、１ブロックが８×８画素で構成される場合、最外周画素は２８個、内側画素は６×６＝３６個となる。図６（ａ）の例では、太枠で囲まれた８×８画素の対象ブロックのうち、黒丸が配置されている画素が最外周画素、それ以外の画素が内側画素である。
【００３７】
内側画素の画素値と比較するための所定値Ｋ１としては、適宜設定することが可能であるが、本実施形態では、８ビットの画素がとり得る最大値である“２５５”としている。所定値Ｋ１として最大値２５５を設定するのは、通常、文字を画像として表現する場合、文字部分とそれ以外の部分を二値で表現し、文字以外の部分を最大値で表現するためである。文字以外の部分が最大値以外の値で表現されていることがわかっている場合は、その値を含めるように所定値Ｋ１を設定する。実際には、所定値Ｋ１は２００≦Ｋ１≦２５５の範囲で設定することが好ましい。
【００３８】
ステップＳ１１における判断の結果、内側画素の全ての画素値が所定値以上である場合、その対象ブロックに対して改変を行うため、ステップＳ１２に進む。ステップＳ１１における判断の結果、内側画素において画素値が所定値Ｋ１未満となる画素が１つでも存在した場合は、その対象ブロックに対する改変処理は行わない。
【００３９】
以降のステップＳ１２〜Ｓ２３の１２ステップの処理は、３ステップずつに４つに区分され、３ステップ単位で４方向のうちの１方向に対する処理が行われる。なお、以下の例では、便宜上、４方向として、左、右、上、下を用いるが、これに限定されない。図４の例では、ステップＳ１２〜Ｓ１４で左端側の処理、ステップＳ１５〜Ｓ１７で右端側の処理、ステップＳ１８〜Ｓ２０で上端側の処理、ステップＳ２１〜Ｓ２３で下端側の処理を行うようにしているが、３ステップ単位で順番を入れ替えることも可能である。
【００４０】
まず、対象ブロック内の左端画素の中で画素値が所定値Ｋ１未満である画素が存在するか否かの判断を行う（ステップＳ１２）。ステップＳ１２における判断の結果、左端画素の中で画素値が所定値Ｋ１未満である画素が存在する場合、ステップＳ１３に進む。ステップＳ１２における判断の結果、左端画素において画素値が所定値Ｋ１未満となる画素が１つも存在しない場合は、左端画素の改変処理は行わない。
【００４１】
ステップＳ１２における判断の結果、左端画素の中で画素値が所定値Ｋ１未満となる画素が存在する場合、左側に隣接する隣接ブロックに画素値が所定値未満となる画素が１つでも存在するか否かの判断を行う（ステップＳ１３）。ステップＳ１３における判断の結果、左側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つも存在しない場合（全ての画素の画素値が所定値Ｋ１以上である場合）は、左端画素の改変処理は行わない。
【００４２】
ステップＳ１３における判断の結果、左側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つでも存在する場合は、対象ブロックの中で左端画素の画素値が所定値Ｋ１未満となる画素の左側に隣接する隣接ブロックの右端画素の画素値を前記左端画素の画素値に変更する（ステップＳ１４）。さらに、対象ブロックの前記左端画素の画素値を所定値Ｋ１に変更する。
【００４３】
具体的には、画素値をＳとした場合、左側に隣接する隣接ブロックの右端画素の画素値を対象ブロックの左端画素の画素値に変更する処理として、Ｓ（ｉ×８、ｊ×８＋ｍ）＜Ｋ１の場合、Ｓ（（ｉ−１）×８＋７、ｊ×８＋ｍ）←Ｓ（ｉ×８、ｊ×８＋ｍ）を実行し、対象ブロックの左端画素の画素値を所定値Ｋ１に変更する処理として、Ｓ（ｉ×８、ｊ×８＋ｍ）←Ｋ１を実行する。なお、対象ブロックが画像データの左端に位置し、左側に隣接する隣接ブロックが存在しない場合（ｉ＝０の場合）には、ステップＳ１２〜ステップＳ１４の処理は行わない。
【００４４】
次に、対象ブロック内の右端画素の中で画素値が所定値Ｋ１未満である画素が存在するか否かの判断を行う（ステップＳ１５）。ステップＳ１５における判断の結果、右端画素の中で所定値Ｋ１未満である画素が存在する場合、ステップＳ１６に進む。ステップＳ１５における判断の結果、右端画素において画素値が所定値Ｋ１未満となる画素が１つも存在しない場合は、右端画素の改変処理は行わない。
【００４５】
ステップＳ１５における判断の結果、右端画素の中で画素値が所定値Ｋ１未満となる画素が存在する場合、右側に隣接する隣接ブロックに画素値が所定値Ｋ１未満となる画素が１つでも存在するか否かの判断を行う（ステップＳ１６）。ステップＳ１６における判断の結果、右側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つも存在しない場合（全ての画素の画素値が所定値Ｋ１以上である場合）は、右端画素の改変処理は行わない。
【００４６】
ステップＳ１６における判断の結果、右側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つでも存在する場合は、対象ブロックの中で右端画素の画素値が所定値Ｋ１未満となる画素の右側に隣接する隣接ブロックの左端画素の画素値を前記右端画素の画素値に変更する（ステップＳ１７）。さらに、対象ブロックの前記右端画素の画素値を所定値Ｋ１に変更する。
【００４７】
具体的には、画素値をＳとした場合、右側に隣接する隣接ブロックの左端画素の画素値を対象ブロックの右端画素の画素値に変更する処理として、Ｓ（ｉ×８＋７、ｊ×８＋ｍ）＜Ｋ１の場合、Ｓ（（ｉ＋１）×８、ｊ×８＋ｍ）←Ｓ（ｉ×８＋７、ｊ×８＋ｍ）を実行し、対象ブロックの右端画素の画素値を所定値Ｋ１に変更する処理として、Ｓ（ｉ×８＋７、ｊ×８＋ｍ）←Ｋ１を実行する。なお、対象ブロックが画像データの右端に位置し、右側に隣接する隣接ブロックが存在しない場合（ｉ＝Ｓｘ−１の場合）には、ステップＳ１５〜ステップＳ１７の処理は行わない。
【００４８】
次に、対象ブロック内の上端画素の中で画素値が所定値Ｋ１未満である画素が存在するか否かの判断を行う（ステップＳ１８）。ステップＳ１８における判断の結果、上端画素の中で画素値が所定値Ｋ１未満である画素が存在する場合、ステップＳ１９に進む。ステップＳ１８における判断の結果、上端画素において画素値が所定値Ｋ１未満となる画素が１つも存在しない場合は、上端画素の改変処理は行わない。
【００４９】
ステップＳ１８における判断の結果、上端画素の中で画素値が所定値Ｋ１未満となる画素が存在する場合、上側に隣接する隣接ブロックに画素値が所定値Ｋ１未満となる画素が１つでも存在するか否かの判断を行う（ステップＳ１９）。ステップＳ１９における判断の結果、上側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つも存在しない場合（全ての画素の画素値が所定値以上である場合）は、上端画素の改変処理は行わない。
【００５０】
ステップＳ１９における判断の結果、上側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つでも存在する場合は、対象ブロックの中で上端画素の画素値が所定値Ｋ１未満となる画素の上側に隣接する隣接ブロックの下端画素の画素値を前記上側画素の画素値に変更する（ステップＳ２０）。さらに、対象ブロックの前記上端画素の画素値を所定値Ｋ１に変更する。
【００５１】
具体的には、画素値をＳとした場合、上側に隣接する隣接ブロックの下端画素の画素値を対象ブロックの上端画素の画素値に変更する処理として、Ｓ（ｉ×８＋ｋ、ｊ×８＋７）＜Ｋ１の場合、Ｓ（ｉ×８＋ｋ、（ｊ＋１）×８）←Ｓ（ｉ×８＋ｋ、ｊ×８＋７）を実行し、対象ブロックの上端画素の画素値を所定値Ｋ１に変更する処理として、Ｓ（ｉ×８＋ｋ、ｊ×８＋７）←Ｋ１を実行する。なお、対象ブロックが画像の上端に位置し、上側に隣接する隣接ブロックが存在しない場合（ｊ＝Ｓｙ−１の場合）には、ステップＳ１８〜ステップＳ２０の処理は行わない。
【００５２】
次に、対象ブロック内の下端画素の中で画素値が所定値Ｋ１未満である画素が存在するか否かの判断を行う（ステップＳ２１）。ステップＳ２１における判断の結果、下端画素の中で画素値が所定値Ｋ１未満である画素が存在する場合、ステップＳ２２に進む。ステップＳ２１における判断の結果、下端画素において画素値が所定値Ｋ１未満となる画素が１つも存在しない場合は、下端画素の改変処理は行わない。
【００５３】
ステップＳ２１における判断の結果、下端画素の中で画素値が所定値Ｋ１未満である画素が存在する場合、下側に隣接する隣接ブロックに画素値が所定値Ｋ１未満となる画素が１つでも存在するか否かの判断を行う（ステップＳ２２）。ステップＳ２２における判断の結果、下側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つも存在しない場合（全ての画素の画素値が所定値Ｋ１以上である場合）は、下端画素の改変処理は行わない。
【００５４】
ステップＳ２２における判断の結果、下側に隣接する隣接ブロックにおいて画素値が所定値Ｋ１未満となる画素が１つでも存在する場合は、対象ブロックの中で下端画素の画素値が所定値Ｋ１未満の画素の下側に隣接する隣接ブロックの上端画素の画素値を前記下側画素の画素値に変更する（ステップＳ２３）。さらに、対象ブロックの下端画素の画素値を所定値Ｋ１に変更する。
【００５５】
具体的には、画素値をＳとした場合、下側に隣接する隣接ブロックの上端画素の画素値を対象ブロックの下端画素の画素値に変更する処理として、Ｓ（ｉ×８＋ｋ、ｊ×８）＜Ｋ１の場合、Ｓ（ｉ×８＋ｋ、（ｊ−１）×８＋７）←Ｓ（ｉ×８＋ｋ、ｊ×８）を実行し、対象ブロックの下端画素の画素値を所定値Ｋ１に変更する処理として、Ｓ（ｉ×８＋ｋ、ｊ×８）←Ｋ１を実行する。なお、対象ブロックが画像データの下端に位置し、下側に隣接する隣接ブロックが存在しない場合（ｊ＝０の場合）には、ステップＳ２１〜ステップＳ２３の処理は行わない。
【００５６】
ｉ、ｊの値を０≦ｉ≦Ｓｘ−１、０≦ｊ≦Ｓｙ−１の範囲で変化させながら、Ｓｘ×Ｓｙ個の全てのブロックを対象ブロックとして、図４に示したステップＳ１１〜Ｓ２３の処理を実行することにより、ステップＳ１０の画像改変処理が完了する。
【００５７】
図６は、ステップＳ１０の画像改変処理によるブロックの改変の様子を示す図である。図６は、原画像データ中の一部を示すものであり、各升目は画素、太枠で囲った８×８個の画素は対象ブロックを示している。また、黒丸が配置された画素は、移動対象の画素を示し（画素値がＫ１未満とは限らない）、黒丸が配置されていない画素は、移動対象でない画素（画素値は全てＫ１以上）を示している。また、図６（ａ）は、画像改変処理による改変対象画素、図６（ｂ）は、画像改変処理による改変方向を示し、矢印で示されている少なくとも１つの画素が矢印の方向に改変されることを示している。上述のように、原画像データの改変を行う条件として、対象ブロック内の内側画素の画素値が全てＫ１以上である必要がある。図６（ａ）の例では、内側画素の画素値が全てＫ１以上であるため、条件を満たしている。また、図６（ａ）の例では、最外周画素の少なくとも１つの画素の画素値がＫ１未満であると仮定する。対象ブロック内の最外周画素のうち、画素値がＫ１未満である画素が１つでも存在すれば良いため、原画像データの改変を行う条件を満たしている。
【００５８】
図４のフローチャートに示した例では、左側、右側、上側、下側の順序で改変が行われる。従って、図６の例では、隣接ブロック（ｉ−１，ｊ）、隣接ブロック（ｉ＋１，ｊ）、隣接ブロック（ｉ，ｊ＋１）、隣接ブロック（ｉ，ｊ−１）の順序で処理が行われる。このため、左側の隣接ブロック（ｉ−１，ｊ）と右側の隣接ブロック（ｉ＋１，ｊ）が、上側の隣接ブロック（ｉ，ｊ＋１）と下側の隣接ブロック（ｉ，ｊ−１）よりも優先して行われることにより、対象ブロック内の四隅の画素の画素値は、左側の隣接ブロック（ｉ−１，ｊ）、右側の隣接ブロック（ｉ＋１，ｊ）に与えられている。図４のフローチャートに示した順番を変更した場合には、四隅の画素の画素値が上側の隣接ブロック（ｉ，ｊ＋１）、下側の隣接ブロック（ｉ，ｊ−１）に与えられる場合もある。
【００５９】
次に、図５のフローチャートを用いてステップＳ３０の補正画像作成処理の詳細について説明する。まず、第１の画像圧縮手段３０が、画像改変処理により改変された原画像データに対して、符号化仮処理を実行する（ステップＳ３１）。具体的には、後述の実際の圧縮符号化時と同一の条件で、改変された原画像データの圧縮符号化を行い、圧縮画像データを得る。本実施形態では、ＪＰＥＧ符号化を行うことになる。ステップＳ３１の処理を「符号化仮処理」と呼んでいるのは、後述の実際の圧縮符号化と区別するためであり、実際には、実際の圧縮符号化と全く同一の処理である。
【００６０】
次に、画像伸張手段４０が、圧縮画像データに対して、復号化仮処理を実行する（ステップＳ３２）。本実施形態では、ＪＰＥＧ復号化を行うことになる。復号化仮処理の結果、圧縮画像データが伸張され、伸張画像データが得られる。ステップＳ３２の処理を「復号化仮処理」と呼んでいるのは、ステップＳ３１の「符号化仮処理」に対応した処理であるためであり、実際には、閲覧時の復号化と全く同一の処理である。
【００６１】
続いて、画像補正手段５０が、画素を特定する変数の初期化を行う（ステップＳ３３）。具体的には、ｐ＝０，ｑ＝０に設定する。そして、画素（０，０）から処理を開始する。次に、画像補正手段５０は、原画像データの画素値Ｓ（ｐ，ｑ）が、所定値Ｋ２以上であるかどうかを判断する（ステップＳ３４）。本実施形態では、画素値が８ビットで０〜２５５の値をとる場合、所定値Ｋ２を“５０”に設定している。画素値Ｓ（ｐ，ｑ）が、所定値Ｋ２以上であるか否かの判断を行うのは、所定値Ｋ２に達しない暗い画素に対しては、処理を行う必要がないためである。所定値Ｋ２としては、適宜設定することが可能であるが、画素値が８ビットで表現され、０〜２５５の値をとる場合、１≦Ｋ２≦８０の範囲で設定することが好ましい。
【００６２】
ステップＳ３４における判断の結果、画素値Ｓ（ｐ，ｑ）が所定値Ｋ２以上である場合には、画像補正手段５０は、復号差分成分加算処理を実行する（ステップＳ３５）。具体的には、画素値Ｓ（ｐ，ｑ）、伸張画像データの画素値Ｄ（ｐ，ｑ）を用いて、以下の〔数式１〕に従った処理を実行することにより、補正画像データの補正画素値Ｓ´（ｐ，ｑ）を算出する。
【００６３】
〔数式１〕
Ｓ´（ｐ，ｑ）＝Ｓ（ｐ，ｑ）＋｛Ｓ（ｐ，ｑ）−Ｄ（ｐ，ｑ）｝×α−β
【００６４】
上記〔数式１〕において、αは補正強度、βはレベルオフセットである。本実施形態では、補正強度α＝０．５、レベルオフセットβ＝１に設定している。補正強度αは実数値であり、０＜α＜１の範囲、より好ましくは０．２５≦α≦０．７５の範囲で設定される。また、レベルオフセットβは整数値であり、０＜β＜２５５の範囲、より好ましくは１≦β≦２０の範囲で設定される。〔数式１〕において、｛Ｓ（ｐ，ｑ）−Ｄ（ｐ，ｑ）｝は、改変された原画像データの画素値Ｓ（ｐ，ｑ）から伸張画像データの画素値Ｄ（ｐ，ｑ）を減算したものであり、符号化により消失した成分を意味する。これが負の値となる場合は、符号化により生じたノイズ成分を意味する。実際には、伸張画像データ（ｐ，ｑ）においてモスキートノイズが発生している場合に、｛Ｓ（ｐ，ｑ）−Ｄ（ｐ，ｑ）｝は、モスキートノイズを除去した成分になっている。したがって、〔数式１〕においては、消失成分の付加またはノイズ成分の除去（モスキートノイズの除去）が補正強度αに応じて行われることになる。また、レベルオフセットβを設定しておくことにより、画素値の微調整が可能となる。ただし、改変を行っていない原画像データに対して符号化を行うことにより生じるモスキートノイズと、このような改変を行った原画像データに対して符号化を行うことにより生じるモスキートノイズには若干相違があるため、厳密な意味でモスキートノイズの除去を符号化前段階で行うことは不可能である。
【００６５】
画素値Ｓ（ｐ，ｑ）に対して、ステップＳ３５の復号差分成分加算処理を行ったら、原画像データ中の全ての画素に対して処理を終えたかどうかを判断する（ステップＳ３６）。具体的には、ｐについて、０からＳｘ×Ｎ−１まで、ｑについて、０からＳｙ×Ｎ−１まで処理を行ったかどうかを判断する。全ての画素に対して処理を終えていない場合は、変数を変更することにより画素を移動し、次の画素に対してステップＳ３５の復号差分成分加算処理を実行する。画素の移動は、ｐを０から１ずつインクリメントして、ｐ＝Ｓｘ×Ｎ−１に達したら、ｐ＝０に戻すと同時にｑを１インクリメントする、という順序で行い、ｑ＝Ｓｙ×Ｎ−１に達するまで行う。
【００６６】
ステップＳ３０における補正画像作成処理を終えたら、図３のフローチャートに示すように、第２の画像圧縮手段６０が、得られた補正画像データに対して圧縮符号化処理を実行する（ステップＳ５０）。ステップＳ５０における圧縮符号化処理は、ステップＳ３１における符号化仮処理と同一の条件で行う。したがって、本実施形態では、ＪＰＥＧ符号化を行うことになる。この結果、圧縮補正画像データが得られ、圧縮補正画像記憶手段８０に格納される。
【００６７】
＜２．第２の実施形態＞
図７は、第２の実施形態に係る画像圧縮装置の構成を示す機能ブロック図である。図７において、図２に示した第１の実施形態に係る画像圧縮装置と同一の機能を有する手段については、同一符号を付して説明を省略する。また、第２の実施形態では、ハードウェア構成は、第１の実施形態と同一であり、図１に示したようなものとなっている。第１の実施形態との違いは、原画像記憶手段７０に代えて電子文書ファイル記憶手段７１を備え、圧縮補正画像記憶手段８０に代えて符号化電子文書ファイル記憶手段８１を備え、電子文書符号化手段６１を更に備えている点である。
【００６８】
電子文書符号化手段６１は、電子文書ファイルに対して所定の形式で符号化を施し符号化電子文書ファイルを作成する。電子文書符号化手段６１は、第１の実施形態に示したものと同一の機能を有する第２の画像圧縮手段６０を備え、電子文書ファイルの符号化の際、圧縮補正画像データを作成する。電子文書ファイル記憶手段７１は、電子文書ファイルを記憶した記憶手段であり、記憶装置３により実現される。電子文書ファイルには、原画像データが貼り込まれており、貼り込まれた原画像データも電子文書ファイル記憶手段７１に記憶されている。符号化電子文書ファイル記憶手段８１は、符号化電子文書ファイルを記憶する記憶手段であり、記憶装置３により実現される。符号化電子文書ファイルには、圧縮補正画像データが貼り込まれており、貼り込まれた圧縮補正画像データも符号化電子文書ファイル記憶手段８１に記憶されている。ブロック分割手段１０、画像改変手段２０、第１の画像圧縮手段３０、画像伸張手段４０、画像補正手段５０、第２の画像圧縮手段６０、電子文書符号化手段６１は、ＣＰＵ１が、記憶装置３に記憶されているプログラムを実行することにより実現される。
【００６９】
処理動作については、原画像データの改変、補正、圧縮は、第１の実施形態と同一であり、図３〜図５のフローチャートに従って実行される。ただし、図３のフローチャートに示した原画像データの圧縮符号化処理（ステップＳ５０）の際、電子文書ファイルに対して所定の形式での符号化を行う。本実施形態では、ＰＤＦ形式による符号化を行っている。
【００７０】
得られた圧縮補正画像データを組み込んだＰＤＦ形式等の電子文書ファイルを、その文書形式に適した閲覧ソフトウェアを用いて表示させると、組み込まれた圧縮補正画像データが伸張されて表示された際、モスキートノイズが大幅に低減される。この際の閲覧ソフトウェアは、電子文書ファイルの形式に対応した汎用のものを利用することができる。
【００７１】
＜３．変形例等＞
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されず、種々の変形が可能である。例えば、上記実施形態では、ブロック分割手段１０、画像改変手段２０を備え、ブロック単位で行われる画像改変処理により原画像データを改変し、改変後の原画像データに対して、補正画像作成処理を行うようにしたが、ブロック分割手段１０、画像改変手段２０を備えることなく、画像改変処理を行わずに、原画像データに対して直接補正画像作成処理を行うようにしても良い。
【００７２】
また、上記実施形態では、画像補正手段５０が、補正強度αとレベルオフセットβを用いて、原画像データを補正するようにしたが、微調整をする必要がなければ、必ずしもレベルオフセットβを用いて減算を行う必要はない。
【００７３】
また、上記実施形態では、画像データの圧縮符号化形式としてＪＰＥＧを用いた場合を例にとって説明したが、所定画素数のブロック単位で圧縮処理を行う形式であれば、ＪＰＥＧ以外の圧縮符号化形式にも適用することが可能である。
【００７４】
また、上記第２の実施形態では、電子文書ファイルの形式としてＰＤＦを用いた場合を例にとって説明したが、所定画素数のブロック単位で圧縮処理を行う画像データを貼付した電子文書ファイルであれば、電子文書ファイルの形式に関わらず、対応することが可能である。
【符号の説明】
【００７５】
１・・・ＣＰＵ（Central Processing Unit）
２・・・ＲＡＭ（Random Access Memory）
３・・・記憶装置
４・・・キー入力Ｉ／Ｆ
５・・・データ入出力Ｉ／Ｆ
６・・・表示部
１０・・・ブロック分割手段
２０・・・画像改変手段
３０・・・第１の画像圧縮手段
４０・・・画像伸張手段
５０・・・画像補正手段
６０・・・第２の画像圧縮手段
６１・・・電子文書符号化手段
７０・・・原画像記憶手段
７１・・・電子文書ファイル記憶手段
８０・・・圧縮補正画像記憶手段
８１・・・符号化電子文書ファイル記憶手段
【図１】
2014207643.tif 000003
【図２】
2014207643.tif 000004
【図３】
2014207643.tif 000005
【図４】
2014207643.tif 000006
【図５】
2014207643.tif 000007
【図６】
2014207643.tif 000008
【図７】
2014207643.tif 000009
【図８】
2014207643.tif 000010