(57)【要約】【課題】スキャナ等の入力デバイスから入力された画像データについても、画像の劣化を抑えたデータ圧縮が可能な画像処理装置および画像処理方法を提供すること。【解決手段】入力された元画像データを、２×２画素のブロックに分割する。ブロック毎に、２色化圧縮処理および４色保持圧縮処理を行う。２色化圧縮差分データ、４色保持圧縮差分データと、元画像データとの階調値の差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力する。【選択図】図１
2010103681.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを、M×N画素（M、Nは共に１以上の整数であり、かつMおよびNの少なくとも一方が２以上の整数）のブロックに分割する手段と、
前記ブロック毎に、ブロックに含まれる色を、前記M×N個よりも小さい数のグループに分けて前記M×Nよりも小さい数の色に割り当てることにより画像データを圧縮して第１の圧縮結果データを取得する第１の圧縮手段と、
前記ブロック毎に、ブロックに含まれる各色成分の下位の所定のビットを削除することにより画像データを圧縮して第２の圧縮結果データを取得する第２の圧縮手段と、
前記ブロックのそれぞれについて、前記第１の圧縮手段により圧縮された画像データを復元した画像データと前記第２の圧縮手段により圧縮された画像データを復元した画像データとのそれぞれと、前記入力された画像データとの階調値の差分を比較し、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、該差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力する手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記分割されたブロックの各々について、画像のエッジ成分の検出を行う手段をさらに備え、
前記出力する手段は、前記エッジ成分が検出されたブロックについては、前記第２の圧縮結果データを該ブロックの圧縮処理結果として出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
ＪＰＥＧ圧縮を行うか否かを判断する手段をさらに備え、
前記出力手段は、
前記ＪＰＥＧ圧縮を行うと判断される場合は、前記エッジ成分が検出されたブロックについて、前記第２の圧縮結果データを該ブロックの圧縮処理結果として出力し、
前記ＪＰＥＧ圧縮を行わないと判断される場合は、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、前記差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力することを特徴とする請求項３に記載の画像処理装置。
【請求項４】
前記M×N個よりも小さい数は２であり、
前記第１の圧縮手段は、ブロックに含まれる色を、２つのグループに分けて２つの色に割り当てることを特徴とする請求項１乃至３のいずれかに記載の画像処理装置。
【請求項５】
前記ブロックにおける色の配置に関するパターン情報を取得する手段と、
前記パターン情報と圧縮結果データとに基づいて、圧縮結果データを復元する手段と
をさらに備えることを特徴とする請求項１乃至４のいずれかに記載の画像処理装置。
【請求項６】
前記所定のビットは、全ビットのうち下位の半分のビットであることを特徴とする請求項１乃至５のいずれかに記載の画像処理装置。
【請求項７】
入力された画像データを、M×N画素（M、Nは共に１以上の整数であり、かつMおよびNの少なくとも一方が２以上の整数）のブロックに分割する工程と、
前記ブロック毎に、ブロックに含まれる色を、前記M×N個よりも小さい数のグループに分けて前記M×Nよりも小さい数の色に割り当てることにより画像データを圧縮して第１の圧縮結果データを取得する第１の圧縮工程と、
前記ブロック毎に、ブロックに含まれる各色成分の下位の所定のビットを削除することにより画像データを圧縮して第２の圧縮結果データを取得する第２の圧縮工程と、
前記ブロックのそれぞれについて、前記第１の圧縮工程により圧縮された画像データを復元した画像データと前記第２の圧縮工程により圧縮された画像データを復元した画像データとのそれぞれと、前記入力された画像データとの階調値の差分を比較し、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、該差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力する工程と
を有することを特徴とする画像処理方法。
【請求項８】
前記分割されたブロックの各々について、画像のエッジ成分の検出を行う工程をさらに有し、
前記出力する工程は、前記エッジ成分が検出されたブロックについては、前記第２の圧縮結果データを該ブロックの圧縮処理結果として出力することを特徴とする請求項７に記載の画像処理方法。
【請求項９】
ＪＰＥＧ圧縮を行うか否かを判断する工程をさらに有し、
前記出力工程は、
前記ＪＰＥＧ圧縮を行うと判断される場合は、前記エッジ成分が検出されたブロックについて、前記第２の圧縮結果データを該ブロックの圧縮処理結果として出力し、
前記ＪＰＥＧ圧縮を行わないと判断される場合は、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、前記差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力することを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記M×N個よりも小さい数は２であり、
前記第１の圧縮工程は、ブロックに含まれる色を、２つのグループに分けて２つの色に割り当てることを特徴とする請求項７乃至９のいずれかに記載の画像処理方法。
【請求項１１】
前記ブロックにおける色の配置に関するパターン情報を取得する工程と、
前記パターン情報と圧縮結果データとに基づいて、圧縮結果データを復元する工程と
をさらに有することを特徴とする請求項７乃至１０のいずれかに記載の画像処理方法。
【請求項１２】
前記所定のビットは、全ビットのうち下位の半分のビットであることを特徴とする請求項７乃至１１のいずれかに記載の画像処理方法。
【請求項１３】
コンピュータを請求項１乃至６のいずれかに記載の画像処理装置として機能させることを特徴とするコンピュータプログラム。
【請求項１４】
コンピュータにより読み出し可能なプログラムを格納した記憶媒体であって、請求項１３記載のコンピュータプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、マルチファンクションプリンタ（ＭＦＰ）といった画像処理装置内の画像処理に関する。特に、特定のエリア内で使用する色数を制限する事により、データ量の削減を行う処理（ブロック近似符号化処理）を使用したデータ圧縮処理に関するものである。
【背景技術】
【０００２】
近年、各種画像処理装置では、カラー化あるいは多階調化等により、取り扱うデータ量が著しく増加してきている。  
それに対して、様々なデータ圧縮技術が開発されてきている。  
その中の１つとして、次のような処理がある。すなわち、多階調画像を隣接する複数の画素からなる画素エリアに分割し、この画素エリアをエリア内の画素数より少ない数の代表色と、その代表色を当てはめる位置を示したパターン情報で表現することにより画像圧縮を行うブロック近似符号化という処理である。（特許文献１を参照）
【０００３】
【特許文献１】特開平９−３２７０１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
（第１の課題）
特許文献１に記載の従来のブロック近似符号化処理では、ＰＤＬ等の印刷用画像データやコンピュータグラフィック等、ある程度使用されている色数が限られている画像データに対しては、良好な画質が保たれる圧縮方法である。
【０００５】
しかし、スキャナ、デジタルカメラ等の入力デバイスから入力された多階調の画像データに対しては、色数を削減する事による画像の劣化が目立ってしまう事がある。
【０００６】
（第２の課題）
現状、多値画像データの圧縮方法として用いているＪＰＥＧ圧縮では、文字のエッジ部分に関して、圧縮・伸張処理を行うと画像の劣化が大きく、画質の劣化が目立ってしまう。この画質の劣化は、エッジ成分が強いほど、目立つ事となる。
【０００７】
その為、従来のブロック近似符号化処理によって、圧縮・伸張処理を行った場合、伸張した時の画像のエッジ成分が強くなる事になり、ＪＰＥＧ処理により文字のエッジ部分の劣化は更に目立つ事となる。
【０００８】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、スキャナ等の入力デバイスから入力された画像データについても、画像の劣化を抑えたデータ圧縮が可能な画像処理装置および画像処理方法を提供することにある。
【課題を解決するための手段】
【０００９】
このような目的を達成するために、本発明は、画像処理装置であって、入力された画像データを、M×N画素（M、Nは共に１以上の整数であり、かつMおよびNの少なくとも一方が２以上の整数）のブロックに分割する手段と、前記ブロック毎に、ブロックに含まれる色を、前記M×N個よりも小さい数のグループに分けて前記M×Nよりも小さい数の色に割り当てることにより画像データを圧縮して第１の圧縮結果データを取得する第１の圧縮手段と、前記ブロック毎に、ブロックに含まれる各色成分の下位の所定のビットを削除することにより画像データを圧縮して第２の圧縮結果データを取得する第２の圧縮手段と、前記ブロックのそれぞれについて、前記第１の圧縮手段により圧縮された画像データを復元した画像データと前記第２の圧縮手段により圧縮された画像データを復元した画像データとのそれぞれと、前記入力された画像データとの階調値の差分を比較し、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、該差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力する手段とを備えることを特徴とする。
【００１０】
また、本発明は、画像処理方法であって、入力された画像データを、M×N画素（M、Nは共に１以上の整数であり、かつMおよびNの少なくとも一方が２以上の整数）のブロックに分割する工程と、前記ブロック毎に、ブロックに含まれる色を、前記M×N個よりも小さい数のグループに分けて前記M×Nよりも小さい数の色に割り当てることにより画像データを圧縮して第１の圧縮結果データを取得する第１の圧縮工程と、前記ブロック毎に、ブロックに含まれる各色成分の下位の所定のビットを削除することにより画像データを圧縮して第２の圧縮結果データを取得する第２の圧縮工程と、前記ブロックのそれぞれについて、前記第１の圧縮工程により圧縮された画像データを復元した画像データと前記第２の圧縮工程により圧縮された画像データを復元した画像データとのそれぞれと、前記入力された画像データとの階調値の差分を比較し、前記第１の圧縮結果データおよび第２の圧縮結果データのうち、該差分の小さい方に対応する方を対応するブロックの圧縮処理結果として出力する工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明では、従来のブロック近似符号化処理で問題となっていた、色数を削減する事による画像の劣化を低減し、圧縮・伸張後も良好な画質を実現する事が可能となる。
【００１２】
また、本発明による圧縮処理を行う場合、エッジ部分の検出を行い、エッジ部分と認識されたところに関しては、色数保持の圧縮処理を選択する事によって、その後のＪＰＥＧ処理による文字等のエッジ部分の画質の劣化を低減することが可能となる。
【００１３】
さらに、本発明による圧縮処理を行った画像に対して、その後にＪＰＥＧ圧縮・伸張処理が無い場合には、元画像データとの最小誤差での処理を選択する。一方、ＪＰＥＧ圧縮・伸張処理がある場合には、エッジ部分の検出を行い、エッジ部分と認識されたところに関しては、色数保持の圧縮処理を選択する。これにより、その後のＪＰＥＧ処理による文字等のエッジ部分の画質の劣化を低減することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下で説明する図面で、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
【００１５】
本発明の一実施形態における圧縮処理では、画像を特定のエリアに分割し、各エリア内で使用する色数を削減すると言った従来のブロック近似符号化処理を行うことができる。さらに、以下に示すような新たなブロック近似符号化処理も行うことができる。
【００１６】
すなわち、上記新たなブロック近似符号化処理は、エリア内で使用する色数はそのままで、各色を表すための階調数を削減する事によって、データ量の削減を行う色数保持の圧縮処理を、元画像データに対して並列に行う（色数保持圧縮処理）。そして、後述する２色化圧縮処理および色数保持圧縮処理により得られた圧縮結果データをそれぞれ復号化して得られた復号結果データを比較する。ついで、該２種類の復号結果データと元画像データとの差が小さい方に起因する圧縮結果データを選択し、出力を行う。
【００１７】
また、本発明の一実施形態では、各圧縮結果データのどちらか一方を選択する場合、元画像中のエッジ情報を利用して、エッジ部分を含むブロックに関しては、必ず色数を保持する処理を行うような制御を行うことができる。この制御により、ＪＰＥＧ圧縮・伸張処理後の文字の画質の劣化を防ぐないしは低減することができる。
【００１８】
また、モードによって本発明の一実施形態に基づく圧縮処理後の画像に対して、ＪＰＥＧ処理による圧縮・伸張が行われないモードと、行われるモードとがある場合、上記２つのモードによって２つの圧縮処理結果の選択処理を切り替えるようにしても良い。
【００１９】
本発明に基づく圧縮処理後の画像に対して、ＪＰＥＧ処理による圧縮・伸張処理が行われないモードの場合は、ＪＰＥＧ処理によるエッジ部分の画像劣化が起こらない為、元画像データとの差分が小さい方の処理を選択する。
【００２０】
一方、本発明に基づく圧縮処理後の画像に対して、ＪＰＥＧ処理による圧縮・伸張処理が行われるモードの場合は、後段にあるＪＰＥＧ圧縮・伸張処理によるエッジ部分の画像劣化が起こる為、エッジ部分は強制的に４色化の処理結果を選択するようにしても良い。
【００２１】
（第１の実施形態）
＜画像形成装置について＞
図１０は、本実施形態における画像形成装置１００の内部ブロックを表す図である。  
画像形成装置１００は、画像入力デバイスとしてのスキャナ部１３、画像出力デバイスであるプリンタ部１４、コントローラ１１、ユーザインターフェースである操作部１２を備えている。  
画像形成装置１００は、ＬＡＮ５０に接続されており、ＬＡＮ５０に接続されている他の画像形成装置２００や、パーソナルコンピュータ（ＰＣ）２０等とデータの送受信も可能な構成となっている。
【００２２】
画像形成装置１００の外観を図１１に示す。  
操作部１２は、所定の指令あるいはデータなどを入力するキーボードあるいは各種スイッチなどを含む。また、操作部１２は、画像形成装置１００の入力・設定状態などをはじめとする種々の表示を行う表示部を備える。  
スキャナ部１３は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換する。スキャナ部１３はさらに電気信号をＲ、Ｇ、Ｂ各色からなる輝度信号に変換し、当該輝度信号を画像データとしてコントローラ１１に対して出力する。  
ユーザが操作部１２から読み取り開始を指示すると、コントローラ１１からスキャナ部１３に原稿読み取り指示が与えられる。スキャナ部１３は、この指示を受けると原稿の読み取り動作を行う。  
プリンタ部１４は、コントローラ１１から受け取った画像データを用紙上に形成する画像形成デバイスである。
【００２３】
＜コントローラについて＞  
図１２は、本実施形態における画像形成装置１００の画像処理装置としてのコントローラ１１の構成をより詳細に説明するためのブロック図である。
【００２４】
コントローラ１１はスキャナ部１３やプリンタ部１４と電気的に接続されており、一方ではＬＡＮ５０を介してＰＣ２０や他の画像形成装置２００等と接続されている。これにより画像データやデバイス情報の入出力が可能となっている。
【００２５】
メインＣＰＵ３０１は、ＲＯＭ３０３に記憶された制御プログラム等に基づいて接続中の各種デバイスとのアクセスを統括的に制御すると共に、コントローラ１１内部で行われる各種処理についても統括的に制御する。
【００２６】
ＲＡＭ３０２は、メインＣＰＵ３０１が動作するためのシステムワークメモリであり、かつ画像データを一時記憶するためのメモリでもある。このＲＡＭ３０２は、記憶した内容を電源ＯＦＦ後も保持しておくＳＲＡＭ及び電源ＯＦＦ後には記憶した内容が消去されてしまうＤＲＡＭにより構成することができる。
【００２７】
符号３５０はＨＤＤ制御部であり、ＨＤＤ３５１が接続され、文書データや画像データ、システムソフトウェア等の各種データを格納する事が可能となっている。ＨＤＤ制御部３５０及び、ＨＤＤ３５１の制御に関しては、システムバス３４０を経由して、メインＣＰＵ３０１で行う事となる。
【００２８】
操作部Ｉ／Ｆ３０５は、システムバス３４０と操作部１２とを接続するためのインターフェース部である。この操作部Ｉ／Ｆ３０５は、操作部１２に表示するための画像データをシステムバス３４０から受け取り操作部１２に出力すると共に、操作部１２から入力された情報をシステムバス３４０へと出力する。ネットワークＩ／Ｆ３６０はＬＡＮ５０及びシステムバス３４０に接続し、ＬＡＮ５０との情報の入出力を行う。
【００２９】
＜画像処理部について＞  
次に図１２を元に、画像処理部３０４内の各処理に関して詳細な説明を行っていく。  
画像バス３３０は画像データをやり取りするための伝送路であり、ＰＣIバス等のバスで構成されている。  
画像処理部３０４内は、スキャナ処理ブロック３０７、プリンタ処理ブロック３０８、ページ編集処理ブロック３０９、ＰＤＬ処理ブロック３１０に大きく分けられる事となる。
【００３０】
以下に、スキャナ処理ブロック３０７に関して、詳細な処理の説明を行う。  
スキャナ画像処理部３１２は、スキャナ部１３からスキャナＩ／Ｆ３１１を介して受け取った画像データに対して、補正、加工等の処理を行う。  
なお、スキャナ画像処理部３１２は、受け取った画像データがカラー原稿か白黒原稿かや、文字原稿か写真原稿かなどを判定する。そして、その判定結果を画像データに付随させる。こうした付随情報を像域データと称する。このスキャナ画像処理部３１２で行われる処理の詳細については後述する。  
圧縮部１ ３１３は画像データを受け取り、本実施形態におけるブロック近似符号化のエンコード処理を行い、画像バス３３０に出力する事となる。
【００３１】
図１３にスキャナ画像処理部３１２の内部構成を示す。  
スキャナ画像処理部３１２はＲＧＢ各８bitの輝度信号からなる画像データを受け取る。この輝度信号は、マスキング処理部５０１によりＣＣＤのフィルタ色に依存しない標準的な輝度信号に変換される。  
フィルタ処理部５０２は、受け取った画像データの空間周波数を任意に補正する。この処理部は、受け取った画像データに対して、例えば７×７のマトリクスを用いた演算処理を行う。
【００３２】
ヒストグラム生成部５０３は、受け取った画像データを構成する各画素の輝度データをサンプリングする。より詳細に説明すると、主走査方向、副走査方向にそれぞれ指定した開始点から終了点で囲まれた矩形領域内の輝度データを、主走査方向、副走査方向に一定のピッチでサンプリングする。そして、サンプリング結果を元にヒストグラムデータを生成する。生成されたヒストグラムデータは、後の処理として行われる下地飛ばし処理を行う際に下地レベルを推測するために用いられる。
【００３３】
ガンマ補正部５０４は、入力されたＲＧＢ輝度データをルックアップテーブル等を利用して非線形特性を持つ輝度データに変換する。  
カラーモノクロ判定部５０５は、受け取った画像データを構成する各画素が有彩色であるか無彩色であるかを判定する。そして、その判定結果をカラーモノクロ判定信号（像域データの一部）として画像データに付随させる。  
文字写真判定部５０６は、画像データを構成する各画素が文字を構成する画素なのか、文字以外（例えば、写真など）を構成する画素なのかを判定する。そして、その判定結果を文字写真判定信号（像域データの一部）として画像データに付随させる。
【００３４】
以下に、プリンタ処理ブロック３０８に関して、詳細な処理の説明を行う。  
プリンタ画像処理部３１５では、画像バス３３０から入力された圧縮画像データを伸張部１ ３１６によって復号化した画像データに対して、補正、加工等の処理を行う。伸張部１ ３１６は、本実施形態におけるブロック近似符号化のデコード処理部、及び、ＪＰＥＧデコード処理部を有し、メインＣＰＵ３０１の制御により、画像形成装置１００の動作モードにより、伸張処理を使い分ける事となる。なお、プリンタ画像処理部３１５は、スキャナ画像処理部で生成したヒストグラム、カラーモノクロ判定信号や、文字写真判定信号を元に、その処理内容を変える事となる。
【００３５】
図１４にプリンタ画像処理３１５においてなされる処理の流れを示す。  
下地飛ばし処理部６０１は、スキャナ画像処理部３１２で生成されたヒストグラムを用いて、下地部分と判断されたＲＧＢ輝度信号を全て最大の輝度信号に変換することによって、画像データの下地色の除去を行う。
【００３６】
モノクロ生成部６０２はスキャナ画像処理部３１２で生成されたカラーモノクロ判定信号を用いて、入力された画像データがモノクロ画像と判断されていた場合は、各画素のＲＧＢの値の平均値を求め、その値をその画素のＲＧＢの各値と置き換える。それによって、後のマスキング処理部の処理により、Ｋ単色のプリント用データが生成される事となる。
【００３７】
ＬＯＧ変換処理部６０３では、ルックアップテーブル等を用いて、ＲＧＢからＣＭＹの輝度濃度変換を行う。この時、先のモノクロ生成部６０２によって、ＣＭＹデータがすべて同じ値に揃えられていた場合、Ｋ単色のデータとなり、モノクロ画像データが生成される事となる。
【００３８】
マスキング処理部６０４では、ＬＯＧ変換処理部６０３で生成されたＣＭＹの画像データの最小値を出力用のＫのデータ値とし、Ｋのデータ値を入力されたＣＭＹの値から差し引いた値を、出力用のＣＭＹのデータ値とする処理を実施する。
【００３９】
フィルタ処理部６０５は、受け取った画像データの空間周波数を任意に補正する。この処理部は、受け取った画像データに対して、例えば７×７のマトリクスを用いた演算処理を行う。
【００４０】
出力側ガンマ補正部６０６は、この出力側ガンマ補正部６０６に入力される信号値と、複写出力後の反射濃度値とが比例するように補正を行う。
【００４１】
以上のように、プリンタ画像処理３１５で処理が行われた画像データは、プリンタＩ／Ｆ３１４を介して、プリンタ部１４に送られて、プリントアウトが実行される事となる。
【００４２】
以下に、ページ編集処理ブロック３０９に関して、詳細な処理の説明を行う。  
画像バス３３０から入力された圧縮画像データは、伸張部２ ３１７によって復号化した画像データとされ、以下の各種処理部に送られる事となる。  
伸張部２ ３１７は、本実施形態におけるブロック近似符号化のデコード処理部、及び、ＪＰＥＧデコード処理部を有し、メインＣＰＵ３０１の制御により、画像形成装置１００の動作モードにより、伸張処理を使い分ける事となる。
【００４３】
回転処理部３１８では、入力された画像データに対して、各ページごとに９０度、１８０度、２７０度の回転処理を行い、出力データを生成する。  
変倍処理部３１９では、各種補完アルゴリズム、間引きアルゴリズムを用いて、画像データの拡大、縮小を行い出力データを生成する。  
移動処理部３２０では、上記回転処理部３１８や変倍処理部３１９によって処理を行われた画像データを、各ページデータごとに出力位置の移動を行う部分となる。その結果、２in１出力や、４in１出力等の複数ページを１ページにまとめる処理や、拡大された１ページの画像データを、４ページに分けて出力を行う等の処理を実現する。
【００４４】
圧縮部２ ３２１には、本実施形態におけるブロック近似符号化の符号化処理部、及び、ＪＰＥＧ符号化処理部を有し、メインＣＰＵ３０１の制御により、モードごとに伸張処理を使い分ける事となる。
【００４５】
＜ＰＤＬプリント動作について＞  
以下に、ＰＤＬ処理ブロック３１０及び、ＰＤＬプリント動作に関して、詳細な処理の説明を行う。  
ＬＡＮ５０経由で外部のＰＣ等より送られたＰＤＬデータは、ネットワークＩ／Ｆ３０６を介してＲＡＭ３０２に送られ格納される。ＰＤＬデータはメインＣＰＵ３０１により解読され、その結果生成された中間データは、ＲＩＰ処理部３２２に送られる。ＲＩＰ処理部３２２は、この中間データをレンダリングしラスタ形式の画像データを生成する。生成されたラスタ形式の画像データは圧縮部３ ３２３に送られ、本実施形態におけるブロック近似符号化の圧縮処理が行われる。
【００４６】
圧縮部３ ３２３によって圧縮された画像データは、画像バス３３０に出力され、システムバス３４０を経由してＨＤＤ３５１に送られる。プリントアウト時には、ＨＤＤ３５１に格納されたデータが読み出されて、システムバス３４０及び、画像バス３３０からプリンタ処理ブロック３０８へと取り込まれ、所定の処理が行われた後、プリンタ部１４に送られ出力用紙上に画像形成される。この時、プリンタ処理ブロック３０８内の伸張部１ ３１６での伸張処理に関しては、メインＣＰＵ３０１の制御により、ブロック近似符号化のデコード処理が行われる事となる。
【００４７】
一旦画像データがハードディスクを経由するのは、複数ページの画像データを、複数部プリント行うような場合を想定しているためである。また、ここでＨＤＤ３５１に格納されたプリントアウト用の画像データは、プリントアウトの動作が終了した時点で削除される事となるため、低圧縮率のブロック近似符号化による符号化処理のデータで構わない事となる。
【００４８】
＜コピー動作について＞  
次にコピー動作について、詳細な説明を行う。  
スキャナ部１３で読み取られた原稿は、画像データとしてスキャナＩ／Ｆ３１１を介してスキャナ画像処理部３１２に送られる。スキャナ画像処理部３１２は、この画像データに対して図１３に示す処理を行う。
【００４９】
続いて圧縮部１ ３１３は、この画像データに対して、ブロック近似符号化の圧縮処理を実施する。圧縮部１３１３で圧縮された画像データは、画像バス３３０、システムバス３４０を経由して、ＨＤＤ３５１に送られ格納される。なお、この画像データは必要に応じてページ編集ブロック３０９に送られ画像処理が施された上で、ＨＤＤ３５１に送られ格納される事となる。
【００５０】
コピー動作時、ページ編集ブロック３０９を通した場合には、データ圧縮はブロック近似符号化圧縮が行われたデータがＨＤＤ３５１に送られ格納される事となる。この後ＨＤＤ３５１から読み出されたデータは、システムバス３４０から画像バス３３０を経由して、プリンタ処理ブロック３０８へと送られる。
【００５１】
プリンタ処理ブロック３０８内の伸張部１ ３１６は、この画像データを復号化する。この時、データ伸張処理はブロック近似符号化の処理が行われる事となる。プリンタ画像処理部３１５は、この画像データに対して図１４に示す処理を行う。プリンタ画像処理部３１５において処理された画像データはプリンタＩ／Ｆ３１４を介してプリンタ部１４に送られる。
【００５２】
一旦画像データがハードディスクを経由するのは、複数ページの画像データを、複数部プリント行うような場合を想定しているためである。また、ここでＨＤＤ３５１に格納されたプリントアウト用の画像データは、プリントアウトの動作が終了した時点で削除される事となるため、低圧縮率のブロック近似符号化による符号化処理のデータで構わない事となる。
【００５３】
＜スキャンデータのＨＤＤ格納について＞  
次に、スキャン画像データのＨＤＤ３５１へのデータ格納動作について、詳細な説明を行う。  
スキャナ部１３で読み取られた原稿は、画像データとしてスキャナＩ／Ｆ３１１を介してスキャナ画像処理部３１２に送られる。スキャナ画像処理部３１２は、この画像データに対して図１３に示す処理を行う。
【００５４】
続いて圧縮部１ ３１３は、この画像データに対して、ブロック近似符号化の圧縮処理を実施する。圧縮部１ ３１３で圧縮された画像データは、ＨＤＤへ格納される為、ＪＰＥＧによる高圧縮率の圧縮処理が必要となるので、画像バス３３０を経由して、ページ編集ブロック３０９に送られる事となる。この画像データは必要に応じてページ編集ブロック３０９によって処理が行われ、ＪＰＥＧ圧縮処理によって圧縮された後に、ＲＡＭ３０２に送られ格納される。  
この後ＲＡＭ３０２から読み出されたデータは、ユーザの設定に応じてファイル名称等が付加され、ＨＤＤ３５１上の所定のディレクトリへ書き込まれる。
【００５５】
＜ＨＤＤの格納データのプリントアウトについて＞  
次に、ＨＤＤ３５１へ格納されたデータを、プリントアウトする時の動作について、詳細な説明を行う。  
ＨＤＤ３５１内のデータは、メインＣＰＵ３０１の制御により、ＨＤＤ３５１内から読み出され、システムバス３４０を経由して、画像処理部３０４内のプリンタ処理ブロック３０８へ入力される。
【００５６】
プリンタ処理ブロックへ３０８内の伸張部３１６は、この画像データを復号化する。この時、ＨＤＤ３５１内に格納されているデータは、ＪＰＥＧによる圧縮が行われている為、データ伸張処理はＪＰＥＧ復号化の処理が行われる事となる。  
プリンタ画像処理部３１５は、この画像データに対して図１４に示す処理を行う。プリンタ画像処理部３１５において処理された画像データはプリンタＩ／Ｆ３１４を介してプリンタ部１４に送られる。
【００５７】
＜本実施形態におけるブロック近似符号化圧縮処理の特徴＞  
図１は、本実施形態に係るブロック近似符号化圧縮処理を説明するためのブロック図である。
【００５８】
本実施形態におけるブロック近似符号化圧縮処理では、２種類の圧縮処理（第１の圧縮および第２の圧縮）を並列で行い、２種類の圧縮結果データを取得することができる。そして、それぞれ復号化により得られた復号結果データと、元画像データとの差分が小さい方の処理結果（圧縮結果データ）を圧縮処理後のデータとして選択する事を特徴とする。
【００５９】
なお、本実施形態では、処理の時間短縮を考慮して、２種類の圧縮処理（２色化圧縮処理および色保持圧縮処理）を並列に行うことが好ましいが、時間差で行うようにしても良い。本実施形態で重要なことは、後述する差分比較処理の前の段階で圧縮結果データおよび復号結果データを用意しておくことである。よって、上記２種類の圧縮処理を並列に行っても良いし、時間差で行っても良いのである。
【００６０】
さて、本明細書において、「圧縮結果データ」とは、後述する２色化圧縮処理や色保持圧縮処理により取得された圧縮されたデータを指す。また、「復号結果データ」とは、上記圧縮結果データを復号化して取得されたデータを指す。
【００６１】
上記２種類の圧縮処理の一方（第１の圧縮）は、以下の処理によりデータ量の削減を行う処理である。すなわち、画像データを、複数画素からなるブロック、すなわちM×N画素（M、Nは共に１以上の整数であり、かつMおよびNの少なくとも一方が２以上の整数）のブロックに分割する。次いで、ブロック中に存在する色数を２色にし、該２色の配置に関する形状情報（パターン情報とも呼ぶ）を取得する。次いで、取得されたパターン情報、および上記２色の各々の色に関する色情報を圧縮結果データとしてそれぞれ記憶する。以降、本明細書では、この圧縮方法を「２色化圧縮処理」と呼ぶ事とする。
【００６２】
一方、２種類の符号化（圧縮処理）のもう一方（第２の圧縮）は、上記複数画素からなるブロックにおける色数はそのままで階調数を所定の割合だけ減らす、例えば半分にする事によって、データ量の削減を行う処理となる。以降、本実施形態では、この圧縮方法を「色保持圧縮処理」と呼ぶ事とする。
【００６３】
なお、以下の説明では例として、複数画素からなるブロックを、２×２画素のブロック（２×２の１エリア）とする。従って、色保持圧縮処理においては、２×２画素のブロックの色数は、該ブロックに含まれる４画素の色、すなわち４色のままで階調数を半分にする処理を行うとする。従って、特に、本明細書では「４色保持圧縮処理」と呼ぶ。
【００６４】
＜２色化圧縮処理の符号化時の詳細な説明＞  
以下に２色化圧縮処理の符号化処理に関する詳細な説明を行う。  
２色化圧縮処理の符号化時は、圧縮部１ ３１３、圧縮部２ ３２１、圧縮部３ ３２３（以下、記載の簡便化を図り、単に「圧縮部」と呼ぶ）は下記の処理を行う事となる。  
［工程１］  ２×２画素のブロック内の４画素の各色を、色差の近いもので２グループに分ける。上記４画素の色が２色の場合は、２グループのそれぞれには該２色のそれぞれが割り当てられる。  
［工程２］  グループに分けた時の形状パターンを３bitのパターン情報とする。  
［工程３］  それぞれのグループの色を平均化し、Ａ色、Ｂ色とする。なお、上記４画素の色が２色の場合は、Ａ色、Ｂ色のそれぞれは、該２色のそれぞれになる。  
［工程４］  Ａ色、Ｂ色の２色の色情報と、パターン情報とを２色化圧縮処理後データ（第１の圧縮結果データ）として出力する。該出力された情報は、ＨＤＤ３５１に格納される。
【００６５】
次に、図を元にして前記各処理の詳細な説明を行う。  
図２は、２×２の４画素の各色を、色差の近いもので２グループに分けた時のパターン情報を表す。本実施形態では、２×２画素のブロックを２色化した場合の有り得る形状をそれぞれ、各パターン情報（図２のパターン情報“１”〜“７”）に割当てている。ただし、図２において、全てが同一色の形状（パターン情報“０”とする）については、２色化に対するパターン情報に割り当てず、後述する４色保持圧縮処理を行った場合に割当てる。よって、後述する伸張部は、パターン情報を解析することで、圧縮処理が２色化圧縮処理なのか（パターン情報が“１”〜“７”のいずれか）、４色保持圧縮処理なのか（パターン情報が“０”の場合）を認識することができる。
【００６６】
画像データを２×２のエリア（２×２画素のブロック）に分割したとき、図３の符号３００１にあるようなデータとなった場合、左上の１画素と左上以外の３画素で、エリアが区切られる事となる。よって、この場合のパターン情報は「７」（図２のパターン情報“７”に対応）となる。
【００６７】
また、Ａ色、Ｂ色の各ＲＧＢデータの算出に関しては、下記のようになる。  
入力したＲＧＢ画像データを２×２のエリアに区切った場合、図３の符号３００２にあるような状態となった場合は、Ａ色は左上の１画素の値、Ｂ色は左上以外の３画素の平均値と言う事ととなり、Ａ色、Ｂ色のＲＧＢの各値は図３のＡ色、Ｂ色のようになる。
【００６８】
２色化圧縮処理後データ（圧縮結果データ）としては、上記パターン情報として３bit、Ａ色のＲＧＢ各８bitのデータとして２４bit、Ｂ色のＲＧＢ各８bitのデータとして２４bit、の合計５１bitのデータが出力される事となる。
【００６９】
また、本実施形態において、上述のように、２×２のエリアに区切った場合、４画素とも全く同じデータが入力された時、本来はパターン０という、２×２のエリアを分けないパターンを使用する事となる。
【００７０】
しかし、本実施形態では、復号化時に同等の復号結果が得られるものとして、図４のようにパターン情報は「１」として、Ａ色、Ｂ色とも同じ値のＲＧＢデータを２色化圧縮処理後データとして出力する事とする。
【００７１】
＜２色化圧縮処理の復号化時の詳細な説明＞  
以下に２色化圧縮処理の復号化に関する詳細な説明を行う。  
２色化圧縮処理の復号化時は伸張部１ ３１６、伸張部２ ３１７（以下、記載の簡便化を図り、単に「伸張部」と呼ぶ）は下記の処理を行う事となる。  
［工程ａ］  パターン情報３bitと、Ａ、Ｂ各色の色情報８bitの５１bitのデータ（圧縮結果データ）とを入力する。  
［工程ｂ］  ３bitのパターン情報をもとにＡ色、Ｂ色の領域を解読する。  
［工程ｃ］  上記パターン情報に基づいてＡ色、Ｂ色の各２４bitデータを、Ａ色、Ｂ色の領域に割り当てる。すなわち、パターン情報を参照しながら、対象となる２×２のエリアにおいてＡ色、Ｂ色を再配置する。  
［工程ｄ］  ４画素のＲＧＢ各８bitのデータ（合計９６bit）のデータを２色化圧縮処理復号化データ（復号結果データ）として出力する。
【００７２】
図５を元にして工程ａ〜ｄの処理の詳細な説明を行う。  
図５のように、パターン情報、Ａ色の色情報、Ｂ色の色情報の計５１bitが入力された場合（工程ａ）、伸張部は、パターン情報が「１」〜「７」である場合に、２色化圧縮処理が行われたデータである事の認識を行う（工程ｂ）。
【００７３】
次に、伸張部は、パターン情報からＡ色、Ｂ色の割り当てる領域を判断し、それぞれの領域に、Ａ色、Ｂ色のデータを割り当てる（工程ｃ）。すると、図５の右にあるような４画素のＲＧＢデータが復号化され、伸張部は、２色化圧縮処理復号化データ（復号結果データ）を取得する（工程ｄ）。
【００７４】
また、図６のような２色化圧縮処理後データが入力された場合、Ａ色、Ｂ色が同じ値である。よって、Ａ色、Ｂ色をパターン情報「１」の各領域に割り当てた場合、４色同じデータが復号化される事となる。
【００７５】
＜４色保持圧縮処理の符号化時の詳細な説明＞  
以下に４色保持圧縮処理の符号化に関する詳細な説明を行う。  
４色保持圧縮処理の符号化時は、圧縮部は、２×２画素のブロックの、ＲＧＢ各８bitの９６bitのデータを入力し、４画素の色数は４色のままで、各色成分の階調数を表すデータのビット数を削減にする事によって、データ量の削減を行う。
【００７６】
つまり、図７の符号７００１にあるような２×２のＲＧＢ各８bitのデータが入力された場合、バイナリのデータにすると、図７の符号７００２にあるようなデータとなる。よって、各画素のＲＧＢ各８bitのデータの下位の所定のビットを削る（ここでは、全ビットの下位半分である、下位４bitを削除する）と、図７の符号７００３のような、２×２画素のブロックの４画素の各々は、ＲＧＢ各４bitのデータとなる。また、４色保持圧縮処理のパターン情報は、４色保持圧縮処理を行った事を示す為に、図８のように、パターン情報「０」としておく。
【００７７】
本実施形態における４色保持圧縮処理後のデータ（第２の圧縮結果データ）は、上記パターン情報として３bit、４画素のＲＧＢ各４bitのデータとして４８bit、の合計５１bitのデータが出力される事となる。よって、先に説明を行った２色化圧縮処理の圧縮結果と同じ情報量となる。
【００７８】
＜４色保持圧縮処理の復号化時の詳細な説明＞  
以下に４色保持圧縮処理の復号化に関する詳細な説明を行う。  
伸張部は、パターン情報、Ａ色のデータ、Ｂ色のデータの計５６bitが入力された場合、図９のように、パターン情報が「０」である場合に、４色保持圧縮処理画行われたデータである事の認識を行う。
【００７９】
伸張部は、入力された５１bitの圧縮後データ（圧縮結果データ）を、３bitのパターン情報と、各画素４bitの４色に分割して認識を行い、２×２の各画素のバイナリデータが、図９の符号９００１のような値になったとする。
【００８０】
次いで、伸張部は、２×２の各画素のデータの下位４bitに「０」を４bit（上記削除されたビット数分）付加する。これによって、図９の符号９００２にあるような８bitのデータに復号化され、図９の符号９００３にあるような２×２のＲＧＢ各８bitの画像データが復号化される事となる。
【００８１】
＜本実施形態におけるブロック近似符号化圧縮処理の詳細＞  
本実施形態におけるブロック近似符号化圧縮処理では、図１に示すように、圧縮部は、２色化圧縮処理、４色保持圧縮処理の２種類の圧縮処理を並列で行う。
【００８２】
また、メインＣＰＵ３０１は、図１に示すように、２色化圧縮処理および４色保持圧縮処理によって得られたそれぞれの符号化データ（２色化圧縮処理データ；圧縮結果データ）を復号化して元画像データを復元する。この復元された元画像データが２色化圧縮処理復号データ、および４色保持圧縮処理復号データ（総じて、複合結果データ）である。ついで、２×２画素のブロックの各々について、該復元された元画像データ（復号結果データ）のそれぞれと、元画像データとの差分の算出をおこなう。
【００８３】
この時の差分の算出は、以下のように行う事とする。  
符号化を行う前の元画像データの２×２の４画素のＲＧＢデータの各和を、それぞれＲ１、Ｇ１、Ｂ１とする。また、２色化復号化処理により、符号化したデータを復号化した時の２×２の４画素のＲＧＢデータの和を、Ｒ２、Ｇ２、Ｂ２とする。  
２色化圧縮差分検出では、メインＣＰＵ３０１は、２×２画素のブロックの各々において、Ｒ１−Ｒ２の絶対値、Ｇ１−Ｇ２の絶対値、Ｂ１−Ｂ２の絶対値、のそれぞれの絶対値の和を算出する。このようにして得られたデータを２色化圧縮差分データとする。メインＣＰＵ３０１は、このような２色化圧縮差分データの算出を各ブロック毎に行う。
【００８４】
また同様に、符号化を行う前の元画像データの２×２の４画素のＲＧＢデータの各和を、それぞれＲ１、Ｇ１、Ｂ１とする。また、４色保持復号化処理により、符号化したデータを復号化した時の２×２の４画素のＲＧＢデータの和を、Ｒ３、Ｇ３、Ｂ３とする。  
４色保持圧縮差分検出では、メインＣＰＵ３０１は、２×２画素のブロックの各々において、Ｒ１−Ｒ３の絶対値、Ｇ１−Ｇ３の絶対値、Ｂ１−Ｂ３の絶対値、のそれぞれの絶対値の和を算出する。このようにして得られたデータを４色保持圧縮差分データとする。メインＣＰＵ３０１は、このような４色保持圧縮差分データの算出を各ブロック毎に行う。
【００８５】
差分比較・選択処理では、メインＣＰＵ３０１は、上記取得された、２色化圧縮処理データ、４色保持圧縮処理データ、２色化圧縮差分データ、４色保持圧縮差分データ、の入力を行う。  
ついで、メインＣＰＵ３０１は、元画像データの所定のブロックについて、該ブロックに対応する、２色化データの値を比較する。そして、値の差分の小さい方の圧縮処理によって圧縮された圧縮処理データを、圧縮後出力データとして出力を行う事とする。メインＣＰＵ３０１は、この処理を元画像データにおいて分けられた２×２画素のブロックの全てについて行う。
【００８６】
以上のような処理を行う事によって、２色化圧縮処理では画像劣化の目立ったスキャナ等のデバイスからの階調画像に対して、画像の劣化を防ぐないしは軽減する事が可能となる。すなわち、本実施形態では、元画像データを複数画素からなるブロックに分割して圧縮する際に、圧縮後のデータ量を固定としつつ画像の劣化を抑える２色化圧縮処理と、階調を保存しやすい４色保持圧縮処理とを行い、それぞれの圧縮結果データを取得する。そして、圧縮処理結果となる圧縮後出力データを取得する際に、各ブロックに対して、上記２種類の圧縮結果データと、元画像データとの階調値の差分の比較を行う。ついで、各ブロック毎に該比較結果に基づいて、元画像データとの階調値の差分が小さいほうを出力データとして選択する。従って、様々な状況にある各ブロックにおいて、圧縮による色の劣化がより少ない圧縮処理を適用することができる。よって、元画像データの各ブロックにおいて最適な圧縮処理を行うことができ、画像の劣化を抑えた圧縮を行うことができるのである。
【００８７】
また本実施形態では、４色保持圧縮処理を行った結果である事を示す情報として、パターン情報「０」を使用する事、４色とも同じデータが入力された時の圧縮データを、Ａ色、Ｂ色を同じ値にし、パターン情報を「１」としている。すなわち、用いるブロックにおいて有り得る形状のパターンのうちの１つのパターン情報を、４色保持圧縮処理を行った結果であることを示す情報としている。そうする事によって、復号化時に２色化圧縮処理の結果か、４色保持圧縮処理の結果かの区別をつけるための情報（１bit）を余分に負荷する必要を無くし、圧縮後データの削減が実現する事となる。
【００８８】
さらに、本実施形態では、２色化圧縮処理および４色保持圧縮処理のいずれが選択されても、出力されるデータサイズは同じになるので、２色化圧縮処理の利点である、圧縮後のデータ量が固定長となる。よって、画像へのランダムアクセスが可能となる。
【００８９】
（第２の実施形態）  
ＪＰＥＧ圧縮処理による圧縮データを復号化した場合、文字や線などのエッジ部分での画像劣化が起こり易いことが、一般的に知られている。また、その時の画像の劣化は、文字や線のエッジ成分が強いほど、劣化が目立つ事となっている。また、第１の実施形態で詳細な説明を行った２色化圧縮処理では、エリア（ブロック）毎に使用する色数を減らしてデータの圧縮を行う為、復号化された画像では、エッジ成分が強調され易い処理となっている。よって、２色化圧縮処理を行った画像データ（圧縮結果データ）を復号化し、エッジ成分が強調された画像に対して、更にＪＰＥＧ圧縮処理を行った圧縮データを復号化した場合、文字や線の画像劣化は、より目立つ事となる。
【００９０】
そこで、本実施形態では、ブロック近似符号化圧縮処理を行う場合、元画像データ中のエッジ情報を利用して、エッジ部分を含むエリア（ブロック）に関しては、必ず４色保持圧縮処理を行うような制御を入れる。この制御によってその後のＪＰＥＧ処理による圧縮・伸張後の文字の画質の劣化を防ぐ、ないしは軽減することができる。
【００９１】
以下で、図を用いて、本実施形態の画像圧縮処理について説明を行う。  
なお、本実施形態における画像形成装置に関しては、第1の実施形態にて詳細な説明を行った、画像形成装置１００と全く同じ構成、同じ動作を行うものとして、詳細な説明は省く事とする。
【００９２】
以降は、コントローラ１１内で使用されているブロック近似符号化圧縮処理に関する本実施形態の詳細な説明とする。
【００９３】
図１５は、本実施形態に係るブロック近似符号化圧縮処理を説明するためのブロック図である。  
本実施形態におけるブロック近似符号化圧縮処理では、第１の実施形態と同様に、２色化圧縮処理と、４色保持圧縮処理の２種類の圧縮処理を並列、あるいは時間差で行い、どちらか一方の処理結果を圧縮処理後の出力データとして選択する。
【００９４】
但し、本第２の実施形態では、メインＣＰＵ３０１は、エッジ成分検出処理により、エッジ情報の生成を行い、エッジ部分のエリア（ブロック）に関しては、差分比較・選択処理で、強制的に４色保持圧縮処理の結果を出力データとする事を特徴としている。
【００９５】
本実施形態におけるブロック近似符号化圧縮処理では、図１５に示すように、２色化圧縮処理、４色保持圧縮処理の２種類の圧縮処理を並列で行うとする。２色化圧縮処理での符号化及び、復号化処理、４色保持圧縮処理での符号化及び、復号化処理に関しては、第１の実施形態で詳細な説明を行ったものと同様なものなので、ここでの詳細な説明は省く事とする。
【００９６】
また、図１５に示すように、メインＣＰＵ３０１は、差分比較処理としてそれぞれの符号化データ（圧縮結果データ）を復号化した時の、元画像データとの差分の算出をおこなう。この時の差分の算出は、第１の実施形態と同様な処理によって行う事として、ここでの詳細な説明は省く事とする。
【００９７】
本第２の実施形態では、上記各圧縮処理及び、差分データの算出とは別に、メインＣＰＵ３０１は、元画像データから、エッジ成分検出処理により、エッジ情報の生成を行っている。
【００９８】
エッジ成分検出処理での処理の詳細を、図１６によって説明する。  
グレースケールデータ生成処理では、メインＣＰＵ３０１は、入力したＲＧＢデータ（元画像データ）の平均値を算出し、グレースケールのデータに変換を行う。  
次いで、メインＣＰＵ３０１は、上記グレースケールデータに対して、一方はエッジ強調処理、もう一方はスムージング処理を行う。この時のエッジ強調処理及び、スムージング処理では、例えば７×７のマトリクスを用いた演算処理を行う事とする。  
差分算出処理では、メインＣＰＵ３０１は、各画素ごとに、上記エッジ強調処理及び、スムージング処理の差の絶対値の算出を行う。
【００９９】
ついで、メインＣＰＵ３０１は、閾値処理によって、上記差分がある設定値（閾値）より大きな部分をエッジ部分として認識する。  
２×２エリア分割処理では、メインＣＰＵ３０１は、２色化圧縮処理及び、４色保持圧縮処理を行った時と同じエリア（ブロック）になるように、２×２のエリア（２×２画素のブロック）にエッジ情報の画像データを分割する事とする。各２×２のエリア内に、１画素分でもエッジとして認識されている画素があった場合には、そのエリアはエッジがある部分として、２×２のエリアごとにエッジ情報の出力を行う事とする。  
このようにして、メインＣＰＵ３０１は、各エリア（ブロック）毎にエッジ成分の抽出を行う。
【０１００】
図１５における差分比較・選択処理では、メインＣＰＵ３０１は、２色化圧縮処理データ、４色保持圧縮処理データ、２色化圧縮差分データ、４色保持圧縮差分データ、及び、エッジ情報の入力を行う。そして、各２×２のエリアごとに、エッジ情報の認識を行う。そして、エッジを含まないエリアに関しては、第１の実施形態のように、２色化圧縮差分データ、４色保持圧縮差分データの差分を比較し、差分の小さい方の圧縮処理によって圧縮された処理データを、圧縮後出力データとして出力を行う事とする。
【０１０１】
また、エッジを含むエリアに関しては、上記差分データの値に関わらず、強制的に４色保持圧縮処理によって圧縮された処理データを、圧縮後出力データとして出力を行う事とする。
【０１０２】
以上のような処理を行う事によって、２色化圧縮処理では画像劣化の目立ったスキャナ等のデバイスからの階調画像に対して、画像の劣化を防ぐ事が可能となる。
【０１０３】
また、本実施形態では、元画像データに対して分割した複数画素からなるブロックの各々に対してエッジ成分の検出を行い、エッジが検出されたブロックについては、強制的に４色保持圧縮処理によって取得された圧縮結果データを圧縮後出力データとしている。従って、少なくとも２色化圧縮処理を行った画像データを復号化し、エッジ成分が強調された画像に対して、更にＪＰＥＧ圧縮処理を行った圧縮データを復号化した場合の、文字や線の画像劣化を防ぐないしは軽減する事が可能となる。
【０１０４】
（第３の実施形態）  
第２の実施形態では、元画像データ中にエッジ成分がある場合の復号結果データを更にＪＰＲＧ圧縮処理する場合において、特に上記エッジ成分の画像の劣化を低減するために、エッジが存在するブロックについては、４色保持圧縮処理を行うように制御する。すなわち、エッジ成分が強調された画像（２色化圧縮復号処理データ）に対して、更にＪＰＥＧ圧縮処理を行った圧縮データを復号化した場合の、文字や線の画像劣化を低減する為に、エッジ情報を元に差分比較・選択処理を切り替える例をあげた。
【０１０５】
しかし、画像形成装置１００では、動作モードによって、ブロック近似符号化圧縮処理後の画像に対して、以下の２つの動作モードのいずれかが行われる場合がある。第１の動作モードとしては、画像処理を行った後に、ＪＰＥＧ処理による圧縮・伸張処理が行われない動作モード（モードＡ）である。また、第２の動作モードとしては、ＪＰＥＧ処理による圧縮・伸張処理が行われる動作モード（モードＢ）である。
【０１０６】
モードＡの場合は、その後の処理で、ＪＰＥＧ処理によるエッジ部分の画像劣化が起こらない為、元画像データとの差分が小さい方の処理を選択する方が、元画像からの劣化を最小限にする事が出来る。  
モードＢの場合は、後段にあるＪＰＥＧ圧縮・伸張処理によるエッジ部分の画像劣化が起こる可能性がある為、エッジ部分は強制的に４色保持圧縮処理の処理結果を選択した方が文字の画質劣化の低減を図れる。
【０１０７】
よって、本実施形態では、メインＣＰＵ３０１によって、画像形成装置１００がどのようなモードで動作を行うか認識し、ブロック近似符号化圧縮処理の後で、ＪＰＥＧ圧縮処理が行われるか否かを判断する。後段でＪＰＥＧ処理圧縮が無い場合は、２色化圧縮差分データ、４色保持圧縮差分データの差分比較の結果から差分の小さい方の処理結果を、出力データを選択する。後段でＪＰＥＧ処理が有る場合は、エッジ部分は強制的に４色保持圧縮処理により圧縮データを出力データとして選択する事を特徴とする。
【０１０８】
以下で、図を用いて、本実施形態の画像圧縮処理について説明を行う。  
なお、本実施形態における画像形成装置に関しては、第1の実施形態にて詳細な説明を行った、画像形成装置１００と全く同じ構成、同じ動作を行うものとして、詳細な説明は省く事とする。  
以降は、コントローラ１１内で使用されているブロック近似符号化圧縮処理に関する第３の実施形態の詳細な説明とする。
【０１０９】
図１７は、本実施形態に係るブロック近似符号化圧縮処理を説明するためのブロック図である。  
本実施形態におけるブロック近似符号化圧縮処理では、第１及び、第２の実施形態と同様に、２色化圧縮処理と、４色保持圧縮処理の２種類の圧縮処理を並列または時間差で行い、どちらか一方の処理結果を圧縮処理後のデータとして選択する。また、本実施形態におけるエッジ検出処理では、第２の実施形態と同様に、元画像データからのエッジ情報の抽出を行う事となる為、詳細な説明は省く事とする。
【０１１０】
本実施形態では、画像形成装置１００のシステム制御を行うメインＣＰＵ３０１によって、画像形成装置１００の動作モードの認識を行う。ついで、ブロック近似符号化圧縮処理後の画像に対して、動作モードがモードＡなのかモードＢなのかの認識を行った結果の情報が、差分比較・選択処理に入力される事を特徴としている。
【０１１１】
ここで、モードＡ、モードＢに関しての詳細な説明を行う。
【０１１２】
＜モードＡの詳細な説明＞  
モードＡとは、ブロック近似符号化圧縮処理後の画像に対して、画像処理を行った後に、ＪＰＥＧ処理による圧縮・伸張処理が行われない動作モードであり、具体的には、第１の実施形態のコピー動作がこのモードにあたる事となる。
【０１１３】
コピー動作時の画像処理のパスを、図１８を用いて説明する。  
なお、図１８の各処理部分に関しては、図１２で詳細な説明を行ったものと同じブロックである為、詳細な説明はここでは省く事とする。
【０１１４】
スキャナ部１３で読み取られた原稿は、画像データとしてスキャナＩ／Ｆ３１１を介してスキャナ画像処理部３１２に送られる。スキャナ画像処理部３１２は、この画像データに対して図１３に示す処理を行う。
【０１１５】
続いて圧縮部１ ３１３は、この画像データ（元画像データ）に対して、ブロック近似符号化の圧縮処理を実施する。圧縮部１ ３１３で圧縮された画像データは、画像バス３３０、システムバス３４０を経由して、ＨＤＤ３５１に送られ格納される。  
なお、この画像データは必要に応じてページ編集ブロック３０９に送られ画像処理が施された上で、ＨＤＤ３５１に送られ格納される事となる。本実施形態では、ページ編集ブロック３０９に送られ、伸張部２ ３１７によって、ブロック近似符号化の伸張処理が行われた画像データに対して、その後、回転処理、変倍処理、移動処理を行う事とする。
【０１１６】
その後、ページ編集ブロック３０９内の圧縮部２ ３２１によって、ブロック近似符号化圧縮が行われたデータがＨＤＤ３５１に送られ格納される事となる。この後ＨＤＤ３５１から読み出されたデータは、システムバス３４０から画像バス３３０を経由して、プリンタ処理ブロック３０８へと送られる。
【０１１７】
プリンタ処理ブロック３０８内の伸張部１ ３１６は、この画像データ（圧縮結果データ）を復号化する。この時、データ伸張処理はブロック近似符号化の処理が行われる事となる。  
プリンタ画像処理部３１５は、この画像データに対して図１４に示す処理を行う。プリンタ画像処理部３１５において処理された画像データはプリンタＩ／Ｆ３１４を介してプリンタ部１４に送られる事となる。
【０１１８】
以上のように、コピー動作に関しては、ブロック近似符号化のみによって圧縮、伸張処理が行われる為、ブロック近似符号化の後にＪＰＥＧ処理による圧縮・伸張処理は行われないモードＡとなる。
【０１１９】
＜モードＢの詳細な説明＞  
また、モードＢとは、ブロック近似符号化圧縮処理後の画像に対して、画像処理を行った後に、ＪＰＥＧ処理による圧縮・伸張処理が行われる動作モードとなる。具体的には、第１の実施形態のスキャンデータの格納動作及び、ＨＤＤの格納データのプリントアウトがこのモードにあたる事となる。
【０１２０】
スキャンデータのＨＤＤへの格納動作及び、ＨＤＤの格納データのプリントアウト時の画像処理のパスを、図１９及び図２０を用いて説明する。  
なお、図１９及び図２０の各処理部分に関しては、図１２で詳細な説明を行ったものと同じブロックである為、詳細な説明はここでは省く事とする。
【０１２１】
＜スキャン画像データのＨＤＤへのデータ格納動作の詳細＞  
スキャン画像データのＨＤＤへのデータ格納動作について、図１９をもとに、詳細な説明を行う。スキャナ部１３で読み取られた原稿は、画像データとしてスキャナＩ／Ｆ３１１を介してスキャナ画像処理部３１２に送られる。スキャナ画像処理部３１２は、この画像データに対して図１３に示す処理を行う。
【０１２２】
続いて圧縮部１３１３は、この画像データ（元画像データ）に対して、ブロック近似符号化の圧縮処理を実施する。圧縮部１ ３１３で圧縮された画像データは、ＨＤＤへ格納される為、ＪＰＥＧによる高圧縮率の圧縮処理が必要となるので、画像バス３３０を経由して、ページ編集ブロック３０９に送られる事となる。この画像データは必要に応じてページ編集ブロック３０９によって処理が行われ、ＪＰＥＧ圧縮処理によって圧縮された後に、ＲＡＭ３０２に送られ格納される。
【０１２３】
本実施形態では、ページ編集ブロック３０９に送られ、伸張部２ ３１７によって、ブロック近似符号化の伸張処理が行われた画像データに対して、その後、回転処理、変倍処理、移動処理を行う事とする。
【０１２４】
その後、ページ編集ブロック３０９内の圧縮部２ ３２１によって、ＪＰＥＧ圧縮処理が行われたデータがＲＡＭ３０２に送られ格納される事となる。この後ＲＡＭ３０２から読み出されたデータは、ユーザの設定に応じてファイル名称等が付加され、ＨＤＤ３５１上の所定のディレクトリへ書き込まれる。
【０１２５】
＜ＨＤＤへ格納されたデータのプリントアウト動作の詳細な説明＞  
次に、ＨＤＤ３５１へ格納されたデータを、プリントアウトする時の動作について、図２０をもとに、詳細な説明を行う。  
ＨＤＤ３５１内のデータは、メインＣＰＵ３０１の制御により、ＨＤＤ３５１内から読み出され、システムバス３４０を経由して、画像処理部３０４内のプリンタ処理ブロック３０８へ入力される。
【０１２６】
プリンタ処理ブロックへ３０８内の伸張部１ ３１６は、この画像データを復号化する。この時、ＨＤＤ３５１内に格納されているデータは、ＪＰＥＧによる圧縮が行われている為、データ伸張処理はＪＰＥＧ復号化の処理が行われる事となる。
【０１２７】
プリンタ画像処理部３１５は、この画像データに対して図１４に示す処理を行う。プリンタ画像処理部３１５において処理された画像データはプリンタＩ／Ｆ３１４を介してプリンタ部１４に送られる。
【０１２８】
以上のように、スキャンデータのＨＤＤへの格納動作及び、ＨＤＤの格納データのプリントアウト時の動作に関しては、ブロック近似符号化の後にＪＰＥＧ処理による圧縮・伸張は行われるモードＢとなる。
【０１２９】
ＣＰＵ３０１は、画像形成装置１００の動作を制御するにあたり、動作モード毎に、上記のようなパスの認識を行い、モードＡにあたる動作か、モードＢにあたる動作かの判断をし、モード情報として、図１７における差分比較・選択処理に入力を行う事とする。
【０１３０】
＜本実施形態におけるブロック近似符号化圧縮処理の詳細＞  
本実施形態におけるブロック近似符号化圧縮処理では、図１７に示すように、２色化圧縮処理、４色保持圧縮処理の２種類の圧縮処理を並列で行う。２色化圧縮処理での符号化及び、復号化処理、４色保持圧縮処理での符号化及び、復号化処理に関しては、第1の実施形態で詳細な説明を行ったものと同様なものなので、ここでの詳細な説明は省く事とする。
【０１３１】
また、図１７に示すように、メインＣＰＵ３０１は、それぞれの符号化データを復号化した時の、元画像データとの差分の算出をおこなう。この時の差分の算出は、第１及び、第２の実施形態と同様な処理によって行う事として、ここでの詳細な説明は省く事とする。
【０１３２】
本第３の実施形態では、第２の実施形態と同様に、上記各圧縮処理及び、差分データの算出とは別に、元画像データから、エッジ成分検出処理により、エッジ情報の生成を行っている。エッジ成分検出処理での処理の詳細は、第２の実施例と同様に、図１６の処理に従って行う事とする。
【０１３３】
図１７における差分比較・選択処理では、２色化圧縮処理データ、４色保持圧縮処理データ、２色化圧縮差分データ、４色保持圧縮差分データ、エッジ情報及び、ＣＰＵ３０１から入力されるモード情報の入力を行う。
【０１３４】
そして、モード情報がモードＡであった場合、２色化圧縮差分データ、４色保持圧縮差分データの値を比較し、元画像データとの差分値の小さい方の圧縮処理によって圧縮された処理データを、圧縮後出力データとして出力を行う事とする。  
モード情報がモードＢであった場合、各２×２のエリアごとに、エッジ情報の認識を行い、該エッジ情報に基づいて処理を切り替える事となる。  
すなわち、モード情報がモードＢで、エッジを含まないエリアに関しては、２色化圧縮差分データ、４色保持圧縮差分データの値を比較し、元画像データとの差分値の小さい方の圧縮処理によって圧縮された処理データを、圧縮後出力データとして出力を行う。  
また、モード情報がモードＢで、エッジを含むエリアに関しては、上記差分データの値に関わらず、強制的に４色保持圧縮処理によって圧縮された処理データを、圧縮後出力データとして出力を行う事とする。
【０１３５】
以上のような処理を行う事によって、２色化圧縮処理では画像劣化の目立ったスキャナ等のデバイスからの階調画像に対して、画像の劣化を防ぐないしは軽減すること事が可能となる。
【０１３６】
また、２色化圧縮処理を行った画像データを復号化し、エッジ成分が強調された画像に対して、更にＪＰＥＧ圧縮処理を行った圧縮データを復号化した場合の、文字や線の画像劣化を防ぐ事が可能となる。その場合、ブロック近似符号化圧縮処理後の画像に対して、画像処理を行った後に、ＪＰＥＧ処理による圧縮・伸張の有無に対応した、より元画像に近い形での圧縮・伸張処理が行われる事が可能となる。すなわち、本実施形態では、モード情報によりＪＰＥＧ圧縮を行うか否かを判断してブロック毎に適切な圧縮後出力データを選択している。従って、複数の画素からなるブロック毎に、ＪＰＥＧ圧縮・伸張処理の影響を受けるか否かを確認した上で、用いる圧縮結果データの切替を最適に行うことができる。よって、ＪＰＥＧ処理を実行する場合、ＪＰＥＧ処理による文字等のエッジ部分の画質の劣化を低減することができるのである。
【０１３７】
（第４の実施形態）  
上述の実施形態では、本発明に特徴的な圧縮処理、復号処理がＭＦＰといった画像形成装置にて行われる形態について説明したが、上記本発明の特徴的な圧縮処理、復号処理をＰＣといった他の画像処理装置にて行うようにしても良い。本発明の一実施形態にて重要なことは、元画像データを複数の画素からなるブロックに分割して圧縮する際に、なるべく画像劣化を抑えることである。この目的を達成するために、第１〜３の実施形態では、画像処理装置としてのコントローラ１１が本発明に特徴的な処理を行っている。従って、本発明に特徴的な処理を行う場所（装置）は何処かということは本質ではなく、本発明の一実施形態にかかる圧縮処理、復号処理が適用可能であればいずれの装置で行っても良いのである。
【０１３８】
（第５の実施形態）  
第１〜３の実施形態では、ブロック内を２色にし、それら色とそのパターン情報とを取得している（２色化圧縮処理）がこれに限定されない。本発明の一実施形態にて重要なことは、圧縮の際に、分割されたブロックにおいて、入力画像における、各ブロックに存在しうる最大の色数よりも少なくすることである。すなわち、ブロック毎に、圧縮によって取得される色情報の数を、上記最大の色数よりも小さくすることである。この最大の色数は、上記ブロックの分割処理の際に、M×N画素のブロックに分割する場合、M×N個となる。このとき、各ブロックに対して、（M×N−１）色以下（M×Nよりも小さい数）に減色すれば、処理時間や処理コストを低減することができる。
【０１３９】
この場合は、工程１において、ブロック毎に、ブロックに含まれる色を、（M×N−１）個よりも小さい数のグループに分ける。ついで、工程３、４において、（M×N−１）以下の数の色に割り当てることにより画像データを圧縮して第１の圧縮結果データを取得するようにすれば良い。
【０１４０】
（その他の実施形態）  
本発明は、複数の機器（例えばコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用することも、１つの機器からなる装置（複合機、プリンタ、ファクシミリ装置など）に適用することも可能である。
【０１４１】
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。即ちコンピュータ読み取り可能な記憶媒体も実施例の範囲に含まれる。また、前述のコンピュータプログラムが記憶された記憶媒体はもちろんそのコンピュータプログラム自体も上述の実施形態に含まれる。
【０１４２】
かかる記憶媒体としてはたとえばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ―ＲＯＭ、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。
【０１４３】
また前述の記憶媒体に記憶されたプログラム単体で処理を実行しているものに限らず、他のソフトウエア、拡張ボードの機能と共同して、ＯＳ上で動作し前述の実施形態の動作を実行するものも前述した実施形態の範疇に含まれる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の一実施形態に係るブロック近似符号化圧縮処理を表す図である。
【図２】本発明の一実施形態における２色化圧縮処理におけるパターン情報を表す図である。
【図３】本発明の一実施形態における２色化圧縮処理における符号化時の処理例を表す図である。
【図４】本発明の一実施形態における２色化圧縮処理における符号化時の処理例を表す図である。
【図５】本発明の一実施形態における２色化圧縮処理における復号化時の処理例を表す図である。
【図６】本発明の一実施形態における２色化圧縮処理における復号化時の処理例を表す図である。
【図７】本発明の一実施形態における４色保持圧縮処理における符号化時の処理例を表す図である。
【図８】本発明の一実施形態における４色保持圧縮処理におけるパターン情報を表す図である。
【図９】本発明の一実施形態における４色保持圧縮処理における復号化時の処理例を表す図である。
【図１０】本発明の一実施形態における画像形成装置１００の内部ブロックを表す図である。
【図１１】本発明の一実施形態における画像形成装置１００の外観を表す図である。
【図１２】本発明の一実施形態における画像形成装置１００のコントローラ１１の構成を表す図である。
【図１３】本発明の一実施形態におけるスキャナ画像処理部３１２の処理内容を表す図である。
【図１４】本発明の一実施形態におけるプリンタ画像処理３１５の処理内容を表す図である。
【図１５】本発明の一実施形態ブロック近似符号化圧縮処理を表す図である。
【図１６】本発明の一実施形態に係るエッジ成分検出処理の内容を表す図である。
【図１７】本発明の一実施形態におけるブロック近似符号化圧縮処理を表す図である。
【図１８】本発明の一実施形態におけるコピー動作時の詳細を表す図である。
【図１９】本発明の一実施形態におけるスキャン画像データのＨＤＤ格納動作時の詳細を表す図である。
【図２０】本発明の一実施形態におけるＨＤＤ格納データのプリントアウト動作時の詳細を表す図である。
【符号の説明】
【０１４５】
１１  コントローラ
１２  操作部
１３  スキャナ部
１４  プリンタ部
５０  ＬＡＮ
１００  画像形成装置
３０１  メインＣＰＵ
３０２  ＲＡＭ
３０３  ＲＯＭ
３０４  画像処理部
３０５  操作部Ｉ／Ｆ
３０７  スキャナ処理ブロック
３０８  プリンタ処理ブロック
３０９  ページ編集処理ブロック
３１０  ＰＤＬ処理ブロック
３１１  スキャナＩ／Ｆ
３１２  スキャナ画像処理部
３１３  圧縮部１
３１４  プリンタＩ／Ｆ
３１５  プリンタ画像処理部
３１６  伸張部１
３１７  伸張部２
３１８  回転処理部
３１９  変倍処理部
３２０  移動処理部
３１０  圧縮部２
３２２  ＲＩＰ処理部
３２３  圧縮部３
３３０  画像パス
３４０  システムバス
３５０  ＨＤＤ制御部
３５１  ＨＤＤ
３６０  ネットワークＩ／Ｆ
【図１】
2010103681.tif 000003
【図２】
2010103681.tif 000004
【図３】
2010103681.tif 000005
【図４】
2010103681.tif 000006
【図５】
2010103681.tif 000007
【図６】
2010103681.tif 000008
【図７】
2010103681.tif 000009
【図８】
2010103681.tif 000010
【図９】
2010103681.tif 000011
【図１０】
2010103681.tif 000012
【図１１】
2010103681.tif 000013
【図１２】
2010103681.tif 000014
【図１３】
2010103681.tif 000015
【図１４】
2010103681.tif 000016
【図１５】
2010103681.tif 000017
【図１６】
2010103681.tif 000018
【図１７】
2010103681.tif 000019
【図１８】
2010103681.tif 000020
【図１９】
2010103681.tif 000021
【図２０】
2010103681.tif 000022