(57)【特許請求の範囲】
【請求項１】
原稿の表面と裏面を同時に読み取る手段と、前記読み取った画像データを所定サイズの画像データ（以下、ブロック）毎に、表面のブロックと裏面のブロックを格納する格納手段と、
前記格納された前記表面のブロックと前記裏面のブロックを交互に処理対象とし、前記格納手段から読み出した処理対象面の各々の前記ブロックに含まれる第１のブロックと第２のブロックに対して所定の処理を実行する画像処理手段と、
前記画像処理手段が前記第１のブロックを処理するとき、前記第１のブロックの最後の所定サイズの画像データ（以下、境界データ）を前記格納手段に保持し、前記画像処理手段が前記第２のブロックの処理を実行する前に、前記境界データを前記格納手段から読み出す制御手段
を備えたことを特徴とする画像形成装置。
【請求項２】
前記画像処理手段は、
前記読み取った画像データを標準のＲＧＢ画像データへ変換する第１の画像処理手段と、
前記標準のＲＧＢ画像データを画像形成手段の出力データへ変換する第２の画像処理手段
を含むことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記第２の画像処理手段は、誤差拡散処理により中間調処理を実行し、表面用と裏面用の誤差メモリを備えていることを特徴とする請求項２記載の画像形成装置。
【請求項４】
前記第１、第２の画像処理手段は、表面、裏面毎に設定された所定のパラメータを前記各処理対象面の処理に応じて切り替えることを特徴とする請求項２記載の画像形成装置。
【請求項５】
前記読み取る手段は、表面用のセンサと裏面用のセンサが異なる位置に配置されていることを特徴とする請求項１記載の画像形成装置。
【請求項６】
原稿の表面と裏面を同時に読み取る工程と、
前記読み取った画像データを所定サイズの画像データ（以下、ブロック）毎に、表面のブロックと裏面のブロックを格納する格納工程と、
前記格納された前記表面のブロックと前記裏面のブロックを交互に処理対象とし、前記格納手段から読み出した処理対象面の各々の前記ブロックに含まれる第１のブロックと第２のブロックに対して所定の処理を実行する画像処理工程と、
前記画像処理工程が前記第１のブロックを処理するとき、前記第１のブロックの最後の所定サイズの画像データ（以下、境界データ）を前記格納工程に保持し、前記画像処理工程が第２のブロックの処理を実行する前に、前記境界データを前記格納工程から読み出す制御工程
を備えたことを特徴とする画像形成方法。
【請求項７】
請求項６記載の画像形成方法をコンピュータに実現させるためのプログラム。
【請求項８】
請求項６記載の画像形成方法をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ容量を削減した画像形成装置、画像形成方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
コピー機などのスキャン動作において、原稿の両面を読み取る際に、表面を読み取り、反転させた後、裏面を読み取るという方法では、機器の構造が複雑になり、また反転に要する時間がかかり、スループットが下がる。そこで、イメージセンサを２系統備えることで、１回の原稿の通紙で表面と裏面の両面を読み取り、小型化や高速化を行う技術がある。また、両面を同時に読み取る時のメモリ容量を抑えるために、スキャナから読み取った両面画像のうち、片面を画像処理ブロックに渡し、片面を圧縮して保存する技術もある（特許文献１を参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、上記した両面を同時に読み取る方法は、高機能・高性能なコピー機に搭載することを前提にしているため、少なくとも片面分の画像をメモリやハードディスクなどに一時保存する必要があり、画像の一次保存に要するコストが増加するという問題があった。
【０００４】
本発明は、上記した課題に鑑みてなされたもので、
本発明の目的は、コピー時に原稿の表面と裏面を同時に読み取るときに要するメモリ容量を削減した画像形成装置、画像形成方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、原稿の表面と裏面を同時に読み取る手段と、前記読み取った画像データを所定サイズの画像データ（以下、ブロック）毎に、表面のブロックと裏面のブロックを格納する格納手段と、前記格納された前記表面のブロックと前記裏面のブロックを交互に処理対象とし、前記格納手段から読み出した処理対象面の各々の前記ブロックに含まれる第１のブロックと第２のブロックに対して所定の処理を実行する画像処理手段と、前記画像処理手段が前記第１のブロックを処理するとき、前記第１のブロックの最後の所定サイズの画像データ（以下、境界データ）を前記格納手段に保持し、前記画像処理手段が第２のブロックの処理を実行する前に、前記境界データを前記格納手段から読み出す制御手段を備えたことを最も主要な特徴とする。
【発明の効果】
【０００６】
本発明によれば、一定サイズの画像データ毎に表面と裏面を交互に画像処理しているので、１系統の画像処理部により両面の画像処理を実現できる。また、フィルタ処理、変倍処理、中間調処理（誤差拡散処理）など、複数ラインの画像データを用いて処理する場合には、境界の処理に必要な最低限の画像データのみを保持しているので、１面全体の画像を保持する必要がなく、メモリ容量を削減することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の画像形成装置全体の構成を示す。
【図２】スキャナユニットを示す。
【図３】コントローラボード内部の構成を示す。
【図４】誤差拡散処理の構成を示す。
【図５】本発明のスキャナ画像入力部、スキャナ画像処理部、プリンタ画像処理部の構成を示す。
【図６】本発明の誤差拡散処理部の構成を示す。
【図７】本発明の処理フローチャートを示す。
【図８】入力画像蓄積用メモリの削減処理のタイミングチャートを示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態について図面により詳細に説明する。
【実施例１】
【０００９】
図１は、本発明の画像形成装置全体の構成を示す。画像形成装置は、スキャナユニット１０２、コントローラボード１０３、プロッタユニット１０４、操作部１０５から構成され、ＰＣなどのホスト１０１に接続されている。
【００１０】
スキャナユニット１０２は、原稿を読み込んで、電気信号に変換し、コントローラボード１０３へ送信する。ここでは、自動原稿送り装置（ＡＤＦ）を備え、複数枚の原稿を自動で読み取る機能がある場合を例とする。また、ここではＣＣＤ方式、ＣＩＳ（コンタクト・イメージ・センサ）方式の何れでも対応可能である。
【００１１】
プロッタユニット１０４は、スキャナ１０２で読み取った画像やホスト１０１等から入力した画像データをＣＭＹＫ（＋α）データに変換したものを用紙に印刷するユニットであり、ここではインクジェット方式、電子写真方式の何れでも対応可能である。
【００１２】
操作部１０５は、コピーやスキャナ、ＦＡＸ送信などのジョブを実行し、スキャナで読み込んだ画像を表示し、また、各種設定やエラー表示にも用いる。
【００１３】
コントローラボード１０３は、コピー処理、プリント処理などの制御を行うユニットであり、コピー処理ではスキャナユニット１０２より入力されたＲＧＢ多値画像をプロッタユニット１０４で印刷可能なフォーマットに変換する。その際に、ページ順序を入れ替え、画像を蓄積し、画像を編集するなど付加的な機能を実行する。
【００１４】
図２は、スキャナユニットを示す（ここでは例えば、特開２００６−１３８２２号公報に記載のスキャナユニットを用いる）。原稿送り装置１０にセットされた原稿を、１枚ずつ搬送路１２〜搬送路１３を経由して、排出トレイ１４に送りつつ、ＣＩＳ１５とＣＣＤイメージセンサ２３により両面の画像を同時に読み取る。本実施例では、原稿の表面をＣＣＤ２３で読み取り、裏面をＣＩＳ１５で読み取る構成を採っているが、両面ともＣＣＤ２３または両面ともＣＩＳ１５の構成でもよい。
【００１５】
両面いずれの画像信号も、処理装置２４（図１のコントローラボード内）に送信され、コピー用／スキャナ用／ＦＡＸ用など、各処理に合わせた画像処理が施される。なお、図２において、１１は原稿トレイ、２０はスキャナ装置、２１はプラテンガラス、２２は照明ランプである。
【００１６】
図３（ａ）は、コントローラボード内部の構成を示す。スキャナエンジン制御部２０１は、紙送り装置のセンサの監視・モータの制御や、イメージセンサの制御などを行う。スキャナ画像入力部２０２は、スキャナユニット１０２より入力されたＲＧＢ多値データを取り込む。アナログデータで受信した場合は、デジタルに変換し、また、素子間のばらつき補正や、素子の物理的な位置の違いに対する補正を実施する。
【００１７】
スキャナ画像処理部２０３は、スキャナ特性を打ち消すような処理を施し、標準ＲＧＢの多値（８ビットなど）データに変換する。プリンタ画像処理部２０５は、印刷言語（ＰＤＬ）を標準ＲＧＢの多値（８ビットなど）データに変換する。プリンタ画像処理部２０６は、標準ＲＧＢの多値データをプリンタから出力可能なデータ形式（ＣＭＹＫ２ビットデータなど）に変換する。
【００１８】
プリンタ画像出力部２０８は、プロッタユニット１０４の仕様に合わせた順序・タイミングで画像データをプロッタユニット１０４に送信する手段である。プリンタエンジン制御部２０７は、プロッタユニット１０４のセンサの監視・モータの制御などを行う。
【００１９】
ホストＩ／Ｆ２０４は、ＰＣ１０１などから印刷ジョブのデータを受信し、メモリへ格納し、ＣＰＵ２１０は、ジョブを管理し、全ての構成要素の動作を制御し、操作部Ｉ／Ｆ２０９は、ユーザーからの要求を受け付け、また機器の状態等をユーザーに通知するための表示を行う。
【００２０】
図３（ｂ）は、スキャナ画像入力部の構成を示す。シェーディング補正部３０１は、受光素子ごとの特性のばらつきを補正する。受光素子のそれぞれに対して補正の係数を保持しておき、各画素の入力データに対して補正係数を掛け合わせることで処理を実現する。ライン間ギャップ調整部３０２は、色毎に受光素子の物理的位置が異なるため、同一画素であってもデータを入力するタイミングが色ごとに異なる。そのタイミングのずれを補正して、以降の画像処理において同一画素のデータを同一のタイミングで参照できるようにする。画像データを一旦バッファして、遅延させることで実現する。
【００２１】
図３（ｃ）は、スキャナ画像処理部の構成を示す。スキャナγ部４０１は、一般に受光素子は光量に対して出力値がリニアな特性とならないため、その歪みを補正する。テーブルを参照して、各入力値に対する出力値を一意に決定する。
【００２２】
デジタルフィルタ４０２は、受光素子の特性により画像がぼやけることを補正する。また、文字モードではシャープにするなど、ユーザー設定に合わせて画像の特性を変える。周辺の画素を参照（５×５画素分、７×７画素分など）して、変化量を強調するような補正をかけ、エッジを強調したり、逆に変化量を緩やかにする補正をかけ、エッジをぼかしたりする。
【００２３】
下地除去部４０３は、新聞紙等、文字や絵がない部分であっても色が付いているような原稿を読み込んだ場合、下地を除去して白くすることで視認しやすくする。主副変倍部４０４は、ユーザー指定の倍率で画像を変倍したり、解像度を切り替えたりする。単純に同一画素を繰り返して実現する単純拡大、一定の割合で画素を間引く単純縮小や、周辺画素を参照しながら、滑らかに画像が描画されるようにする変倍がある。
【００２４】
図３（ｄ）は、プリンタ画像処理部２の構成を示す。色変換部５０１は、ＲＧＢ多値画像をＣＭＹＫの多値画像に変換する。以下のような変換手段がある。
・単純に減算（Ｃ＝２５５−Ｒ、…）で求めた上で、Ｋを生成する。
・ＲＧＢデータに重みをつけて計算（Ｃ＝Ｒ×重み係数＋Ｇ×重み係数＋Ｂ×重み係数＋定数、…）。
・３次元のテーブルを参照する（Ｃ＝テーブル［Ｒ］［Ｇ］［Ｂ］）。
【００２５】
プリンタγ部５０２は、プロッタ１０４から出力する濃度は、入力データに対してリニアな特性とならないため、その歪みを補正する。テーブルを参照して、各入力値に対する出力値を一意に決定する。
【００２６】
中間調処理部５０３は、ＣＭＹＫ多値データを、プロッタ１０４から出力可能な少値（２値、４値など）に変換する。ディザ処理や誤差拡散処理などの処理を施して、原稿データの階調性が失われないように少値化する。
【００２７】
図４は、中間調処理の一種である誤差拡散処理の構成を示す。入力データに対して、周辺の画素で発生した誤差を加算器６０１で加算した後、量子化部６０２で量子化処理を行う。量子化部６０２においては、出力階調数−１だけの数の閾値を持ち、閾値と加算後のデータとの大小比較により出力データを決定する。
【００２８】
逆量子化部６０３では、量子化後のデータを、再度、量子化前（１０ｂｉｔ）に戻す変換を行う。量子化前の値と、逆量子化後の値がそのドットで発生した誤差６０４として検出され、この誤差分をまだ処理していない周辺の画素に拡散する。格納された誤差情報を周辺の複数の画素に対して分散して拡散させる場合、画素ごとに重みを付けるために、重み付け部６０５が必要となる。周辺画素へ拡散させるために、発生誤差をラインバッファ６０６に格納する。
【００２９】
ここで、誤差を次のラインの画素に拡散させるためには、１ライン分のラインバッファを備える必要があり、バッファの入出力ビット数が大きくなると、それに伴いラインバッファの容量が大きくなる。このように、誤差拡散処理を実行する際には、前ラインで発生した誤差を次のラインに伝播させるために保持しておく必要がある。
【００３０】
図５（ａ）は、本発明のスキャナ画像入力部の構成を示す。本発明では、表面、裏面の２系統のスキャナ入力画像を一旦メモリに格納する。図５（ａ）では、シェーディング補正を実施する２系統（表面、裏面）のシェーディング補正部７０１、７０２を備え、シェーディング補正後のデータをメモリ７０４に蓄え、その後の処理を１系統の画像処理部（スキャナ画像処理部、プリンタ画像処理部２）により処理する。
【００３１】
シェーディング補正を２系統（表面、裏面）備えている理由としては、以下の２点が挙げられる。すなわち、
（１）本実施例では、シェーディング補正前のデータ形式が１０ビット、シェーディング補正後が８ビットであるため、シェーディング補正後の方がメモリ容量、メモリ帯域が小さく抑えられること、
（２）シェーディング補正は、ピクセル毎に補正係数が必要であり、１系統で処理するためには、切り替えの度に多大な補正用パラメータの切り替えが発生し、ＣＰＵ負荷の増大や処理速度の低下が予想されるためである。
ただし、メモリに格納するデータは、シェーディング補正前や、より後段の処理後でもよい。また、本実施例では、図３（ｂ）の従来の構成に比べて、ライン間ギャップ調整部３０２が省略されているが、これは、データを一旦メモリに格納するため、メモリコントローラ７０３が、メモリ７０４へのデータ書き込み開始アドレスと、データ読み出し開始アドレスを異なる値にするによりギャップ調整しているためである。
【００３２】
図５（ｂ）は、本発明のスキャナ画像処理部の構成を示す。メモリ７０４から画像データを読み出す点を除いて、スキャナ画像処理部２０３は図３（ｃ）と同様である。
【００３３】
メモリ７０４に蓄えられたシェーディング補正後のスキャナ画像は、一定のサイズの画像データ（例えば、１２８ライン：ブロック）毎に、メモリ７０４から読み出され、スキャナ画像処理部２０３により表面と裏面の画像が交互に処理される。処理を終えて不要となった画像は破棄し、新しい入力データを上書きすることで、必要なメモリ容量を抑えることができる。このとき、１ドット分の出力を得るのに複数ライン分の入力データを必要とする処理（デジタルフィルタ処理４０２、副走査変倍４０４など）を処理するためには、前ブロックの最後の数ライン分のメモリデータを破棄せずにメモリ７０４に残しておき、ブロック境界の処理時にそれを参照することで、従来技術と同等の処理を実現でき、画質の劣化を生じさせない。
【００３４】
図５（ｃ）は、プリンタ画像処理部２０６の構成を示す。プリンタ画像処理部２０６の構成は、従来の図３（ｄ）と同様であるが、中間調処理を終えた画像をメモリ７０４に格納する際に、メモリコントローラ７０３は、メモリライト開始アドレスを制御して、表面同士・裏面同士の画像が一連の画像となるようにメモリ７０４に格納する。
【００３５】
図６は、本発明の誤差拡散処理部の構成を示す。誤差拡散処理においては、前述の通り、１ライン前に発生した誤差を現在の画素に加算する処理を行う。本発明では、用紙の表面と裏面の２系統の画像を交互に処理するため、誤差用のラインバッファも２系統に対応する必要がある。本実施例では、ラインバッファ８０１、８０２として２系統備え、系統ごとに１ライン前の誤差データを格納し、誤差を正しく伝播させることが可能となる。なお、８０３、８０４は選択部である。
【００３６】
図７は、本発明の処理フローチャートを示す。図７の処理は、図１のコントローラボード１０３内のＣＰＵ２１０によって実行される。図７の処理フローチャートにおいては、１２８ラインの入力データを１ブロックとして表面と裏面を交互に処理するものとする。また、デジタルフィルタと副走査変倍を処理するために、ブロックの境界において、７ライン分を重複させて処理する必要があるものとする。
【００３７】
すなわち、表面の第１ブロックのデータ（１２８ライン）がメモリから画像処理部（例えば、スキャナ画像処理部２０３）に転送され処理されるとき、表面の第１ブロックの最後の７ライン分をメモリに格納しておき、表面の第２ブロック（１２８ライン）を処理する前に、表面の第１ブロックの最後の７ライン分を画像処理部（スキャナ画像処理部２０３）に転送し、表面の第２ブロックの画像データを処理するとき、第１、第２ブロックの境界である、表面の第１ブロックの最後の７ラインを参照して、例えばフィルタ処理などの画像処理が実施される。
【００３８】
スキャン動作が開始すると、最初のブロックが表ブロックであるとき（ステップ９０１でＹｅｓ）、表面の１２８ライン分のデータがメモリ７０４（表面のメモリ）に蓄積するまで待機する（ステップ９０４）。１２８ライン分の入力データが蓄積できると、１２８ライン分のデータ処理を行う（ステップ９０５）。例えば、メモリ７０４（表面のメモリ）からの１２８ライン分の表面データに対して、スキャナ画像処理部２０３がデータ処理を行う。１２８ライン分の入力データの処理が完了すると、最初のブロックの最後の７ライン分のデータ以外は不要となるため、１２１ライン分の表面のメモリを開放し、次のブロックのデータの格納を可能とする（ステップ９０６）。同様に、裏面の１ブロック目の処理を行う（ステップ９０７）。
【００３９】
２ブロック目以降は（ステップ９０１でＮｏ）、ライン境界でデータが不連続とならないように、前ブロックの最終７ライン分のデータを表面のメモリから読み出し（ステップ９０２）、入力を終えた前ブロックの最終７ライン分の表面のメモリ領域を開放させる（ステップ９０３）。その後、１２８ライン分の画像データが蓄積されるのを待ち（ステップ９０４）、第１ブロックと同様の処理を行う。この第２ブロックの処理では、ステップ９０２で読み出された、前ブロックの最終７ライン分のデータを参照して処理する（ステップ９０５、９０６）。裏面も同様に処理し（ステップ９０７〜９１２）、最終ブロックが完了したら処理を終了する（ステップ９１３）。
【００４０】
表面と裏面で、画像処理のパラメータ（フィルタタイプ／色変換テーブル／中間調処理パターンなど）が異なる場合は、表面と裏面の切り替えの段階でパラメータ（例えば、フィルタ係数）を書き換える処理が必要となる。そこで、表面、裏面毎に異なるパラメータを設定しておき、表面、裏面用のパラメータを自動で切り替えるように、パラメータ切り替えをハードウェア化することで高速化を実現する。これにより、切り替え時のパラメータ設定に要するタイムラグを小さく抑えられる。
【００４１】
図８は、入力画像蓄積用のメモリをさらに削減する処理のタイミングチャートである。
【００４２】
図２において、表面読み込み用のセンサ２３と裏面読み込み用のセンサ１５を物理的に６４ライン分（もしくは、６４＋１２８×Ｎ（Ｎは整数））だけずれた位置に設置するものとする。また、データ入力の速度に対して、画像処理速度は２倍であるとする。
【００４３】
この場合、有効な画像が入力されるまで、６４ライン分の遅延が発生するため、表面の１２８ライン分の処理が完了すると同時に、裏面処理が開始可能となるタイミングとなり、表面・裏面ともに２５６ライン分のメモリで動作が可能となる（ライン境界での重複使用データを考慮しない場合）。なお、表面と裏面のセンサの位置が同じ位置にある場合には、裏面用のメモリが２５６ライン分必要となるため、図８の処理では、６４ライン分のメモリが削減でき、画像蓄積用のメモリが小さく抑えられる。このように、両面同時読み取り時の、画像蓄積用のメモリを削減することができる。
【００４４】
本発明は、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施例の機能を実現することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、不揮発性のメモリカード、ＲＯＭなどを用いることができる。また、コンピュータが読出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。また、本発明の実施例の機能等を実現するためのプログラムは、ネットワークを介した通信によってサーバから提供されるものでも良い。
【符号の説明】
【００４５】
１０１  ホスト
１０２  スキャナユニット
１０３  コントローラボード
１０４  プロッタユニット
１０５  操作部
２０１  スキャナエンジン制御部
２０２  スキャナ画像入力部
２０３  スキャナ画像処理部
２０４  ホストＩ／Ｆ
２０５、２０６  プリンタ画像処理部
２０７  プリンタエンジン制御部
２０８  プリンタ画像出力部
２０９  操作部Ｉ／Ｆ
２１０  ＣＰＵ
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００３−２５９０５２号公報
【図１】
0005742320.tif 000002
【図２】
0005742320.tif 000003
【図３】
0005742320.tif 000004
【図４】
0005742320.tif 000005
【図５】
0005742320.tif 000006
【図６】
0005742320.tif 000007
【図７】
0005742320.tif 000008
【図８】
0005742320.tif 000009