(57)【要約】【課題】アップサンプリングや拡大処理に代表される処理画素数が副走査方向に増加する画像処理を行う場合に増加してしまうラインメモリを最小限に抑える。最終的に画像のビット数を落とす処理が入る場合には、そのビット削減処理を行った後にラインメモリを用いて画像を副走査方向に並び替えることで、メモリ容量を最小限にする。そのビット削減処理時には、データが不整列であることを考慮した画像処理を行う。【解決手段】画像データの印刷処理を行う画像形成装置であって、取り込んだ画像データにダウンサンプリング処理を施し、その後、画像処理を施した画像データの注目画素に対し取り込み時の画素数に戻す展開手段と、前記展開手段により取り込み時の画素数に戻された前記注目画素に対応する各画素を印刷のための画素へ変換する変換手段と、前記変換手段により、変換された前記注目画素に対応する各画素を読み込み、ラスタ順に読み込み、並び替える並び替え手段とを有する。【選択図】    図７
2010171552.tif 000002
【特許請求の範囲】
【請求項１】
画像データの印刷処理を行う画像形成装置であって、
取り込んだ画像データにダウンサンプリング処理を施し、その後、画像処理を施した画像データの注目画素に対し取り込み時の画素数に戻す展開手段と、
前記展開手段により取り込み時の画素数に戻された前記注目画素に対応する各画素を印刷のための画素へ変換する変換手段と、
前記変換手段により、変換された前記注目画素に対応する各画素を読み込み、ラスタ順に読み込み、並び替える並び替え手段と
を有することを特徴とする画像形成装置。
【請求項２】
外部から高解像度の画像データを取り込む取込手段と、
前記取込手段で取り込んだ画像データを一定の大きさに分割する分割手段と、
前記分割手段により分割した画像データの注目画素に対し、画素数を削減する削減手段と、
前記削減手段において順に処理した画像データを保持する保持手段と
を更に有し、
前記展開手段は、前記保持手段にて保持した画像データを処理対象とすることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
分割可能な圧縮画像データを取り込む取込手段と、
前記取込手段で取り込んだ前記圧縮画像データを展開する展開手段と、
前記展開手段にて展開した画像データに対し、画素数を削減する削減手段と、
前記削減手段において順に処理した画像データを保持する保持手段と、
を更に有し、
前記展開手段は、前記保持手段にて保持した画像データを処理対象とすることを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記変換手段は、ディザ閾値マトリクスを用いてディザ処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項５】
前記変換手段は、誤差拡散法を用い、画素データに対しての誤差分配が完了した順に処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項６】
前記変換手段は、平均濃度保存法を用い、画素データに対しての誤差分配が完了するとともに、閾値の算出が可能になった順に処理を行うことを特徴とする請求項１乃至３のいずれか一項に記載の画像形成装置。
【請求項７】
画像データを入力し、前記画像データをより解像度の高い画像データにアップサンプリングする変換手段と、
前記変換手段によって変換された画像データの各画素をラスタ走査順に読み込み、前記各画素に対応するディザ閾値を用いてラスタ走査順にディザ処理を行うディザ処理手段と、
前記ディザ処理手段によってディザ処理を施された前記各画素の並び替えを行う並び替え手段と
を有することを特徴とする画像形成装置。
【請求項８】
画像データの印刷処理を行う画像形成装置の制御方法であって、
前記画像形成装置の展開手段が、取り込んだ画像データにダウンサンプリング処理を施し、その後、画像処理を施した画像データの注目画素に対し、取り込み時の画素数に戻す展開工程と、
前記画像形成装置の変換手段が、前記展開工程により取り込み時の画素数に戻された前記注目画素に対応する各画素を印刷のための画素へ変換する変換工程と、
前記画像形成装置の並び替え手段が、前記変換工程により変換された前記注目画素に対応する各画素を読み込み、ラスタ順に読み込み、並び替える並び替え工程と
を有することを特徴とする制御方法。
【請求項９】
画像データの印刷処理を行う画像形成装置の制御方法であって、
前記画像形成装置の変換手段が、画像データを入力し、前記画像データをより解像度の高い画像データにアップサンプリングする変換工程と、
前記画像形成装置のディザ処理手段が、前記変換工程によって変換された画像データの各画素をラスタ走査順に読み込み、前記各画素に対応するディザ閾値を用いてラスタ走査順にディザ処理を行うディザ処理工程と、
前記画像形成装置の並び替え手段が、前記ディザ処理工程によってディザ処理を施された前記各画素の並び替えを行う並び替え工程と
を有することを特徴とする制御方法。
【請求項１０】
コンピュータを、
取り込んだ画像データにダウンサンプリング処理を施し、その後、画像処理を施した画像データの注目画素に対し取り込み時の画素数に戻す展開手段と、
前記展開手段により取り込み時の画素数に戻された前記注目画素に対応する各画素を印刷のための画素へ変換する変換手段と、
前記変換手段により、変換された前記注目画素に対応する各画素を読み込み、ラスタ順に読み込み、並び替える並び替え手段と
して機能させるためのプログラム。
【請求項１１】
コンピュータを、
画像データを入力し、前記画像データをより解像度の高い画像データにアップサンプリングする変換手段と、
前記変換手段によって変換された画像データの各画素をラスタ走査順に読み込み、前記各画素に対応するディザ閾値を用いてラスタ走査順にディザ処理を行うディザ処理手段と、
前記ディザ処理手段によってディザ処理を施された前記各画素の並び替えを行う並び替え手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の解像度を省メモリにアップサンプリングするための画像形成装置及び画像形成方法及びプログラムに関するものである。
【背景技術】
【０００２】
プリンタあるいは複写機等の画像形成装置に用いられる画像記録方式として、電子写真方式が知られている。電子写真方式は、レーザビームを利用して感光ドラム上に潜像を形成して、帯電した色剤（以下、トナーと称する）により現像するものである。画像の記録は、現像されたトナーによる画像を転写紙に転写して定着させることにより行う。
【０００３】
昨今の技術の進歩に伴い、その画像の高解像度化が進み、上記電子写真機器からの出力解像度はいまや１２００ｄｐｉ（ｄｏｔ  ｐｅｒ  ｉｎｃｈ）や２４００ｄｐｉといった値にまで至っている。出力サイズは多くの場合、ＪＩＳ規格等に準拠した提携サイズであるため、高解像度化に伴い画像データの画素数は増え、サイズが増大する。そういった大サイズのデジタル画像（以下、高解像度画像）の処理を実時間で行うためには通常その処理に特化したハードウェアを用いる事が多い。複写機に代表される大型の事務機器の場合、スキャナから取り込んだ画像を実時間でプリント出力する事が求められ、そのプリント速度が機器の性能を示すひとつの尺度になっている。それにより、ハードウェアでの実時間画像処理が必要になる大きな理由となっている。しかしながら、ハードウェアでの画像処理を行う場合、その処理の複雑度や処理画像の大きさに比例しそのハードウェア回路規模や内蔵するメモリが増大し、その増大によるコストアップや、開発期間の長期化や機種の硬直化等の問題を常に抱えている。
【０００４】
上記のような高解像度画像を高速にそして低コストに処理するための画像処理技術に関しては数々の技術が知られている。その中のひとつとしてダウンサンプリングを用いた画像処理がある。これはオリジナルのデジタル画像に対して、データを間引くことによって処理対象画素を減らすことにより、画像処理の負荷を軽減し、また同時に処理のために蓄積するメモリ容量を削減するといった効果がある。
【０００５】
この手法ではオリジナルの画像データに対して必ずデータが減らされるため、処理負荷と画質（特に解像力の劣化）とのトレードオフの関係にあり、その間引き方には注意を払う必要がある。この一手法として人が知覚しにくい情報を優先的に間引き、また知覚されやすいデータをアップサンプリングすることで劣化を最小限に抑える方法が開示されている（特許文献１参照）。
【０００６】
ダウンサンプリングされた状態は言い換えると、画像サイズが普遍であれば解像度が落ちた状態になる。たとえば１２００ｄｐｉの画像データを１／２に間引いた場合には６００ｄｐｉの画像データになるが、必ずどこかでその逆処理（アップサンプリング）を行った上で、高解像度の印字性能を持つプリンタ部へデータを渡す必要が出てくる。上述の文献でもダウンサンプリング（サブサンプリング）とアップサンプリングの両者併せて構成されている。
【０００７】
一般的にハードウェアで画像処理を行う場合、ある処理ブロックの処理は画素単位で、１画素ずつ処理を行う。画素単位の処理を１つの処理ブロックについて行ったら、次の処理ブロックへ渡し、そのブロックを処理する。この繰り返しにより画像１面を処理する。通常、処理ブロックでは画素の蓄積を最小限にとどめる。これは消費メモリを削減するためであり、処理を行う際に利用されるメモリのサイズがハードウェアの回路規模へ影響するためである。処理ブロックで処理順序は２次元の画像データで考えた場合、通常左上の画素から右方向（以下、主走査方向）へ順に処理し、１主走査ライン（以下、１ライン）処理が終了したら次ラインの左端から引き続き処理を行う（図３）。
【０００８】
処理ブロックはこの様に順に画素データを受け渡され、またその順序でデータを次の処理ブロックへ渡すように作られることが多い。ここで２×２画素単位にダウンサンプリングされたデータのアップサンプリング処理の構成を考える。この場合図４で示すような処理ブロックのイメージになる。すなわち、オリジナルの２×２画素を１画素としてダウンサンプリングし、少ない画素数で画像処理及び蓄積を行い、最後にアップサンプリング処理を行い元の画素数に戻してプリント出力する。
【０００９】
図４の例では画像のライン幅を２ｎ画素とした場合の処理画素順を画素内の番号で表した。入力した画像に対し、ダウンサンプリングを行い、その後、対象データに対して所定の画像処理を行う。画像処理が完了すると、最後にアップサンプリングする。その際、アップサンプリングの処理において、入力はダウンサンプリングされたデータ１画素に対し、出力はアップサンプリングされたデータ４画素になる。
【００１０】
例えば図４において、アップサンプリング処理部へダウンサンプリングされたデータの１番目の画素が入力された場合、その出力は１、２、２ｎ＋１、２ｎ＋２番目の４画素になる。しかしながら、続くプリント処理部では主走査方向に連続した１、２、３、４の順でデータが来ることを想定しているため、アップサンプリング処理部では１、２番目の画素を出力し、２ｎ＋１、２ｎ＋２番目の画素はメモリに蓄積する。続く２番目の入力を元に画素３、４、２ｎ＋３、２ｎ＋４を生成し、画素３、４を出力し、画素２ｎ＋３、２ｎ＋４は同様に蓄積する。これにより、後続の処理において１、２、３、４とデータの連続性を保持したまま出力することが可能になる。１ラインの最後ｎ番目の画素がアップサンプリング処理部に入力され、２ｎ番目の画素出力が完了してはじめてメモリ内の２ｎ＋１以降のデータを出力することが可能になる。このような処理においては、処理単位中に含まれるライン数−１のラインを保持するためのラインメモリが必要となってしまう。
【００１１】
１ラインのメモリサイズを小さくするためにブロック単位に画像を分割し最後に結合するといった手法が多くとられる。こういったハードウェアでのメモリサイズに関する課題はプリンタに限った話ではなく画像データの伸張を行いながら表示を行うディスプレイにおいても同様であり、その解決を図った発明も見受けられる（特許文献２等参照）。これはＪＰＥＧに代表される画像圧縮データから表示を行う際に、その最小画像処理単位(ＭＣＵ  ＪＰＥＧの場合、通常８×８画素)にてディザ処理を行い、データビット深度を削減し、消費メモリを削減するものである。
【特許文献１】特開２００８−２７１０４６号公報
【特許文献２】特開平９−９０６６号公報
【特許文献３】特開２００６−３４５３８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、先に述べたようにダウンサンプリングとアップサンプリングの処理が対になっている処理系の場合、最終的にはプリント処理部の解像度に変換する必要がある。アップサンプリングの処理以前が省メモリであっても、アップサンプリングの処理後のメモリ増は避けられない。
【００１３】
前述したように、アップサンプリング処理に代表される副走査方向に画素幅を持つ出力を行う処理ブロックではデータの連続性を保証するためのラインメモリが必要になる。さらには、主走査幅が大きいほど、また１画素あたりのビット数が多いほどそのメモリサイズは大きくなる。前述した２×２のサンプリングの場合、１ラインメモリが必要になる。例えば、出力解像度１２００ｄｐｉでＡ３サイズの画像が入力の場合、その主走査画素数は１４０００画素にものぼり、１画素あたりＣＭＹＫ４色、１０ビットとなると１画像あたりのメモリサイズは７０ＫＢｙｔｅにも上る。
【００１４】
これら課題を解決するため、画像を所定のブロックに分割し処理することでラインメモリを削減する方法が提案されている。先に述べた特許文献２のような方法であれば、処理をある特定のブロックサイズに分割して圧縮し、その上で画像処理を行っているため、ラインメモリは当然削減することが可能になる。しかしブロック処理では、区切ったブロックの境界をつなぐための工夫が必要になる。つまりブロック間の顕著な不連続性（ブロックの境界）を視認させないためのなんらかのデータをブロック間で受け渡す必要がある。例えばディザ法を用いた処理であればブロック間で参照するディザ閾値マトリクスの連続性を隣接ブロック間で確保する必要がある。具体的に図を用いて説明する。
【００１５】
まず図５を用いて、ディザ法による画像二値化（１ビット化）の原理について説明する。入力の多値画像（たとえば８ビット階調画像）をＮ×Ｍ（図では８×８）のブロックに分割する。その後、ブロック内の画素の階調値を同サイズのＮ×Ｍのディザ閾値マトリクスにおける閾値と画素毎に大小比較し、例えば閾値より画素値が大きければ黒を出力し、閾値以下であれば白を出力する。これをマトリクスのサイズ毎に全画素に対して行うことで、画像全体を二値化することが可能になる。
【００１６】
これを踏まえ図６は８×８画素を一つの単位として画像をブロック化し、ブロック単位でディザ処理を行う場合を示している。図６において、ディザマトリクスのサイズは２０×１２画素であり（破線にて図示）、このように画像のブロックサイズとディザマトリクスのサイズは必ずしも一致するとは限らない。特にカラー画像の場合、ＣＭＹＫの４版の色間で線数やスクリーン角度を変更させるために、マトリクスサイズが色間で変わることが一般的で、そのようにしてＣＭＹＫ色間のモアレを防ぐことが知られている。このようにディザのマトリクスと処理ブロック単位のサイズが異なる場合には隣接ブロック間でディザマトリクスの参照位置を引き継がないと、最終的にブロックを接合した際に接合境界でディザの周期が不連続になり、画像中スジとして視認されてしまう。
【００１７】
ディザマトリクスを用いない二値化の方法として誤差拡散法がある。注目画素を二値化した際に発生した、入力と出力濃度との誤差を周辺画素に拡散させることにより、元画像の濃度が保存された二値画像が得られる手法である。この場合はブロック間で誤差情報の拡散が必要になり、ブロック間で誤差の拡散が行われないとディザのときと同様にブロック間でスジが出てしまう。またこの誤差の拡散のためにさらにメモリや隣接ブロックでオーバーラップさせる領域が必要となり、冗長な処理が必要になってしまう。
【課題を解決するための手段】
【００１８】
本発明における、実施形態では課題解決のために以下の構成を有する。画像データの印刷処理を行う画像形成装置であって、取り込んだ画像データにダウンサンプリング処理を施し、その後、画像処理を施した画像データの注目画素に対し取り込み時の画素数に戻す展開手段と、前記展開手段により取り込み時の画素数に戻された前記注目画素に対応する各画素を印刷のための画素へ変換する変換手段と、前記変換手段により、変換された前記注目画素に対応する各画素を読み込み、ラスタ順に読み込み、並び替える並び替え手段とを有することを特徴とする画像形成装置を構成する。
【００１９】
画像データを入力し、前記画像データをより解像度の高い画像データにアップサンプリングする変換手段と、前記変換手段によって変換された画像データの各画素をラスタ走査順に読み込み、前記各画素に対応するディザ閾値を用いてラスタ走査順にディザ処理を行うディザ処理手段と、前記ディザ処理手段によってディザ処理を施された前記各画素の並び替えを行う並び替え手段とを有することを特徴とする画像形成装置を構成する。
【発明の効果】
【００２０】
本発明によって、アップサンプリングに代表される処理対象画素数が増加するような画像処理においても、その処理に必要なラインメモリの増加を最小限に抑えるとともに、最終的な出力画像の画質を保持したまま出力することが可能になる。
【発明を実施するための最良の形態】
【００２１】
＜第一の実施形態＞
本発明における第一の実施形態に関して述べる。まず、本発明を適用可能な装置の構成及び、概観に関しての説明を述べる。
【００２２】
＜本発明における画像形成装置の構成＞
図１は本発明における実施形態の画像形成装置の構成例を示すブロック図である。図１に示すように、画像形成装置は、画像読取部１０１、画像処理部１０２、記憶部１０３、ＣＰＵ１０４および画像出力部１０５を備える。なお、画像形成装置は、画像データを管理するサーバ、プリントの実行を指示するパーソナルコンピュータ(以下、ＰＣ)などにネットワークなどを介して接続可能である。
【００２３】
画像読取部１０１は、原稿の画像を読み取り、画像データを出力する。画像処理部１０２は、画像読取部１０１やＰＣ等外部から入力される画像データを含む印刷情報を中間情報（以下、「オブジェクト」と呼ぶ）に変換し、記憶部１０３のオブジェクトバッファに格納する。その際、濃度補正などの画像処理を行う。さらに、バッファしたオブジェクトに基づきビットマップデータを生成し、記憶部１０３のバッファに格納する。その際、濃度調整処理や、色変換処理、プリンタガンマ補正処理、ディザなどのハーフトーン処理等が行われる。本件の特徴であるダウンサンプリング及びアップサンプリングの処理もこのブロックで処理される。詳細は後述する。
【００２４】
記憶部１０３は、ＲＯＭ、ＲＡＭ、ハードディスク（以下、ＨＤ)などから構成される。ＲＯＭは、ＣＰＵ１０４が実行する各種の制御プログラムや画像処理プログラムを格納する。ＲＡＭは、ＣＰＵ１０４がデータや各種情報を格納する参照領域や作業領域として用いられる。また、ＲＡＭとＨＤは、上記のオブジェクトバッファなどにも用いられる。このＲＡＭとＨＤ上で画像データを蓄積し、ページのソートや、ソートされた複数ページにわたる原稿を蓄積し、複数部プリント出力を行う。画像出力部１０５は、記録紙などの記録媒体にカラー画像を形成して出力する。
【００２５】
＜本実施形態における装置概観＞
図２は本発明の実施形態における画像形成装置の例の概観図である。本装置は、以下の流れで印刷処理を行う。
【００２６】
画像読取部１０１において、原稿台ガラス２０３および原稿圧板２０２の間に画像を読み取る原稿２０４が置かれ、原稿２０４はランプ２０５の光に照射される。原稿２０４からの反射光は、ミラー２０６と２０７に導かれ、レンズ２０８によって３ラインセンサ２１０上において結像する。なお、レンズ２０８には赤外カットフィルタ２３１が設けられている。モータ（不図示）により、ミラー２０６とランプ２０５を含むミラーユニットを速度Ｖで、ミラー２０７を含むミラーユニットを速度Ｖ／２で矢印の方向に移動する。つまり、３ラインセンサ２１０の電気的走査方向（主走査方向）に対して垂直方向（副走査方向）にミラーユニットが移動し、原稿２０４の全面を走査する。
【００２７】
３ラインのＣＣＤからなる３ラインセンサ２１０は、入力される光情報を色分解して、フルカラー情報レッドＲ、グリーンＧおよびブルーＢの各色成分を読み取る。読み取られたＲＧＢ各色成分信号はＡ／Ｄ変換され、デジタル画像データ（以下、これを画像データあるいは画像信号と呼ぶ）として取り込まれ、信号処理部２０９へ送られる。なお、３ラインセンサ２１０を構成するＣＣＤはそれぞれのラインに５０００画素分の受光素子を有し、原稿台ガラス２０３に載置可能な原稿の最大サイズであるＡ３サイズの原稿の短手方向(２９７ｍｍ)を６００ｄｐｉの解像度で読み取ることができる。
【００２８】
標準白色板２１１は、３ラインセンサ２１０の各ＣＣＤ２１０−１、２１０−２、２１０−３によって読み取ったデータを補正するためのものである。標準白色板２１１は、可視光でほぼ均一の反射特性を示す白色である。画像処理部１０２は、３ラインセンサ２１０から入力される画像信号を電気的に処理して、マゼンタＭ、シアンＣ、イエローＹおよびブラックＫの各色成分信号を生成し、生成したＭＣＹＫの色成分信号を画像出力部１０５に送る。
【００２９】
画像出力部１０５において、画像読取部１０１から送られてくるＭ、Ｃ、ＹまたはＫの画像信号はレーザドライバ２１２へ送られる。レーザドライバ２１２は、入力される画像信号に応じて半導体レーザ素子２１３を変調駆動する。半導体レーザ素子２１３から出力されるレーザビームは、ポリゴンミラー２１４、ｆ−θレンズ２１５およびミラー２１６を介して感光ドラム２１７を走査し、感光ドラム２１７上に静電潜像を形成する。
【００３０】
現像器は、マゼンタ現像器２１９、シアン現像器２２０、イエロー現像器２２１およびブラック現像器２２２から構成される。四つの現像器が交互に感光ドラム２１７に接することで、感光ドラム２１７上に形成された静電潜像を対応する色のトナーで現像してトナー像を形成する。記録紙カセット２２５から供給される記録紙は、転写ドラム２２３に巻き付けられ、感光ドラム２１７上のトナー像が記録紙に転写される。
【００３１】
このようにしてＭ、Ｃ、ＹおよびＫの四色のトナー像が順次転写された記録紙は、定着ユニット２２６を通過することで、トナー像が定着された後、装置外へ排出される。
【００３２】
＜本発明における画像処理の全体フロー＞
次に図７を用いて、図１で説明した画像処理部１０２での画像処理全体のフローを詳細に説明する。まず、Ｓ７０１では、前述したＣＣＤを取込手段として取り込んだデータを一定の大きさの画像データのブロックに分割し、ダウンサンプリング処理を行う。ここでは、ダウンサンプリング処理は、主走査２画素×副走査２画素の単位で扱うこととし、画素を間引き低解像度化する。この処理は２×２画素の中から代表画素値１画素を求めそれを出力することで実現する。ここではとりあえず代表画素値として２×２画素の平均値を出力するものとする。
【００３３】
通常プリンタ画像処理としては、Ｓ７０２〜Ｓ７０６に示されるような画像に対する低解像度処理が必要とされている。なお、低解像度処理とは、本実施形態においてはダウンサンプリングされた画像データに対する処理であり、処理内容を示すものではない。これら画像処理群はラスタ画像に対して施される。そのため処理画素数はそのまま処理負荷に影響する。例えば縦横のサイズそれぞれが１２００ｄｐｉと６００ｄｐｉの画像処理を比べた場合、処理能力が一定ならば前者の処理の方が後者に比べ４倍処理時間が必要とされ、もしくは処理時間を一定とするならば４倍の処理能力が必要とされる。
【００３４】
しかしながら、前述したダウンサンプリング処理（Ｓ７０１）を、画像処理の先頭で行った場合には、続く画像処理（Ｓ７０９）への入力画素数が減っているため、処理時間や必要なメモリサイズも削減される。またそれらの画像処理も入力画像がダウンサンプリングされていることを特別意識することなく、処理を実行することが可能であり、既存の画像処理の流用が可能である。最後にアップサンプリング処理を行い（Ｓ７０７）、ハーフトーン処理（Ｓ７０８）を行うことで高解像度画像出力を低コストな画像処理で実現することが可能になる。
【００３５】
以下で具体的に図７のフローを説明する。Ｓ７０１で、画像処理部１０２は、サンプリングされた画像に対して、画像処理Ｓ７０９を施す。Ｓ７０９において、まず、画像処理部１０２は、画像データをメモリやハードディスクへ格納するために圧縮処理を行う（Ｓ７０２）。続いて、以降の処理を適用するため、対象となる圧縮されたデータをメモリやハードディスクから読み出し解凍処理して、ラスタ画像へ戻す処理を行う（Ｓ７０３）。その後、その画像データを出力の色空間にあわせるための色変換処理を行い（Ｓ７０４）、濃度の調整（Ｓ７０５）、出力ガンマ補正を行う（Ｓ７０６）。
【００３６】
次いで、画像処理部１０２は、画像処理が施されたダウンサンプリング画像をブロック毎にアップサンプリングする（Ｓ７０７）。この画像処理部１０２では、低解像度画像の１画素を受け、ダウンサンプリング処理をする前の解像度である画像２×２画素のブロックを出力することになる。画像処理部１０２は、復元された画像に対してハーフトーン処理を行い（Ｓ７０８）、画像出力動作に移行する。このアップサンプリング処理及び、ハーフトーン処理について詳細を説明する。本実施形態ではディザ法を使ったハーフトーン処理を行う場合を考える。ディザ法は階調値を１画素あたり多値で保持している画像データをそれより小さいビット数に落とす処理で、マクロ的に濃度を保存する手法である。図５にて前述した通り、ディザ閾値マトリクスと対象となる画像の画素値の大小比較し、その閾値より画素値が大きければ黒を出力し、閾値以下であれば白を出力することで二値化する。
【００３７】
アップサンプリング処理についての詳細を述べる。前述したアップサンプリング処理では、１画素のデータを受け取り、２×２の２ラインにまたがった画素データを出力する。図８のように入力が１×ｎ画素の低解像度画像データの場合、出力は２×２ｎ画素になる。このため出力用のメモリとして１×ｎ画素のラインメモリが必要になってしまう。これは副走査方向に幅を持つ画素データを後ろの処理モジュールに順序通りに（すなわち、ラスタ走査順に）渡すために必要となるメモリである。図中の数字はラスタ走査順に処理する場合の処理順序番号を示しており、低解像度画像データの画素「１」が入力されると、アップサンプリング処理にて「１，２，２ｎ＋１，２ｎ＋２」が出力されることになる。本実施形態ではガンマ補正処理が完了しているデータで、たとえばＣＭＹＫ各成分がそれぞれ、１０ｂｉｔの画像データを１ライン分格納するのに要するメモリ量に相当する。
【００３８】
このメモリ量を削減するため、本実施形態のアップサンプリング処理ではデータを順序通り送るためのラインメモリをなくし、画素データをアップサンプリングした順に、ハーフトーン処理部へ渡す。図９で示す通り、本来１画素を２×２の４画素へアップサンプリングした後、下側ラインに属する２画素をメモリへ蓄積するところを、疑似的に４×１画素のブロックとして扱い、ラインメモリを削除し、それらに対しディザ処理を行う。
【００３９】
しかしながら当然このままディザ処理を行い、プリントすれば画像としてはデータ並びに不整合が生じてしまう。そこで、ディザ処理部では本来２×２に配置される画素において、上側のラインの２画素と下側のラインの２画素が交互に１ラインに現れる配置に対応するよう、ディザ閾値マトリクスへのアクセスを行い二値化していく。上記の数字を用いるならば、画像データ９０１において、１、２の番号が付与されている画素データは、ディザ閾値マトリクスの上の行の２要素を閾値として用いる。また、画像データ９０１において、２ｎ＋１、２ｎ＋２の番号が付与されている画素データは、ディザ閾値マトリクスの下の行の２要素を閾値として用いる。そのディザ閾値マトリクスへのアクセスの様子は図１０のようになる。
【００４０】
図９で示すように、ディザ処理部へ画素データは、１、２、２ｎ＋１、２ｎ＋２、３、４・・・の順で入ってくる。そのためそこで使うディザ閾値マトリクスもその本来の座標で適用されるべき閾値になるようにジグザグにアクセスしていく。
【００４１】
図１０に図９の順で出力される画素に対するディザ閾値マトリクスのアクセスの様子を示す。この図１０ではディザの周期が１０×６画素の単位になっているもので、そのアクセスの順序はＺ字のような順序になる。
【００４２】
このようなアクセス順で二値化した後に、データの並び替えを行う。具体的には、二値化処理後の４×１画素のブロックのデータを２×２画素のブロックのデータに並び替えを行う。前述したように、アップサンプリング部で低解像度画素１画素から４画素の高解像度画素が出力され、その際のデータ順が１、２、２ｎ＋１、２ｎ＋２であった。よって、その順に沿って、１、２、の下のラインに２ｎ＋１、２ｎ＋２を配置することで並び替えを行う。
【００４３】
そして、並び替えを行ったデータをディザ処理部のラインメモリ９０３に格納する。ラインメモリ９０３には、並び替えを行った後のデータ９０２を全て格納してもよいし、データ９０２の１ライン目はプリント処理部に出力し、データ９０２の２ライン目のみを格納してもよい。
【００４４】
ディザ処理が終わった後なので、１画素あたりのビット数が少なくなっており、並び替えを行ったデータを格納するラインメモリ９０３の容量が小さくて済む。たとえば多値のデータが１０ビットの場合、二値化されたデータに対しラインメモリを確保しても、１／１０の容量で済むことになる。
【００４５】
このようにしてデータの並び替えを行い、プリント処理部へ画像データを渡し、プリント処理部ではそのデータをレーザドライバで受け付け、レーザ走査することで最終的な印刷物を得ることが可能になる。
【００４６】
図２４にて、アップサンプリング処理及びハーフトーン処理をフローチャートとしてまとめる。低解像度の画像データにおける各画素に対し、アップサンプリング処理を行う（Ｓ２４０１）。アップサンプリング処理後の画像データに含まれる、ハーフトーン処理対象の画素を注目画素とする（Ｓ２４０２）。ｐ×ｑのサイズ（図６の例を用いれば、１２×２０のサイズとなる）のディザマトリクスから、注目画素に対応する閾値を注目閾値として選択する（Ｓ２４０３）。注目画素に対し、注目閾値を用いてハーフトーン処理を行う（Ｓ２４０４）。ハーフトーン処理の結果をメモリに格納する（Ｓ２４０５）。アップサンプリング処理が完了した画素データにおいて、ハーフトーン処理が未適用である画素が存在すれば、Ｓ２４０２に戻り処理を繰り返す（Ｓ２４０６）。存在しなければ、Ｓ２４０７へ進む。アップサンプリングすべき低解像度処理済みの画像データが存在すれば、Ｓ２４０１に戻り、処理を繰り返す（Ｓ２４０７）。存在しなければ、終了する。
【００４７】
本実施形態では、画像データを高解像度にしても、色変換処理等の画像処理の際には、処理画素数を減らす、すなわち低解像度化している。よって、入力する画像が高解像度であっても、処理時間や処理リソースの増加を抑えることができる。その際、ディザ閾値マトリクスに対し、並び替えた後の座標を考慮したアクセスを行い、ブロック接合境界の不整合を防ぐことが可能にある。またデータ量が落ちた状態で並び替えることによりラインメモリを削除することも併せて可能になる。それによって、低コストに画像を出力することができる。
【００４８】
なお、今回はすべて２×２のブロック分割で説明を行ったが、本発明はそれに限定するものではない。当然ブロックサイズが大きくなればラインメモリのサイズも大きくなる点は言うまでもない。またディザ処理の出力ビット数を１ビットとして説明したが、入力多値のビット数より小さい出力であれば、それに限るものではない。またアップサンプリング処理とは通常の拡大処理も含めた処理画素数が副走査方向に増加する処理全般を指している。
【００４９】
以上のように、本実施形態では、アップサンプリングされた多値画像データをラインバッファに格納せず、直ちにディザ処理を施して量子化（本実施形態においては二値化）し、量子化された画像データを必要に応じてラインメモリに格納する。このためアップサンプリングのために要する容量の大きなラインメモリが不要となる。
【００５０】
＜第二の実施形態＞
以下、本発明における第二の実施形態に係る画像処理を説明する。本実施形態においては、ハーフトーン処理を行う際に、誤差拡散処理を行った場合を例として説明する。多値の画素データからなる画像を、マクロ的に階調性を保存しつつ二値の画像データへ変換する方法としては前述したディザ閾値マトリクスを用いた方法のほかに、誤差拡散法が知られている。
【００５１】
本実施形態でもダウンサンプリングされた低解像度画像に対して種々の画像処理を行い、アップサンプリングした後にハーフトーン処理を行う図７の工程は変わらないため、準用する。第一の実施形態との差分として、ハーフトーン処理においてディザ閾値マトリクスを用いた二値化ではなく、誤差拡散法を使った二値化を行う。ここでは、画像データの他に誤差データ及び、並べ替えのためのデータを扱う必要がある。
【００５２】
図１１、図１２を用いてその誤差拡散法の代表的な手法を例にとり説明を行う。今回は特許文献３等でも説明されているように、公知の誤差拡散法を例として用いる。今回説明に用いる誤差拡散の誤差拡散マスクは図１１に示す通り、注目画素（＊）を中心とした５×５画素群のうち、ハーフトーン処理が未処理部分の画素に対して誤差を分配する５×３の代表的な形状を取る。またこのマスクの中の数字は誤差の拡散重みを示しており、注目画素に近いほど重みが大きく、遠ざかるほど小さい重みになっている。図１１の重みは、互いの割合を表しており、重み付けのためには、マスク内の誤差の総和で除する必要がある。例えば、重み「７」の画素には、注目画素における量子化誤差の７／４８が拡散される。このマスクの場合、注目画素に対して主走査方向前方に２画素、後方２画素（ただし、処理が完了した画素は対象に含まれない）、副走査前方方向に２画素、計１２画素に対して誤差が伝搬され、それらの位置にある画素の処理結果に影響を及ぼす。
【００５３】
上述した図４同様、図１２はアップサンプリングされた後の画像の主走査幅を２ｎ画素とし、画像上左上を１番目の画素とした場合の主走査方向へのスキャン順序を示している。図１２において、例えば３番目の画素を注目画素とすると、二値化時の濃度誤差は、４、５、２ｎ＋１〜２ｎ＋５、４ｎ＋１〜４ｎ＋５番目の画素までの範囲に拡散されることとなる（図１３）。先に述べたように、アップサンプリング処理部が、アップサンプリングした順に画像データを送ってきた場合、注目画素への誤差の伝搬が終わりきらない内に注目画素は二値化されてしまう。このように二値化を行ってしまうと、マクロ的な濃度の保存ができず、２×２のブロック単位におけるブロック間境界に不自然なエッジができてしまい、それが視認できる場合が考えられる。
【００５４】
そこで、二値化を行う注目画素は誤差の拡散をすべて受けきるまでそのデータを保持する必要がある。図１２において、今度は６ｎ＋３の位置が注目画素とし、二値化する際を考える。するとその画素に対して誤差を伝搬させる可能性がある画素は２ｎ＋１〜２ｎ＋５、４ｎ＋１〜４ｎ＋５、６ｎ＋１、６ｎ＋２の１２画素であり、画素６ｎ＋３を二値化する場合にはこれらの二値化処理が終了している必要がある（図１４）。
【００５５】
しかしながらアップサンプリング処理部からの画像データは先頭から１、２、２ｎ＋１、２ｎ＋２、３、４、２ｎ＋３・・・といった順で流れており、ラスタ順に二値化処理を行うためには注目画素の上の２ラインのデータを保持する必要がある。具体的には、２ｎ＋１および２ｎ＋２の画素に対し、二値化処理をする場合、２ｎ＋１および２ｎ＋２の画素が入力されても、画素３、４の二値化は未処理であり、誤差が拡散されていない。そのため、この２画素（画素２ｎ＋１、２ｎ＋２）はメモリへ蓄積させ、画素３、４の二値化終了まで待機する。これにより二値化処理を保留する必要がある。その後画素３、４の二値化が済み、誤差が確定した時点で、メモリに蓄積していた画素２ｎ＋１および２ｎ＋２の二値化が可能になる。また同様に画素２ｎ＋３、２ｎ＋４は画素５、６の二値化が終了するまでは待たせる必要があるので、画素２ｎ＋１、２ｎ＋２が格納されていたメモリに上書きで蓄積させ、画素５、６の二値化を待つ。このような順序で誤差拡散の二値化を行うと１、２、３、４・・・と通常のスキャンを行った場合と等価な結果を得ることが可能になり、ブロック間境界が出ることもない。二値化誤差は、誤差拡散マスクにしたがって分配される。分配される誤差はラインメモリに蓄積保存され、アップサンプリングされた対応画素に拡散される。
【００５６】
図１５に本実施形態での誤差拡散の画像の処理順を記述した。このようにジグザグにスキャンしていくことで、ラインメモリを要することなく誤差拡散を行うことが可能になる。つまり図１６で示した入力の画素順に対する出力の画素順は、図１７に示した順序となる。本実施形態においては、このように入力に対して２画素分のスワップが発生することになる。上記処理の後、第一の実施形態で説明したように、この二値化されたデータに対して、ラインメモリを追加で持たせ並び替えを行うことで、最終的な出力を得ることが可能になる。
【００５７】
結果として、誤差拡散法とアップサンプリングを同時に行った場合、画像データ分を除いた必要メモリサイズは、１ラインの画素数をｍとし、誤差データを８ビットとした場合、次のようなサイズになる。すなわち、注目画素が影響を与える範囲である注目画素直下２ライン分の誤差メモリ８×２ｍビットと、並び替えで必要となる注目画素直下１ライン分の二値化メモリｍビットとの合計で１７ｍビットとなる。このとき、注目画素から主走査線方向２画素分のデータを保持する必要があるが、ｍが非常に大きい場合は無視できる値であるため、ここでは無視している。以上により、処理に必要なラインメモリ及び、誤差メモリの増加を最小限に抑えるとともに、最終的な出力画像の画質を保持したまま出力することが可能になる。
【００５８】
＜第三の実施形態＞
以下、本発明における第三の実施形態に係る画像処理を説明する。本実施形態においては、ハーフトーン処理を行う際に、周辺の平均濃度を保持しつつ二値化を行っていく平均濃度保存法を行った場合を例として説明する。本実施形態でもダウンサンプリングされた低解像度画像に対して種々の画像処理を行い、アップサンプリングした後にハーフトーン処理を行う図７の工程は変わらないため、準用する。第一の実施形態及び第二の実施形態との差分として、ハーフトーン処理において平均濃度保存法を使った二値化を行う。ここでは、画像データの他に誤差データ及び、平均濃度算出のためのデータを扱う必要がある。
【００５９】
図１８〜２１を用いてその平均濃度保存法の代表的な手法を例にとり説明を行う。今回用いる平均濃度保存法では、注目画素の周辺における、注目画素以前に二値化されている画素に対して図１８のようなマスクをかける。マスクにより与えられる閾値に対して、注目画素の画素値の大小比較を行い、二値化していく。またそのとき発生した誤差を隣接１画素へ分配していく（図１９）。
【００６０】
平均濃度保存法が前述の誤差拡散法と比較して有利な点は、誤差拡散処理では誤差メモリとして多値２ラインなのに対し、平均濃度保存法では二値２ライン＋多値１ラインで済む。これは注目画素を処理する際に必要になるデータがすでに蓄積してある二値化済みのデータである点である。誤差拡散法では拡散させる誤差データを２ライン先まで拡散させるため、２ライン分多値データとして蓄積しておく必要がある。これに対し、平均濃度保存法では蓄積データは閾値を算出するための二値化済みデータなので、同じ２ラインでもそのメモリ容量が小さく済む。また二値化により求まる誤差データの分配は閾値が画素ごとに動的に求まるため遠い画素まで拡散させる必要はなく、せいぜい隣接２画素で十分であることも有利な点である。
【００６１】
図１２において、６ｎ＋３の画素に注目する。この画素を二値化する場合、マスクがかかる位置は、画素２ｎ＋１〜２ｎ＋５、４ｎ＋１〜４ｎ＋５、６ｎ＋１、６ｎ＋２の１２画素になる（図２０）。また、二値化により、誤差分配が終了している必要がある画素は、画素４ｎ＋３、６ｎ＋２である（図２１）。つまり画素６ｎ＋３を二値化する場合、上記の画素の二値化処理が終了している必要がある。しかしながらアップサンプリング処理部からの画像データは先頭から画素１、２、２ｎ＋１、２ｎ＋２、３、４、２ｎ＋３・・・といった順で流れており、順序通りに処理を行うためにはデータを保持する必要がある。具体的には、画素２ｎ＋１および２ｎ＋２の画素が入力されても、画素３、４の二値化が済むまでは処理が開始できないので、メモリを用いて待たせ、画素３、４の処理が終了した時点で処理が可能になる。第二の実施形態と同様に処理順を考えると、誤差拡散時と同様に図１５の流れとなる。
【００６２】
さらに平均濃度保存法を用いる場合、二値化済みの画素データを２ライン分メモリで持たせている。そのため、第二の実施形態で説明した誤差拡散法を用いた場合には追加で必要となっていた並び替えのためのメモリ領域は不要であり、画素を順序通り出力することが可能である。
【００６３】
結果として、平均濃度保存法とアップサンプリングを同時に行った場合、画像データ分を除いた必要メモリサイズは、１ラインの画素数をｍとし、また誤差データを８ビットとした場合、次のようなサイズとなる。すなわち、注目画素が影響を与える範囲である注目画素直下１ライン分の誤差メモリ８ｍビットと、平均濃度算出のための範囲である注目画素真上２ライン分のラインメモリ２ｍビットとの合計で１０ｍビットとなる。
【００６４】
以上により、処理に必要なラインメモリ及び、誤差メモリの増加を最小限に抑えるとともに、最終的な出力画像の画質を保持したまま出力することが可能になる。
【００６５】
＜第四の実施形態＞
以下、本発明の第四の実施形態に係る画像処理を説明する。本実施形態においては、アップサンプリングではなく、ブロック単位に分割可能な圧縮画像の展開を例にとって説明する。ＪＰＥＧに代表される画像圧縮および展開手段は副走査方向に幅を持ったブロック単位で処理されることが多くＪＰＥＧでは８×８画素のブロックが用いられることが多い。その圧縮画像データを展開、復号する際にもアップサンプリング同様副走査方向の並び替え処理が必要になる。
【００６６】
＜圧縮画像のブロック単位における画像処理方式＞
図２２は圧縮画像の展開手法に関する全体処理のフローを示している。図７において説明した実施形態と同様に、取り込んで、展開した画像データに対して、ブロック単位毎に色変換処理、濃度調整処理、ガンマ補正処理等の画像処理を施したのち、ハーフトーン処理を行い画像のビット数を間引きする。その後プリント処理部でデータを渡す。このため通常は図２３で示すとおり、復号後の画像データに対し、７ラインメモリを用いて、整列を行った後にこれら画像処理を行い、プリンタ部へ順序通りデータを出力することになる。
【００６７】
図２３は主走査方向ｎ画素（ｎは８の倍数）とし、画素中の数字は復号後の画像データの並び順を示している。ＪＰＥＧ復号処理であれば最初の1符号（ＭＣＵ）データが入力されるとそれの出力に相当するのは８×８画素のブロックになる。最初の１符号が入力された場合、図２３では、画素１〜８、ｎ＋１〜ｎ＋８、…７ｎ＋１〜７ｎ＋８の６４画素のデータが出力される。このような順序で復号されるデータを１〜ｎと主走査順に順序通り出力するためには、図示しているような７ラインメモリが必要になる。しかし、これまでの実施形態で述べたように、ハーフトーン画像のビット数を落とす処理が含まれているのであれば、そのデータの整列をビット削減後に行うことで大幅にメモリ削減が測れることは言うまでもない。その時も前述したディザ閾値マトリクスのアクセスや誤差拡散法、平均濃度保存法を用いて順序通りに行うことは可能である。
【００６８】
これにより、出力画像に対しブロック境界を意識することなく画質を維持した画像出力を得ることが可能になる。
【００６９】
＜備考＞
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００７０】
また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出された実行可能なプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【００７１】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００７２】
また、発明の実施の形態は、本発明を中核として構成される装置又は方法を説明している。このため本実施形態には本発明の本質的部分を加えて付加的な構成要件も記載されている。すなわち発明の実施の形態において説明した装置又は方法の構成要件を備えることは、本発明を成立させるための十分条件ではあるものの、必要条件ではない。 
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態における画像形成装置の概略構成例を示すブロック図である。
【図２】本発明の実施形態における画像形成装置の概観図である。
【図３】画像走査の流れを示す概念図である。
【図４】従来のダウンサンプリングとアップサンプリングに関する処理の流れを示すブロック図である。
【図５】ディザ法による処理を説明するための例図である。
【図６】ブロック処理によるディザ法を説明するための例図である。
【図７】本発明の実施形態における画像形成装置の処理フローを示すフロー図である。
【図８】通常の処理順序によるラインメモリの必要位置及び容量を示す図である。
【図９】本発明の実施形態における処理順序によるラインメモリの必要位置及び容量を示す図である。
【図１０】画像走査の順の一例を示す概念図である。
【図１１】本発明の第二の実施形態における誤差拡散処理の誤差分配の重みの例を示す図である。
【図１２】本発明の第二の実施形態における高解像度画像の画素構成を示す図である。
【図１３】本発明の第二の実施形態における誤差拡散処理の誤差分配の様子を示す図である。
【図１４】本発明の第二の実施形態における誤差拡散処理の誤差の影響範囲を示す図である。
【図１５】本発明の第二の実施形態における画像走査の順の一例を示す概念図である。
【図１６】本発明の第二の実施形態における誤差拡散処理への画像入力の順を示す図である。
【図１７】本発明の第二の実施形態における誤差拡散処理への画像出力の順を示す図である。
【図１８】本発明の第三の実施形態における平均濃度算出時の重みの例を示す図である。
【図１９】本発明の第三の実施形態における平均濃度保存法の誤差分配の様子を示す図である。
【図２０】本発明の第三の実施形態における平均濃度算出時の影響範囲を示す図である。
【図２１】本発明の第三の実施形態における平均濃度保存法の誤差の影響範囲を示す図である。
【図２２】本発明の第四の実施形態における画像形成装置の処理フローを示すフロー図である。
【図２３】本発明の第四の実施形態における整列のためのラインメモリの必要量示す図である。
【図２４】本発明の第一の実施形態におけるアップサンプリング処理及びハーフトーン処理に関するフローチャートである。
【符号の説明】
【００７４】
１０１    画像読取部
１０２    画像処理部
１０３    記憶部
１０４    ＣＰＵ
１０５    画像出力部
【図１】
2010171552.tif 000003
【図２】
2010171552.tif 000004
【図３】
2010171552.tif 000005
【図４】
2010171552.tif 000006
【図５】
2010171552.tif 000007
【図６】
2010171552.tif 000008
【図７】
2010171552.tif 000009
【図８】
2010171552.tif 000010
【図９】
2010171552.tif 000011
【図１０】
2010171552.tif 000012
【図１１】
2010171552.tif 000013
【図１２】
2010171552.tif 000014
【図１３】
2010171552.tif 000015
【図１４】
2010171552.tif 000016
【図１５】
2010171552.tif 000017
【図１６】
2010171552.tif 000018
【図１７】
2010171552.tif 000019
【図１８】
2010171552.tif 000020
【図１９】
2010171552.tif 000021
【図２０】
2010171552.tif 000022
【図２１】
2010171552.tif 000023
【図２２】
2010171552.tif 000024
【図２３】
2010171552.tif 000025
【図２４】
2010171552.tif 000026