(57)【特許請求の範囲】
【請求項１】
１主走査ラインを複数のブロックに分割して、各ブロック毎に並列に入力された画像データを同時に処理する複数の並列処理ブロックを備え、
前記複数の並列処理ブロックは夫々に、
受け取った画像データをそのデータビット数より少ないビット数の画像データに変換する再量子化手段と、
再量子化手段が再量子化した際に発生した誤差を算出する演算手段と、
誤差データを一時的に保持する記憶手段と、
所定マトリクスを参照して処理対象となる画像データの周辺誤差データを算出し、記憶手段によって記憶された誤差データに誤差補正を加える演算手段と、
前記分割されたブロック間の境界に位置する処理対象となる画像データの誤差データを算出するための演算情報を前記並列処理ブロック間で受け渡しする手段を備えたことを特徴とする多値誤差拡散による画像処理装置。
【請求項２】
請求項１記載において、誤差拡散処理に際し、前記分割されたブロック間の境界の画像データ処理時における並列処理ブロック間でのデータ受け渡しにフリップフロップを利用することを特徴とする画像処理装置。
【請求項３】
請求項１記載において、誤差拡散処理の後に位相処理を行うことを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複写機、プリンタ、ファクシミリなどの画像形成装置、あるいは制御信号を受けて入力データを処理する画像表示装置、及び画像出力装置における画像処理装置に関する。
【０００２】
【従来の技術】
画像処理装置においては、近年の処理能力向上と、複写機のコピースピードの増加に伴い、処理の基準時間となるクロックスピードの増加が激しくなってきている。また、それに伴って、画像処理における画像データフォーマットや画像データの同期信号と画像データの関係を改良して、画像データの量子化数を今までより減らして複数画素を束ねて（パッキングして）処理することで一度に複数画素分の処理を実行させたり、また、並列に複数の画像ラインを処理させたり、また、１ラインを複数に分割して平行処理することにより、画像処理速度を向上させることが行われつつある。
【０００３】
【発明が解決しようとする課題】
特開平１０−１３６２６号公報は、以上のことを鑑みてデータの処理速度を高速化するために、高周波数で処理する方法とは別に、一度に複数のラインについて並列処理を行うことにより画像処理の高速化を図っているが、それでは、並列処理を行う際に、必要な処理回路と共に、画像データを一時的に保持するＦＩＦＯなどのラインメモリの数を並列処理数に比例して増加し、回路規模が大きくなる。
【０００４】
そこで本発明は、１主走査ラインを複数に分割して処理する方式に対応することで、メモリ領域の増加を抑えつつ、かつ画像処理高速化を可能にした画像処理装置の提供、さらに、複雑になるメモリアクセス方式を簡素化し、位相制御にも対応することで、更なる階調表現の向上が可能な画像処理装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、請求項１記載の発明は、多値誤差拡散による画像処理装置であって、１主走査ラインを複数のブロックに分割して、各ブロック毎に並列に入力された画像データを同時に処理する複数の並列処理ブロックを備え、前記複数の並列処理ブロックは夫々に、受け取った画像データをそのデータビット数より少ないビット数の画像データに変換する再量子化手段と、再量子化手段が再量子化した際に発生した誤差を算出する演算手段と、誤差データを一時的に保持する記憶手段と、所定マトリクスを参照して処理対象となる画像データの周辺誤差データを算出し、記憶手段によって記憶された誤差データに誤差補正を加える演算手段と、前記分割されたブロック間の境界に位置する処理対象となる画像データの誤差データを算出するための演算情報を前記並列処理ブロック間で受け渡しする手段を備えたことを特徴とするものである。
【０００６】
また上記目的を達成するために、請求項２記載の発明は、請求項１記載の発明において、誤差拡散処理に際し、分割されたブロック間の境界の画像データ処理時における並列処理ブロック間でのデータ受け渡しにフリップフロップを利用することを特徴とするものである。
【０００７】
また上記目的を達成するために、請求項３記載の発明は、請求項１記載の発明において、
誤差拡散処理の後に位相処理を行うことを特徴とするものである。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら説明する。
まず、本発明が適用される一例として、デジタル複写機の概略を説明する。
図１はデジタル複写機の外観を示しており、図２はデジタル複写機の読み取り光学系を示している。
【０００９】
図１及び図２において、原稿は読み取り面が下向きになるように原稿台１にセットされ、光源２により照明され、その反射光がミラー３及びレンズと中継のミラー群４を通して順次収束、反射され、イメージラインセンサ（以下、ＣＣＤ）５により読み取られる。ここで、複写機の読み取り速度を上げるために、ＣＣＤ５を複数本重ね、ＣＣＤ５の本数分のラインを一度に読み取ることが可能になる。図１において、符号６は操作部、７は用紙カセットを示す。
【００１０】
入力された画像データを制御するために、副走査方向及び主走査方向の画像範囲を示す同期信号（以下、副走査範囲信号及び主走査範囲信号）と、主走査方向の開始点を示す同期信号（以下、主走査同期信号）が用いられる。
【００１１】
図３及び図４は、従来の一般的なデジタル複写機における原稿台で読み取られたデータと画像制御信号との関係を示している。図３において、副走査範囲信号（ＦＧＡＴＥ）は、図２の光源２とミラー３が走査する方向、つまり副走査方向の画像範囲を示す信号であり、主走査同期信号（ＬＳＹＮＣ）は、図２のＣＣＤ５の読み取り方向、つまり主走査方向のラインの開始点を示す主走査同期信号であり、主走査範囲信号（ＬＧＡＴＥ）は、主走査方向の画像範囲を示す信号である。主走査方向の原稿の読み取りは、図４に示すように、ＣＣＤ５によって主走査方向にライン１、ライン２、ライン３毎に走査されることで行われる。
【００１２】
これらＦＧＡＴＥ、ＬＳＹＮＣ、ＬＧＡＴＥの時間的な関係を図５に示す。これにより、２次元である原稿画像のデータを時間軸による画像データに置き換えて処理を行う。本実施形態でも上述したと類似の処理を行うが、その詳細は後で、図９〜図１１を参照して説明する。
【００１３】
図６にはデジタル複写機の全体ブロック構成の例を示している。
処理全般の指示を与える指示部（以下、ＣＰＵ）１０は、各ブロックに処理や設定の指示を送る。ＣＣＤ５により読み取られた画像データは、まずスキャナ１１に送られ、Ａ／Ｄ変換を行われてスキャナ特性の補正を受け、画像処理部１２においてディザ、誤差拡散などの所定の画質処理を施された後、下位ブロックの画像フォーマットに従って出力され、画像蓄積部１３に送られる。
【００１４】
画像蓄積部１３は、少なくともコピー出力紙（転写紙）１枚分の画像編集用の一時的なメモリ領域と、ＨＤなどの大容量の記憶媒体を持つことにより、多数部の画像データを蓄積可能で、画像データの圧縮／伸張機能を有して、画像情報の蓄積量をさらに増やしている。
プリンタ１４は、画像蓄積部１３から画像データを受け取って、転写紙に出力する。
【００１５】
ここで階調処理を行う画質処理部のうちの誤差拡散処理のための既知の構成例を図７に示す（本発明に係る誤差拡散処理に関しては後に図１２等を用いて詳述する）。誤差加算部１００は、処理対象画素となる入力画像データＤＦｉｊと、誤差演算部１０４から受け取った入力画像データＤＦｉｊに対しての周辺誤差情報を受け取り、それらの和を取って、誤差補正後の入力画素データＳＦｉｊを出力する。量子化部１０１は、誤差補正後の入力画素データＳｉｊと、ＣＰＵ１０から受け取った求める量子化数（入力画像データＭビットに対しＮビット、但しＭ＞Ｎ）に合わせた量子化しきい値とに基づいて階調処理を行って、出力画像データＧＦｉｊを出力する。
【００１６】
誤差算出部１０２は、誤差補正後の入力画素データＳＦｉｊと、出力画像データＧＦｉｊを受け取って、入力画像データＤＦｉｊを量子化した際の量子化誤差ＥＦｉＪを求める。量子化誤差ＥＦｉＪは、誤差マトリクス蓄積部１０３において、ラインメモリなどの記憶素子に対して、書き込み／読み出しされる。誤差演算部１０４は、誤差マトクリス蓄積部１０３から得られた、図８に示すような形状の誤差拡散マトリクスを生成し、各マトリクス係数に従って、処理対象画素となる入力画像データＤＦｉｊの周辺誤差情報を算出する。
【００１７】
図８に示すような誤差マトリクスとその係数の場合、注目画素Ｄｉｊに対する周辺誤差情報Ｅは、
Ｅ＝（Ｄｉ−２，ｊ−１＋２* Ｄｉ−１，ｊ−１＋４* Ｄｉ，ｊ−１＋２* Ｄｉ＋１，ｊ−１＋Ｄｉ＋２，ｊ−１＋２* Ｄｉ−２，ｊ＋４* Ｄｉ−１，ｊ）／１６
で与えられる。
位相制御部１０５は、特開平９−１３９８４７号公報に示すように、誤差拡散後のデータと、位相モード、像域判定結果、位相決定しきい値からなる位相制御設定を基に、注目画素前後との画像濃度の関係から注目画素についての位相信号を決定するものであり、誤差拡散処理特有に発生するテクスチャを取り除く効果がある。
【００１８】
図９及び図１０は、本実施形態における原稿台で読み取られたデータと画像制御信号との関係を示している。１ラインを主走査方向に２分割して読み取った場合の、原稿台で読み取られたデータと画像制御信号との関係を示している。図９において、副走査有効領域（以下、ｘｆｇａｔｅ）は図２の光源２とミラー３が走査する方向、つまり副走査方向の画像範囲を示す信号であり、主走査有効領域１（以下、ｘｆｌｇａｔｅ）及び主走査有効領域２（以下、ｘｌｌｇａｔｅ）は、主走査方向の画像範囲を示す信号である。また、図９では省略しているが、主走査同期信号１（以下、ｘｆｌｓｙｎｃ）及び主走査同期信号２（以下、ｘｌｌｓｙｎｃ）が得られて、ＣＣＤ５の読み取り方向、つまり主走査方向のラインの開始点を示す信号となっている。但し、このＣＣＤ５で１走査ライン分を複数に分割しているため、主走査ラインを２分割する例を示した図１０の例では、前半ライン（Ｆ側）及び後半ライン（Ｌ側）の２つの画像データが平行して同時に発生する（図１１参照）。
【００１９】
主走査方向の原稿の読み取りは、図１０に示すように、ＣＣＤ５によってＦ側のラインＡとラインＣ、ラインＥ、そしてＬ側のラインＢとラインＤ、ラインＦと別々に走査されて行くことになる。なお、図示例ではＦ側とＬ側の走査方向は同じになっているが、ＣＣＤ５の電荷蓄積の並びを変更することで、Ｆ側とＬ側の画素の並びを変更することも可能である。
【００２０】
これらｘｆｇａｔｅ，ｘｆｌｓｙｎｃ，ｘｌｌｓｙｎｃ，ｘｆｌｇａｔｅ，ｘｌｌｇａｔｅの時間的な関係を図１１に示す。
この場合は、Ｆ側とＬ側の画像データと制御信号がｘｌｓｙｎｃ１つ分ずれて同じタイミングで入ってくるものであるが、これは並んだＣＣＤ５の電荷蓄積タイミングが同一なためであり、これをずらすことで、ファースト／ラター側のタイミングを前後させることができる。また、別の方法としては、図６のスキャナ１１から画像処理部１２へのインターフェイス部の段階でラインメモリ等を用いてタイミングをずらすことも可能である。
【００２１】
ここで本発明の誤差拡散処理部の第１の構成例を図１２に示す。図中で上側に示されているＦ側処理ブロックと下側のＬ側処理ブロックとは同等対称の構成になっているので、以下の説明では重複する部分についてはＦ側処理ブロックを例に説明する。（Ｆ側処理ブロックの）誤差加算部１００は、処理対象画素となる入力画像データＤＦｉｊと、誤差演算部１０４から受け取った入力画像データＤＦｉｊに対しての周辺誤差情報を受け取り、それらの和を取って、誤差補正後の入力画素データＳＦｉｊを出力する。再量子化手段としての量子化部１０１は、誤差補正後の入力画素データＳＦｉｊと、ＣＰＵ１０から受け取った求める量子化数（入力画像データＭビットに対しＮビット、但しＭ＞Ｎ）に合わせた量子化しきい値とに基づいて階調処理を行って、出力画像データＧＦｉｊを出力する。
【００２２】
誤差算出部１０２は、誤差補正後の入力画素データＳＦｉｊと、出力画像データＧＦｉｊを受け取って、入力画像データＤＦｉｊを量子化した際の量子化誤差ＥＦｉｊを求める。誤差マトリクスＦ蓄積部１０６または誤差マトリクスＬ蓄積部１０７は、互いにラインの分割境界近傍のデータをやり取りしつつ、量子化誤差ＥＦｉｊ（またはＥＬｉｊ）をラインメモリなどの記憶素子に対して、書き込み／読み出しを行う。
【００２３】
誤差演算部１０４，１０４は、前段の誤差マトクリスＦもしくはＬ蓄積部（１０６もしくは１０７）から得られた、図８に示すような形状の誤差拡散マトリクスを生成し、各マトリクス係数に従って、（Ｆ側処理ブロックを例にとれば）処理対象画素となる入力画像データＤＦｉｊの周辺誤差情報を算出する。図８に示すような誤差マトリクスとその係数の場合、注目画素ＤＦｉｊに対する周辺誤差情報Ｅは、Ｅ＝（Ｄｉ−２，ｊ−１＋２* Ｄｉ−１，ｊ−１＋４* Ｄｉ，ｊ−１＋２* Ｄｉ＋１，ｊ−１＋Ｄｉ＋２，ｊ−１＋２* Ｄｉ−２，ｊ＋４* Ｄｉ−１，ｊ）／１６で与えられる。また、以上の処理ブロックは分割処理されたデータに対しても同様に処理を行う。
【００２４】
ここでさらに誤差マトリクスＦ蓄積部１０６及び誤差マトリクスＬ蓄積部１０７について述べる。
図１３及び図１４は誤差マトリクス蓄積部の詳細例及び誤差マトリクス蓄積部における１ライン２分割の分岐点の処理タイミングを表している。
【００２５】
図１４で示した２分割時における副走査方向ｎ番目のラインにおける境界〔ファースト（Ｆｉｒｓｔ）側とラター（Ｌａｔｔｅｒ）側の境界〕について、ファースト側の最終画素とラター側の先頭画素での誤差拡散マトリクスの形成を考える。この場合、図８に示したような主走査／副走査について５×２の参照マトリクスの誤差拡散のときは、ＦＩＦＯ等のラインメモリ（図１３の１２２、１２３）に記憶された１ライン前の主走査側に前後２画素のデータと、現処理ラインの前２画素の誤差拡散データを参照することになる。
【００２６】
この場合、図１３の受け渡しのデータに示すように、分岐点の前後で、
▲１▼ファースト側の最終画素では、１ライン前のラター側の先頭２画素（ｄｌｅｒｒ１）を参照する必要、
▲２▼ラター側の先頭画素では、１ライン前のファースト側最終２画素の誤差拡散データ（ｄｆｅｒｒ１）かつ現処理データのファースト側最終２画素の誤差拡散データ（ｄｆｅｒｒ０）を参照する必要、
の２つのデータの受け渡しが出てくる。
【００２７】
図１４に示すように、これらタイミングは、ファースト側／ラター側の互いのＦＩＦＯ制御と重なるので、結果、この処理を実現するために、一時的にデータを保持してラインの始まりに、ＦＩＦＯに相手から貰ったデータをライトすること、及びラター側の半周期送れた処理開始タイミングを少しだけファースト側より早めて行うことで実現する。
【００２８】
さらに、この手法によるラインメモリの必要量は、１ラインを分割して同時に処理し、１ラインを処理する時間を少なくする方法であり、必要とするＦＩＦＯ等のメモリ量は結局元の１ライン分の容量で済み（１ライン分のメモリ量×並列処理数／分割数）、複数ラインを並列に処理する場合のような、並列処理数×１ライン分のメモリ量とはならず、結果、回路規模の増大は並列処理した演算回路分のみに留まる。
【００２９】
また、上記の動作の場合、ファースト側／ラター側の互いの処理間でデータをやり取りして、ＦＩＦＯなどのラインメモリにリード／ライト制御を行うため、ラインメモリへのアクセスが複雑になり、結果、処理回路の構成が煩雑になる。これを解消するため敢えてラインメモリに記憶させずにＦＦ（フリップフロップ）にデータを保持しておいて、必要なときに読み出す方法がある。
【００３０】
これは、
▲１▼の場合：ｄｌｅｒｒ１をラター側の先頭処理のときにｘｌｌｇａｔｅの立ち上がりを合図としてＦＦに保持し、ファースト側の最終画素（注目画素Ｌ）のときに参照する、
▲２▼の場合：ｄｆｅｒｒ０，ｄｆｅｒｒ１をファースト側の最終処理のときにｘｆｌｇａｔｅの立ち上がりを合図としてＦＦに保持し、ラター側の先頭画素（注目画素Ｍ）のときに参照する、
ことで、相手側の処理（ファースト側のときはラター側を見て、ラター側のときはファースト側を見て）によって、ＦＩＦＯにリード／ライトアクセスする必要がなくなり、回路を簡素化できる。
【００３１】
図１５は本発明の第３の構成例を示している。
ここでは、図１２の構成に加えて、位相制御部Ｆ１０８及び位相制御部Ｌ１０９が追加されている。
【００３２】
誤差拡散後の画像データＧｉｊに対して、位相制御のタイミングを図１６で考えると、注目画素が副走査方向にｎ番目のライン目で、
▲１▼ファースト側の最終画素における位相判定、
▲２▼ラター側の先頭画素における位相判定、
の２つの場合に、互いにファースト／ラター相手側の画素を参照する必要が出てくる。
【００３３】
▲１▼の場合、注目画素Ｄに対して、ラター側の最初の画素Ｅも参照して位相処理を行うが、画素Ｄと画素Ｅは連続して処理されなければ、演算結果と画素遅延が一致しなくなるため、図１６に示すように、ファースト側とラター側の処理は連続して行われる必要がある。
この位相処理を誤差拡散処理の後に追加することで、誤差拡散特有に発生するテクスチャを除去することが可能となる。
【００３４】
【発明の効果】
請求項１記載の発明によれば、１主走査ラインを複数に分割して処理する方式に対応して、メモリ領域の増加を抑えつつ処理周波数を高めることなく画像処理高速化を可能とすることができる。
【００３５】
請求項２記載の発明によれば、上記の効果に加え、複雑になるメモリアクセス方式を簡素化できる効果がある。
【００３６】
請求項３記載の発明によれば、上記の効果に加え、位相制御にも対応することで、さらなる階調表現の向上が可能となる効果がある。
【図面の簡単な説明】
【図１】デジタル複写機の外観図である。
【図２】読み取り光学系の構成図である。
【図３】原稿と制御信号の関係例を示す図である。
【図４】デジタル複写機の画像走査の具体例を示す図である。
【図５】同期信号群のタイミング関係を示す図である。
【図６】デジタル複写機の全体ブロック構成図である。
【図７】一般的な誤差拡散処理部のブロック構成図である。
【図８】誤差拡散マトリクスの一例を示す図である。
【図９】原稿と制御信号の関係を示す図である。
【図１０】画像走査の具体例を示す図である。
【図１１】画像データ制御信号の具体例を示す図である。
【図１２】本発明の第１の実施の形態を示す誤差拡散処理部のブロック構成図である。
【図１３】誤差マトリクス蓄積部の詳細例を示すブロック構成図である。
【図１４】１ライン２分割時の分岐点の処理タイミングを示す図である。
【図１５】本発明の第２の実施の形態を示す誤差拡散処理部のブロック構成図である。
【図１６】位相制御のタイミング例を示す図である。
【符号の説明】
１  原稿台
２  光源
３  ミラー
４  ミラー群
５  ＣＣＤ
６  操作部
７  用紙カセット
１０  指示部（ＣＰＵ）
１１  スキャナ
１２  画像処理部
１３  画像蓄積部
１４  プリンタ
１００  誤差加算部
１０１  量子化部
１０２  誤差算出部
１０４  誤差演算部
１０６  誤差マトリクスＦ蓄積部
１０７  誤差マトリクスＬ蓄積部
【図１】
0003798553.tif 000002
【図２】
0003798553.tif 000003
【図３】
0003798553.tif 000004
【図４】
0003798553.tif 000005
【図５】
0003798553.tif 000006
【図６】
0003798553.tif 000007
【図７】
0003798553.tif 000008
【図８】
0003798553.tif 000009
【図９】
0003798553.tif 000010
【図１０】
0003798553.tif 000011
【図１１】
0003798553.tif 000012
【図１２】
0003798553.tif 000013
【図１３】
0003798553.tif 000014
【図１４】
0003798553.tif 000015
【図１５】
0003798553.tif 000016
【図１６】
0003798553.tif 000017