(57)【要約】【課題】多様な画像データの全てについて平均的に高圧縮率を達成することができ、メモリ帯域及びメモリ容量を減少して、回路規模の増大を抑える。【解決手段】プレスキャン処理で原稿画像のヒストグラムデータを作成して補正し、補正ヒストグラムデータに基づいてハフマン符号化テーブルを作成し、ハフマン符号化テーブルを用いて、画像データの圧縮伸張を行っているので、原稿画像の濃度ヒストグラムに応じて画像データを効率的に圧縮伸張することができ、メモリ１６に対するデータ転送量を低減することができる。【選択図】図２
2005198022.tif 000002
【特許請求の範囲】
【請求項１】
同一画像を示す第１及び第２画像データを取得し、第１画像データを用いて、第２画像データの圧縮伸張を行う画像処理装置において、
第１画像データのヒストグラムデータを作成するヒストグラム作成手段と、
ヒストグラム作成手段により作成されたヒストグラムデータに応じた圧縮伸張率で、第２画像データの圧縮伸張を行う圧縮伸張手段と、
圧縮された第２画像データの書き込み読み出しを行う記憶手段と
を備えることを特徴とする画像処理装置。
【請求項２】
ヒストグラムデータに対して補正処理を行って、補正ヒストグラムデータを作成し、補正ヒストグラムデータに基づいて、第２画像データを圧縮伸張する請求項１記載の画像処理装置。
【請求項３】
画像を複数ブロックに分割し、ブロック毎に、ヒストグラムデータを作成し、第２画像データを圧縮伸張する請求項１記載の画像処理装置。
【請求項４】
圧縮された第２画像データのデータサイズが一定サイズ以上の場合は、非圧縮状態の第２画像データの書き込み読み出しを記憶手段に対して行うことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
請求項１乃至４のいずれかに記載の画像処理装置を備える画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、画像データの圧縮処理及び伸張処理を行う画像処理装置、及びそれを備える画像形成装置に関する。
【背景技術】
【０００２】
周知の様に、複写機、プリンタ、ファクシミリ装置等のデジタル画像形成装置においては、画像データを入力すると、画像データに対して各種の画像処理を施してから、画像データを電子写真方式やインクジェット方式等の出力エンジンに出力して、画像データによって示される画像の記録を行っている。
【０００３】
各種の画像処理を行う画像処理部としては、高速処理のために、ＡＳＩＣ（Application Specific Integrated Circuit：特定用途向け集積回路）やＤＳＰ（Digital Signal Processor：デジタル信号処理プロセッサ）を用いることが多い。また、画像処理の内容によっては、大容量のメモリを必要とし、画像データをＡＳＩＣやＤＳＰ内のメモリ又は外部のより大容量のメモリ等に一旦書き出し、必要になった時点で、画像データをメモリから読み込むという処理を行う。
【０００４】
この様なメモリへの書き出し及び読み込みに際しては、通常、圧縮処理を行わない。これは、画像処理における各ステップで画像データをメモリに対して入出力するに度に、画像データを圧縮伸張し、かつ多様な画像データの全てについて平均的に高圧縮率を達成するならば、圧縮伸張アルゴリズムが複雑になり、またメモリ帯域に見合うだけのスループットを持つ圧縮伸張処理回路を設ける必要あり、回路規模が膨大となるためである。
【０００５】
一方、特許文献１には、プレスキャンにより得られた画像の各画素の濃度に関するヒストグラムを形成し、このヒストグラムに基づいて、予め定められた複数の圧縮処理方式のいずれかを選択し、この選択した圧縮処理方式を用いて、本スキャンにより得られた画像を圧縮するという技術が開示されている。
【特許文献１】特開平１１−４１４７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
画像処理速度は、画像データを一時的に記憶するメモリと密接な関係にある。所望の画像処理速度を達成するには、画像処理に際して画像データをメモリに対して入出力するのに必要な一定のメモリ帯域が要求される。この要求されるメモリ帯域が実際のメモリのメモリ帯域以内でなければ、その画像処理速度が保障されない。
【０００７】
メモリへの書き出し及び読み込みに際し、画像データの圧縮伸張を行わなければ、画像データが大きく、メモリ帯域を当然増やす必要があり、メモリ容量も大きくなければならない。
【０００８】
これに対して画像データの圧縮伸張を行うならば、書き出し及び読み込みされる画像データが元の画像データよりも小さくなり、メモリ帯域を減らすことができ（見かけ上のメモリ帯域が実際のメモリ帯域よりも増える）、メモリ容量も小さくすることができる。しかしながら、先に述べた様にメモリ帯域に見合うだけのスループットを持つ圧縮伸張回路を設けると、回路規模が大きくなる。このため、簡単な圧縮伸張アルゴリズムの採用が考えられるが、この場合には、多様な画像データの全てについて平均的に高圧縮率を得ることができない。
【０００９】
更に、特許文献１では、プレスキャンにより得られた画像の各画素の濃度に関するヒストグラムに基づいて、複数の圧縮処理方式のいずれかを選択しているものの、多様な画像データの全てについて平均的に高圧縮率を得るには、多くの圧縮処理方式を準備する必要があり、やはり回路規模が増大する。
【００１０】
そこで、本発明は、上記問題点に鑑みなされたものであり、回路規模を抑えつつ、多様な画像データについて平均的に高圧縮率を達成することができ、必要メモリ帯域及び必要メモリ容量の削減を実現することが可能な画像処理装置及びそれを備える画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明は、同一画像を示す第１及び第２画像データを取得し、第１画像データを用いて、第２画像データの圧縮伸張を行う画像処理装置において、第１画像データのヒストグラムデータを作成するヒストグラム作成手段と、ヒストグラム作成手段により作成されたヒストグラムデータに応じた圧縮伸張率で、第２画像データの圧縮伸張を行う圧縮伸張手段と、圧縮された第２画像データの書き込み読み出しを行う記憶手段とを備えている。
【００１２】
また、本発明においては、ヒストグラムデータに対して補正処理を行って、補正ヒストグラムデータを作成し、補正ヒストグラムデータに基づいて、第２画像データを圧縮伸張している。
【００１３】
更に、本発明においては、画像を複数ブロックに分割し、ブロック毎に、ヒストグラムデータを作成し、第２画像データを圧縮伸張している。
【００１４】
また、本発明においては、圧縮された第２画像データのデータサイズが一定サイズ以上の場合は、非圧縮状態の第２画像データの書き込み読み出しを記憶手段に対して行っている。
【００１５】
一方、本発明の画像形成装置は、上記本発明の画像処理装置を備えている。
【発明の効果】
【００１６】
本発明によれば、同一画像を示す第１及び第２画像データを取得し、第１画像データのヒストグラムデータを作成して、ヒストグラムデータに応じた圧縮伸張率で、第２画像データの圧縮伸張を行っている。従って、多様な画像であっても、ヒストグラムデータ（画像の濃度ヒストグラム）を把握し、ヒストグラムデータに基づいて、第２画像データを効率的に圧縮することができ、記憶手段の記憶容量の低減とメモリ帯域の見かけ上の増大が可能となる。
【００１７】
また、ヒストグラムデータに対して補正処理を行い、補正ヒストグラムデータに基づいて、第２画像データを圧縮伸張するので、ノイズ等を原因として第１及び第２画像データ間で濃度ヒストグラムの変化が発生しても、データの圧縮率の低下を抑えることができる。
【００１８】
更に、画像を複数ブロックに分割し、ブロック毎に、ヒストグラムデータを作成し、第２画像データを圧縮伸張しているので、画像中の局所的な濃度変化をヒストグラムデータに反映させて、第２画像データの圧縮伸張を行うことができ、データの圧縮率の低下を抑えることができる。
【００１９】
また、圧縮された第２画像データのデータサイズが一定サイズ以上の場合は、非圧縮状態の第２画像データの書き込み読み出しを記憶手段に対して行っているので、記憶手段の記憶容量を無駄に用いることがない。
【００２０】
尚、本発明の画像形成装置は、上記本発明の画像処理装置と同様の作用及び効果を果たすことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施例を添付図面を参照しつつ詳細に説明する。
【実施例１】
【００２２】
図１は、本発明の画像形成装置の実施例１を示すブロック図である。本実施例の画像形成装置１０は、デジタル複写機であり、スキャナ部（画像入力装置）１１、画像処理部（画像処理装置）１２、エンジン部（画像出力装置）１３、コンソール１４、コントローラ１５、及びメモリ１６を備えている。
【００２３】
スキャナ部１１は、図示しないＣＣＤ（Charge Coupled Device）ラインイメージセンサユニット、及びＣＣＤラインイメージセンサユニットを副走査方向に往復移動させる副走査方向駆動系を備えている。ＣＣＤラインイメージセンサユニットは、原稿画像を副走査方向に走査しつつ該原稿画像を主走査方向に繰り返し走査し、１主走査ライン毎に、ＲＧＢ（Ｒ：赤・Ｇ：緑・Ｂ：青）カラー信号を生成出力する。ＣＣＤラインイメージセンサユニットの出力のうちの有効範囲（原稿の読み取り範囲）に対応するカラー信号のみが選択され、このカラー信号がＡ／Ｄ変換されて、ＲＧＢ画像データが生成され画像処理部１２に出力される。
【００２４】
画像処理部１２は、ＡＳＩＣで構成されており、スキャナ部１１からのＲＧＢ画像データを受け取り、ＲＧＢ画像データに対して各種の画像処理を施してから、ＲＧＢ画像データをＣＭＹＫ（Ｃ：青緑・Ｍ：深紅・Ｙ：黄・Ｋ：黒）画像データに変換し、このＣＭＹＫ画像データをエンジン部１３へ出力する。
【００２５】
コントローラ１５は、汎用ＣＰＵ（Central Processing Unit ）で構成され、スキャナ部１１、画像処理部１２、及びエンジン部１３を制御し、一連の複写動作の制御を実施する。コンソール１４は、図示しないが、ユーザとのインタフェースを行うための液晶表示装置、動作指示用のボタン類等から構成されている。
【００２６】
エンジン部１３は、図示しないＣＭＹＫの４色トナーを用いたタンデム型の電子写真方式のカラー出力エンジンであり、画像処理部１２から１ページ分のＣＭＹＫ画像データを受け取り、ＣＭＹＫ画像データにより示されるカラーの原稿画像を記録用紙に記録する。
【００２７】
メモリ１６は、例えばＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）で構成される大容量のデータを格納するための記憶装置であり、画像処理部１２からの画像データを一時的に記憶する。
【００２８】
次に、本実施形態の画像形成装置１０における画像処理部１２を更に詳しく説明する。
【００２９】
図２は、画像処理部１２の構成を示すブロック図である。この画像処理部１２は、メモリインタフェース２０、シェーディング補正処理部２１、入力ガンマ処理部２２、カラー画像判定部２３、解像度変換処理部２４、領域分離処理部２５、フィルタ処理部２６、色補正処理部２７、中間調処理部２８、ヒストグラム算出部Ａ２９、ヒストグラム補正部Ａ３０、圧縮処理部Ａ３１、伸張処理部Ａ３２、ヒストグラム算出部Ｂ３３、ヒストグラム補正部Ｂ３４、圧縮処理部Ｂ３５、伸張処理部Ｂ３６を備えている。
【００３０】
メモリインタフェース２０は、圧縮処理部Ａ３１、伸張処理部Ａ３２、圧縮処理部Ｂ３５、及び伸張処理部Ｂ３６とメモリ１６間の画像データの入出力制御を行うインタフェースである。
【００３１】
シェーディング補正処理部２１は、ＣＣＤラインイメージセンサユニット（主走査方向）の受光量分布が均一でない状態でのＲＧＢ画像データを補正して、このＲＧＢ画像データを受光量分布が均一な状態でのＲＧＢ画像データに変換する。すなわち、スキャナ部１１からのＲＧＢ画像データに対して、読み取り原稿の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を行う。
【００３２】
入力ガンマ処理部２２は、スキャナ部１１からのＲＧＢ画像データがＣＣＤラインイメージセンサユニットの感度にリニアになる様に、スキャナ部１１の入力特性を補正して、ＲＧＢ画像データを後段の画像処理で扱い易くする。
【００３３】
カラー画像判別部２３は、入力ガンマ処理部２２からのＲＧＢ画像データによって示される原稿画像がカラー及びモノクロのいずれであるかを判別する。
【００３４】
ヒストグラム算出部Ａ２９は、入力ガンマ処理部２２からのＲＧＢ画像データによって示される画像を構成する各画素の色と階調を参照し、各色の２５６階調についての度数データ（ヒストグラムデータ）を作成する。このため、ヒストグラム算出部Ａ２９は、ＲＧＢの各色別に、２５６階調の出現度数をそれぞれカウントする２５６個の度数カウンタ、合計７６８個の度数カウンタを内蔵する。
【００３５】
ヒストグラム補正部Ａ３０は、ヒストグラム算出部Ａ２９により算出されたヒストグラムデータの変動を考慮し、出現度数分布を補正した補正ヒストグラムデータを算出し、補正ヒストグラムデータに基づいて静的なハフマン符号化テーブルを作成する。
【００３６】
圧縮処理部Ａ３１は、ヒストグラム補正部Ａ３０により作成されたハフマン符号化テーブルを用いて、入力ガンマ処理部２２からのＲＧＢ画像データをハフマン符号化して、これにより圧縮されたＲＧＢ画像データをメモリインタフェース２０を通じてメモリ１６に記憶する。
【００３７】
伸張処理部Ａ３２は、圧縮処理部Ａ３１により圧縮されたＲＧＢ画像データをメモリインタフェース２０を通じてメモリ１６から読み出し、ハフマン符号化テーブルを用いて、このＲＧＢ画像データを復号化して伸長し、元の非圧縮状態のＲＧＢ画像データを得る。
【００３８】
解像度変換処理部２４は、伸張処理部Ａ３２からのＲＧＢ画像データを用いて、主走査方向もしくは副走査方向に変倍した原稿画像を示すＲＧＢ画像データを生成して出力する。解像度変換により拡大を行う場合には、画像データのデータ量が増えるため、画像データをメモリに一旦保存してから、画像データをメモリから再度読み出すことにより、処理速度を一定に保つ必要がある。
【００３９】
領域分離処理部２５は、ＲＧＢ画像データによって示される画像の各画素に対して、文字を表す画素かそれ以外を表す画素かを示す属性フラッグの１ビットを付加する。
【００４０】
フィルタ処理部２６は、画素毎に、ＲＧＢ画像データを２次元ＦＩＲ（Finite Impulse Response ）フィルタにかけるものであって、画素の属性フラッグを用い、画素が文字を表せば、ＲＧＢ画像データを強調フィルタ処理にかけて、文字エッジを強調し、画素がそれ以外を表せば、ＲＧＢ画像データを平滑フィルタにかけて、ノイズの除去を行う。
【００４１】
色補正処理部２７は、ＲＧＢ画像データをＣＭＹＫ画像データに変換する。すなわち、色再現の忠実化実現のために、不要吸収成分を含むＣＭＹＫ色材の分光特性をテーブルで参照して、ＲＧＢ値をＣＭＹＫ値に直接変換する。このＣＭＹＫ画像データは、ＣＭＹＫの各色別に２５６階調を表す。
【００４２】
中間調処理部２８は、ＣＭＹＫの各色別に２５６階調を表すＣＭＹＫ画像データを色補正処理部２６から受け取ると、多値ディザ処理を行って、ＣＭＹＫの各色別の２５６階調をエンジン部１３の階調表現能力に合わせたＣＭＹＫの各色別の１６階調で表現したＣＭＹＫ画像データを生成出力する。
【００４３】
ヒストグラム算出部Ｂ３３は、中間調処理部２８からのＣＭＹＫ画像データを受け取り、ＣＭＹＫ画像データによって示される画像を構成する各画素の色と階調を参照し、各色の１６階調についての度数データ（ヒストグラムデータ）を作成する。このため、ヒストグラム算出部Ｂ３３は、ＣＭＹＫの各色別に、１６階調の出現度数をそれぞれカウントする１６個の度数カウンタ、合計６４個の度数カウンタを内蔵する。
【００４４】
ヒストグラム補正部Ｂ３４は、ヒストグラム算出部Ｂ３３が算出したヒストグラムデータの変動を考慮し、出現度数分布を補正した補正ヒストグラムデータを算出し、補正ヒストグラムデータに基づいて静的なハフマン符号化テーブルを作成する。
【００４５】
圧縮処理部Ｂ３５は、ヒストグラム補正部Ｂ３４により作成されたハフマン符号化テーブルを用いて、中間調処理部２８からのＣＭＹＫ画像データをハフマン符号化して、これにより圧縮されたＣＭＹＫ画像データをメモリインタフェース２０を通じてメモリ１６に記憶する。
【００４６】
伸張処理部Ｂ３６は、圧縮処理部Ｂ３５により圧縮されたＣＭＹＫ画像データをメモリインタフェース２０を通じてメモリ１６から読み出し、ハフマン符号化テーブルを用いて、このＣＭＹＫ画像データを復号化して伸長し、元の未圧縮状態のＣＭＹＫ画像データを得る。
【００４７】
伸張処理部Ｂ３６からのＣＭＹＫ画像データは、エンジン部１３による原稿画像の記録タイミングに合わせて、ＣＭＹＫの各色別にエンジン部１３へと出力される。
次に、図３のフローチャートを参照して、画像処理部１２を中心とする処理の概略を説明する。
【００４８】
ここでは、ステップＳ１のプレスキャン処理を行ってから、ステップＳ２の本スキャン処理を行っている。
【００４９】
ステップＳ１のプレスキャン処理においては、スキャナ部１１による原稿画像の読み取り走査、及び画像処理部１２による処理が行なわれて、原稿画像がカラー及びモノクロのいずれであるかが判別され、ＲＧＢ画像データを圧縮伸張するのに必用なハフマン符号化テーブルが作成され、ＣＭＹＫ画像データを圧縮伸張するのに必用なハフマン符号化テーブルも作成される。ただし、ＣＭＹＫ画像データをエンジン部１３に出力することはない。
【００５０】
ステップＳ２の本スキャン処理においては、スキャナ部１１による原稿画像の読み取り走査、及び画像処理部１２による処理が行なわれて、プレスキャン処理により作成されたハフマン符号化テーブルを用いて、ＲＧＢ画像データの圧縮伸張、メモリ１６に対する圧縮されたＲＧＢ画像データの読み書き、ＣＭＹＫ画像データの圧縮伸張、メモリ１６に対する圧縮されたＣＭＹＫ画像データの読み書きが行われる。そして、ＣＭＹＫ画像データをエンジン部１３に出力する。
【００５１】
次に、図４のフローチャートを参照して、ステップＳ１のプレスキャン処理を説明する。
【００５２】
まず、ステップＳ１０において、画像処理部１２の初期化が行われ、画像処理部１２の各種動作パラメータがコントローラ１５により設定される。このとき、ヒストグラム算出部Ａ２９及びヒストグラム算出部Ｂ３３内の度数カウンタも初期化される。
【００５３】
ステップＳ１１において、スキャナ部１１のＣＣＤラインイメージセンサユニットが副走査方向に移動されて、読み取り位置に来たか否かが判定される。読み取り位置は、スキャナ部１１の入力解像度を６００ｄｐｉ（dot per inch）とすると、１インチの区間を６００分割したそれぞれの位置である。
【００５４】
ステップＳ１２において、スキャナ部１１は、読み取り位置に移動されると、ＲＧＢの各色別に、主走査１ライン分の各画素値を読み取って、各画素の値を１０ビットのデジタル信号にそれぞれ変換し、このデジタル信号をＲＧＢ画像データとして画像処理部１２に出力する。
【００５５】
ステップＳ１３において、シェーディング補正処理部２１は、主走査１ライン分のＲＧＢ画像データを受け取ると、ＲＧＢ画像データにシェーディング補正処理を施す。これに伴って、各画素の値を示す１０ビットのデジタル信号が８ビットのデジタル信号に変換される。
【００５６】
ステップＳ１４において、入力ガンマ補正処理部２２は、スキャナ部１１の入力特性を補正して、ＲＧＢ画像データを後段の画像処理で扱い易くする。
【００５７】
ステップＳ１５において、ヒストグラム算出部Ａ２９は、入力ガンマ処理部２２からの主走査１ライン分のＲＧＢ画像データによって示される主走査１ライン分の各画素の色と階調を参照し、各色別の２５６階調の出現度数に応じて該ヒストグラム算出部Ａ２９内の２５６個の度数カウンタをそれぞれインクリメントして、各色別に、２５６階調の出現度数を計数する。
【００５８】
ステップＳ１６において、入力ガンマ補正処理部２２からの主走査１ライン分のＲＧＢ画像データをメモリ１６に一旦書き込む。このとき、圧縮処理部Ａ３１は、ハフマン符号化処理を実施せず、主走査１ライン分のＲＧＢ画像データをそのままの非圧縮状態でメモリインタフェース２０に出力してメモリ１６に書き込む。
【００５９】
ステップＳ１７において、伸張処理部Ａ３２は、メモリインタフェース２０を介して、メモリ１６から非圧縮状態のＲＧＢ画像データを読み出し、このＲＧＢ画像データを解像度変換処理部２４に供給する。
【００６０】
ステップＳ１８において、解像度変換処理部２４は、伸張処理部Ａ３２からのＲＧＢ画像データについて、主走査方向及び副走査方向の両方で解像度変換処理を行い、主走査方向及び副走査方向に変倍したＲＧＢ画像データを生成して出力する。
【００６１】
ステップＳ１９において、領域分離処理部２５は、ＲＧＢ画像データによって示される各画素に対して、文字を表す画素かそれ以外を表す画素かを示す属性フラッグの１ビットを付加する。
【００６２】
ステップＳ２０において、フィルタ処理部２６は、画素毎に、画素の属性フラッグを用い、画素が文字を表せば、ＲＧＢ画像データを強調フィルタ処理にかけて、文字エッジを強調し、画素がそれ以外を表せば、ＲＧＢ画像データを平滑フィルタにかけて、ノイズの除去を行う。
【００６３】
ステップＳ２１において、色補正処理部２７は、ＣＭＹＫ色材の分光特性をテーブルで参照して、各色別の２５６階調のＲＧＢ画像データを各色別の２５６階調のＣＭＹＫ画像データに変換する。
【００６４】
ステップＳ２２において、中間調処理部２８は、多値ディザ処理を行って、ＣＭＹＫの各色別の２５６階調をＣＭＹＫの各色別の１６階調で表現したＣＭＹＫ画像データを生成出力する。
【００６５】
ステップＳ２３において、ヒストグラム算出部Ｂ３３は、中間調処理部２８からのＣＭＹＫ画像データによって示される各画素の色と階調を参照し、各色別の１６階調の出現度数に応じて該ヒストグラム算出部Ｂ３３内の６４個の度数カウンタをそれぞれインクリメントして、各色別に、１６階調の出現度数を計数する。
【００６６】
この様なステップＳ１１〜Ｓ２３の処理により、原稿画像の主走査１ライン分が読み取られて、この主走査１ライン分に対応するＲＧＢ画像データ及びＣＭＹＫ画像データが生成されて処理され、ＲＧＢの各色別に、２５６階調の度数が計数され、ＣＭＹＫの各色別に、１６階調の度数が計数される。
【００６７】
引き続いて、ステップＳ２４において、原稿画像の１ページを読み取って処理したか否かが確認され、処理が終了していなければ、ステップＳ１１〜Ｓ２３の処理を繰り返す。これにより、原稿画像の１ページに対応するＲＧＢ画像データ及びＣＭＹＫ画像データが生成されて処理され、ＲＧＢの各色別に、２５６階調の度数が計数され、ＣＭＹＫの各色別に、１６階調の度数が計数される。
【００６８】
次に、ステップＳ２５において、ヒストグラム補正部Ａ３０は、ヒストグラム算出部Ａ２９内の２５６個の度数カウンタにより計数された各色別の２５６階調の出現度数（ヒストグラムデータ）に基づいて、各色別に、補正ヒストグラムデータを作成し、補正ヒストグラムデータに基づいて、本スキャン処理のためのハフマン符号化テーブルを作成する。
【００６９】
また、ヒストグラム補正部Ｂ３４は、ヒストグラム算出部Ｂ３３内の６４個の度数カウンタにより計数された各色別の１６階調の出現度数（ヒストグラムデータ）に基づいて、各色別に、補正ヒストグラムデータを作成し、補正ヒストグラムデータに基づいて、本スキャン処理のためのハフマン符号化テーブルを作成する。
【００７０】
補正ヒストグラムデータの作成処理には、後述する平均化補正と正規化補正が用いられる。この補正ヒストグラムデータを作成する理由は、プレスキャン処理と本スキャン処理のいずれのときにも、スキャナ部１１により同一原稿画像を示す同一画像データが生成されるはずであるが、ノイズやＣＣＤラインイメージセンサユニット周辺のアナログ回路の状態変化が原因となり、プレスキャン処理と本スキャン処理間で各階調のドリフトが発生して、本スキャン時に収集した各階調の出現度数分布がプレスキャン時に収集した各階調の出現度数分布から若干変化することがあるので、これに対処するためである。
【００７１】
更に、プレスキャン処理の最後のステップＳ２６において、カラー画像判別部２３は、入力ガンマ処理部２２からのＲＧＢ画像データによって示される原稿画像がカラー及びモノクロのいずれであるかを判別する。原稿画像全体のデータを受け取ってからでなければ、カラー及びモノクロのいずれであるかを判別することができないため、本処理は最後に実行される。
【００７２】
次に、図５のフローチャートを参照して、ステップＳ２５の補正ヒストグラムデータ及びハフマン符号化テーブルの作成処理を説明する。
【００７３】
まず、ステップＳ３０において、補正処理として平均化補正を行う。この平均化補正は、図６のグラフに示す様にプレスキャン処理のときの各階調の出現度数分布に大きな変異があり、その上で同グラフに示すように本スキャン処理のときに各階調の出現度数分布が変化する状態で、プレスキャン処理のときの出現度数分布をそのまま用いて後述するハフマン符号化テーブルを作成し、このハフマン符号化テーブルを用いて、画像データを圧縮すると、圧縮後のデータサイズが元のデータサイズよりも増大したり、圧縮後のデータサイズが一定サイズ以上になるという危険性があることから、これを防止するために行なわれる。
【００７４】
この平均化補正手法としては、予め平均化係数αを決めておき、階調Ｘに対する出現度数Ｃ（Ｘ）、ＣＡを平均出現度数として、補正出現度数Ｃ‘（Ｘ）を以下の式で決定する。
【数１】
2005198022.tif 000003
この様な補正出現度数Ｃ‘（Ｘ）の決定は、ヒストグラム算出部Ａ２９及びヒストグラム算出部Ｂ３３が生成した各色のヒストグラムデータについてそれぞれ実行される。
【００７５】
ステップＳ３１において、平均化補正を行ったヒストグラムデータに対して正規化補正を実施する。これは、ハフマン符号長をそろえるための処理であり、ハフマン符号長を１２ｂｉｔに規定した場合には、ステップＳ３０で算出した補正出現度数Ｃ‘（Ｘ）に対して補正出現度数全体の総和ＣＡ’を用い、正規化出現度数Ｃ‘’（Ｘ）を次の式に従って算出する。小数点以下は切り捨てとする。
【数２】
2005198022.tif 000004
正規化出現度数Ｃ‘’（Ｘ）の総和が４０９６以下にならなければ、上式と同様の操作を繰り返し、４０９６以下に収まるまで繰り返す。ヒストグラム補正部Ａ３０においてはハフマン符号長を１２ｂｉｔとして処理を実行し、ヒストグラム補正部Ｂ３４においては階調が１６階調であるため、ハフマン符号長を８ｂｉｔとして処理を実行する。
【００７６】
ステップＳ３２において、ハフマン符号化テーブルを作成する。ハフマン符号化テーブルの作成方法は、正規化出現度数Ｃ‘’（Ｘ）を用いて、従来から知られている手法でハフマン木を作成し、作成したハフマン木から各階調に対するコード表を生成することで行う。これにより、ヒストグラム補正部Ａ３０においては図７に示す様な各ハフマン符号化テーブル７１、７２が作成され、またヒストグラム補正部Ｂ３４においては図８に示す様な各ハフマン符号化テーブル８１、８２が作成される。各ハフマン符号化テーブル７１、８１は、順引き用ハフマン符号化テーブルとして、階調から符号化値とビット長を得るために圧縮時に用いられる。また、各ハフマン符号化テーブル７２、８３は、逆引き用ハフマン符号化テーブルとして、符号化後のビットパターンから階調とビット長を得るために伸張時に用いられる。各ハフマン符号化テーブル７１、７２、８１、８２は、色毎に用意される。
【００７７】
以上の様な手順で、プレスキャン処理は行われる。
【００７８】
次に、図９のフローチャートを参照して、ステップＳ２の本スキャン処理を説明する。
【００７９】
まず、ステップＳ４０において、ステップＳ１０と同様に、画像処理部１２の初期化がわれ、画像処理部１２の各種動作パラメータがコントローラ１５により設定される。このとき、圧縮処理部Ａ３１、伸張処理部Ａ３２、圧縮処理部Ｂ３５、伸張処理部Ｂ３６に、各ハフマン符号化テーブル７１、７２、８１、８２が設定される。
【００８０】
ステップＳ４１〜Ｓ４４は、先に述べた図４のステップＳ１１〜Ｓ１４と同様である。
【００８１】
ステップＳ４５において、圧縮処理部Ａ３１は、入力ガンマ処理部２２からのＲＧＢ画像データを受け取り、ＲＧＢの各色別に、図７に示す様なハフマン符号化テーブル７１に従って、画像データをハフマン符号化し、データ圧縮を実施する。このデータ圧縮は、主走査ライン単位で行われ、図１０に示す様なパケットデータが作成される。ハフマン符号化によって圧縮化された画像データがバイト単位でなかったときには、バイト単位となる様に圧縮化された画像データにダミービットが追加される。
【００８２】
ステップＳ４６において、主走査ライン毎に、パケットデータをメモリインタフェース２０を通してメモリ１６に保存する。
【００８３】
ステップＳ４７において、必要な主走査ラインのパケットデータをメモリインタフェース２０を通してメモリ１６から読み出す。
【００８４】
ステップＳ４８において、伸張処理部Ａ３２は、ＲＧＢの各色別に、図７に示す様なハフマン符号化テーブル７２に従って、圧縮された画像データを伸張し、元の画像データを得る。
【００８５】
ステップＳ４９〜Ｓ５１は、先に述べた図４のステップＳ１８〜Ｓ２０と同様である。
【００８６】
ステップＳ５２において、色補正処理部２７は、ＲＧＢ画像データをＣＭＹＫ画像データに変換する。このとき、プレスキャン処理により原稿画像がカラーと判別されていれば、カラー用の色補正処理を行い、モノクロと判定されていれば、モノクロ用の色補正処理を行う。
【００８７】
ステップＳ５３は、Ｓ２２と同様の処理を行う。
【００８８】
ステップＳ５４において、原稿画像がカラー及びモノクロのいずれであるかにより、以降の２通りの処理過程のいずれかが選択される。
【００８９】
原稿画像がモノクロである場合は、各ステップＳ６１、６２が選択される。各ステップＳ６１、６２においては、ＣＭＹＫ画像データの圧縮伸張が行われずに、ＣＭＹＫ画像データがメモリ１６に対して入出力される。これは、ヒストグラム算出部Ｂ３３によりプレスキャン時に取得したヒストグラムデータがカラー用の色補正処理を実施されて生成されたＣＭＹＫ画像データに基づくものであり、このヒストグラムデータがモノクロ用の色補正処理を実施されて生成された画像データに基づくヒストグラムデータとは異なるためである。
【００９０】
ステップＳ５５において、圧縮処理部Ｂ３５は、中間調処理部２８からのＣＭＹＫ画像データを受け取り、ＣＭＹＫの各色別に、図８に示す様なハフマン符号化テーブル８１に従って、画像データをハフマン符号化し、データ圧縮を実施する。このデータ圧縮は、主走査ライン単位で行われ、図１１に示す様なパケットデータが作成される。ハフマン符号化によって圧縮化された画像データがバイト単位でなかったときには、バイト単位となる様に圧縮化された画像データにダミービットが追加される。
【００９１】
ステップＳ５６において、主走査ライン毎に、パケットデータをメモリインタフェース２０を通してメモリ１６に保存する。
【００９２】
ステップＳ５７において、ＣＭＹＫの色別に、必要な主走査ラインデータを、メモリインタフェース２０を通してメモリ１６から読み出す。
【００９３】
ステップＳ５８において、伸張処理部Ｂ３６は、ＣＭＹＫの色別に、図８に示す様なハフマン符号化テーブル８２に従って、圧縮された画像データを伸張し、元の画像データを得る。
【００９４】
ステップＳ５９において、伸張された元のＣＭＹＫ画像データは、エンジン部１３からの要求に応じて該エンジン部１３に出力される。
【００９５】
ステップＳ６０において、原稿画像の１ページ全ての画像データを処理したか否かを確認し、処理が終了していければ、ステップＳ４１〜Ｓ５９の処理を繰り返す。
【００９６】
以上の様な手順で、本スキャン処理は行われる。
【００９７】
この様に本実施例では、プレスキャン処理で原稿画像のヒストグラムデータを作成して補正し、補正ヒストグラムデータに基づいてハフマン符号化テーブルを作成し、ハフマン符号化テーブルを用いて、画像データの圧縮伸張を行っているので、原稿画像の濃度ヒストグラムに応じて画像データを効率的に圧縮伸張することができ、メモリ１６に対するデータ転送量を低減することができる。また、プレスキャン時に取得したデータを用いて、本スキャン処理での圧縮処理の符号化を決定しているため、圧縮伸張処理が軽く、メモリ帯域に追随可能な圧縮処理部と伸張処理部の回路規模が小さくてすむ。
【００９８】
尚、上記実施例では、ステップＳ３０で平均化補正を行っているが、スキャナ部１１等が原稿画像の全画像データを格納できる記憶装置を持っており、プレスキャン時と本スキャン時で記憶装置内の同一画像データを用いることができるならば、平均化補正を行わなくても良い。
【００９９】
また、圧縮後のデータサイズが圧縮前のデータサイズよりも大きくなっても、圧縮後のデータをそのまま格納しているが、図１１に示す様に圧縮しているか否かを示すフラグをパケットデータに付加すれば、圧縮後のデータサイズが圧縮前のデータサイズよりも小さくなったときに、圧縮されたデータをメモリ１６に記憶し、また圧縮後のデータサイズが圧縮前のデータサイズよりも大きくなったときに、非圧縮のデータをメモリ１６に記憶し、データの読み出しに際し、パケットデータのフラッグを参照して、データの伸張が必用か否かを判別することができる。これにより、局所的なメモリ使用量の増加や必要なメモリ帯域の増加を防ぐことが可能となる。
【０１００】
また、ヒストグラムデータとして、原稿画像の全画像データを対象にした１種類のみを作成しているが、原稿画像を主走査ライン単位や、領域分離処理により分割されたブロック単位で、ヒストグラムデータを作成し、ブロック別に、圧縮処理及び伸張処理で用いられるハフマン符号化テーブルを作成し、各ハフマン符号化テーブルを切り替えて用いてもよい。
【０１０１】
また、静的なハフマン符号化を圧縮方式及び伸張方式として用いたが、ヒストグラムデータから出現度数が大きい値のみをランレングス圧縮するという手法を用いてもよい。また、静的なハフマン符号化に変えて算術符号を用いても良い。
【図面の簡単な説明】
【０１０２】
【図１】本発明の画像形成装置の実施例１を示すブロック図である。
【図２】図１の画像形成装置における画像処理部の構成を示すブロック図である。
【図３】図１の画像処理部を中心とする処理の概略を示すフローチャートである。
【図４】図３のステップＳ１のプレスキャン処理を示すフローチャートである。
【図５】図４のステップＳ２５の補正ヒストグラムデータ及びハフマン符号化テーブルの作成処理を示すフローチャートである。
【図６】プレスキャン処理のときの各階調の出現度数分布、及び本スキャン処理のときの各階調の出現度数分布を示すグラフである。
【図７】ＲＧＢ画像データの圧縮伸張に用いられるハフマン符号化テーブルを例示する図表である。
【図８】ＣＭＹＫ画像データの圧縮伸張に用いられるハフマン符号化テーブルを例示する図表である。
【図９】図３のステップＳ２の本スキャン処理を示すフローチャートである。
【図１０】圧縮されたＲＧＢ画像データを転送するためのパケットデータを例示する図である。
【図１１】圧縮されたＣＭＹＫ画像データを転送するためのパケットデータを例示する図である。
【符号の説明】
【０１０３】
１１  スキャナ部
１２  画像処理部
１３  エンジン部
１６  メモリ
２０  メモリインタフェース
２９  ヒストグラム算出部Ａ
３０  ヒストグラム補正部Ａ
３１  圧縮処理部Ａ
３２  伸張処理部Ａ
３３  ヒストグラム算出部Ｂ
３４  ヒストグラム補正部Ｂ
３５  圧縮処理部Ｂ
３６  伸張処理部Ｂ
【図１】
2005198022.tif 000005
【図２】
2005198022.tif 000006
【図３】
2005198022.tif 000007
【図４】
2005198022.tif 000008
【図５】
2005198022.tif 000009
【図６】
2005198022.tif 000010
【図７】
2005198022.tif 000011
【図８】
2005198022.tif 000012
【図９】
2005198022.tif 000013
【図１０】
2005198022.tif 000014
【図１１】
2005198022.tif 000015