(57)【特許請求の範囲】
【請求項１】
画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、
前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段
を具備し、
前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える
ことを特徴とする画像処理装置。
【請求項２】
画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、
前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段と、
前記第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
前記第２の圧縮手段によって生成された第１の符号と第２の符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された第１の画像と第２の画像を加算する加算手段
を具備し、
前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える
ことを特徴とする画像処理装置。
【請求項３】
前記第１の圧縮手段は、可逆圧縮処理を行い、
前記第２の圧縮手段は、非可逆圧縮処理を行う
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
コンピュータを、
画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、
前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段
として機能させ、
前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える
画像処理プログラム。
【請求項５】
コンピュータを、
画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、
前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段と、
前記第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
前記第２の圧縮手段によって生成された第１の符号と第２の符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された第１の画像と第２の画像を加算する加算手段
として機能させ、
前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、スケーラブル映像を優先度に応じて伝送し、スケーラブル映像のビットストリームの最適化選択及び伝送の課題を解決するとともに、ビットストリームから再構築された画像の品質を最終的に向上させることを課題とし、スケーラブル映像の各ＧＯＰのＳＶＣ符号化後の階層化ビットストリームに対して、優先度並べ替えを行い、並べ替え後のＳＶＣ階層化ビットストリームに対して、パッケージ及びＲａｐｔｏｒ符号化を行って、伝送チャネルを介して、符号化後のスケーラブル映像のビットストリームを、スケーラブル映像の受信側に送信することが開示されている。
【０００３】
特許文献２には、少ない演算量で且つ高速に、画像データを圧縮符号化するとともに、ノイズを除去しながら目標画質に適合する圧縮画像を得ることを課題とし、符号量制御部は、並べ替え及びビットシフトが施された符号列に対して、所望のノイズ除去効果が得られるようにデータの切り捨てを行い、データの切り捨ては、右端のビットから順に行い、例えばＶＨＬ４の番号０のビットデータから、下方向へＹＨＨ５の番号０のビットデータ…と順に削除してゆき、ＹＨＨ１までのビットデータを切り捨てれば目標とするノイズ除去効果が得られるとすれば、該当する散点部のデータを切り捨て、ＹＨＨ１のデータまで切り捨てても所望のノイズ除去効果が得られないときは、続いて、ＶＬＬ４の番号０のビットデータから、下方向へ順に削除してゆくことが開示されている。
【０００４】
特許文献３には、映像の重要部分についてはその品質を劣化させることなく、オブジェクト映像符号化した符号化データのスケラビリティを実現することが可能な映像送信端末、及び映像送信端末を提供することを課題とし、映像ソースから得たデジタル映像の被写体について領域抽出部で領域抽出した領域抽出データについて重要部分から優先領域を設定し、設定した優先領域についてオブジェクト映像符号化部でデジタル映像を符号化することで符号化データについて、スケラビリティを実現し、符号化データを再現しても重要部分についてはその品質を劣化させることなく表示できることが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１４７１２０号公報
【特許文献２】特開２００７−１０４６４５号公報
【特許文献３】特開２００１−０６９５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像を圧縮する手法として、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧ等がある。これらの技術では、最初に画像全体を荒い低周波画像を表示し、徐々に細かい高周波画像を表示するので、最初の基本となる画像には、高周波成分が含まれていない。
よって最初の画像には高周波成分が含まれていないので、エッジが欠落してしまう。
例えば最初の画像で文字画像の認識率が低下する現象が発生する。
本発明は、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させ、差分画像が予め定められた値域に収まらない場合であっても、画質の劣化を抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像のエッジを保存しつつ量子化を行う量子化手段と、前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段を具備し、前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加えることを特徴とする画像処理装置である。
【０００９】
請求項２の発明は、画像のエッジを保存しつつ量子化を行う量子化手段と、前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段と、前記第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、前記第２の圧縮手段によって生成された第１の符号と第２の符号を伸長する第２の伸長手段と、前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された第１の画像と第２の画像を加算する加算手段を具備し、前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加えることを特徴とする画像処理装置である。
【００１０】
請求項３の発明は、前記第１の圧縮手段は、可逆圧縮処理を行い、前記第２の圧縮手段は、非可逆圧縮処理を行うことを特徴とする請求項１又は２に記載の画像処理装置である。
【００１５】
請求項４の発明は、コンピュータを、画像のエッジを保存しつつ量子化を行う量子化手段と、前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段として機能させ、前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える画像処理プログラムである。
【００１８】
請求項５の発明は、コンピュータを、画像のエッジを保存しつつ量子化を行う量子化手段と、前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、前記差分画像生成手段によって生成された画像が予め定められた値域に収まらない場合に、該画像を該値域に収まる第１の画像と第２の画像に分割する分割手段と、前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、前記分割手段によって分割された第１の画像と第２の画像を圧縮する第２の圧縮手段と、前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段と、前記第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、前記第２の圧縮手段によって生成された第１の符号と第２の符号を伸長する第２の伸長手段と、前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された第１の画像と第２の画像を加算する加算手段として機能させ、前記制御手段は、前記クラスタ形成によって生成された各クラスタの重心までの距離が予め定められた値を超えるクラスタに含めないようにし、画素の値域の中間値を重心に付け加える画像処理プログラムである。
【発明の効果】
【００２０】
請求項１の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができ、差分画像が予め定められた値域に収まらない場合であっても、画質の劣化を抑制することができる。
【００２２】
請求項２の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
【００２３】
請求項３の画像処理装置によれば、第２の圧縮手段が可逆圧縮処理を行う場合に比べて、符号量を削減することができる。
【００２８】
請求項４の画像処理プログラムによれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができ、差分画像が予め定められた値域に収まらない場合であっても、画質の劣化を抑制することができる。
【００３１】
請求項５の画像処理プログラムによれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
【図面の簡単な説明】
【００３３】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例の概要を示す説明図である。
【図３】本実施の形態による処理例の概要を示す説明図である。
【図４】第２の実施の形態の構成例についての概念的なモジュール構成図である。
【図５】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図６】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図７】第５の実施の形態の構成例についての概念的なモジュール構成図である。
【図８】差分がアンダーフロー又はオーバーフローする場合の例を示す説明図である。
【図９】第６の実施の形態の構成例についての概念的なモジュール構成図である。
【図１０】第６の実施の形態による処理例を示す説明図である。
【図１１】第６の実施の形態による実験例を示す説明図である。
【図１２】第６の実施の形態による実験例を示す説明図である。
【図１３】本実施の形態を利用したシステム構成例を示す説明図である。
【図１４】第７の実施の形態の構成例についての概念的なモジュール構成図である。
【図１５】第７の実施の形態による処理例を示すフローチャートである。
【図１６】第７の実施の形態による処理例を示すフローチャートである。
【図１７】第７の実施の形態による処理例を示すフローチャートである。
【図１８】第７の実施の形態による処理例を示すフローチャートである。
【図１９】第７の実施の形態による処理例を示すフローチャートである。
【図２０】第７の実施の形態による処理例を示す説明図である。
【図２１】第７の実施の形態による処理例を示す説明図である。
【図２２】第７の実施の形態による処理例を示す説明図である。
【図２３】第７の実施の形態による処理例を示す説明図である。
【図２４】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【図２５】前提となる画像処理装置の処理例を示す説明図である。
【図２６】前提となる画像処理装置の処理例を示す説明図である。
【図２７】前提となる画像処理装置の処理例を示す説明図である。
【図２８】前提となる画像処理装置の処理例を示す説明図である。
【図２９】前提となる画像処理装置の処理例を示す説明図である。
【図３０】前提となる画像処理装置の処理例を示す説明図である。
【発明を実施するための形態】
【００３４】
まず、本実施の形態を説明する前に、その前提となる画像処理装置について、図２５〜３０に示す例を用いて説明する。なお、この説明は、本実施の形態の理解を容易にすることを目的とするものである。
符号フォーマットを構造化することで、伸長時に解像度や画質を決めたスケーラブル配信や、プログレッシブ（漸進的）表示を実現する圧縮技術がある。
Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、特許文献３等に記載の技術では、ＤＣＴ係数を使ってこれを実現するため、基本画像には高周波成分が含まれない。具体的には、式（３）を用いて、図２５の例に示すように、ＤＣＴ係数を生成している。例えば、ＪＰＥＧでは８×８の変換係数が得られる。
なお、基本画像とは、閲覧初期の画像である。
表示のタイミング（表示開始順番）は、標準仕様に限定されておらず、伸長器の設計次第である。例えば、ＪＰＥＧであると、最小の単位はＤＣ係数の１個だけとなる。
【数３】
0006631060.tif 000002
図２５の例に示すように、ｉ，ｊが小さい領域（図２５の例では（０，０）の係数）では、低画質（基本画像）２５３５を示す低周波となり、例えば、この部分の圧縮部分を伸長すると図２６（ａ）の例に示すような低画質な画像となる。ｉ，ｊが中程度の領域（図２５の例では（０，１）、（１，０）、・・・、（４，４）の係数）では、中画質２５４５を示すものとなり、例えば、この部分（低画質（基本画像）２５３５と中画質２５４５）の圧縮部分を伸長すると図２６（ｂ）の例に示すような中画質の画像となる。ｉ，ｊが大きい領域（図２５の例では（０，５）、（５，０）、・・・、（７，７）の係数）では、高画質２５５５を示す高周波となり、例えば、この部分（低画質（基本画像）２５３５と中画質２５４５と高画質２５５５）の圧縮部分を伸長すると図２６（ｃ）の例に示すような高画質な画像となる。なお、図２５の例に示す低画質（基本画像）２５３５、中画質２５４５、高画質２５５５からなる三角形は、前述の構造化された符号フォーマットを模式的に示したものである。もちろんのことながら、２階層以上であればよく、図２５の例に示すように、３階層であってもよいし、４階層以上であってもよい。そして、処理順番として、（０，０）、（０，１）、（１，０）、・・・のように並びが決まっている。
したがって、最初に圧縮（又は伸長）される画像（低画質（基本画像）２５３５の部分であって、例えば、図２６（ａ））は、高周波成分が含まれないことになる。エッジが含まれている文字や図形の場合は、その画像品質が課題になる。
【００３５】
また、ＪＰＥＧ２０００、特許文献２等に記載の技術では、ウェーブレット係数を使ってこれを実現するため、基本画像には高周波成分が含まれず、前述と同様の課題を有する。
図２７に示す例は、ウェーブレット係数の領域２７１０で低画質（基本画像）２５３５を示し、ウェーブレット係数の領域２７２０で中画質２５４５を示し、ウェーブレット係数の領域２７３０で高画質２５５５を示している。
そして、図２８の例に示すように、ローパスフィルタ、ハイパスフィルタを用いながら、低周波成分のみを繰り返して分解するため、基本画像には高周波（エッジ情報）は含まない。高周波成分を多く含む文字の画質を改善するには、深層部の情報が必要になる。
【００３６】
また、ＭＲＣ（Ｍｉｘｅｄ  Ｒａｔｅｒ  Ｃｏｎｔｅｎｔｓ）では、図２９の例に示すように、座標毎に、タグ情報（プレーンの選択情報）２９３０で指定されたプレーン（文字プレーン（基本画像）２９１０、写真プレーン２９２０）を選択する。そして、座標毎にプレーンを選択する処理の結果として、伸長画像２９４０を得る。例えば、文字プレーン（基本画像）２９１０から最初に送信すると、最初に伸長された画像であっても、前述の技術とは異なり、文字品質は期待したレベルを満たすこととなる。しかし座標毎のオン／オフ制御なので、制御できる画質の範囲が限られる。つまり、画質に応じて構造化された符号フォーマットを用いているわけではなく、座標毎にオン／オフを制御できるだけであり、図３０の例に示すように、図３０（ａ）の例に示す低画質（基本画像）から図３０（ｂ）の例に示す高画質の画像を生成するというような、画質を徐々に向上させる構成ではない。
【００３７】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態の例を説明する。
＜＜第１の実施の形態＞＞
図１は、第１の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、すべての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００３８】
第１の実施の形態である画像処理装置１００は、画像を圧縮（符号化）するものであって、図１の例に示すように、エッジ保存量子化モジュール１１０、差分処理モジュール１２０、圧縮Ａ処理モジュール１３０、圧縮Ｂ処理モジュール１４０を有しており、画像処理装置１５０は、画像処理装置１００による圧縮画像を伸長（復号）するものであって、伸長Ａ処理モジュール１６０、伸長Ｂ処理モジュール１７０、加算処理モジュール１８０を有している。
画像処理装置１００、画像処理装置１５０の概略の処理内容を説明する。
対象画像１０５を、文字やエッジを保存した情報とその他の情報に分けて構造化したのち、それぞれの情報に適した符号化方式（符号化方式Ａ、符号化方式Ｂ）で符号化する。なお、符号化方式Ａと符号化方式Ｂは同じものでもよい。差分は画素値の差分とする。伸長時は画素値上で加算して復元する。もちろんのことながら、３プレーン以上に分けることもできる。
【００３９】
画像処理装置１００は、対象画像１０５を受け付ける。対象画像１０５を受け付けるとは、例えば、スキャナ、カメラ等で対象画像１０５を読み込むこと、ファックス等で通信回線を介して外部機器から対象画像１０５を受信すること、ハードディスク（コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む）等に記憶されている対象画像１０５を読み出すこと等が含まれる。画像は、多値画像（カラー画像を含む）である。受け付ける画像は、１枚であってもよいし、複数枚であってもよい。また、画像の内容として、文字又は図形（線画）が含まれており、それとともに画像（写真等）が含まれており、例えば、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。また、対象画像１０５（全体画像１０６Ａ）は、画像処理装置１００内では、基本画像１１５（低画質画像１０７Ａ）と差分画像１２５（高画質画像１０８Ａ）に分けられる。
【００４０】
エッジ保存量子化モジュール１１０は、差分処理モジュール１２０、圧縮Ａ処理モジュール１３０と接続されており、対象画像１０５を受け付け、圧縮Ａ処理モジュール１３０に基本画像１１５を渡す。エッジ保存量子化モジュール１１０は、対象画像１０５のエッジを保存しつつ量子化（エッジを保存する量子化）を行って、基本画像１１５を生成する。「エッジを保存する量子化」の具体例は、この後の実施の形態の説明で後述するが、符号化後の最初の伸長（プログレッシブ圧縮された符号の段階的な伸長における最初の伸長）において、文字又は図形の画質を向上させるためのエッジを残すような量子化であればよい。つまり、解像度を残しながら階調を量子化するものが望ましい。
差分処理モジュール１２０は、エッジ保存量子化モジュール１１０、圧縮Ｂ処理モジュール１４０と接続されており、対象画像１０５を受け付け、圧縮Ｂ処理モジュール１４０に差分画像１２５を渡す。差分処理モジュール１２０は、対象画像１０５とエッジ保存量子化モジュール１１０によって量子化された基本画像１１５との差分の画像（差分画像１２５）を生成する。
【００４１】
圧縮Ａ処理モジュール１３０は、エッジ保存量子化モジュール１１０と接続されており、エッジ保存量子化モジュール１１０から基本画像１１５を受け取り、基本符号１３５を出力する。圧縮Ａ処理モジュール１３０は、エッジ保存量子化モジュール１１０によって量子化された基本画像１１５（量子化画像）を圧縮する。既存の圧縮方式を用いればよい。
圧縮Ｂ処理モジュール１４０は、差分処理モジュール１２０と接続されており、差分処理モジュール１２０から差分画像１２５を受け取り、差分符号１４５を出力する。圧縮Ｂ処理モジュール１４０は、差分処理モジュール１２０によって生成された差分画像１２５を圧縮する。既存の圧縮方式を用いればよい。なお、圧縮Ａ処理モジュール１３０における圧縮方式と同じものを用いるようにしてもよい。
【００４２】
画像処理装置１５０は、画像処理装置１００による処理結果である基本符号１３５、差分符号１４５を受け付ける。ここで、基本符号１３５は低画質画像１０７Ａ（低画質画像１０７Ｂ）に該当し、差分符号１４５は高画質画像１０８Ａ（高画質画像１０８Ｂ）に該当する。つまり、構造化された符号フォーマットである。
伸長Ａ処理モジュール１６０は、加算処理モジュール１８０と接続されており、基本符号１３５を受け付け、加算処理モジュール１８０に基本画像１６５を渡す。伸長Ａ処理モジュール１６０は、画像処理装置１００の圧縮Ａ処理モジュール１３０によって生成された基本符号１３５を伸長する。もちろんのことながら、ここでの伸長方式は、圧縮Ａ処理モジュール１３０の符号化方式に対応するものである。したがって、基本画像１１５に対応する基本画像１６５を生成する。また、圧縮Ａ処理モジュール１３０で可逆圧縮が行われた場合は、基本画像１６５と基本画像１１５は同じものになるが、圧縮Ａ処理モジュール１３０で非可逆圧縮が行われた場合は、基本画像１６５は基本画像１１５と同じものになるとは限らない（一般的には、基本画像１６５は基本画像１１５よりも情報量が少なくなっている）。
【００４３】
伸長Ｂ処理モジュール１７０は、加算処理モジュール１８０と接続されており、差分符号１４５を受け付け、加算処理モジュール１８０に差分画像１７５を渡す。伸長Ｂ処理モジュール１７０は、画像処理装置１００の圧縮Ｂ処理モジュール１４０によって生成された差分符号１４５を伸長する。もちろんのことながら、ここでの伸長方式は、圧縮Ｂ処理モジュール１４０の符号化方式に対応するものである。したがって、差分画像１２５に対応する差分画像１７５を生成する。また、圧縮Ｂ処理モジュール１４０で可逆圧縮が行われた場合は、差分画像１７５と差分画像１２５は同じものになるが、圧縮Ｂ処理モジュール１４０で非可逆圧縮が行われた場合は、差分画像１７５は差分画像１２５と同じものになるとは限らない（一般的には、差分画像１７５は差分画像１２５よりも情報量が少なくなっている）。
加算処理モジュール１８０は、伸長Ａ処理モジュール１６０、伸長Ｂ処理モジュール１７０と接続されており、伸長Ａ処理モジュール１６０から基本画像１６５を受け取り、伸長Ｂ処理モジュール１７０から差分画像１７５を受け取り、伸長画像１９５を出力する。加算処理モジュール１８０は、伸長Ａ処理モジュール１６０によって伸長された基本画像１６５に伸長Ｂ処理モジュール１７０によって伸長された差分画像１７５を加算する。差分処理モジュール１２０と対応する処理を行う。プログレッシブな伸長を行うので、最初に基本画像１６５（低画質画像１０７Ｃ）をそのまま出力し、その次に、基本画像１６５に差分画像１７５（高画質画像１０８Ｃ）を加算した画像（全体画像１０６Ｃ）を出力する。画像を出力するとは、主に、ディスプレイ等の表示装置に段階的に表示することであるが、例えば、他に、ファックス等の画像送信装置で画像を送信すること、プリンタ等の印刷装置で印刷すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の画像処理装置へ渡すこと等を含めてもよい。
【００４４】
図２、図３は、本実施の形態による処理例の概要を示す説明図である。
元画像Ｘ２０５（全体画像２０６Ａ）の文字等のエッジを残しながら階調を量子化し、基本画像Ｙ２３５（低画質画像２０７Ａ）とする。基本画像Ｙ２３５の次に続く差分画像Ｚ２４５（高画質画像２０８Ａ）は、元画像Ｘ２０５と基本画像Ｙ２３５の画素値の差分で表現する（差分画像と呼ぶ）。なお、原画像Ｘ＝Ｙ＋Ｚ（Ｘ，Ｙ，Ｚは、元画像Ｘ２０５、基本画像Ｙ２３５、差分画像Ｚ２４５のそれぞれの画素値）の関係を有している。
基本画像Ｙ２３５に文字エッジ（高周波）が残るため、前述のＰｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧ等に比べて文字品質で優れる。図３の例に示すように、プログレッシブ表示例をとり挙げると、可読性に優れた文字がすぐに表示されることとなる。
図３（ａ）に示す例は、基本画像Ｙ２３５を伸長した結果の画像（プログレッシブ表示における最初に表示する画像）であり、図３（ｂ）に示すものより符号量が少なく、高速に符号化、伸長できる。
図３（ｂ）に示す例は、基本画像Ｙ２３５を伸長した結果の画像に、差分画像Ｚ２４５を伸長した結果を加えた画像（プログレッシブ表示における次に表示する画像）であり、図３（ａ）に示すものより高画質である。
【００４５】
＜＜第２の実施の形態＞＞
図４は、第２の実施の形態の構成例についての概念的なモジュール構成図である。第２の実施の形態は、視覚感度が高い基本画像を可逆圧縮し、低い差分画像を非可逆圧縮する。例えば、可逆圧縮としてはＦｌａｔｅ（ＰＮＧ）、非可逆圧縮としてはＪＰＥＧを用いるようにしてもよい。目につかない情報のみを非可逆化で削除して符号量を減らせるようになる。
なお、前述の実施の形態と同種の部位には同一符号を付し重複した説明を省略する（以下、同様）。
画像処理装置４００は、エッジ保存量子化モジュール１１０、差分処理モジュール１２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０を有している。
エッジ保存量子化モジュール１１０は、差分処理モジュール１２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０と接続されており、対象画像１０５を受け付け、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に基本画像１１５を渡す。
差分処理モジュール１２０は、エッジ保存量子化モジュール１１０、非可逆圧縮ＪＰＥＧ処理モジュール４４０と接続されており、対象画像１０５を受け付け、非可逆圧縮ＪＰＥＧ処理モジュール４４０に差分画像１２５を渡す。
可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、エッジ保存量子化モジュール１１０と接続されており、エッジ保存量子化モジュール１１０から基本画像１１５を受け取り、基本符号４３５を出力する。可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、基本画像１１５に対して可逆圧縮処理を行う。例えば、Ｆｌａｔｅ（ＰＮＧ）処理を行う。
非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分処理モジュール１２０と接続されており、差分処理モジュール１２０から差分画像１２５を受け取り、差分符号４４５を出力する。非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分画像１２５に対して非可逆圧縮処理を行う。例えば、ＪＰＥＧ処理を行う。
【００４６】
画像処理装置４５０は、可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０、非可逆伸長ＪＰＥＧ処理モジュール４７０、加算処理モジュール１８０を有している。
可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０は、加算処理モジュール１８０と接続されており、基本符号４３５を受け付け、加算処理モジュール１８０に基本画像１６５を渡す。可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０は、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に対応する伸長処理を行う。例えば、Ｆｌａｔｅ（ＰＮＧ）における伸長処理を行う。
非可逆伸長ＪＰＥＧ処理モジュール４７０は、加算処理モジュール１８０と接続されており、差分符号４４５を受け付け、加算処理モジュール１８０に差分画像１７５を渡す。非可逆伸長ＪＰＥＧ処理モジュール４７０は、非可逆圧縮ＪＰＥＧ処理モジュール４４０に対応する伸長処理を行う。例えば、ＪＰＥＧにおける伸長処理を行う。
加算処理モジュール１８０は、可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０、非可逆伸長ＪＰＥＧ処理モジュール４７０と接続されており、可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０から基本画像１６５を受け取り、非可逆伸長ＪＰＥＧ処理モジュール４７０から差分画像１７５を受け取り、伸長画像４９５を出力する。
なお、差分画像は情報のない箇所が多いため、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧを利用してもよい。こうすれば、ＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）数を少なくでき、符号量を改善できる。
【００４７】
＜＜第３の実施の形態＞＞
図５は、第３の実施の形態の構成例についての概念的なモジュール構成図である。第３の実施の形態は、エッジ保存量子化として２値化処理を使う。２値化処理として、例えば単純２値化処理等がある。具体的には、画素値１２８以上であれば画素値２５５とし、画素値１２７未満であれば画素値０とする。白黒文字は可逆で保存でき、文字の可読性を残すことができる。２値化処理は、単純２値化以外の他の方式、例えば浮動２値化であってもよい。
画像処理装置５００は、２値化処理モジュール５１０、差分処理モジュール５２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０を有している。
２値化処理モジュール５１０は、差分処理モジュール５２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０と接続されており、対象画像１０５を受け付け、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に基本画像５１５を渡す。２値化処理モジュール５１０は、対象画像１０５に対して、画像のエッジを保存する量子化として２値化処理を行い、基本画像５１５を生成する。例えば、画素値が１２８以上であれば、その画素値を２５５とし、１２７未満であればその画素値を０に量子化する。
差分処理モジュール５２０は、２値化処理モジュール５１０、非可逆圧縮ＪＰＥＧ処理モジュール４４０と接続されており、対象画像１０５を受け付け、非可逆圧縮ＪＰＥＧ処理モジュール４４０に差分画像５２５を渡す。差分処理モジュール５２０は、対象画像１０５と基本画像５１５との差分を算出し、差分画像５２５を生成する。
【００４８】
可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、２値化処理モジュール５１０と接続されており、２値化処理モジュール５１０から基本画像５１５を受け取り、基本符号５３５を出力する。
非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分処理モジュール５２０と接続されており、差分処理モジュール５２０から差分画像５２５を受け取り、差分符号５４５を出力する。
なお、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０の他に、それぞれ圧縮Ａ処理モジュール１３０、圧縮Ｂ処理モジュール１４０としてもよい。
また、画像処理装置５００に対応する伸長処理を行う画像処理装置は、前述の実施の形態と同様に、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に対応する伸長処理を行う伸長モジュールＡと、非可逆圧縮ＪＰＥＧ処理モジュール４４０に対応する伸長処理を行う伸長モジュールＢと、その処理結果を加算する加算モジュールがあればよい（以下、同様）。
【００４９】
＜＜第４の実施の形態＞＞
図６は、第４の実施の形態の構成例についての概念的なモジュール構成図である。第４の実施の形態は、エッジ保存量子化として限定色化処理（減色処理ともいわれる）を用いるものである。限定色化処理として、例えば、ｋ平均法等のクラスタリング手法を用いるようにしてもよい。インデックス表現ができるまで減色すれば（例えば、１６色や２５６色等）、基本画像の符号量を大きく改善することができる。
画像処理装置６００は、減色量子化クラスタリング処理モジュール６１０、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０を有している。
減色量子化クラスタリング処理モジュール６１０は、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０と接続されており、対象画像１０５を受け付け、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に基本画像６１５を渡す。減色量子化クラスタリング処理モジュール６１０は、対象画像１０５に対して、画像のエッジを保存する量子化として限定色化処理（減色量子化）を行い、基本画像６１５を生成する。例えば、クラスタリング手法としてｋ平均法を用いる。以下の式（１）、式（２）にしたがった処理を行う。
【数１】
0006631060.tif 000003
【数２】
0006631060.tif 000004
【００５０】
差分処理モジュール６２０は、減色量子化クラスタリング処理モジュール６１０、非可逆圧縮ＪＰＥＧ処理モジュール４４０と接続されており、対象画像１０５を受け付け、非可逆圧縮ＪＰＥＧ処理モジュール４４０に差分画像６２５を渡す。差分処理モジュール６２０は、対象画像１０５と基本画像６１５との差分を算出し、差分画像６２５を生成する。
可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、減色量子化クラスタリング処理モジュール６１０と接続されており、減色量子化クラスタリング処理モジュール６１０から基本画像６１５を受け取り、基本符号６３５を出力する。
非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分処理モジュール６２０と接続されており、差分処理モジュール６２０から差分画像６２５を受け取り、差分符号６４５を出力する。
【００５１】
＜＜第５の実施の形態＞＞
図７は、第５の実施の形態の構成例についての概念的なモジュール構成図である。第５の実施の形態は、エッジが含まれていない平坦ブロック（文字エッジに該当しない部分）を事前に量子化するプレ量子化処理モジュール７２０を設ける。プレ量子化処理モジュール７２０では後段（非可逆圧縮ＪＰＥＧ処理モジュール４４０）の基底ベクトルにしたがって量子化を行う。より具体的には、８×８ブロックの平均値（ＤＣ成分）で量子化しておく。差分画像を圧縮するＪＰＥＧとの量子化方向を揃えて、基本画像と差分画像の合計符号量を改善する。
画像処理装置７００は、平坦ブロック判定処理モジュール７１０、プレ量子化処理モジュール７２０、減色量子化クラスタリング処理モジュール６１０、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０を有している。
平坦ブロック判定処理モジュール７１０、プレ量子化処理モジュール７２０は、対象画像１０５の平坦部分を量子化する。
平坦ブロック判定処理モジュール７１０は、プレ量子化処理モジュール７２０、減色量子化クラスタリング処理モジュール６１０と接続されており、対象画像１０５を受け付け、プレ量子化処理モジュール７２０に平坦ブロック７１４を渡し、減色量子化クラスタリング処理モジュール６１０に非平坦ブロック７１２を渡す。平坦ブロック判定処理モジュール７１０は、対象画像１０５内の平坦部分を抽出し、平坦ブロック７１４としてプレ量子化処理モジュール７２０に渡す。平坦か否かの判断処理は、例えば、ブロックのＤレンジや色数で判断すればよい。
【００５２】
プレ量子化処理モジュール７２０は、平坦ブロック判定処理モジュール７１０、減色量子化クラスタリング処理モジュール６１０と接続されており、平坦ブロック判定処理モジュール７１０から平坦ブロック７１４を受け取る。プレ量子化処理モジュール７２０は、平坦ブロック７１４を対象として、例えば、８×８画素のブロックの平均化処理を行う。ＪＰＥＧと量子化の軸を揃えることによって、ＪＰＥＧ側に高周波成分を残さないようにする。この例でいうと、８×８画素のブロック平均値（ＤＣ成分）で量子化し、減色（ラスタリング結果）が、ＤＣ成分以外の係数に影響しないようにする。なお、８×８平均化（ＤＣ成分）に限られず、ＪＰＥＧの基底方向に沿った量子化が合計符号量の側面から望ましいが、それには限らない。
【００５３】
減色量子化クラスタリング処理モジュール６１０は、平坦ブロック判定処理モジュール７１０、プレ量子化処理モジュール７２０、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０と接続されており、平坦ブロック判定処理モジュール７１０から非平坦ブロック７１２を受け取り、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に基本画像６１５を渡す。減色量子化クラスタリング処理モジュール６１０は、プレ量子化処理モジュール７２０によって量子化された画像を対象として、その画像のエッジを保存する量子化を行う。例えば、限定色化処理を行う。
差分処理モジュール６２０は、減色量子化クラスタリング処理モジュール６１０、非可逆圧縮ＪＰＥＧ処理モジュール４４０と接続されており、対象画像１０５を受け付け、非可逆圧縮ＪＰＥＧ処理モジュール４４０に差分画像６２５を渡す。
可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、減色量子化クラスタリング処理モジュール６１０と接続されており、減色量子化クラスタリング処理モジュール６１０から基本画像６１５を受け取り、基本符号７３５を出力する。
非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分処理モジュール６２０と接続されており、差分処理モジュール６２０から差分画像６２５を受け取り、差分符号７４５を出力する。
【００５４】
＜＜第６の実施の形態＞＞
第６の実施の形態を説明する前に、第４の実施の形態の処理において、差分がアンダーフロー又はオーバーフローすることがあり得ることについて説明する。
図８は、差分がアンダーフロー又はオーバーフローする場合の例を示す説明図である。対象画像１０５の値域を８ｂｉｔ［０，２５５］とすると、その差分値は［−２５５，２５５］となるため、理論的には８ｂｉｔの値域［−１２８，１２７］を超えることがあり、伸長画質に悪影響を及ぼすことがある。もちろんのことながら、８ｂｉｔであることは例示である。
例えば、対象画像１０５の画素値８０５として２５０である場合、エッジ保存量子化モジュール１１０の処理である基本画像１１５の画素値８１５が１０であるとすると、差分処理モジュール１２０の処理結果である差分値８２０は２４０となるが、値域限界の１２７となり、非可逆圧縮ＪＰＥＧ処理モジュール４４０の処理結果である非可逆結果８４０として１２５、１２６、１２７等がある。
そして、非可逆結果８４０に対する、伸長処理は、以下のようになる。
・１２５＋１０≠２５０
・１２６＋１０≠２５０
・１２７＋１０≠２５０
つまり、元の画像の画素値２５０には戻らない結果となる。
【００５５】
図９は、第６の実施の形態の構成例についての概念的なモジュール構成図である。第６の実施の形態は、オーバーフローやアンダーフローを防止するため、差分値域制御処理モジュール９１０を設けて、量子化の強さを制御して、高画質側の画像品質を担保する。第６の実施の形態の差分値域制御処理モジュール９１０の処理では、遠方のクラスタに取り込まれないような制御を行う。具体的には、距離制約を設ける。例えば、各クラスタの重心までの距離が１２７を超えるクラスタに含めないようにすると、差分値を［−１２７，１２７］が保証できる。なお、どのクラスタにも含まれないことを防ぐため、例えば画素の値域の中間値である１２８を重心に付け加えるようにしてもよい。
画像処理装置９００は、差分値域制御処理モジュール９１０、減色量子化クラスタリング処理モジュール６１０、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０を有している。
差分値域制御処理モジュール９１０は、減色量子化クラスタリング処理モジュール６１０と接続されており、対象画像１０５を受け付ける。差分値域制御処理モジュール９１０は、差分処理モジュール６２０による処理結果を予め定められた範囲内に収めるように、減色量子化クラスタリング処理モジュール６１０によるクラスタ形成における距離を制御する。例えば、図１０に示すようなクラスタを生成する。図１０は、第６の実施の形態による処理例を示す説明図である。クラスタに含まれない画素が発生しないように中間値を重心に加えておく。ここでは、４色（４つのクラスタ）に分割し、距離制約として、１２７とした例を示している。
【００５６】
減色量子化クラスタリング処理モジュール６１０は、差分値域制御処理モジュール９１０、差分処理モジュール６２０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０と接続されており、対象画像１０５を受け付け、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０に基本画像６１５を渡す。
可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０は、減色量子化クラスタリング処理モジュール６１０と接続されており、減色量子化クラスタリング処理モジュール６１０から基本画像６１５を受け取り、基本符号９３５を出力する。
非可逆圧縮ＪＰＥＧ処理モジュール４４０は、差分処理モジュール６２０と接続されており、差分処理モジュール６２０から差分画像６２５を受け取り、差分符号９４５を出力する。
【００５７】
図１１に、第６の実施の形態と背景技術（ＪＰＥＧ−Ｐｒｏｇｒｅｓｓｉｖｅ）による基本画像１１０７Ｂの伸長画像の例を示した。基本画像１１０７Ｂを圧縮した際の符号量は同一に制御した。背景技術による伸長結果の画像１１１０と第６の形態による伸長結果の画像１１２０を比較すると、第６の実施の形態によって、基本画像の画質が向上していることがわかる。
図１２に、第６の実施の形態と背景技術（ＪＰＥＧ−Ｐｒｏｇｒｅｓｓｉｖｅ）による基本画像１１０７Ｂの符号量の例を示した。合計符号量（圧縮処理後の基本画像１１０７Ｂと差分画像１１０８Ｂの合計）も背景技術（ＪＰＥＧ−Ｐｒｏｇｒｅｓｓｉｖｅ）と比較して、改善できている。
【００５８】
図１３は、本実施の形態を利用したシステム構成例を示す説明図である。
本実施の形態の処理をクラウド配信サーバ１３００のサービスとして提供する場合の例を示したものである。クラウド配信サーバ１３００から各ユーザー端末１３１０に圧縮画像を送信する場合の例について説明する。クラウド配信サーバ１３００と各ユーザー端末１３１０との間の通信回線は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。ここでは、対象画像を、低画質（基本画像）１３３５、中画質１３４５、高画質１３５５のように構造化した符号フォーマット生成しているとする。
回線の速度に応じて配信する例として、低速の回線に接続されているユーザー端末１３１０Ａには、低画質（基本画像）１３３５だけの符号を送信し、中速の回線に接続されているユーザー端末１３１０Ｂには、低画質（基本画像）１３３５と中画質１３４５の符号を送信し、高速の回線に接続されているユーザー端末１３１０Ｃには、低画質（基本画像）１３３５と中画質１３４５と高画質１３５５の符号を送信する。
ユーザーが望む画質で配信する例として、低画質を望むユーザーのユーザー端末１３２０Ａには、低画質（基本画像）１３３５だけの符号を送信し、中画質を望むユーザーのユーザー端末１３２０Ｂには、低画質（基本画像）１３３５と中画質１３４５の符号を送信し、高画質を望むユーザーのユーザー端末１３２０Ｃには、低画質（基本画像）１３３５と中画質１３４５と高画質１３５５の符号を送信する。
プログレッシブ表示で配信する例（時間の経過とともに画質を向上させる例）として、時刻（ｔ＝１）では、低画質（基本画像）１３３５だけの符号を送信し、次に（ｔ＝２）では、低画質（基本画像）１３３５と中画質１３４５の符号を送信し、次に（ｔ＝３）では、低画質（基本画像）１３３５と中画質１３４５と高画質１３５５の符号を送信する。その結果、ユーザー端末１３３０では、時刻（ｔ＝１）では、ぼんやり（時刻（ｔ＝２又はｔ＝３）と比べた場合における「ぼんやり」である）とした画像を表示し、時刻（ｔ＝２）では、くっきりとした画像を表示し、時刻（ｔ＝３）では、よりくっきりとした画像を表示する。
【００５９】
＜＜第７の実施の形態＞＞
前述の実施の形態（第１の実施の形態〜第６の実施の形態）では、差分画像の値域が予め定められた値域に収まらない場合が発生する。第６の実施の形態で説明したように、具体的には、差分画像の値域は［−２５５，２５５］となる。そこで、第６の実施の形態では、差分画像の画素値を［−１２８，１２７］に収めるために基本画像の画素値を修正している。そのため、基本画像の画像品質が課題になる。なお、「予め定められた値域」として［−１２８，１２７］を用いて説明するが、これは例示であることは前述の通りである。
第７の実施の形態では、前述の実施の形態と同様に、画像の文字エッジを残しながら階調を量子化した基本画像、元画像と基本画像の画素値の差分で表現する差分画像を生成する。そして、差分画像の値域が［−１２８，１２７］に収まらない場合、差分画像をテクスチャ画像とオフセット画像とに分割する。
【００６０】
以下の説明に利用する用語について、具体例を挙げて説明する。
基本画像とは、対象画像のエッジを保存した画像であり、値域は［０，２５５］である。
差分画像とは、対象画像から基本画像を減算した画像であり、値域は［−２５６，２５５］である。
オフセット値とは、差分画像を［−１２８，１２７］の値域に収めるようにオフセットする値であり、値域は［−１２７，１２８］である。
オフセット画像とは、画素値がオフセット値で構成される画像であり、値域は［−１２７，１２８］である。
テクスチャ画像とは、差分画像からオフセット画像を減算した画像であり、値域は［−１２８，１２７］である。
【００６１】
図１４は、第７の実施の形態の構成例についての概念的なモジュール構成図である。
画像処理装置１４００は、エッジ保存量子化モジュール１１０、差分処理モジュール１２０、画像分割モジュール１４２２、圧縮Ａ処理モジュール１３０、圧縮Ｂ処理モジュール１４０を有している。画像処理装置１４００は、第１の実施の形態に画像分割モジュール１４２２を付加したものである。
差分処理モジュール１２０は、エッジ保存量子化モジュール１１０、画像分割モジュール１４２２と接続されており、対象画像１０５を受け付け、画像分割モジュール１４２２に差分画像１２５を渡す。
【００６２】
画像分割モジュール１４２２は、差分処理モジュール１２０、圧縮Ｂ処理モジュール１４０と接続されており、差分処理モジュール１２０から差分画像１２５を受け取り、圧縮Ｂ処理モジュール１４０に差分画像／テクスチャ画像，オフセット画像１４２５を渡す。画像分割モジュール１４２２は、差分処理モジュール１２０によって生成された画像が予め定められた値域に収まらない場合に、その画像（差分処理モジュール１２０によって生成された差分画像１２５）をその値域に収まる第１の画像と第２の画像に分割する。具体的には、差分画像１２５の値域が［−１２８，１２７］に収まらない場合に、差分画像１２５をテクスチャ画像とオフセット画像とに分割する。つまり、差分画像を８ｂｉｔで表現できる２枚の画像に分割する。この処理によって、基本画像１１５の画像品質の劣化を回避している。
【００６３】
圧縮Ｂ処理モジュール１４０は、画像分割モジュール１４２２と接続されており、画像分割モジュール１４２２から差分画像／テクスチャ画像，オフセット画像１４２５を受け取り、差分符号１４５を出力する。圧縮Ｂ処理モジュール１４０は、画像分割モジュール１４２２によって分割された第１の画像と第２の画像を圧縮する。具体的には、８ｂｉｔで表現できているテクスチャ画像とオフセット画像をそれぞれ圧縮する。圧縮対象の画像は２つになるが、圧縮方法自体は、前述の実施の形態における圧縮方法を採用すればよい。したがって、差分符号１４５は、２つの画像の符号（テクスチャ画像とオフセット画像の圧縮結果）を含んでいる。
【００６４】
画像処理装置１４５０は、伸長Ａ処理モジュール１６０、伸長Ｂ処理モジュール１７０、加算処理モジュール１８０を有している。
伸長Ｂ処理モジュール１７０は、加算処理モジュール１８０と接続されており、差分符号１４５を受け付け、加算処理モジュール１８０に差分画像／テクスチャ画像，オフセット画像１４７５を渡す。伸長Ｂ処理モジュール１７０は、画像処理装置１４００の圧縮Ｂ処理モジュール１４０によって生成された第１の符号と第２の符号を伸長する。具体的には、テクスチャ画像とオフセット画像の圧縮結果をそれぞれ伸長する。したがって、差分画像として２つの画像（テクスチャ画像とオフセット画像）が復号される。
【００６５】
加算処理モジュール１８０は、伸長Ａ処理モジュール１６０、伸長Ｂ処理モジュール１７０と接続されており、伸長Ａ処理モジュール１６０から基本画像１６５を受け取り、伸長Ｂ処理モジュール１７０から差分画像／テクスチャ画像，オフセット画像１４７５を受け取り、伸長画像１９５を出力する。加算処理モジュール１８０は、伸長Ａ処理モジュール１６０によって伸長された画像に伸長Ｂ処理モジュール１７０によって伸長された第１の画像と第２の画像を加算する。具体的には、３つの画像（（１）伸長Ａ処理モジュール１６０によって復号された基本画像１６５、（２）伸長Ｂ処理モジュール１７０によって復号された差分画像／テクスチャ画像，オフセット画像１４７５内のテクスチャ画像、（３）伸長Ｂ処理モジュール１７０によって復号された差分画像／テクスチャ画像，オフセット画像１４７５内のオフセット画像）を加算して、伸長画像１９５を生成する。
【００６６】
図１５は、第７の実施の形態（画像処理装置１４００）による処理例を示すフローチャートである。圧縮処理であって、差分画像の値域が［−１２８，１２７］の場合における処理例を示している。
ステップＳ１５０２では、エッジ保存量子化モジュール１１０は、対象としている画像からエッジを抽出する。
ステップＳ１５０４では、エッジ保存量子化モジュール１１０は、階調の量子化を行う。
ステップＳ１５０６では、エッジ保存量子化モジュール１１０は、基本画像Ｉを生成する。
ステップＳ１５０８では、差分処理モジュール１２０は、差分画像Ｊを生成する。
ステップＳ１５１０では、圧縮Ａ処理モジュール１３０は、圧縮Ａによる基本画像Ｉの圧縮を行う。
ステップＳ１５１２では、圧縮Ｂ処理モジュール１４０は、圧縮Ｂによる差分画像Ｊの圧縮を行う。
【００６７】
図１６は、第７の実施の形態（画像処理装置１４００）による処理例を示すフローチャートである。圧縮処理であって、差分画像の値域が［−１２８，１２７］に収まらない場合における処理例を示している。
ステップＳ１６０２では、エッジ保存量子化モジュール１１０は、対象としている画像からエッジを抽出する。
ステップＳ１６０４では、エッジ保存量子化モジュール１１０は、階調の量子化を行う。
ステップＳ１６０６では、エッジ保存量子化モジュール１１０は、基本画像Ｉを生成する。
ステップＳ１６０８では、差分処理モジュール１２０は、差分画像Ｊを生成する。
ステップＳ１６１０では、画像分割モジュール１４２２は、差分画像Ｊを分割する。ステップＳ１６１０の処理については、図１９の例に示すフローチャートを用いて後述する。
ステップＳ１６１２では、圧縮Ａ処理モジュール１３０は、圧縮Ａによる基本画像Ｉの圧縮を行う。
ステップＳ１６１４では、圧縮Ｂ処理モジュール１４０は、圧縮Ｂによる差分画像Ｊの圧縮を行う。
なお、図１５の例に示すフローチャートと、図１６の例に示すフローチャートのいずれを用いるかを、差分画像Ｊの値域を用いて判断するようにしてもよい。具体的には、差分画像Ｊの値域が予め定められた値域内である場合は、図１５の例に示すフローチャートによる処理を行い、差分画像Ｊの値域が予め定められた値域に収まらない場合は、図１６の例に示すフローチャートによる処理を行う。
【００６８】
図１７は、第７の実施の形態（画像処理装置１４５０）による処理例を示すフローチャートである。伸長処理であって、差分画像の値域が［−１２８，１２７］の場合における処理例を示している。
ステップＳ１７０２では、伸長Ａ処理モジュール１６０は、伸長Ａによる基本画像の伸長を行う。
ステップＳ１７０４では、伸長Ｂ処理モジュール１７０は、伸長Ｂによる差分画像の伸長を行う。
ステップＳ１７０６では、加算処理モジュール１８０は、基本画像と差分画像の加算を行う。
【００６９】
図１８は、第７の実施の形態（画像処理装置１４５０）による処理例を示すフローチャートである。伸長であって、差分画像の値域が［−１２８，１２７］に収まらない場合における処理例を示している。
ステップＳ１８０２では、伸長Ａ処理モジュール１６０は、伸長Ａによる基本画像の伸長を行う。
ステップＳ１８０４では、伸長Ｂ処理モジュール１７０は、伸長Ｂによるテクスチャ画像の伸長を行う。
ステップＳ１８０６では、加算処理モジュール１８０は、画像の加算を行う。つまり、ステップＳ１８０２での処理結果とステップＳ１８０４での処理結果の加算である。
ステップＳ１８０８では、伸長Ｂ処理モジュール１７０は、伸長Ｂによるオフセット画像の伸長を行う。
ステップＳ１８１０では、加算処理モジュール１８０は、画像の加算を行う。つまり、ステップＳ１８０６での処理結果とステップＳ１８０８での処理結果の加算である。
なお、図１７の例に示すフローチャートと、図１８の例に示すフローチャートのいずれを用いるかを、伸長Ｂ処理モジュール１７０が受け取った符号（符号化された画像）が１つであるか２つであるかによって判断するようにしてもよい。具体的には、伸長Ｂ処理モジュール１７０が受け取った符号が１つである場合は、図１７の例に示すフローチャートによる処理を行い、伸長Ｂ処理モジュール１７０が受け取った符号が２つである場合は、図１８の例に示すフローチャートによる処理を行う。なお、いずれの場合であっても、図１８の例に示すフローチャートによる処理を行うようにしてもよい。２つ目の符号がない場合は、ステップＳ１８０８、ステップＳ１８１０の処理は、実質的に何もしないことに等しくなるからである。
【００７０】
図１９は、第７の実施の形態による処理例（ステップＳ１６１０の処理例）を示すフローチャートである。
ステップＳ１９０２では、差分画像の最小値ｆ及び最大値ｃを算出する。
ステップＳ１９０４では、ｆ＜−１２８であるか否かを判断し、ｆ＜−１２８である場合はステップＳ１９０６へ進み、それ以外の場合はステップＳ１９０８へ進む。
ステップＳ１９０６では、オフセット値ｓを次の式によって算出する。ｓ＝ｆ＋１２８
ステップＳ１９０８では、ｃ＞１２７であるか否かを判断し、ｃ＞１２７である場合はステップＳ１９１０へ進み、それ以外の場合は処理を終了する（ステップＳ１９９９）。つまり、ステップＳ１９０４、ステップＳ１９０８での判断処理で、差分画像の値域が予め定められた値域に収まっているか否かを判断している。
ステップＳ１９１０では、オフセット値ｓを次の式によって算出する。ｓ＝ｃ−１２７
ステップＳ１９１２では、全画素値がオフセット値ｓのオフセット画像Ｓを生成する。
ステップＳ１９１４では、差分画像Ｊからオフセット画像Ｓを減算し、テクスチャ画像Ｔを生成する。
【００７１】
説明を簡潔にするために、以降では極端な例を用いて、第７の実施の形態を説明する。第７の実施の形態では圧縮伸長ＡはＰＮＧ、圧縮伸長ＢはＪＰＧを想定する。ここで、圧縮伸長Ａ及びＢは上記以外の手法を用いてもよいし、また圧縮伸長Ａと圧縮伸長Ｂは同じ手法を用いてもよい。また、第７の実施の形態では、対象とする画像にＲＧＢ色空間のカラー画像を用いるが、本技術はすべてのカラー画像及びグレースケール画像に適用できる。
【００７２】
図２０は、第７の実施の形態による処理例を示す説明図である。対象画像として図２０（Ａ）の例に示している画像２０００が与えられたとする。ここで、図２０では対象画像と基本画像の値域を［０，２５５］、差分画像の値域を［−２５５，２５５］として説明する。エッジ抽出・量子化処理モジュール１１０より基本画像２０４０（図２０（Ｂ））、画像２０００と基本画像２０４０の差分として差分画像２０５０（図２０（Ｃ））を得る。なお、画像２０００は、それぞれ同一色で構成されている領域２０１０（６×６画素の正方形）、領域２０２０（幅１画素の逆Ｌ形）、領域２０３０（幅１画素の逆Ｌ形）に分かれているような例の場合、差分画像２０５０も領域２０６０（６×６画素の正方形）、領域２０７０（幅１画素の逆Ｌ形）、領域２０８０（幅１画素の逆Ｌ形）のように分かれることになる。
このとき、差分画像２０５０の値域が［−１２８，１２７］に収まらない。第６の実施の形態では、値域を保証するために、図２１（Ａ）の例に示すように、差分画像の値域を［−１２８，１２７］に収めるために基本画像２１００に中間値（１２８）を使う。しかし、中間値で置き換えることで、基本画像２１００の画像品質は劣化する。
【００７３】
ここで、対象画像の画素値をＸｋ，ｌ、基本画像の画素値をＩｋ，ｌ、差分画像の画素値をＪｋ，ｌとすると、式４〜式７が成立する。ｋ及びｌは画像上のインデックスを表す。
【数４】
0006631060.tif 000005
【数５】
0006631060.tif 000006
【数６】
0006631060.tif 000007
【数７】
0006631060.tif 000008
差分画像の画素値の最大値をｃ、最小値をｆとすると、式８が成立する。
【数８】
0006631060.tif 000009
また、
【数９】
0006631060.tif 000010
が成立する。
【００７４】
オフセット値ｓを式１０で定義すると、
【数１０】
0006631060.tif 000011
【数１１】
0006631060.tif 000012
式１１が成立し、式７〜１１より、式１２が成立する。
【数１２】
0006631060.tif 000013
オフセット画像をＳｋ，ｌ、テクスチャ画像をＴｋ，ｌとし、式１３及び式１４で定義する。
【数１３】
0006631060.tif 000014
【数１４】
0006631060.tif 000015
式１１〜１４より、オフセット画像とテクスチャ画像の取り得る値は式１５、式１６となる。
【数１５】
0006631060.tif 000016
【数１６】
0006631060.tif 000017
以上より、差分画像Ｊｋ，ｌはオフセット画像Ｓｋ，ｌとテクスチャ画像Ｔｋ，ｌで表すことができる。
【００７５】
図２０に示す例の場合、第７の実施の形態による処理を行うと、図２２の例に示すような基本画像と差分画像となる。具体的には、基本画像２２００は、図２０（Ｂ）の例に示す基本画像２０４０と同じである。図２０（Ｃ）の例に示す差分画像２０５０を、図２２（Ｂ）の例に示す差分画像Ａ２２１０と図２２（Ｃ）の例に示す差分画像Ｂ２２５０に分割する。差分画像Ｂ２２５０は、同じ値の画素によって構成されており、オフセット画像であり、その値域は［−１２７，１２８］である。そして、図２０（Ｃ）の例に示す差分画像２０５０と差分画像Ｂ２２５０との差分画像として、図２２（Ｂ）の例に示す差分画像Ａ２２１０を生成する。差分画像Ａ２２１０は、領域２２２０（６×６画素の正方形）、領域２２３０（幅１画素の逆Ｌ形）、領域２２４０（幅１画素の逆Ｌ形）に分かれており、テクスチャ画像であり、その値域は［−１２８，１２７］である。
【００７６】
次に、伸長（デコード）処理における画像の推移を図２３の例に示す。図２３の例から、第７の実施の形態により、基本画像の画像品質の劣化が起こらないことが確認できる。
（基本画像＋差分画像）２３１０は、それぞれ同一色で構成されている領域２３２０（６×６画素の正方形）、領域２３３０（幅１画素の逆Ｌ形）、領域２３４０（幅１画素の逆Ｌ形）に分かれている。
第６の実施の形態では、図２３（Ａ１）の例に示す基本画像２３００（図２１（Ａ）の例に示す基本画像２１００と同等）は、中間値に置き換えられているため、基本画像２１００の画像品質は劣化している。そのため、最終的な伸長画像である（基本画像＋差分画像）２３１０も画像品質は劣化することになる。
一方、第７の実施の形態では、図２３（Ｂ１）の例に示す基本画像２３５０（図２０（Ｂ）の例に示す基本画像２０４０と同等）をそのまま利用し、基本画像２３５０にテクスチャ画像である差分画像Ａ２２１０を加算して、図２３（Ｂ２）の例に示す（基本画像＋テクスチャ画像）２３６０を生成し、さらに、（基本画像＋テクスチャ画像）２３６０にオフセット画像である差分画像Ｂ２２５０を加算して、図２３（Ｂ３）の例に示す（基本画像＋テクスチャ画像＋オフセット画像）２３８０を生成する。
ここで、オフセット画像の値域は［−１２７，１２８］であることから（式１５参照）、デコード処理の際は、オフセット画像とテクスチャ画像で挙動を制御してやる必要がある。しかし、これは、第７の実施の形態の汎用性を低下させる。そこで、例えば、オフセット画像の画素値１２８を１減算し、値域を［−１２７，１２７］にする。この場合、復号後の画像で最大で画素値１の画像品質の劣化が生まれるが、差分画像にＪＰＧなどの非可逆圧縮技術を用いる場合は非可逆圧縮技術によって画像品質に劣化が生じるため、この方法による画像品質の劣化は無視できる程度のものである。
【００７７】
次に、符号量について説明する。第７の実施の形態のテクスチャ画像の符号量は、第６の実施の形態における差分画像の符号量に相当する。基本画像の符号量については、第６の実施の形態では、基本画像に中間値を用いることで画素値の不連続が起こるため、第６の実施の形態の基本画像の符号量は、第７の実施の形態の基本画像の符号量よりも増加する。この符号量の増加分に相当する情報を、第７の実施の形態では、オフセット画像に与えている。そのため、第７の実施の形態のオフセット画像の符号量は、第６の実施の形態の基本画像の符号量の増加分に相当する。以上より、第７の実施の形態の総符号量は、第６の実施の形態の総符号量とほぼ等しいことがわかる。
【００７８】
図２４を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図２４に示す構成は、例えばパーソナルコンピュータ（ＰＣ）等によって構成されるものであり、スキャナ等のデータ読み取り部２４１７と、プリンタ等のデータ出力部２４１８を備えたハードウェア構成例を示している。
【００７９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２４０１は、前述の実施の形態において説明した各種のモジュール、すなわち、エッジ保存量子化モジュール１１０、差分処理モジュール１２０、圧縮Ａ処理モジュール１３０、圧縮Ｂ処理モジュール１４０、伸長Ａ処理モジュール１６０、伸長Ｂ処理モジュール１７０、加算処理モジュール１８０、可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール４３０、非可逆圧縮ＪＰＥＧ処理モジュール４４０、可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール４６０、非可逆伸長ＪＰＥＧ処理モジュール４７０、２値化処理モジュール５１０、差分処理モジュール５２０、減色量子化クラスタリング処理モジュール６１０、差分処理モジュール６２０、平坦ブロック判定処理モジュール７１０、プレ量子化処理モジュール７２０、差分値域制御処理モジュール９１０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００８０】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２４０２は、ＣＰＵ２４０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４０３は、ＣＰＵ２４０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバス等から構成されるホストバス２４０４により相互に接続されている。
【００８１】
ホストバス２４０４は、ブリッジ２４０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バス等の外部バス２４０６に接続されている。
【００８２】
キーボード２４０８、マウス等のポインティングデバイス２４０９は、操作者により操作される入力デバイスである。ディスプレイ２４１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）等があり、各種情報をテキストやイメージ情報として表示する。
【００８３】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２４１１は、ハードディスク（フラッシュメモリ等であってもよい）を内蔵し、ハードディスクを駆動し、ＣＰＵ２４０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、対象画像１０５、基本符号１３５、差分符号１４５、基本画像１１５、差分画像１２５、基本画像１６５、差分画像１７５等が格納される。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【００８４】
ドライブ２４１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体２４１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース２４０７、外部バス２４０６、ブリッジ２４０５、及びホストバス２４０４を介して接続されているＲＡＭ２４０３に供給する。リムーバブル記録媒体２４１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００８５】
接続ポート２４１４は、外部接続機器２４１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート２４１４は、インタフェース２４０７、及び外部バス２４０６、ブリッジ２４０５、ホストバス２４０４等を介してＣＰＵ２４０１等に接続されている。通信部２４１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部２４１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部２４１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００８６】
なお、図２４に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図２４に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図２４に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器（携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む）、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００８７】
なお、前述の各種の実施の形態を組み合わせてもよく（例えば、ある実施の形態内のモジュールを他の実施の形態内に追加する、入れ替えをする等も含む）、また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【００８８】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【００８９】
前述の実施の形態（特に、第１の実施の形態〜第６の実施の形態）は以下のように把握してもよい。そして、これらと第７の実施の形態に係る発明とを組み合わせてもよい。
［Ａ］  画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記差分画像生成手段によって生成された差分画像を圧縮する第２の圧縮手段
を具備することを特徴とする画像処理装置。
［Ｂ］  ［Ａ］の画像処理装置の第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
［Ａ］の画像処理装置の第２の圧縮手段によって生成された符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された画像を加算する加算手段
を具備することを特徴とする画像処理装置。
［Ｃ］  画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記差分画像生成手段によって生成された差分画像を圧縮する第２の圧縮手段と、
前記第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
前記第２の圧縮手段によって生成された符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像に前記第２の伸長手段によって伸長された画像を加算する加算手段
を具備することを特徴とする画像処理装置。
［Ｄ］  前記第１の圧縮手段は、可逆圧縮処理を行い、
前記第２の圧縮手段は、非可逆圧縮処理を行う
ことを特徴とする［Ａ］又は［Ｃ］に記載の画像処理装置。
［Ｅ］  前記量子化手段は、量子化として２値化処理を行う
ことを特徴とする［Ａ］、［Ｃ］、［Ｄ］のいずれか一項に記載の画像処理装置。
［Ｆ］  前記量子化手段は、量子化として限定色化処理を行う
ことを特徴とする［Ａ］、［Ｃ］、［Ｄ］のいずれか一項に記載の画像処理装置。
［Ｇ］  前記画像の平坦部分を量子化する第２の量子化手段
をさらに具備し、
前記量子化手段は、前記第２の量子化手段によって量子化された第２量子化画像を対象として、該画像のエッジを保存する量子化を行う
ことを特徴とする［Ａ］、［Ｃ］、［Ｄ］、［Ｅ］、［Ｆ］のいずれか一項に記載の画像処理装置。
［Ｈ］  前記差分画像生成手段による処理結果を予め定められた範囲内に収めるように、限定色化処理を行う前記量子化手段によるクラスタ形成における距離を制御する制御手段
をさらに具備することを特徴とする［Ｆ］に記載の画像処理装置。
［Ｉ］  コンピュータを、
画像のエッジを保存しつつ量子化を行う量子化手段と、
前記画像と前記量子化手段によって量子化された量子化画像との差分の画像を生成する差分画像生成手段と、
前記量子化手段によって量子化された量子化画像を圧縮する第１の圧縮手段と、
前記差分画像生成手段によって生成された差分画像を圧縮する第２の圧縮手段
として機能させるための画像処理プログラム。
［Ｊ］  ［Ａ］の画像処理装置の第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
［Ａ］の画像処理装置の第２の圧縮手段によって生成された符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像を、加算手段によって加算された画像に対して、先に表示する表示手段
を具備することを特徴とする画像処理装置。
［Ｋ］  コンピュータを、
［Ｉ］の画像処理プログラムの第１の圧縮手段によって生成された符号を伸長する第１の伸長手段と、
［Ｉ］の画像処理プログラムの第２の圧縮手段によって生成された符号を伸長する第２の伸長手段と、
前記第１の伸長手段によって伸長された画像を、加算手段によって加算された画像に対して、先に表示する表示手段
として機能させるための画像処理プログラム。
【００９０】
［Ａ］の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
［Ｂ］の画像処理装置によれば、圧縮画像を伸長する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の画像の画質を向上させることができる。
［Ｃ］の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
［Ｄ］の画像処理装置によれば、第２の圧縮手段が可逆圧縮処理を行う場合に比べて、符号量を削減することができる。
［Ｅ］の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
［Ｆ］の画像処理装置によれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
［Ｇ］の画像処理装置によれば、元の画像を量子化する場合に比べて、符号量を削減することができる。
［Ｈ］の画像処理装置によれば、差分がアンダーフロー又はオーバーフローする場合に比べて、画質を改善することができる。
［Ｉ］の画像処理プログラムによれば、画像を圧縮する場合にあって、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、最初の伸長後の画像の画質を向上させることができる。
［Ｊ］の画像処理装置によれば、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、先に表示する画像の画質を向上させることができる。
［Ｋ］の画像処理プログラムによれば、Ｐｒｏｇｒｅｓｓｉｖｅ−ＪＰＥＧと比較して、先に表示する画像の画質を向上させることができる。
【符号の説明】
【００９１】
１００…画像処理装置
１０５…対象画像
１１０…エッジ保存量子化モジュール
１１５…基本画像
１２０…差分処理モジュール
１２５…差分画像
１３０…圧縮Ａ処理モジュール
１３５…基本符号
１４０…圧縮Ｂ処理モジュール
１４５…差分符号
１５０…画像処理装置
１６０…伸長Ａ処理モジュール
１６５…基本画像
１７０…伸長Ｂ処理モジュール
１７５…差分画像
１８０…加算処理モジュール
１９５…伸長画像
４００…画像処理装置
４３０…可逆圧縮Ｆｌａｔｅ（ＰＮＧ）処理モジュール
４３５…基本符号
４４０…非可逆圧縮ＪＰＥＧ処理モジュール
４４５…差分符号
４５０…画像処理装置
４６０…可逆伸長Ｄｅｆｌａｔｅ（ＰＮＧ）処理モジュール
４７０…非可逆伸長ＪＰＥＧ処理モジュール
４９５…伸長画像
５００…画像処理装置
５１０…２値化処理モジュール
５１５…基本画像
５２０…差分処理モジュール
５２５…差分画像
５３５…基本符号
５４５…差分符号
６００…画像処理装置
６１０…減色量子化クラスタリング処理モジュール
６１５…基本画像
６２０…差分処理モジュール
６２５…差分画像
６３５…基本符号
６４５…差分符号
７００…画像処理装置
７１０…平坦ブロック判定処理モジュール
７１２…非平坦ブロック
７１４…平坦ブロック
７２０…プレ量子化処理モジュール
７３５…基本符号
７４５…差分符号
９００…画像処理装置
９１０…差分値域制御処理モジュール
９３５…基本符号
９４５…差分符号
１３００…クラウド配信サーバ
１３１０…ユーザー端末
１３２０…ユーザー端末
１３３０…ユーザー端末
１４００…画像処理装置
１４２２…画像分割モジュール
１４２５…差分画像／テクスチャ画像，オフセット画像
１４５０…画像処理装置
１４７５…差分画像／テクスチャ画像，オフセット画像
【図１】
0006631060.tif 000018
【図２】
0006631060.tif 000019
【図３】
0006631060.tif 000020
【図４】
0006631060.tif 000021
【図５】
0006631060.tif 000022
【図６】
0006631060.tif 000023
【図７】
0006631060.tif 000024
【図８】
0006631060.tif 000025
【図９】
0006631060.tif 000026
【図１０】
0006631060.tif 000027
【図１１】
0006631060.tif 000028
【図１２】
0006631060.tif 000029
【図１３】
0006631060.tif 000030
【図１４】
0006631060.tif 000031
【図１５】
0006631060.tif 000032
【図１６】
0006631060.tif 000033
【図１７】
0006631060.tif 000034
【図１８】
0006631060.tif 000035
【図１９】
0006631060.tif 000036
【図２０】
0006631060.tif 000037
【図２１】
0006631060.tif 000038
【図２２】
0006631060.tif 000039
【図２３】
0006631060.tif 000040
【図２４】
0006631060.tif 000041
【図２５】
0006631060.tif 000042
【図２６】
0006631060.tif 000043
【図２７】
0006631060.tif 000044
【図２８】
0006631060.tif 000045
【図２９】
0006631060.tif 000046
【図３０】
0006631060.tif 000047