(57)【要約】【課題】画像データをｍxｎのデータの配置パターンを表すコードデータと、前記ｍxｎ画素を構成する値（カラーデータ）で構成する可逆圧縮処理（第１の圧縮処理）を行った後、更にデータ量を少なくする為に、可逆圧縮もしくは非可逆圧縮のどちらかで第２の圧縮処理を行う場合、文字部分に関して、非可逆圧縮による画質の劣化が起こる。【解決手段】第２の圧縮処理内で、可逆圧縮処理、非可逆圧縮処理の選択は、第１の圧縮処理を行った結果のカラーデータの量によって決まっている。そこで、第１の圧縮処理を行う際に、エッジ情報を使用した減色処理を行う事により、カラーデータの削減を行い、第２の圧縮処理内で、非可逆圧縮処理の選択を行いやすくする。その際、通常の画像処理用に検出されているエッジ検出信号に対して、実画像データのエッジ部分とエッジ検出部分が一致するように、エッジ検出信号に補正を行う。【選択図】  図２５
2012065214.tif 000002
【特許請求の範囲】
【請求項１】
第１の圧縮処理手段で圧縮処理を行った後、第２の圧縮処理手段で更に圧縮処理を行う画像処理装置であって、
前記第１の圧縮処理手段は、入力された画像データで使用されている色数を少なくする減色処理を行うことによりデータ量を少なくした後に、圧縮データを生成し、
前記第２の圧縮処理手段は、前記第１の圧縮処理手段により生成された圧縮データのデータ量を予め設定してある閾値と比較し、閾値を越えている場合は圧縮データに対して非可逆圧縮処理を行ない、閾値を越えていない場合は圧縮データに対して可逆圧縮処理を行ない、
前記画像処理装置は、さらに、入力された画像データから文字や線のエッジ部分を検出してエッジ検出信号を出力するエッジ検出手段を有し、
前記第１の圧縮処理手段は減色処理を行う際に、前記エッジ検出手段により出力されたエッジ検出信号に基づいて、画像データの属性の同じ画素間は属性の異なる画素間より減色処理をしやすくするよう制御することを特徴とする画像処理装置。
【請求項２】
前記第１の圧縮処理手段は、入力された画像データがスキャン画像か否かを示す認識信号に基づき、スキャン画像データが入力されたと認識される場合、減色処理に用いる閾値を調整し、属性の同じ画素間は減色処理をよりしやすくするよう制御することを特徴とする、請求項１記載の画像処理装置。
【請求項３】
前記第２の圧縮処理手段は、入力された画像データがスキャン画像か否かを示す認識信号に基づき、スキャン画像データが入力されたと認識される場合、前記予め設定してある閾値を調整し、可逆圧縮処理を実施しやすくするよう制御することを特徴とする、請求項１記載の画像処理装置。
【請求項４】
前記エッジ検出手段により出力されたエッジ検出信号を補正するエッジ検出信号補正手段をさらに有し、エッジ検出信号補正手段はエッジ検出信号の領域を調整する事により、実際の画像データのエッジと領域を合わせることを特徴とする、請求項１記載の画像処理装置。
【請求項５】
（請求項１と同様に補正ください。）
第１の圧縮処理手段で圧縮処理を行った後、第２の圧縮処理手段で更に圧縮処理を行う画像処理装置における画像処理方法であって、
エッジ検出手段により、入力された画像データから文字や線のエッジ部分を検出してエッジ検出信号を出力する工程と、
第１の圧縮処理手段により、入力された画像データで使用されている色数を少なくする減色処理を行うことによりデータ量を少なくした後に、圧縮データを生成する工程と、
第２の圧縮処理手段により、前記生成された圧縮データのデータ量を予め設定してある閾値と比較し、閾値を越えている場合は圧縮データに対して非可逆圧縮処理を行ない、閾値を越えていない場合は圧縮データに対して可逆圧縮処理を行なう工程とを有し、
第１の圧縮処理手段より減色処理を行う際に、前記出力されたエッジ検出信号に基づいて、画像データの属性の同じ画素間は属性の異なる画素間より減色処理をしやすくするよう制御することを特徴とする画像処理方法。
【請求項６】
請求項５記載の画像処理方法をコンピュータに実行させるプログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力した画像データを所定のブロック単位で圧縮する画像データ圧縮を行い、その後更に可逆圧縮もしくは非可逆圧縮のどちらかで圧縮を行う画像装置において、文字等のエッジ部分の画像劣化を防ぎ、良好な画像出力を行う方法に関する。
【背景技術】
【０００２】
従来から、特許文献１にあるように、入力された画像データに対して、エッジの検出を行い、背景部分などの諧調画像部分とは異なる処理を行わせることにより、文字部分、諧調画像部分のそれぞれに、良好な画像出力を行わせる技術が知られている。  また、画像データの圧縮技術として、JPEG圧縮処理のように、非可逆圧縮処理及び、画像データをｍxｎの複数画素毎のデータの配置パターンを表すコードデータと、前記複数画素を構成する値（カラーデータ）で構成する可逆圧縮処理等が知られている。
【０００３】
非可逆圧縮処理に関しては、画像劣化は発生するが、圧縮率を高くする事により、圧縮後のデータ量を小さくすることが可能となる。また、可逆圧縮処理に関しては、非可逆圧縮処理ほどの圧縮率は望めず、圧縮後のデータ量はそれほど小さくはならないが、元画像と全く同じ画像が復元できるという特徴がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９３８８０
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像データをｍxｎの複数画素毎のデータの配置パターンを表すコードデータと、前記複数画素を構成する値（カラーデータ）で構成する可逆圧縮処理（第１の圧縮処理）を行った後、プリント出力を行わず、ハードディスク等にデータの格納を行うことがある。前記第１の圧縮処理を行ったデータに対して、更にデータ量を少なくする為に、第２の圧縮処理を行う。第２の圧縮処理を行う場合、カラーデータのデータ量をカウントし、データ量が大きい場合、非可逆圧縮処理を、データ量が少ない場合には、可逆圧縮処理を行わせる事により、データ量と画質の両立を行なわせる。前記第２の圧縮処理を行う時、文字や細線等の画像に対して、JPEG等の非可逆画像圧縮処理を行った場合、文字や細線のエッジ部分において、ブロックノイズが発生し、画像劣化を引き起こす。また、スキャナによって入力された画像データは、元原稿では、均一色、均一濃度のベタ画像部分でも、光量ムラや、CCDの特性のバラツキ等で、均一の画像データとはならない。その為、スキャン画像データを前記第１の圧縮処理によって圧縮した場合、カラーデータのデータ量は多くなる。その結果、スキャナによって入力された画像データは、第２の圧縮処理に置いて、非可逆圧縮処理が実施される事となり、文字や細線のエッジ部分において、画像劣化の目立つ画像が出力されてしまう。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明は、第１の圧縮処理手段で圧縮処理を行った後、第２の圧縮処理手段で更に圧縮処理を行う画像処理装置であって、第１の圧縮処理手段は、入力された画像データで使用されている色数を少なくする減色処理を行うことによりデータ量を少なくした後に、圧縮データを生成し、第２の圧縮処理手段は、１の圧縮処理手段により生成された圧縮データのデータ量を予め設定してある閾値と比較し、閾値を越えている場合は圧縮データに対して非可逆圧縮処理を行ない、閾値を越えていない場合は圧縮データに対して可逆圧縮処理を行ない、さらに、入力された画像データから文字や線のエッジ部分を検出してエッジ検出信号を出力するエッジ検出手段を有し、第１の圧縮処理手段は減色処理を行う際に、エッジ検出手段により出力されたエッジ検出信号に基づいて、画像データの属性の同じ画素間は属性の異なる画素間より減色処理をしやすくするよう制御することを特徴とする画像処理装置を提供する。
【発明の効果】
【０００７】
スキャナ画像入力データの文字部分の処理に関して、可逆符号化手段による良好な画像として出力する事により、スキャン文字領域の画質を改善できる。
【図面の簡単な説明】
【０００８】
【図１】ＭＦＰシステムの概要を示す図である。
【図２】コントローラの概要を示す図である。
【図３】画像をブロック分割した際にそのブロックのパターンを列挙する図である。
【図４】ブロックのパターンとその識別子を列挙する図である。
【図５】画像圧縮のフローを示す図である。
【図６】ブロックのパターンをフラグへ変換している様子を示す図である。
【図７】圧縮処理に対する入力と出力の関係を示す図である。
【図８】圧縮データのメモリ空間上でのレイアウトを示す図である。
【図９】第１の実施例の圧縮処理部（Ａ）のブロック図である。
【図１０】第１の実施例の圧縮処理全体の構成を示すブロック図である。
【図１１】第１の実施例の圧縮処理部（Ｂ）のブロック図である。
【図１２】第１の実施例の減色処理のフローを表す図である。
【図１３】第１の実施例の具定例における画像データを示す図である。
【図１４】第１の実施例の減色処理を含めた圧縮処理全体の構成を示すブロック図である。
【図１５】第１の実施例の圧縮処理部（Ｃ）のブロック図である。
【図１６】第１の実施例の画像とエッジ検出信号のパターンを表す図である。
【図１７】第１の実施例の具定例における画像データを示す図である。
【図１８】第１の実施例の具定例におけるエッジ検出信号を示す図である。
【図１９】第１の実施例のエッジ情報を使用した減色処理を含めた圧縮処理全体の構成を示すブロック図である。
【図２０】第１の実施例でのエッジ検出部でのスムージングフィルタの例を示す図である。
【図２１】第１の実施例でのエッジ検出部でのエッジ強調用フィルタの例を示す図である。
【図２２】第１の実施例での画像データとエッジ検出信号の違いを示す図である。
【図２３】第１の実施例の圧縮処理部（Ｄ）のブロック図である。
【図２４】第１の実施例のエッジ信号補正処理の内容を示す図である。
【図２５】第１の実施例のエッジ信号補正処理を含めた圧縮処理全体の構成を示すブロック図である。
【図２６】第１の実施例の圧縮処理のフローを示す図である。
【図２７】第２の実施例の圧縮処理全体の構成を示すブロック図である。
【図２８】第３の実施例の圧縮処理全体の構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための圧縮処理及び、伸張処理の最良の形態について図面を用
いて説明する。
【００１０】
＜第１の実施例＞
図１に、本発明の実施の形態のスキャン、プリント、コピーを行うデジタル複合機システム（以降「ＭＦＰ」と称する）の全体構成図を示す。
【００１１】
コントローラ１０１は画像入力デバイスであるスキャナ１０２や画像出力デバイスであるプリンタ１０３と接続し、またＬＡＮや公衆回線（ＷＡＮ）等ネットワーク１０４と接続することで、画像情報やデバイス情報の入出力、ＰＤＬデータのイメージ展開を行う。ＣＰＵ１０５はシステム全体を制御するプロセッサである。メモリ１０６はＣＰＵ１０５が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＨＤＤ記憶部１０７はハードディスクドライブで、システムソフトウェア、画像データを格納する。ユーザーインターフェイス１０８は、ＭＦＰの状態や、画像データの表示を行うディスプレイ、ユーザーがＭＦＰを使用するにあたって、各種設定を行うボタンやスイッチ、テンキー、またディスプレイやボタン等を兼ねたタッチパネルなどを備える。
【００１２】
図２を用いて、図１のコントローラ部の動作に関して詳細に説明する。まず、スキャンデータを読み込む場合を説明する。
【００１３】
スキャナ１０２からＲＧＢ（ＲＥＤ、ＧＲＥＥＮ、ＢＬＵＥ）３色の読み取り画像データを受け取ったコントローラ部では、まずスキャナ用画像処理部２０１にてシェーディング処理やフィルタ処理等の画像処理を行い、圧縮部２０２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ（ＤＩＲＥＣＴ  ＭＥＭＯＲＹ  ＡＣＣＥＳＳ  ＣＯＮＴＲＯＬＬＥＲ）２０３を介してメモリ１０６へ格納する。スキャンデータをプリントする場合は、メモリ１０６に格納されている圧縮データをＤＭＡＣ２１１を介して色処理部２１２へ入力しＣＭＹＫ（ＣＹＡＮ、ＭＡＧＥＮＴＡ、ＹＥＬＬＯＷ、ＢＬＡＣＫ）色空間へ変換する。その後、それらＣＭＹＫの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、ＤＭＡＣ２１１を介して再度メモリ１０６へ格納する。その後プリント用の画像処理を行うために、ＤＭＡＣ２２１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２２２にてラスタ画像データへ展開する。ラスタのＣＭＹＫ画像データをプリント用画像処理部２２３に入力し、そこでディザ法や誤差拡散法による面積階調処理を行い、プリンタ１０３へ出力する。スキャンデータをネットワークへ送信する場合には、メモリ１０６に格納されている圧縮データをＤＭＡＣ２１１を介して色処理部２１２へ入力し色変換を行う。具体的には、ディスプレイガンマ調整や用紙地色調整等を行った後にＹＣｂＣｒ（輝度、ＢＬＵＥ色差、ＲＥＤ色差）色空間へ変換する。その後再度ＤＭＡＣ２１１を介してメモリ１０６へ格納する。その後送信用の画像処理を行うために、ＤＭＡＣ２３１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２３２にてラスタ画像データへ展開する。ラスタのＹＣｂＣｒ画像データに対して送信処理部２３３ではカラー画像送信であればＪＰＥＧ圧縮処理を行い、モノクロ２値画像送信であればＹデータに対して２値化を行いＪＢＩＧ圧縮等を行い、ネットワーク１０４へ出力する。
【００１４】
スキャンデータを保存する場合には、メモリ１０６に格納されている圧縮データをＤＭＡＣ２４１を介してディスクスプール高圧縮／展開部２４２へ入力する。ディスクスプール高圧縮／展開部では、ＨＤＤの書き込みスピードがメモリに対して遅いため、さらに高圧縮のＪＰＥＧ圧縮を施す。その後ディスクアクセスコントローラ２４３を介してＨＤＤ記憶部１０７へ圧縮データを保存する。保存されているデータを再度メモリへ展開する場合はその逆処理を行う。
【００１５】
ＰＤＬのデータをメモリへ書き込む場合を説明する。図２では図示していないが、図１にてネットワークから送られてきたＰＤＬデータをＣＰＵ１０５にてインタープリットしメモリ１０６へディスプレイリストを出力する。その後メモリ１０６に格納されているディスプレイリストをレンダリング部２５１でラスタのＲＧＢ画像データへレンダリングを行い、圧縮部２５２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ２５３を介してメモリ１０６へ格納する。ＰＤＬ画像データをプリント、ネットワークへ送信、保存する場合はスキャンデータのそれと同様の処理を行うことで実現する事が可能になる。
【００１６】
以降ではラスタ画像データの圧縮部の詳細に関して説明を行う。まずページ単位のラスタ画像データから２ｘ２画素のブロックを抽出し、そのブロック単位でデータの圧縮を行う。
処理の説明の前に、２ｘ２の４画素データ中に占める色数に応じてその組み合わせの場合の数を考える。画素数が４画素なので、そこに占める色数は最大４色になり、ブロック内でたかだか１〜４色の組み合わせしか存在しない。それら４色のパターンのとりうる組み合わせの場合の数を図３を使って説明する。
【００１７】
まずブロック内が１色の場合、４画素が同色で構成されている事になるので、その組み合わせは１通りである。次にブロック内が２色の場合を考える。２色が４画素内へレイアウトされる場合の数は、左上の画素を第１色、他方を第２色として考えると、左上以外残りの３画素へ第１色もしくは第２色が入るので、４画素同色の場合を除くと、全部で７通りの組み合わせが考えられる。
【００１８】
次にブロック内が３色の場合を考える。３色が４画素内へレイアウトされる場合の数は、３色のうち１色だけ２度使われる場合の数と言い換える事が可能で、４画素の座標のうち、２画素が同じ色になる場合の数を求めればよい。つまり３色の場合の数は、４つの座標から２つの座標を取る組み合わせとなり、全部で６通りとなる。
【００１９】
最後にブロック内が４色の場合は１色の場合と同様１パターンしか存在しない。これら１〜４色すべての場合の数を合計すると全部で１５通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグを付与する事を考えると、データ量としては４ｂｉｔ必要となる。図示すると図４のようになり、以降このフラグをパターンフラグと呼ぶ。
【００２０】
上記のように２ｘ２画素の取りうる組み合わせを踏まえて、圧縮部２０２、２５２にて行われる処理フローを図５を用いて説明する。入力としては、例えばＲＧＢそれぞれ８ｂｉｔの２５６階調を持っており、またデータとしては８ｂｉｔデータの点順次で１画素あたり２４ｂｉｔ画像として説明を行う。
【００２１】
まず２ｘ２画素のブロックを入力し（Ｓ５０１）、そのブロック内全ての２画素の組み合わせに対して２４ｂｉｔのコンペアを取る（Ｓ５０２）。このコンペアを取った結果、全ビット一致していた場合１を、不一致の場合０を出力する。
【００２２】
図６に示すように、２ｘ２画素内の左上から右上、左下、右下の順に座標１、２、３、４とすると、２画素の組は、１−２、１−３、１−４、２−３、２−４、３−４の全部で６通りあるので、６回コンペアを取る必要があり、結果は６ｂｉｔ出力される。例えば全画素同色の場合には、全てのコンペア結果が１を出力し、逆に４画素全てバラバラの画素値を持っている場合には、全てのコンペア結果が０を出力する。前述の通り、４画素で色の一致から出現しうるパターン数は１５通りなので、その６ｂｉｔのコンペア結果に対して４ｂｉｔのパターンフラグへ変換することが可能である（Ｓ５０３）。４ｂｉｔのパターンフラグへ変換したら続いて４画素内で出現した色数および色データを抽出する（Ｓ５０４）。パターンフラグから、左上を第１色とした場合の第２色以降がどの位置にあるか求める事が出来る。
【００２３】
図７を参照しながら説明を行う。例えば４画素内が１色で構成されていることが確定した場合（Ｓ５０５）には、２色目以降は存在しないので、パターンフラグ４ｂｉｔと１色目の２４ｂｉｔを出力する（Ｓ５０６）。また４画素内が２色で構成されていることが確定した場合（Ｓ５０７）には、その２色目の座標をパターンフラグより算出し、パターンフラグ４ｂｉｔと２色分の画素値４８ｂｉｔを出力する（Ｓ５０８）。３色、４色の場合も同様である（Ｓ５０９、Ｓ５１０、Ｓ５１１）。この時ブロック内の座標（左上から右上、左下、右下の順に１、２、３、４）順にこれまで出現していなかった色データを記憶する。
【００２４】
このように、２ｘ２画素のブロック内の４色９６ｂｉｔの入力データを４ｂｉｔのパターンフラグとそこに存在する色数だけ画素値を出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。またパターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。
【００２５】
この処理を画像ブロック全てに対して行うことで、画像全面のデータ圧縮が可能になる。このようにして求めたパターンフラグと、色データをＤＭＡＣを通じてメモリに書き込むが、その時ＤＭＡＣではパターンフラグと第１色のデータと、第２、３、４色の書き込み位置を変える。ＤＭＡＣにはパターンフラグ書き込みのためのメモリ先頭アドレスと、第１色データの書き込みのためのメモリ先頭アドレスと、第２、３、４色データの書き込みのためのメモリ先頭アドレスの３つのアドレスを指定する。
【００２６】
図８にその例を図示する。例えばＭｘＮ画素のＲＧＢ各色８ビット画像を圧縮部へ入力する場合、パターンフラグのデータサイズはＭｘＮ／８バイト、第１色のデータサイズはＭｘＮｘ３／４バイト、第２〜４色のデータサイズは画像によって不定（画像によって異なる）の出力となる。ここで第１色書き込み位置以降のメモリ領域に関しては、画素データがピクセル単位で量子化や符号化されることなく格納されている。つまり、１画素入力、１画素出力で完結する色処理、例えばＬＵＴを用いた色変換や、ガンマ補正処理、行列演算を用いた色空間変換処理等は特にパターンフラグを参照する必要はなく、直接処理を行うことが可能になる。図２に示す色処理部ではメモリ上の第１色書き込み先頭アドレス以降の画素データをＤＭＡＣ経由で読み込み、画素単位での処理を済ませた後にメモリ上へ書き戻す。この時なんらかの画素単位処理によって画素のビット数が変わらない場合には、メモリ上同じ場所へ上書きすることでメモリの節約も可能である。
【００２７】
このように圧縮データを直接用いることで、メモリバス上の転送効率が向上し、かつオリジナルの画像に対して少ない画素数のデータに対して処理することになるので、高速処理が可能になる。また前述のように（図８のように）画像データを離散的にメモリ上へ格納することで、第１色部に限ってみると、画像を２ｘ２単位に左上の座標の画素をサンプリングした画像結果がメモリ上連続して存在することになる。本実施例で説明しているＭＦＰにおいては、蓄積したＰＤＬ画像データやスキャンの画像データのプレビュー表示や、前述したネットワーク送信などの機能も有している。例えばプリント解像度が６００ｄｐｉであったとしてもプレビューや送信時にそこまでの解像度は通常必要とされず、３００ｄｐｉやそれ以下で十分な場合が多い。こういった縮小データを得る必要がある場合は、パターンフラグや第２、３、４色を捨て、第１色の画像データのみ扱うことで、簡単に半分のサイズのラスタ画像を得る事が出来る。
【００２８】
例えば前述の例で６００ｄｐｉで蓄積されていた場合の縮小送信時を説明する。解像度として４００ｄｐｉなどサンプリングされている３００ｄｐｉより大きい解像度が指定されている場合にはパターンフラグも含めて圧縮されているデータを一度展開し公知の変倍を用いて送信する。逆に３００ｄｐｉより小さい送信解像度指定がされている場合には第１色部のデータのみ用い、指定の解像度へ変倍処理を行うといったように必要な画像サイズに応じて切り替えながらデータの読み込みを行う。
【００２９】
次に、圧縮部と対になる展開部２２２、２３２に関して説明する。展開部では前述したようなパターンフラグ、画素データをもとにもとのラスタ画像データへ戻す処理を行なう。
【００３０】
メモリ上に図８のように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第１色書き込み先頭アドレス、および第２、３、４色書き込み先頭アドレスの３つのアドレスをＤＭＡＣへ指定する。ＤＭＡＣはその３つのアドレスからデータを読み出し、展開部へ入力する。展開部ではまず４ｂｉｔのパターンフラグを解釈し、そのブロック内の色数を算出する。第１色データに加え、色数に応じて第２、３、４色データを読み出し、パターンフラグの形状に応じて画素データを再配置する。このようにすることで２ｘ２画素ブロックを展開、復号する。
【００３１】
また、展開部で画像サイズ１／２を行う場合には、前述したように、パターンフラグと２、３、４色データを必要としないので、ＤＭＡＣには第１色書き込み先頭アドレスのみ指定し、メモリからは第１色データのみ読み込みを行い画像を構成する。こうすることでメモリバスの帯域を節約することが可能になる。
【００３２】
以上説明してきた構成をとることで、比較的単純な圧縮方式でメモリ容量やメモリバス帯域の節約が可能になるだけでなく、画素単位での画像処理や縮小変倍の処理負荷も削減することが可能になる。
【００３３】
なお本実施例では２ｘ２のブロックを最小単位として記述していたが、これに限るものではない。また圧縮の説明の際画像データとしてＲＧＢ８ｂｉｔを例として説明していたが、ＣＭＹＫの色空間を取るものや、グレースケールのデータ、また８ｂｉｔ以外の画素値をとるものでも良い。
【００３４】
前記圧縮処理を実現する為のブロック図は、図９のようになる。入力I/F９０１を介して入力された画像データは、２ｘ２画素切り出し部９０２によって、２ｘ２画素単位でデータが抽出される。２ｘ２で切り出されたデータは、パターン認識部９０３によって、先に説明を行った１５パターンのどのパターンにあたるかの認識が行われる。また同時に、２ｘ２で切り出されたデータは、色判定部９０４に入力され、第１色データ及び、第２から第4の色データ（補間色データ）の認識が行われる。前記、パターン認識部９０３及び色判定部９０４の処理結果を元に、圧縮データ生成部９０５によって、先に説明を行ったような、パターンデータ、第１色データ、補間色データの生成を行なう。前記各データは、出力I/F９０６を介して出力される。
【００３５】
前記圧縮処理（第１の圧縮処理）を行った後、プリント出力を行わず、ハードディスク等にデータを格納したり、他の処理モジュールに転送を行う場合、前記圧縮処理を行ったデータに対して、更にデータ量を少なくする為に、第２の圧縮処理を行う。第２の圧縮処理を行う場合、補間色データのデータ量をカウントし、補間色データ量が大きい場合、非可逆圧縮処理を、補間色データ量が少ない場合には、可逆圧縮処理を行わせる事により、データ量と画質の両立を行なわせる。
【００３６】
前記２段階の圧縮処理を行う為のブロック図は、図１０のようになる。先に説明を行っている部分に関しては、先の図と同じ番号をつける事により、詳細な説明は省く。
【００３７】
入力I/F１００１は、スキャナ等から入力される画像データの入力を行う。スキャナ用画像処理部２０１は、図２に関して説明したように、シェーディング処理やフィルタ処理、色補正処理等の画像処理を行う。
【００３８】
圧縮処理部（１A）１００２は、図９を用いて説明した処理（第１の圧縮処理）を行う部分で、２ｘ２画素切り出し部９０２、パターン認識部９０３、色判定部９０４、圧縮データ生成部９０５からなり、パターンデータ、第１色データ、補間色データを生成する。スキャナ用画像処理部２０１、圧縮処理部（１A）１００２で処理した画像データを、プリンタで出力したり、ネットワーク経由でコントローラから出力する場合は、圧縮処理部（１A）１００２からの各出力データを出力I/F１００３を介して出力する。
【００３９】
スキャナ用画像処理部２０１、圧縮処理部（１A）１００２で処理した画像データを、プリント出力等を行わず、ハードディスク等にデータの格納を行う場合、前記圧縮処理を行ったデータに対して、更にデータ量を少なくする為に、第２の圧縮処理を行う。圧縮処理部（２）１００４が第２の圧縮処理を行う。
【００４０】
圧縮処理部（２）１００４内には、非可逆圧縮部１００８と可逆圧縮部１００９の２種類の圧縮処理が用意されている。圧縮処理部（１A）１００２からの補間色データのデータ量が大きい場合には、データ量を小さくする為に非可逆圧縮部１００８によって、非可逆圧縮処理を行う。また、圧縮処理部（１A）１００２からの補間色データのデータ量が小さい場合には、良好な画像出力を保つ為に可逆圧縮部１００９によって、可逆圧縮処理を行う。
【００４１】
圧縮処理部（１A）１００２からの補間色データは、比較部１００５にも入力され、データ量をカウントし、予め設定されている閾値との比較を行う事によって、圧縮処理部（２）１００４で行う圧縮処理の選択信号を生成する。圧縮方式選択部１００６では、圧縮処理部（１A）１００２からの各データの入力を行い、比較部１００５からの選択信号を元に、非可逆圧縮部１００８と可逆圧縮部１００９のどちらかにデータを出力する。
【００４２】
圧縮処理部（１A）１００２からの補間色データのデータ量が大きく、比較部１００５からの選択信号が非可逆圧縮処理の選択を行った場合は非可逆圧縮処理を行なう。即ち、圧縮方式選択部１００６から出力されるパターンデータ、第１色データ、補間色データを伸張処理部１００７によって伸張し、元画像データとしてから、非可逆圧縮部１００８によって、JPEG圧縮処理等の高圧縮率の非可逆圧縮処理を行う。一方、補間色データのデータ量が小さく、比較部１００５からの選択信号が可逆圧縮処理の選択を行った場合、圧縮方式選択部１００６から出力されるパターンデータ、第１色データ、補間色データのそれぞれに対して、可逆圧縮部１００９によって可逆圧縮を行う。
【００４３】
出力データ選択部１０１０は、比較部１００５からの選択信号を元に、非可逆圧縮部１００８もしくは可逆圧縮部１００９からの圧縮データの選択を行い、出力I/F１００３を介して出力を行なう。
【００４４】
前記２段階の圧縮処理を行う場合、圧縮処理部（２）１００４内の非可逆圧縮部１００８もしくは可逆圧縮部１００９の選択を、補間色データのデータ量を元に決定する。
【００４５】
スキャナによって入力された画像データは、元原稿では均一色、均一濃度のベタ画像部分でも、光量ムラや、CCDの特性のバラツキ等で、均一の画像データとはならない事が多い。その為、スキャン画像データを圧縮処理部（１A）１００２によって圧縮した場合、補間色データのデータ量は多くなる。その結果、スキャナによって入力された画像データは、圧縮処理部（２）１００４において、非可逆圧縮処理が実施される事となり、文字や細線のエッジ部分において、画像劣化の目立つ画像が出力されてしまう。
【００４６】
スキャナによって入力された画像データ等のデータのバラツキは、元々均一色、均一濃度の部分に関しては、類似した色及び濃度で表現される。そこで、２ｘ２に切り出した画像データに対して、類似した色及び濃度の画素に関して、複数画素のデータを、出力画像の画質の劣化が目立たない状態で、１色にまとめる処理（減色処理）を行なうことを考える。
【００４７】
図１１は、先に図９で説明を行った圧縮処理に、減色処理部１１０１を加えた形のブロック図である。２ｘ２画素切り出し部９０２によって切り出された２ｘ２画素のデータに対して、減色処理部１１０１によって減色処理を行なう。その後、パターン認識部９０３、色判定部９０４、圧縮データ生成部９０５による各種圧縮処理を行い、パターンデータ、第１色データ、補間色データの生成を行なう。
【００４８】
図１２は、減色処理部１１０１での処理内容を示すフローチャートである。まず２ｘ２の入力に対し、４画素のデータに対して１色へ減色処理を行う（Ｓ１２０２）。ここでは例えば４画素の平均画素値を算出することで１色への減色を実現する。続いて減色した画素値と入力の４画素の画素値との差分を算出し（Ｓ１２０３）、誤差の大小を判定する（Ｓ１２０４）。例えば入力と減色後のＲＧＢ値の差の絶対値の和を取り、その値がある閾値以下である場合には差が小さいと判断出来る。もしここで差が小さいと判定された場合には、減色した１色の画素値を使用して２ｘ２画素データを出力する（Ｓ１２０５）。
【００４９】
Ｓ１２０４で誤差が大きいと判定された場合には、２色へ減色処理を行う（Ｓ１２０６）。ここでは例えば４画素のうちＲＧＢ値の差が最も大きい２画素Ａ、Ｂを抽出し、残りの２画素がＡ、Ｂどちらに近いかでクラスタリングし、そのクラスタ平均値を求めることで、２色化する。続いて２色化した画素値と入力の４画素の画素値との差分を計算し（Ｓ１２０７）、誤差の大小を判定する（Ｓ１２０８）。もしここで差が小さいと判定された場合には、減色した２色の画素値を使用して２ｘ２画素データの出力を行う（Ｓ１２０９）。
【００５０】
Ｓ１２０８でも誤差が大きいと判定された場合には、３色への減色処理を行う（Ｓ１２１０）。ここでは例えば４画素のうち最もＲＧＢ値の差の小さい２画素を抽出し、その２画素の値を平均化し、それ以外の２画素をあわせ４画素を３色へ減色する。続いて３色化した画素値と入力の４画素の画素値との差分を計算し（Ｓ１２１１）、誤差の大小を判定する（Ｓ１２１２）。もしここで差が小さいと判定された場合には、減色した３色の画素値を使用して２ｘ２画素データの出力を行う（Ｓ１２１３）。
【００５１】
Ｓ１２１２でも誤差が大きいと判定された場合には、減色することで視覚的に問題が出るブロックということになるので、入力された４色全ての画素値を出力する（Ｓ１２１４）。
【００５２】
上述の減色処理を行う事により、スキャナ等で入力された画像データの類似した色及び濃度で表現されていた各画素データをある程度まとめることができる。このようにして、補間色データの削減が行われる。
【００５３】
また前述した誤差判定の閾値の取り方次第で圧縮率と画質の調整も可能となる。例えば許容する誤差を全くなくす（０にする）事で、画像としては全く可逆の圧縮になる。逆に許容する誤差を無限にする事で、全ブロック１色で表現されることになり解像度を半分にするのと等価となり、データ量を１／４にすることが保証出来る。
【００５４】
本実施例では減色を用いた圧縮部での説明となっているが、この方法を用いた圧縮であればその展開の処理は減色を伴ったかどうかの圧縮方法を意識する必要はない。なお、ここで説明に用いた減色の処理は一例であり、他の公知の減色処理を用いて実施することも可能である。また入力画素と減色処理後の画素の差を算出する手段であるが、これも公知の色差を求める別の手段で代替することも可能である。
【００５５】
前記減色処理の具体例をあげると以下のようになる。図１３のような２ｘ２の画像データが入力されたものとする。なお、色を同一色としてまとめる閾値を、誤差値が「４０」以内と設定するものとする。
【００５６】
「１」の画素のデータは、（R, G, B） = （200, 180, 160）
「２」の画素のデータは、（R, G, B） = （180, 160, 140）
「３」の画素のデータは、（R, G, B） = （50, 40, 30）
「４」の画素のデータは、（R, G, B） = （80, 70, 60）
【００５７】
前記２ｘ２画素のデータを１色にまとめようとした場合のR、G、Bのデータは、各画素のR、G、Bそれぞれの４画素の平均値とすると、以下のようになる。
AVE_R = (200+180+50+80) /4 =  127.5
AVE_G = (180+160+40+70) /4 =  112.5
AVE_B = (160+140+30+60) /4 =    97.5
（R, G, B） = （AVE_R, AVE_G, AVE_B） =  （127.5, 112.5, 97.5）
【００５８】
１色にまとめる場合の「１」〜「４」の各誤差値は、以下のように求められる。
「１」の誤差値  ： |127.5-200| + |112.5-180| + |97.5-160| = 202.5
「２」の誤差値  ： |127.5-180| + |112.5-160| + |97.5-140| = 142.5
「３」の誤差値  ： |127.5-50| + |112.5-40| + |97.5-30| = 217.5
「４」の誤差値  ： |127.5-80| + |112.5-70| + |97.5-60| = 127.5
従って、上述の閾値を用いると、「１」から「４」の全ての画素に関して、色をまとめる事は出来ないと判断される。
【００５９】
次に、前記２ｘ２画素のデータを２色にまとめる場合の計算を行う。前記２ｘ２画素のデータを２色にまとめようとした場合のR、G、Bのデータは、「１」と「２」の画素のR、G、Bそれぞれの平均値と、「３」と「４」の画素のR、G、Bそれぞれの平均値の２色のデータとなる。前者の平均値をAVE_12_R, AVE_12_G, AVE_12_B、後者をAVE_34_R, AVE_34_G, AVE_34_Bとする。
AVE_12_R = (200+180) /2 = 190
AVE_12_G = (180+160) /2 = 170
AVE_12_B = (160+140) /2 = 150
AVE_34_R = (50+80) /2 = 65
AVE_34_G = (40+70) /2 = 55
AVE_34_B = (30+60) /2 = 45
【００６０】
よって、２色にまとめる場合の、「１」〜「４」の各誤差値は、以下のように求められる。
「１」の誤差値  ：  |190-200| + |170-180| + |150-160| = 30
「２」の誤差値  ：  |190-180| + |170-160| + |150-140| = 30
「３」の誤差値  ：  |65-50| + |55-40| + |45-30| = 45
「４」の誤差値  ：  |65-80| + |55-70| + |45-60| = 45
従って、上述の閾値を用いると、「１」、「２」の画素に関してはまとめる事が可能であるが、「３」、「４」の画素色をまとめる事は出来ないと判断される。よって、前記２ｘ２画素のデータは、２色にまとめる事は出来ないと判断される。
【００６１】
次に、前記２ｘ２画素のデータを３色にまとめる場合の計算を行う。前記２ｘ２画素のデータを３色にまとめようとした場合のR、G、Bのデータは、「１」と「２」の画素のR、G、Bそれぞれの平均値と、「３」と「４」の画素の入力データをそのまま使用する形で、３色のデータとなる。「１」と「２」の画素のR、G、Bそれぞれの平均値（AVE_12_R, AVE_12_G, AVE_12_B）は以下のようになる。
AVE_12_R = (200+180) /2 = 190
AVE_12_G = (180+160) /2 = 170
AVE_12_B = (160+140) /2 = 150
【００６２】
よって、３色にまとめる場合の、「１」、「２」の各誤差値は、以下のように求められる。
「１」の誤差値  ：  |190-200| + |170-180| + |150-160| = 30
「２」の誤差値  ：  |190-180| + |170-160| + |150-140| = 30
従って、上述の閾値を用いると、「１」、「２」の画素に関してはまとめる事が可能となる。また、「３」、「４」の画素に関しては、入力されたデータをそのまま使用するため、本例の２ｘ２画素のデータは、３色にまとめる事が出来ると判断される。その場合の２ｘ２画素のデータは、以下のようになる。
「１」の画素のデータ  （R, G, G） = （190, 170, 150）
「２」の画素のデータ  （R, G, G） = （190, 170, 150）
「３」の画素のデータ  （R, G, G） = （50, 40, 30）
「４」の画素のデータ  （R, G, G） = （80, 70, 60）
【００６３】
図１０の画像圧縮処理のブロック図に前記減色処理を含めると図１４のようになる。圧縮処理部（１Ｂ）１４０１内に減色処理部１１０１を加える事により、スキャナ等で入力された画像データの類似した色及び濃度で表現されていた各画素データがまとめられ、補間色データの削減が行われる。その結果、圧縮処理部（２）１００４での比較部１００５によって、可逆圧縮処理が選ばれやすくなる為、圧縮処理部（２）１００４での画像圧縮による劣化が抑えられる。
【００６４】
しかし、前記減色処理を行うと弊害が起きることもある。スキャン画像データのベタ部分の減色を積極的に行おうとすると、同一色としてまとめる閾値が大きくなる。そうすると、文字のエッジ部分などの下地と文字の境界部分の中間色も下地部分と同一の色と判断され、文字のエッジが綺麗に表現されない事態が生じる。そのため、減色処理を行う際に、エッジ情報を使用する事が考えられる。
【００６５】
図１５は、図１１の減色処理部１１０１に代えて、エッジ情報を使用した減色処理部１５０１を使用した圧縮処理部（Ｃ）１５００のブロック図である。圧縮処理部（Ｃ）１５００では、エッジ検出信号を外部から入力し、減色処理部１５０１内で、エッジ情報を加味した減色処理を行う。この場合、エッジ情報を元に、同一の属性の画素間に関しては同一色と判断しやすく、異なる属性の画素間に関しては同一色と判断しにくくする制御を行う。すなわち、エッジ情報を元に、同一の属性の画素間に関して、異なる属性の画素間より同一色と判断しやすくする制御を行う。それによって、下地部分どうしでは減色処理が行われるように、文字のエッジ部分と下地部分では減色処理が行われにくくなり、文字のエッジ部分の再現性をよくすることができる。
【００６６】
以下に、減色処理部１５０１内で行われる、エッジ情報を加味した減色処理に関する詳細な説明を行う。図１６に示すように、画像データのパターンデータは、先に説明を行ったように１５パターンのデータである。同様にして考えると、エッジ部分か否かの判定を行ったエッジ検出信号を、画像データと対応させて２ｘ２画素で表現すると、８つのパターンで表される。
【００６７】
図１７に示す２ｘ２の画像データに対して、図１８のようなエッジ検出信号が入力されたものとする。
「１」の画素のデータは、（R, G, B） = （200, 180, 160）
「２」の画素のデータは、（R, G, B） = （180, 160, 140）
「３」の画素のデータは、（R, G, B） = （50, 40, 30）
「４」の画素のデータは、（R, G, B） = （80, 70, 60）
ここで、各画素は以下の属性情報を持つものとする。
「１」の属性情報は非エッジ部分
「２」の属性情報はエッジ部分
「３」の属性情報はエッジ部分
「４」の属性情報はエッジ部分
【００６８】
なお、色を同一色としてまとめる閾値として、以下のような設定を用いるものとする。
（ア）同一の属性を持つ画素間の誤差値が「５０」以内である場合は同一色とする
（イ）異なる属性を持つ画素間の誤差値が「２５」以内である場合は同一色とする
【００６９】
前記２ｘ２画素のデータを１色にまとめようとした場合のR、G、Bのデータは、各画素のR、G、Bそれぞれの４画素の平均値とすると、以下のようになる。
AVE_R = (200+180+50+80) /4 =  127.5
AVE_G = (180+160+40+70) /4 =  112.5
AVE_B = (160+140+30+60) /4 =    97.5
（R, G, B） = （AVE_R, AVE_G, AVE_B） =  （127.5, 112.5, 97.5）
【００７０】
１色にまとめる場合の、「１」〜「４」の各誤差値は、以下のように求められる。
「１」の誤差値  ： |127.5-200| + |112.5-180| + |97.5-160| = 202.5
「２」の誤差値  ： |127.5-180| + |112.5-160| + |97.5-140| = 142.5
「３」の誤差値  ： |127.5-50| + |112.5-40| + |97.5-30| = 217.5
「４」の誤差値  ： |127.5-80| + |112.5-70| + |97.5-60| = 127.5
従って、上述の閾値を用いると、「１」〜「４」の全ての画素に関して、色をまとめる事は出来ないと判断される。
【００７１】
次に、前記２ｘ２画素のデータを２色にまとめる場合の計算を行う。前記２ｘ２画素のデータを２色にまとめようとした場合のR、G、Bのデータは、「１」と「２」の画素のR、G、Bそれぞれの平均値と、「３」と「４」の画素のR、G、Bそれぞれの平均値の２色のデータとなる。前者の平均値をAVE_12_R, AVE_12_G, AVE_12_B、後者をAVE_34_R, AVE_34_G, AVE_34_Bとする。
AVE_12_R = (200+180) /2 = 190
AVE_12_G = (180+160) /2 = 170
AVE_12_B = (160+140) /2 = 150
AVE_34_R = (50+80) /2 = 65
AVE_34_G = (40+70) /2 = 55
AVE_34_B = (30+60) /2 = 45
【００７２】
よって、２色にまとめる場合の、「１」〜「４」の各誤差値は、以下のように求められる。
「１」の誤差値  ：  |190-200| + |170-180| + |150-160| = 30
「２」の誤差値  ：  |190-180| + |170-160| + |150-140| = 30
「３」の誤差値  ：  |65-50| + |55-40| + |45-30| = 45
「４」の誤差値  ：  |65-80| + |55-70| + |45-60| = 45
従って、「１」、「２」の画素に関しては、誤差値は「３０」となっているが、エッジ検出信号のパターンが「１」は非エッジ部分、「２」はエッジ部分の属性を示している為、閾値（イ）により、同一色にはならないと判断される。「３」、「４」の画素に関しては、誤差値は「４５」となっているが、エッジ検出信号のパターンが「３」、「４」ともエッジ部分の属性を示している為、閾値（ア）により、同一色になると判断される。よって、前記２ｘ２画素のデータは、２色にまとめる事は出来ないと判断される。
【００７３】
次に、前記２ｘ２画素のデータを３色にまとめる場合の計算を行う。前記２ｘ２画素のデータを３色にまとめようとした場合のR、G、Bのデータは、「３」と「４」の画素のR、G、Bそれぞれの平均値と、「１」と「２」の画素の入力データをそのまま使用する形で、３色のデータとなる。「３」と「４」の画素のR、G、Bそれぞれの平均値（AVE_34_R, AVE_34_G, AVE_34_B）は以下のようになる。
AVE_34_R = (50+80) /2 = 65
AVE_34_G = (40+70) /2 = 55
AVE_34_B = (30+60) /2 = 45
【００７４】
よって、３色にまとめる場合の、３、４の各誤差値は、以下のように求められる。
「３」の誤差値  ：  |65-50| + |55-40| + |45-30| = 45
「４」の誤差値  ：  |65-80| + |55-70| + |45-60| = 45
従って、「３」、「４」の画素に関しては、誤差値は「４５」となっているが、エッジ検出信号のパターンが「３」、「４」ともエッジ部分の属性を示している為、閾値（ア）により、同一色になると判断される。また、「１」、「２」の画素に関しては、入力されたデータをそのまま使用するため、本例の２ｘ２画素のデータは、３色にまとめる事が出    「１」の画素のデータ  （R, G, G） = （200, 180, 160）
「２」の画素のデータ  （R, G, G） = （180, 160, 140）
「３」の画素のデータ  （R, G, G） = （65, 55, 45）
「４」の画素のデータ  （R, G, G） = （65, 55, 45）
【００７５】
図１４の画像圧縮処理のブロック図に、前記エッジ検出信号を使用した減色処理を含めると図１９のようになる。エッジ検出部１９０１によって検出されたエッジ検出信号は、スキャナ用画像処理部等で色補正やエッジ強調等の切り替えに使用されると共に、圧縮処理部（１Ｃ）１９０２内の減色処理部１５０１に入力される。それにより、スキャナ等で入力された画像データの類似した色及び濃度で表現されていた各画素データがまとめられ、補間色データの削減が行われる際に、エッジ部分の画質の劣化を防ぐことができる。
【００７６】
しかし、図１９のような状態では、良好な結果が得られない事がある。エッジ検出部１９０１内でのエッジ検出の方法は以下のように行われる。例えば、図２０に示すような、３ｘ３のスムージングフィルターにより、中心の注目画素に対して、スムージング処理を行う。また同時に、図２１に示すようなエッジ強調フィルタにより、中心の注目画に対して、エッジ強調処理を行う。前記スムージング処理結果と、エッジ協調処理結果の差の絶対値を、予め設定されている閾値と比較し、閾値よりも大きな場合はエッジ部分、小さな場合は非エッジ部分との判断を行う。通常、エッジ検出を行なう場合、設定されている閾値は、濃度の薄い文字のエッジや、下地に色がついている部分の文字のエッジ等をエッジ部分として検出を行う為、ある程度小さめの値となっている。スキャナ用画像処理部等で色補正やエッジ強調等の切り替えに使用される場合は、薄い文字や下地に色がある場合の文字等にも、エッジ部分としての処理が必要となるからである。その為、下地との濃度差が十分あるような場合（白い下地に黒い文字があるような場合）は、図２２に示すように、実際の文字のエッジ部分より広い範囲で、エッジ部分の検出を行う。
【００７７】
そのため本来、減色処理の制御を行いたい部分（文字のエッジ部分）と、エッジ検出信号のエッジ部分にズレがあり、間違った部分で前記エッジ信号を使用した減色処理の制御が実施されてしまう。実際の文字のエッジ部分より何画素広い範囲で、エッジ部分の検出を行うかは、前記スムージング処理結果と、エッジ協調処理結果の差の絶対値を比較する閾値の大きさによって決定する。よって、その閾値の設定値によって、下地との濃度差が十分あるような場合に、何画素分余分にエッジ判定を行っているかが明確になる。
【００７８】
上述の事態に対応する為に、図１５に示した圧縮処理に対して、エッジ検出信号補正部２３０１を付加した構成を図２３に示す。図２３では、エッジ検出信号補正部２３０１によって、入力されたエッジ検出信号を、実際の画像データのエッジ部分と一致するように補正を行った後に、減色処理部１５０１へ入力する。
【００７９】
エッジ検出信号補正部２３０１では、図２４に示すように、濃度の薄い文字のエッジや、下地に色がついている部分の文字のエッジ等をエッジ部分として検出を行う為、ある程度小さめの閾値によるエッジ判定信号を用いる。そして、実際の文字のエッジに一致するように、数画素（本実施例では２画素）細らせることにより、エッジ検出信号を画像データのエッジと一致させる。これにより、意図した部分でのエッジ情報を使用した減色処理が可能となる。
【００８０】
図１９の画像圧縮処理のブロック図に、エッジ検出信号補正部２３０１を含めると図２５のようになる。エッジ検出部１９０１によって検出されたエッジ検出信号は、スキャナ用画像処理部等で使用される。エッジ検出信号はさらに、圧縮処理部（１Ｄ）２５０１内のエッジ検出信号補正部２３０１によって、補正処理が行われた後、エッジ検出補正信号として、減色処理部１５０１に入力される。それにより、スキャナ等で入力された画像データの類似した色及び濃度で表現されていた各画素データがまとめられ、補間色データの削減が行われる際に、エッジ部分の画質の劣化を防ぐことができる。
【００８１】
図２６は、図２５の構成による処理フローを示すフローチャートである。入力された画像データ（Ｓ２６０１）は、エッジ検出部１９０１によってエッジ検出処理が行われ（Ｓ２６０３）、その結果を使用して、スキャン用画像処理部２０１によって、スキャン用画像処理が行われる（Ｓ２６０２）。スキャン用画像処理（Ｓ２６０２）が行われた画像データは、圧縮処理部（１Ｄ）２５０１に入力され、２ｘ２画素切り出し処理（Ｓ２６０４）によって、２ｘ２画素のデータに切り出される。入力された画像データがスキャン画像で、それを元にしたエッジ検出信号を使用する場合には（Ｓ２６０５：ＹＥＳ）、エッジ信号補正処理（Ｓ２６０６）をエッジ検出信号補正部（２５０２）によって実施した後に、減色処理（Ｓ２６０７）を実施する。ＰＤＬ画像等のエッジ情報が入力され、エッジ検出信号の補正の必要がない場合には（Ｓ２６０５：ＮＯ）、エッジ信号補正処理（Ｓ２６０６）は実施せずに、減色処理（Ｓ２６０７）を実施する。その後、パターン認識処理（Ｓ２６０８）及び、色判定処理（Ｓ２６０９）を行った後に圧縮データ生成処理（Ｓ２６１０）を行い、パターンデータ、第１の色データ、補間色データの生成を行なう。
【００８２】
ここで、生成した圧縮データをプリンタ等で出力を行なう場合には（Ｓ２６１１：ＹＥＳ）、出力Ｉ／Ｆ１００３を介してプリント出力を行う（Ｓ２６１２）。プリントを行わず、ハードディスク等に格納を行う場合には（Ｓ２６１１：ＮＯ）、圧縮処理部（２）１００４へ入力され、更なる圧縮処理が行われる。
【００８３】
圧縮処理部（２）１００４では、比較部１００５によって、補間データ量を予め設定されている閾値と比較する（Ｓ２６１３）。補間データ量が閾値より大きい場合（Ｓ２６１４：ＹＥＳ）、圧縮処理部（１Ｄ）２５０１から圧縮処理部（２）１００４に入力された、パターンデータ、第１の色データ、補間色データに伸張処理部１００７によって伸張処理を行う（Ｓ２６１５）。こうして元画像データに戻した後、非可逆圧縮処理部１００８によって、高圧縮率の非可逆圧縮を行う（Ｓ２６１６）。補間データ量が閾値より小さい場合（Ｓ２６１４：ＮＯ）、圧縮処理部（１Ｄ）２５０１から圧縮処理部（２）１００４に入力された、パターンデータ、第１の色データ、補間色データに、可逆圧縮処理部１００９によって低圧縮率の可逆圧縮を行う（Ｓ２６１７）。圧縮処理部（２）１００４によって、非可逆圧縮もしくは可逆圧縮が行われた圧縮データは、出力Ｉ／Ｆ１００３を介して出力される（Ｓ２６１８）。
【００８４】
以上のように、画像データをｍxｎの複数画素毎のデータの配置パターンを表すコードデータと、前記複数画素を構成する値（カラーデータ）で構成する可逆圧縮処理（第１の圧縮処理）を行った後、更にデータ量を少なくする為に、第２の圧縮処理を行う。この場合、エッジ検出信号を実際の画像データに合わせた上で減色処理に使用する事により、文字の再現性の品質を保った上で、圧縮データを生成することができる。
【００８５】
＜第２の実施例＞
第１の実施例では、第１の圧縮処理時に減色処理を行う事により補間色データのデータ量を削減し、第２の圧縮処理時に可逆圧縮を選択しやすくする方法について説明を行った。第２の実施例では、スキャナ以外からのデータ入力もある事を想定した圧縮処理の説明を行う。本実施例では、スキャナ以外からのデータとしては、ＰＤＦ画像データがエッジ情報と共に入力されてくる事を考慮する。
【００８６】
ＰＤＦ画像データとスキャンデータとの違いとしては、以下のような点があげられる。人工的に生成されたデータなので、ベタの部分は均一な色、均一な濃度のデータとなっており、データのバラツキが無い。エッジ情報に関しても、実際の画像のエッジ部分と一致した状態で生成される。よって、前記圧縮処理においてもスキャナデータと、ＰＤＦデータの入力の違いにより、内部の処理を切り替え、それぞれにあった処理を行わせる必要がある。
【００８７】
エッジ信号補正処理に関しては、スキャンデータからのエッジ検出信号に対しては、細らせるなどの補正処理が必要となるが、ＰＤＦ画像データに付随して入力されるエッジ検出信号に関しては、補正の必要は無い。また、スキャンデータに関しては、第１の実施例のような減色処理を積極的に行わなければ、補間色データが大きくなってしまうが、ＰＤＦ画像の場合は、ベタの部分は均一データとなっている為、減色処理を積極的に行わなくても、補間データは少ない状態となる。そこで本実施例では、スキャナからの入力画像か否かの情報（入力データ認識信号）を元にして、スキャナからの入力画像データの場合、エッジ検出信号の補正処理を実施し、減色処理部ではより積極的な減色を実施する。
【００８８】
図２７に第２の実施例のブロック図を示す。図２７の構成は、図２５の第１の実施例における画像圧縮処理に、入力した画像データの種類を元にした処理の切り替えを加えたものである。
【００８９】
入力Ｉ／Ｆ２７０１はスキャナもしくはＰＤＦの画像データの入力を行なうものであり、入力したデータがスキャンデータまたはＰＤＦデータのどちらであるかの認識を行い、入力データ認識信号を出力する。入力データ認識信号は、後段のエッジ検出部２７０２、圧縮処理部（１Ｅ）２７０３等の画像処理で使用される。
【００９０】
エッジ検出部２７０２では、入力データ認識信号を元に、スキャンデータ入力時と、ＰＤＦデータ入力時で、処理を切り替える。スキャンデータ入力時は第１の実施例で説明したように、画像データからエッジ部分の検出処理を行い、実際の画像データより広い範囲となるエッジ検出信号の出力を行う。ＰＤＦデータ入力時は、画像データと併せて入力されてくるエッジ情報を画像データと切り分けて、エッジ検出信号として出力を行う。この場合、エッジ検出信号は実際の画像データと一致したものとなる。入力データ認識信号は、圧縮処理部（１Ｅ）２７０３にも入力され、エッジ検出信号補正部２７０４及び、減色処理部２７０５でも使用される。
【００９１】
エッジ検出信号補正部２７０４では、スキャンデータ入力時は第１の実施例で説明したように、通常、実際の画像データより広い範囲となるエッジ検出信号に対して補正を行い、画像データのエッジ部分と一致させる処理を行い、エッジ検出補正信号の出力を行う。ＰＤＦデータ入力時は、エッジ検出信号は実際の画像データと一致しているため補正の必要はなく、入力データのままエッジ検出補正信号の出力を行う。減色処理部２７０５では、スキャンデータに使用する閾値と、ＰＤＦデータに使用する閾値の２種類の閾値を用意し、入力データ認識信号によって切り替える。
【００９２】
以下に具体例をあげる。なお、図１７に示す２ｘ２の画像データに対して、図１８のようなエッジ検出信号が入力された場合の、第１の実施例で挙げた具体例の数値、属性情報をそのまま流用する。
【００９３】
また、色を同一色としてまとめる閾値として、以下のような設定を行なうものとする。
入力データが、スキャンデータの場合（上述の閾値と同じ）
（ア）同一の属性を持つ画素間の誤差値が「５０」以内である場合は同一色とする
（イ）異なる属性を持つ画素間の誤差値が「２５」以内である場合は同一色とする
入力データが、ＰＤＦデータの場合
（ウ）同一の属性を持つ画素間の誤差値が「２５」以内である場合は同一色とする
（エ）異なる属性を持つ画素間の誤差値が「２０」以内である場合は同一色とする
【００９４】
入力データがスキャンデータの場合は上述の結果と同じである。ＰＤＦデータの場合は次のようになる。１色にまとめる場合、上述の閾値を用いると、「１」〜「４」の全ての画素に関して、色をまとめる事は出来ないと判断される。２色にまとめる場合、「１」、「２」に関するR、G、Bそれぞれの平均値との誤差値、「３」、「４」に関するR、G、Bそれぞれの平均値との誤差値とも、閾値を越える事となる為、同一色にはならないと判断される。３色にまとめる場合、「１」、「２」に関するR、G、Bそれぞれの平均値との誤差値、「３」、「４」に関するR、G、Bそれぞれの平均値との誤差値とも、閾値を越える事となる為、同一色にはならないと判断される。よって、入力データがＰＤＦデータ入力の場合、減色処理において減色されることは無く、入力された４色のデータのまま出力される。
【００９５】
以上のように、第２の実施例では、入力された画像データが、スキャンデータかＰＤＦデータの認識をおこない、処理の切り替えを行うこととする。減色処理を行わなくても補間色データのデータ量が比較的小さいＰＤＦデータに関しては、減色処理をしにくい閾値の設定を行ない、より入力画像データに忠実な出力を行う。また、スキャンデータに関しては、データのバラツキによる補間データの増大を抑えるため、積極的に減色を行うような閾値の設定を行なう。また、エッジ検出信号に関しては、補正の必要の有無を認識し、切り替える事により、エッジ情報を元にした減色処理を正確に行う。
【００９６】
＜第３の実施例＞
第１の実施例では、第１の圧縮処理時に減色処理を行う事により補間色データのデータ量を削減し、第２の圧縮処理で可逆圧縮を選択しやすくする方法を説明した。第２の実施例では、スキャナ以外からのデータとして、ＰＤＦ画像データがエッジ情報と共に入力される事を考慮し、前段の圧縮処理において、スキャナデータとＰＤＦデータの違いにより内部の処理を切り替え、それぞれに合った処理を行う方法を説明した。本実施例では、スキャナからの入力画像か否かの情報（スキャン情報）を元にして、後段の圧縮処理を切り替える事により、良好な画像出力を行なうような処理を行なう。
【００９７】
図２８に第３の実施例のブロック図を示す。図２８の構成は、図２７の第２の実施例における画像圧縮処理に、入力した画像データの種類を元にした処理の切り替えを加えたものである。
【００９８】
入力Ｉ／Ｆ２７０１はスキャナもしくはＰＤＦの画像データの入力を行なうものであり、入力したデータがスキャンデータまたはＰＤＦのどちらであるかの認識を行い、入力データ認識信号を出力する。入力データ認識信号は、後段のエッジ検出部２７０２、圧縮処理部（１Ｅ）２７０３等の画像処理で使用されると共に、圧縮処理部（２Ｂ）２８０１内の比較部（Ｂ）２８０２にも入力される。
【００９９】
エッジ検出部２７０２、圧縮処理部（１Ｅ）２７０３は、スキャナからの入力画像か否かの情報（入力データ認識信号）を元にして、スキャナからの入力画像データの場合、エッジ検出信号の補正処理を実施し、減色処理部ではより減色を行うような処理をさせる。処理内容の詳細に関しては、第２の実施例によって説明を行っているので、ここでは省く。
【０１００】
圧縮処理部（２Ｂ）２８０１内の比較部（Ｂ）２８０２では、入力データ認識信号を元に、入力されたデータが、スキャンデータかＰＤＦデータかによって、内部の処理の切り替えを行う事とする。以下に、その詳細の説明を行う。
【０１０１】
圧縮処理部（２Ｂ）２８０１内には、非可逆圧縮部１００８と可逆圧縮部１００９の２種類の圧縮処理が用意されている。圧縮処理部（１Ｅ）２７０３からの補間色データのデータ量が大きい場合には、データ量を小さくする為に非可逆圧縮部１００８によって非可逆圧縮処理を行う。また、圧縮処理部（１Ｅ）２７０３からの補間色データのデータ量が小さい場合には、良好な画像出力を保つ為に可逆圧縮部１００９によって可逆圧縮処理を行う。
【０１０２】
圧縮処理部（１Ｅ）２７０３からの補間色データは、比較部（Ｂ）２８０２にも入力され、データ量をカウントし、予め設定されている閾値との比較を行う事によって、圧縮処理部（２Ｂ）２８０１で行う圧縮処理の選択信号を生成する。圧縮処理部（２Ｂ）２８０１では、圧縮処理部（１A）１００２からの各データの入力を行い、比較部（Ｂ）２８０２からの選択信号を元に、非可逆圧縮部１００８と可逆圧縮部１００９のどちらかにデータを出力する。
【０１０３】
圧縮処理部（１Ｅ）２７０３からの補間色データの量が大きく、比較部（Ｂ）２８０２からの選択信号が非可逆圧縮処理を選択した場合、圧縮方式選択部１００６から出力されるパターンデータ、第１色データ、補間色データを伸張処理部１００７で伸張する。こうして元画像データとしてから、非可逆圧縮部１００８によって、JPEG圧縮処理等の高圧縮率の非可逆圧縮処理を行う。補間色データの量が小さく、比較部（Ｂ）２８０２からの選択信号が可逆圧縮処理の選択を行った場合、圧縮方式選択部１００６から出力されるパターンデータ、第１色データ、補間色データのそれぞれに、可逆圧縮部１００９で可逆圧縮を行う。
【０１０４】
出力データ選択部１０１０は、比較部（Ｂ）２８０２からの選択信号を元に、非可逆圧縮部１００８もしくは可逆圧縮部１００９からの圧縮データの選択を行い、出力I/F１００３を介して出力を行なう。
【０１０５】
本実施例では、比較部（Ｂ）２８０２に入力データ認識信号を入力する事により、入力されたデータがスキャンデータかＰＤＦデータかによって、内部の処理の切り替えを行う。また、本実施例では、スキャンデータ入力用の閾値と、ＰＤＦデータ入力用の閾値の２種類の閾値を予め設定しておき、入力データ認識信号を元に両閾値を使い分ける。具体的には、スキャンデータ入力用の閾値を、ＰＤＦデータ入力用の閾値より大きな値として設定しておき、スキャン用のデータが入力されてきた時には、可逆圧縮での圧縮処理がより多く行われるように切り替える。これにより、スキャンデータ入力時の非可逆圧縮による文字部分等の画像劣化を防ぐことが可能となる。
【０１０６】
以上のように、第３の実施例では、スキャナからの入力画像か否かの情報（スキャン情報）を元にして、後段の圧縮処理を切り替える事により、良好な画像出力を行なうように処理する事が可能となる。
【０１０７】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１０８】
１００４  圧縮処理部（第２の圧縮処理手段）
１９０１  エッジ検出部（エッジ検出手段）
２５０１  圧縮処理部（第１の圧縮処理手段）
２５０２  エッジ検出信号補正部（エッジ検出信号補正手段）
【図１】
2012065214.tif 000003
【図２】
2012065214.tif 000004
【図３】
2012065214.tif 000005
【図４】
2012065214.tif 000006
【図５】
2012065214.tif 000007
【図６】
2012065214.tif 000008
【図７】
2012065214.tif 000009
【図８】
2012065214.tif 000010
【図９】
2012065214.tif 000011
【図１０】
2012065214.tif 000012
【図１１】
2012065214.tif 000013
【図１２】
2012065214.tif 000014
【図１３】
2012065214.tif 000015
【図１４】
2012065214.tif 000016
【図１５】
2012065214.tif 000017
【図１６】
2012065214.tif 000018
【図１７】
2012065214.tif 000019
【図１８】
2012065214.tif 000020
【図１９】
2012065214.tif 000021
【図２０】
2012065214.tif 000022
【図２１】
2012065214.tif 000023
【図２２】
2012065214.tif 000024
【図２３】
2012065214.tif 000025
【図２４】
2012065214.tif 000026
【図２５】
2012065214.tif 000027
【図２６】
2012065214.tif 000028
【図２７】
2012065214.tif 000029
【図２８】
2012065214.tif 000030