(57)【要約】【課題】画像変倍後にハーフトーン処理を行なうための無駄なワークメモリ領域を不要にし、かつハーフトーン処理における並列処理数分の画素を変倍後に供給することにより、高速処理を実現すること。【解決手段】複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理装置１０７と、ハーフトーン処理装置１０７が並列に処理する画素と同数の画素を並列に変倍処理し、ハーフトーン処理装置１０７に供給する変倍処理装置１０６と、を備える。【選択図】      図４
2004282239.tif 000002
【特許請求の範囲】
【請求項１】
複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、
前記ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、前記ハーフトーン処理手段に供給する変倍処理手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記ハーフトーン処理手段は、
走査ラインに適用するすべてのしきい値と、前記複数の多値データとを並列に比較する並列比較手段と、
走査ラインに適用するすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、
前記複数の多値データを前記しきい値マトリックスの位置へシフトさせる多値データシフト手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ハーフトーン処理手段は、さらに、
前記並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに入れ込んでいく固定長データ生成手段を有することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記変倍処理手段は、
前記ハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求める変倍画素係数生成手段と、
前記変倍画素係数生成手段による変倍後の各画素のＸ幅から、同じ数の元画像の水平方向の画素をデータ変換する変倍画素変換手段と、
を有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記変倍画素係数生成手段は、
前記ハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求める並列Ｘ幅生成手段と、
前記並列Ｘ幅生成手段から複数のＸ幅を受け取り、前記ハーフトーン処理手段の並列処理数へ分けて出力する出力Ｘ幅生成手段と、
を有することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、
水平方向に画像変換処理を行なうデータ変換処理手段と、
前記データ変換処理手段と前記ハーフトーン処理手段とが必要とするデータと、前記ハーフトーン手段によるハーフトーン処理後のメモリのリード／ライトを制御するメモリ制御手段と、
を備えたことを特徴とする画像処理装置。
【請求項７】
前記メモリ制御手段は、垂直方向に変倍処理を実行し、かつ垂直方向の変倍率に応じて必要なディザデータを選択し、読み込むデータ入力手段を有することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記データ変換処理手段は、最近傍法にしたがって変倍処理を実行することを特徴とする請求項６に記載の画像処理装置。
【請求項９】
前記データ変換処理手段は、バイリニア補間法にしたがって変倍処理を実行することを特徴とする請求項６に記載の画像処理装置。
【請求項１０】
前記データ変換処理手段は、前記ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、前記ハーフトーン手段に供給することを特徴とする請求項６に記載の画像処理装置。
【請求項１１】
前記データ変換処理手段は、
前記ハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求める並列Ｘ幅生成手段と、
前記並列Ｘ幅生成手段から複数のＸ幅を受け取り、前記ハーフトーン処理手段の並列処理数へ分けて出力する出力Ｘ幅生成手段と、
を有することを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記ハーフトーン処理手段は、
水平方向に複数の画素を並列に比較する並列比較手段と、
水平方向にすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、
前記複数の多値データを前記しきい値マトリックスの位置へシフトさせる多値データシフト手段と、
を有することを特徴とする請求項６に記載の画像処理装置。
【請求項１３】
前記ハーフトーン処理手段は、さらに、
前記並列比較手段から受け取った水平方向に複数の画素を、有効画素数だけ固定長のデータに入れ込んでいく固定長データ生成手段を有することを特徴とする請求項６に記載の画像処理装置。
【請求項１４】
前記データ変換処理手段は、
水平方向にＭＡＸの倍率分、並列に画素を求める補間処理手段を有することを特徴とする請求項９に記載の画像処理装置。
【請求項１５】
前記補間処理手段は、
水平方向にＭＡＸの倍率分の画素を並列に計算し補間する水平補間手段と、
前記水平補間手段での画素の有効数を求める有効数カウント手段と、
を有することを特徴とする請求項１４に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえばカラー画像形成装置などのプリンタコントローラに利用され、多値画像データを２値画像に変換するハーフトーン処理装置を備え、高速処理が可能な画像処理装置に関する。
【０００２】
【従来の技術】
昨今のページプリンタなどの画像形成装置において高解像度化および高速出力の要求が強くなってきており、この画像処理をＣＰＵの性能のみでは実現することが困難になってきている。特に、カラープリンタでは、各種の画像処理と、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック）版の変倍処理、ディザ処理、色変換処理など多くの処理を必要とする。近年、半導体技術の進歩によりＣＰＵで行なわれた処理の１部をハードウエアで行なうことが可能となってきている。たとえば、ハードウェアアクセラレータをＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ：大規模ＰＬＤ）で実現するシステムが開示されている（たとえば、特許文献１参照。）。
【０００３】
ところで、画像の変倍処理技術は、入力機器および出力機器間で取り扱われる画像の解像度が異なる場合に入力画像と同サイズの出力画像を得るために必要とされる技術である。この変倍処理の方法としては、最近傍法やバイリニア補間法、３次補間法などが知られている。そして、従来、ＣＰＵのワーク領域にソース画像を解像度変換を行なったものを展開し、その後、ハートーン処理を行ないバンドバッファに書込んでいた。
【０００４】
最近傍法は、補間したい点に最も近い画素に補間するアリゴリズムである。バイリニア補間法は、補間対象の点の周囲４点から、線形補間によって補間データを求める方法であり、点Ｚの周辺の４点Ｊ，Ｉ，Ｇ，Ｈから以下のような式で表される。
2004282239.tif 000003
【０００５】
３次補間法は、点Ｚの周辺の１６点から、以下に示すような演算式（数１）で表される。こここで、Ｃ（ｔ）はサンプリング定理を構成する関数ｓｉｎπｘ／πｘの近似式である。
【０００６】
【数１】
2004282239.tif 000004
【０００７】
これらの補間法を比較すると、最近傍法は処理が軽いがそれほど良好ではなく、バイリニア補間法は処理容量などは一般的であり、普通の画質である。３次補間法は処理が複雑であるが、その分、良好な画質が得られる。
【０００８】
さて、ハーフトーンデータを高速に生成する装置として、しきい値マトリクッスデータのメモリとは別にしきい値マトリックス分を複数の高速メモリに交互に転送し、ハーフトーン処理は高速メモリからしきい値データを読み出すことで実行されることが開示されている（たとえば、特許文献２参照。）。しかしながら、この装置は、少ないメモリで高速にハーフトーン生成を行なうことを狙いとしたもので、基本的に飛躍的な高速処理を実現するものではなかった。
【０００９】
図９１に従来におけるハーフトーン生成装置の構成を示す（たとえば、特許文献３参照。）。図９１において、まず、入力される多値画像データのハーフトーン化に先だって、画像データ走査信号ＳＣＡＮＹが閾値データ読み出し回路５００に読み込まれる。閾値データ読み出し回路５００は、閾値データアドレス信号ＴＨＭＡを閾値マトリクスデータメモリ５０１に出力し、ここから所望の閾値データを４つづつ（３２ｂｉｔづつ）出力し、ラッチ５０２を介してシフトレジスタ５０３に入力する。閾値データ読み出し制御回路５００は、当該走査ラインに対する全ての閾値データの入力が終了するまで、すなわち５３回閾値データアドレス信号ＴＨＭＡの出力を繰り返す。
【００１０】
シフトレジスタ５０３に当該走査ラインに対する全ての閾値データが入力された後、閾値データ選択制御回路５０４から出力される閾値データセレクト信号ＴＤＳとシフト信号ＳＴ２により、シフトレジスタ５０５に当該走査ラインに対する全ての閾値データがセットされる。シフトレジスタ５０３に上記のように全ての閾値データがセットされた後、閾値データ選択制御回路５０４から出力される比較データセレクト信号ＣＤＳにより選択される閾値データと所定の多値画像データの大小比較による２値化が開始される。これらの選択閾値データと所定の画素の多値画像データの大小比較は、コンパレータ５０７ａ〜５０７ｈによって並列的に実行され、バッファメモリ書き込み制御回路５０８で制御されるバッファメモリ５１０に出力される。
【００１１】
図９２に従来におけるハーフトーン生成装置の構成を示す（たとえば、特許文献４参照。）。このハーフトーン生成装置は、閾値マトリクスデータを記憶する閾値マトリクス格納メモリ５１２からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出し制御回路５１１・閾値データフェッチレジスタ５１３と、当該閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択して出力する閾値データ選択制御回路５１４・クロスバスイッチ５１５・閾値データデータレジスタ５１６と、ハーフトーン生成対象の複数の画素データと上記選択出力された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成するコンパレータ５１７ａ〜５１７ｈ・出力レジスタ５１８とを備え、多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成する
【００１２】
図９３に従来における印刷データ生成装置（データ処理部）の構成を示す（たとえば、特許文献５参照。）。この装置は、ＲＡＭ５３０、入力バッファ５３１、データ選択回路５３２、拡大縮小カウンタ５３３、ニ値化回路５３４、ディザデーダ回路５３５、出力バッファ５３９を備えている。
【００１３】
特に、図９３において、ディザメモリの使用方法として、たとえば１６×１６マトリクスのディザパターンを採用する場合には、ディザデータのデータ量が１６ライン分となる。このような大量の閾値を全て格納しておくようなメモリを内蔵するのは不経済である。この場合には、ディザデータをＲＡＭ５３０に格納しておき、所定のタイミングで所定量づつ分割して受け入れる破線枠で図示するダイレクトメモリアクセス回路を設ける。１画素分のデータに対して４個の閾値を順番に供給し、４個のニ値化データを出力するような制御もできる。ニ値化処理以前のデータ転送クロックに対してニ値化処理後のデータ転送クロックを４倍にすればよいと記述されている。
【００１４】
【特許文献１】
特開２０００−９０２３７号公報
【特許文献２】
特開平６−６６０６号公報
【特許文献３】
特開２０００−９２３２１号公報（図３）
【特許文献４】
特開２０００―１６５６７２号公報（図２）
【特許文献５】
特開２００１―１５０７３９号公報（第１１−１３頁、図６）
【００１５】
【発明が解決しようとする課題】
しかしながら、上記に示されるような従来における各技術においては以下のような問題点があった。まず、ＣＰＵのワーク領域にソース画像を解像度変換を行なったものを展開し、ハートーン処理後にバンドバッファに書込む方法にあっては、ＣＰＵのワーク領域を大きく使用し、かつ画像の最大の大きさであるバンドバッファ（メモリ）と同じサイズのワーク領域を必要とする。
【００１６】
また、特許文献３および特許文献４に開示されている装置にあっては、しきい値マトリックスメモリから読み出されるしきい値データを処理走査ラインが終了するまで、再利用可能なように処理に適用する全しきい値データをレジスタに取り込み、これを選択的に複数の比較手段に出力し、並列的な比較処理を実行し、レジスタにセットされたしきい値データを順次シフトし、これを繰り返し使用するものの、しきい値マトリックスサイズが大きくなるにしたがって、しきい値データを選択し、変倍データに合わせることはゲート数の増大を招来させることになる。
【００１７】
また、特許文献５に開示されている印刷データ処理装置にあっては、ディザデーダをＲＡＭに格納しておき、所定のタイミングで所定量づつ分割し受け入れるダイレクトメモリアクセス回路を設けることが記述されているが、どのようなタイミングでどのようにハーフトーン処理を行なうかが不明である。また、この印刷データ処理装置は、バスを介してＣＰＵ、メモリ、ＲＯＭ、印刷装置と接続されているなどの構成のため、ハードウエア面において複雑であった。
【００１８】
本発明は、上記に鑑みてなされたものであって、画像変倍後にハーフトーン処理を行なうための無駄なワークメモリ領域を不要にし、かつハーフトーン処理における並列処理数分の画素を変倍後に供給することにより、高速処理を実現することを第１の目的とする。
【００１９】
また、画像データの読み込み処理を中断することなく、画像データの読み込み処理と画像処理とを並列に処理可能とすることにより、高速処理を実現することを第２の目的とする。
【００２０】
【課題を解決するための手段】
上記の目的を達成するために、請求項１にかかる画像処理装置にあっては、複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、前記ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、前記ハーフトーン処理手段に供給する変倍処理手段と、を備えたものである。
【００２１】
この発明によれば、処理対象の複数の多値データを変倍処理手段に入力し、このとき、変倍処理手段はハーフトーン手段が並列に処理する画素数分の画素を常に供給することにより、最小限のハードウエアでの高速処理が実現する。
【００２２】
また、請求項２にかかる画像処理装置にあっては、前記ハーフトーン処理手段は、走査ラインに適用するすべてのしきい値と、前記複数の多値データとを並列に比較する並列比較手段と、走査ラインに適用するすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、前記複数の多値データを前記しきい値マトリックスの位置へシフトさせる多値データシフト手段と、を有するものである。
【００２３】
この発明によれば、請求項１のハーフトーン処理装置において、しきい値マトリックス記憶手段から読み出されるしきい値データを処理走査ラインが終了するまで、再利用可能なように処理に適用する全しきい値データを取り込み、複数の変倍データを対応するしきい値と比較するためにシフトさせ、複数の変倍データと並列に比較することにより、複数ドットの２値化処理を高速に行なうことが可能になる。
【００２４】
また、請求項３にかかる画像処理装置にあっては、前記ハーフトーン処理手段は、さらに、前記並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに入れ込んでいく固定長データ生成手段を有するものである。
【００２５】
この発明によれば、請求項２のハーフトーン処理手段において、さらに、並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに加えていく固定長データ生成手段を有することにより、従来のような大きなハードウエア構成を必要とせずに固定長データを生成することが可能になる。
【００２６】
また、請求項４にかかる画像処理装置にあっては、前記変倍処理手段は、前記ハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求める変倍画素係数生成手段と、前記変倍画素係数生成手段による変倍後の各画素のＸ幅から、同じ数の元画像の水平方向の画素をデータ変換する変倍画素変換手段と、を有するものである。
【００２７】
この発明によれば、請求項１の変倍処理手段において、変倍画素係数生成手段でハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求め、その変倍後の各画素のＸ幅から、変倍画素変換手段が同じ数の元画像の水平方向の画素をデータ変換することにより、水平方向に並列に変倍処理を高速に行なうことが可能になる。
【００２８】
また、請求項５にかかる画像処理装置にあっては、前記変倍画素係数生成手段は、前記ハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求める並列Ｘ幅生成手段と、前記並列Ｘ幅生成手段から複数のＸ幅を受け取り、前記ハーフトーン処理手段の並列処理数へ分けて出力する出力Ｘ幅生成手段と、を有するものである。
【００２９】
この発明によれば、請求項４の変倍画素係数生成手段において、並列Ｘ幅生成手段でハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求め、この複数のＸ幅を出力Ｘ幅生成手段が受け取り、ハーフトーン処理手段の並列処理数へ分けて出力することにより、水平方向（Ｘ方向）の並列変倍処理が実現する。
【００３０】
また、請求項６にかかる画像処理装置にあっては、複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、水平方向に画像変換処理を行なうデータ変換処理手段と、前記データ変換処理手段と前記ハーフトーン処理手段とが必要とするデータと、前記ハーフトーン手段によるハーフトーン処理後のメモリのリード／ライトを制御するメモリ制御手段と、を備えたものである。
【００３１】
この発明によれば、複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、水平方向に画像変換処理を行なうデータ変換処理手段と、を備え、メモリ制御手段が、データ変換処理手段とハーフトーン処理手段とが必要とするデータと、ハーフトーン手段によるハーフトーン処理後のメモリのリード／ライトを制御する構成とすることにより、最小限のハードウエア構成で、画像データの読み込み処理を中断することなく画像処理を並列に行なうことが可能になる。
【００３２】
また、請求項７にかかる画像処理装置にあっては、前記メモリ制御手段は、垂直方向に変倍処理を実行し、かつ垂直方向の変倍率に応じて必要なディザデータを選択し、読み込むデータ入力手段を有するものである。
【００３３】
この発明によれば、請求項６において、メモリ制御手段は、垂直方向（Ｙ方向）に変倍処理を実行し、かつ垂直方向の変倍率に応じて必要なディザデータを選択し、読み込むデータ入力手段を有することにより、画像の読み込みと画像処理を並列に行なうことが可能になる。
【００３４】
また、請求項８にかかる画像処理装置にあっては、前記データ変換処理手段は、最近傍法にしたがって変倍処理を実行するものである。
【００３５】
この発明によれば、請求項６のデータ変換処理手段が、最近傍法にしたがって変倍処理を実行することにより、画像を変倍処理した後に、直接にハーフトーン処理を行なうための無駄なワークメモリの領域を必要とせずに、高速の画像処理が実現する。
【００３６】
また、請求項９にかかる画像処理装置にあっては、前記データ変換処理手段は、バイリニア補間法にしたがって変倍処理を実行するものである。
【００３７】
この発明によれば、請求項６のデータ変換処理手段が、バイリニア補間法にしたがって変倍処理を実行することにより、画像を変倍処理した後に、直接にハーフトーン処理を行なうための無駄なワークメモリの領域を必要とせずに、高速の画像処理が実現する。
【００３８】
また、請求項１０にかかる画像処理装置にあっては、前記データ変換処理手段は、前記ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、前記ハーフトーン手段に供給するものである。
【００３９】
この発明によれば、請求項８のデータ変換処理手段は、ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、ハーフトーン手段に供給することにより、ハーフトーン処理手段の並列処理数分の画素を常に生成することが可能になる。
【００４０】
また、請求項１１にかかる画像処理装置にあっては、前記データ変換処理手段は、前記ハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求める並列Ｘ幅生成手段と、前記並列Ｘ幅生成手段から複数のＸ幅を受け取り、前記ハーフトーン処理手段の並列処理数へ分けて出力する出力Ｘ幅生成手段と、を有するものである。
【００４１】
この発明によれば、請求項８のデータ変換処理手段において、変倍画素係数生成手段でハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求め、その変倍後の各画素のＸ幅から、変倍画素変換手段が同じ数の元画像の水平方向の画素をデータ変換することにより、水平方向に並列に変倍処理を高速に行なうことが可能になる。
【００４２】
また、請求項１２にかかる画像処理装置にあっては、前記ハーフトーン処理手段は、水平方向に複数の画素を並列に比較する並列比較手段と、水平方向にすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、前記複数の多値データを前記しきい値マトリックスの位置へシフトさせる多値データシフト手段と、を有するものである。
【００４３】
この発明によれば、請求項１０のハーフトン処理手段が、水平方向に複数の画素を並列に比較する並列比較手段と、水平方向にすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、複数の多値データをしきい値マトリックスの位置へシフトさせる多値データシフト手段と、を有することにより、水平方向に並列にハーフトーン処理を行なうことが可能になる。
【００４４】
また、請求項１３にかかる画像処理装置にあっては、前記ハーフトーン処理手段は、さらに、前記並列比較手段から受け取った水平方向に複数の画素を、有効画素数だけ固定長のデータに入れ込んでいく固定長データ生成手段を有するものである。
【００４５】
この発明によれば、請求項６のハーフトーン処理手段において、さらに、並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに加えていく固定長データ生成手段を有することにより、従来のような大きなハードウエア構成を必要とせずに固定長データを生成することが可能になる。
【００４６】
また、請求項１４にかかる画像処理装置にあっては、前記データ変換処理手段は、水平方向にＭＡＸの倍率分、並列に画素を求める補間処理手段を有するものである。
【００４７】
この発明によれば、請求項９のデータ変換処理手段が、水平方向にＭＡＸの倍率分、並列に画素を求める補間処理手段を有することにより、水平方向に並列に変倍処理を行なうことが可能になる。
【００４８】
また、請求項１５にかかる画像処理装置にあっては、前記補間処理手段は、水平方向にＭＡＸの倍率分の画素を並列に計算し補間する水平補間手段と、前記水平補間手段での画素の有効数を求める有効数カウント手段と、を有するものである。
【００４９】
この発明によれば、請求項９の補間処理手段が、水平方向にＭＡＸの倍率分の画素を並列に計算し補間する水平補間手段と、この画素の有効数（実際に補間すべき個数）を求める有効数カウント手段と、を有することにより、水平方向に並列に変倍処理を行なうことが可能になる。
【００５０】
【発明の実施の形態】
以下、本発明にかかる画像処理装置の好適な実施の形態について添付図面を参照し、詳細に説明する。なお、本発明はこの実施の形態に限定されるものではない。
【００５１】
（実施の形態１）
この実施の形態１における画像処理装置は、ハーフトーン処理装置の並列処理画素数分の画素を常に供給するために、解像度変換処理において、同じ並列処理画素分の並列処理を行なうことにより、処理の高速化を図ると共に、ハーフトーン処理装置において、しきい値マトリックスメモリから読み出されるしきい値データを処理走査ラインが終了するまで、再利用可能なように処理に適用する全しきい値データをレジスタに取り込み、複数の変倍データを対応するしきい値と比較するためにシフトさせ、複数の変倍データと比較処理することにより、複数ドットの２値化処理を高速に行なうものである。以下、具体的に説明する。
【００５２】
図１は、本発明の実施の形態１にかかる画像処理装置を用いたシステム構成を示すブロック図である。図において、符号１０１は多値画像データが格納されている記憶装置、符号１０２は記憶装置１０１から多値画像データを読み込む多値画像読取装置、符号１０３は後述する画像処理装置、符号１０４は画像処理装置１０３で処理された画像データを後段の記憶装置に書きこむためのハーフトーン処理後画像書き込み装置、符号１０５はハーフトーン処理後の画像データ（２値、４値、１６値など）が格納される記憶装置である。
【００５３】
画像処理装置１０３は、プリンタを高速化するためのアクセラレータであり、各画像データの解像度変換後にそれぞれのしきい値マトリックスを使用し、ハーフトーン処理などを行なうものである。
【００５４】
図２に拡大された画素および補間された画素の例を示し、図３の拡大・縮小の画像例を示す。これらの図については後述する。
【００５５】
図４は、図１における画像処理装置１０３の構成を示すブロック図である。この画像処理装置１０３は、図示するように、変倍処理装置１０６と、ハーフトーン処理装置１０７と、しきい値マトリックスメモリ１０８と、パラメータ格納装置１０９と、を備える。
【００５６】
図４の変倍処理装置１０６は、多値画像読み取り装置１０２から受け取ったデータを変倍処理し、後段のハーフトーン処理装置へ転送する。ハーフトーン処理装置１０７は、変倍処理装置１０６から受け取ったデータをハーフトーン処理し、後段の２値画像書き込み部１０４に転送する。しきい値マトリックスメモリ１０８は、しきい値マトリックスを格納する。パラメータ格納装置１０９は、変倍処理装置１０６、ハーフトーン処理装置１０７の各種パラメータを格納するものである。
【００５７】
なお、変倍処理装置１０６に用いられる変倍処理方法としては各種知られているが、ここでは最近傍法を例にとって説明する。最近傍法は、画素値を補間せずに元画素の値を変倍後の幅としてコピーするものである。また、ハーフトーン処理装置１０７は、ここでは２値化のハーフトーン処理を例にとって説明するが、この他に、４値化、１６値化にも同様に適用可能である。
【００５８】
図５は、図４における変倍処理装置１０６の構成を示すブロック図である。この変倍処理装置１０６は、図示するように、元画素格納装置１１０と、変倍率生成装置１１１と、ＤＤＡ処理装置１１２と、ＩＸ・ＩＹカウント装置１１３と、変倍画素係数生成装置１１４と、変倍画素変換装置１１５と、この変倍処理装置１０６全体を制御するコントローラ１１６と、を備える。
【００５９】
図５の元画素格納装置１１０は、ハーフトーン処理装置１０７が並列に処理する画素分を蓄え後段の変倍画素変換装置１１５に転送する。変倍率生成装置１１１は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｘ終点ＳＸＥ、Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥと変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥ、Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＸ，Ｙ方向の変倍率ＲＡＴＥＸ、ＲＡＴＥＹを求め、後段のＤＤＡ処理装置１１２に転送する。
【００６０】
また、ＤＤＡ処理装置１１２は、変倍率生成装置１１１からＸ，Ｙ方向の変倍率とディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｙ始点ＤＹＳを受け取り、図２に示す○（拡大された画素）のように、入力された画像の変倍後の座標をＤＤＡ（Ｄｉｇｔａｌ  Ｄｉｆｆｅｎｔｉａｌ  Ａｎａｌｙｚｅ：デジタル微分解析）により随時求める。この例では、補間するために、補間されるＸ始点ＸＳ、Ｘ終点ＸＥ、Ｙ始点ＹＳ、Ｙ終点ＹＥを求め、ＩＸ・ＩＹカウント装置１１３、変倍画素係数生成装置１１４へ転送する。
【００６１】
また、ＩＸ・ＩＹカウント装置１１３は、ＤＤＡ処理装置１１２からＹ方向の始点と終点の各座標値を受け取り、図２の△（補間された画素）のＹ座標を生成し、コントローラへＸ座標がＸ終点ＤＸＥと等しくなったことをＸＥＮＤＦＬ信号で知らせ、Ｙ座標がＹ終点ＤＹＥと等しくなったことをＹＥＮＤＦＬ信号で知らせる。
【００６２】
また、変倍画素係数生成装置１１４は、ＤＤＡ処理装置１１２からの補間する方向の始点ＸＳと変倍率生成装置１１１により求めたＸ方向変倍率ＲＡＴＥＸを受け取り、変倍率生成装置１１１の出力する各画素の幅を出力し、変倍画素変換装置１１５にて画素の変倍処理を行なう。このとき、変倍画素変換装置１１５の出力するＭＡＸ数は、ハーフトーン処理装置１０７が処理可能なＭＡＸの画素値までである。また、変倍率が１倍があるため、変倍率生成装置１１１の出力もハーフトーン処理装置１０７が処理可能なＭＡＸの画素値までとして対応している。そのため、変倍率が、１倍以上の場合、複数クロックにわたってハーフトーン処理装置１０７が処理可能なＭＡＸの画素ごと出力する。
【００６３】
変倍画素変換装置１１５は、元画素格納装置１１０から変倍する画素を受け取り、変倍画素係数生成装置１１４の出力する各画素の幅を受け取り、図３に示すように、変倍する画素の幅を変更することにより、変倍処理を実行する。
【００６４】
つぎに、以上のように構成された変倍処理装置１０６の動作について図６に示すフローチャートを参照し、説明する。この動作はコントローラ１１６により統括的に実行される。まず、変倍率生成装置１１１により変倍率を求め（ステップＳ１００１）、さらにＤＤＡ処理装置１１２によりＹ方向（垂直方向）のＤＤＡ処理を行ない、処理するＹ始点ＹＳとＹ終点ＹＥを求める（ステップＳ１００２）。続いて、ＩＸ・ＩＹカウント装置１１３の処理するＹ座標（水平ライン）をＹＳ座標として指定し（ステップＳ１００３）、Ｘ方向のＤＤＡの初期化を行なう（ステップＳ１００４）。
【００６５】
続いて、ＤＤＡ処理装置１１２により、Ｘ方向（水平方向）のＤＤＡ処理を行ない、処理するＸ始点ＸＳとＸ終点ＸＥを求め（ステップＳ１００５）、さらに変倍データを読み込む（ステップＳ１００６）。続いて、変倍画素係数生成装置１１４により、読み込んだ変倍処理される画素の幅を求める（ステップＳ１００７）。
【００６６】
続いて、変倍画素変換装置１１５により、変倍される画素を求めた幅に変換し、ハーフトーン処理装置１０７のＭＡＸの並列処理画素数に合わせて出力する（ステップＳ１００８）。ついで、Ｘ終点ＸＥが変倍されたディステイネーション画像の座標Ｘ終点ＤＸＥを超えたか否かを判断する（ステップＳ１００９）。ここで、ＸＥ＜ＤＸＥＳＩＺＥである場合には、ステップＳ１００５に戻り、一方、ＸＥ＞ＤＸＥＳＩＺＥであれば、ＩＸ・ＩＹカウント処理装置１１３により、つぎに補間するＹ座標を求める（ステップＳ１０１０）。
【００６７】
続いて、その値が補間するＹ値終点ＹＥを超えたか否かを判断する（ステップＳ１０１１）。ここで、ＩＹがＹ値終点ＹＥを超えていないと判断した場合にはステップＳ１００４に戻り、一方、ＩＹがＹ値終点ＹＥを超えたと判断した場合には、さらにＹＥが変倍されたディステイネーション画像の座標Ｙ終点ＤＹＥを超えたか否かを判断する（ステップＳ１０１２）。ここで、ＹＥがＤＹＥを超えていないと判断した場合にはステップＳ１００２に戻り、一方、ＹＥがＤＹＥを超えたと判断した場合にはこの変倍処理を終了する。
【００６８】
つぎに、上述した変倍処理装置１０６を構成する各機能ブロックについて説明する。図７は、図５における変倍処理装置１０６に含まれる元画素格納装置１１０の構成を示すブロック図である。この元画素格納装置１１０は、レジスタ１１６ａ〜１１６ｈで構成されている。これら８つのレジスタ１１６ａ〜１１６ｈは、順次データを格納し、ハーフトーン処理装置１０７のＭＡＸ並列処理の画素分の画素を格納する。
【００６９】
図８は、図５における変倍処理装置１０６に含まれる変倍率生成装置１１１の構成を示すブロック図である。この変倍率生成装置１１１は、減算器１１７ａ〜１１７ｄと、除算器１１８ａ，１１９ｂと、レジスタ１１９ａ，１１９ｂと、を備えている。さらに、除算器１１８ａには減算器１１７ａ，１１７ｂの出力値が入力され、除算器１１８ｂには減算器１１７ｃ，１１７ｄの出力値が入力される。また、レジスタ１１９ａは、除算器１１８ａの出力を取り込み、Ｘ方向の変倍率（ＲＡＴＥＸ）を格納する。レジスタ１１９ｂは、除算器１１８ｂの出力を取り込み、Ｙ方向の変倍率（ＲＡＴＥＹ）を格納する。
【００７０】
図５に示すように、変倍率生成装置１１１は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｘ終点ＳＸＥ、Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥと変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥ、Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＸ，Ｙ方向の変倍率ＲＡＴＥＸ，ＲＡＴＥＹを求め、ＤＤＡ処理装置１１２に転送する。
【００７１】
すなわち、変倍率生成装置１１１は、ＲＡＴＥＸ＝（ＳＸＥ−ＳＸＳ）／（ＤＸＥ−ＤＸＳ）の演算により、Ｘ方向の変倍率（ＲＡＴＥＸ）を求める。さらに、変倍率生成装置１１１は、ＲＡＴＥＹ＝（ＳＹＥ−ＳＹＳ）／（ＤＹＥ−ＤＹＳ）の演算により、Ｙ方向の変倍率（ＲＡＴＥＹ）を求める。
【００７２】
図９は、図５における変倍処理装置１０６に含まれるＤＤＡ処理装置１１２の構成を示すブロック図である。図において、符号１２１はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ１２２に初期値のディステイネーション画像の座標Ｘ始点ＤＸＳを転送し、その順次加算されていく加算器１２５の出力を送るものである。また、符号１２２は現在処理中のＸ値を格納するレジスタ、符号１２３は乗算器であり、Ｘ方向変倍率ＲＡＴＥＸとハーフトーン処理装置１０７のＭＡＸの並列処理画素数を乗算し複数画素の分の微差分を求める。また、符号１２４は乗算器１２３で求めた値を格納するレジスタ、符号１２５はレジスタ１２２，１２４それぞれの出力値を加算する加算器、符号１２６は補間するＸ終点を格納するレジスタ、符号１２７は補間するＸ始点を格納するレジスタである。
【００７３】
また、符号１２８はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ１２９に初期値のディステイネーション画像の座標Ｙ始点ＤＸＳを転送し、その順次加算されていく加算器１３１の出力を送るものである。また、符号１２９は現在処理中のＹ値を格納するレジスタ、符号１３０は変倍率生成装置１１１で求めたＹ方向変倍率ＲＡＴＥＹを格納するレジスタ、符号１２５はレジスタ１２９，１３０それぞれの出力値を加算する加算器、符号１２６は補間するＹ終点を格納するレジスタ、符号１２７は補間するＹ始点を格納するレジスタである。
【００７４】
このＤＤＡ処理装置１１２は、変倍率生成装置１１１から出力された変倍率（ＲＡＴＥＸ、ＲＡＴＥＹ）とディステイネーション画像のＸ始点ＤＸＳ、Ｙ始点ＤＹＳを受け取り、図２の○（拡大された画素）に示すように、入力された画像の変倍後の座標をＤＤＡ（デジタル微分解析）により随時求める。この例では、ＤＤＡ処理装置１１２は、図５に示すように、補間するため、補間されるＸ始点、Ｘ終点、Ｙ始点、Ｙ終点を求め、ＩＸ・ＩＹカウント装置１１３と変倍画素係数生成装置１１４へ転送する。
【００７５】
このとき、Ｘ方向においては、ハーフトーン処理装置１０７のＭＡＸの並列処理画素分のＤＤＡを行なう。そのため、Ｘ方向のＤＤＡ処理は、図９に示すように、現在のＸ座標値に変倍率生成装置１１１で求めたＸ方向変倍率ＲＡＴＥＸにハーフトーン処理装置１０７のＭＡＸの並列処理画素数を乗算した値を順次加算し、一方、Ｙ方向においては、図９に示すように、現在のＹ座標に変倍率生成装置１１１で求めたＹ方向変倍率ＲＡＴＥＹを順次、加算する。
【００７６】
図１０は、図５における変倍処理装置１０６に含まれるＩＸ・ＩＹカウント装置１１３の構成を示すブロック図である。図において、符号１３５は比較器であり、ＤＤＡ処理装置１１２からのＸＥ値とディステイネーション画像の座標Ｘ終点ＤＸＥを比較し、Ｘ座標がＸ終点ＤＸＥと等しくなったことをＸＥＮＤＦＬ信号として生成する。符号１３６は比較器であり、ＤＤＡ処理装置１１２からのＹＥ値とディステイネーション画像の座標Ｙ終点ＤＹＥを比較し、Ｙ座標がＹ終点ＤＹＥと等しくなったことをＹＥＮＤＦＬ信号として生成する。
【００７７】
また、符号１３７はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ１３８に、初期値のソース画像の座標Ｙ始点ＳＹＳを転送し、その後、順次加算されていく加算器１３９の出力を送る。符号１３８は現在処理中のＹ値を格納するレジスタである。符号１３９は加算器、符号１４０は比較器であり、現在処理中のＹ値とＤＤＡ処理装置１１２からのＹＥ値を比較し、Ｙ座標がＹ終点ＹＥと等しくなったことをＩＹＥＮＤＦＬ信号として出力する。
【００７８】
図１１は、図５における変倍処理装置１０６に含まれる変倍画素係数生成装置１１４の構成を示すブロック図である。この変倍画素係数生成装置１１４は、ハーフトーン処理装置１０７の並列処理数と同じ数の画素のＸ幅を求める並列Ｘ幅生成装置１４１と、その複数のＸ幅を受け取りハーフトーン処理装置１０７の並立処理数へ分けて出力する出力Ｘ幅生成装置１４２と、から構成されている。
【００７９】
すなわち、この変倍画素係数生成装置１１４は、ＤＤＡ処理装置１１２からの補間するＸ方向の始点ＸＳと変倍率生成装置１１１により求めたＸ方向変倍率ＲＡＴＥＸとから、並列Ｘ幅生成装置１４１で元画像格納装置１１０が出力する画素数分のＤＤＡにより、各画素のＸ座標を求め、さらにそのＸ座標から、各画素間のＸ幅を算出する。ついで、出力Ｘ幅生成装置１４２により、ハーフトーン処理装置１０７の並列処理数に合わせて出力するための処理を行ない、各画素のＸ幅の累積加算値と、その画素数を変倍画素変換装置１１５に送る。
【００８０】
図１２は、図１１の変倍画素係数生成装置１１４における並列Ｘ幅生成装置１４１の構成を示すブロック図である。この並列Ｘ幅生成装置１４１は、加算器１４３ａ〜１４３ｆと、減算器１４４ａ〜１４４ｆと、を備えている。加算器１４３ａ〜１４３ｆは、ＤＤＡ処理装置１１２により求めたＸ始点と変倍率生成装置１１１により求めたＸ方向変倍率ＲＡＴＥＸを受け取り、複数画素のＸ値を求める。減算器１４４ａ〜１４４ｆは、各画素間の幅を求める。
【００８１】
図１３は、図１１の変倍画素係数生成装置１１４における出力Ｘ幅生成装置１４２の構成を示すブロック図である。この出力Ｘ幅生成装置１４２は、マルチプレクサ（ＭＵＸ）１４５ａ〜１４５ｆと、レジスタ１４６ａ〜１４６ｆと、累積加算処理装置（Ａ）１４７と、ＷＸＷＩＤＴＨ更新処理装置１４８と、出力用ＸＷＩＤＴＨ生成処理装置１４９と、累積加算処理装置（Ｂ）１５０と、を備えている。
【００８２】
図１３に示す出力Ｘ幅生成装置１４２は、並列Ｘ幅生成装置１４１からの各画素のＸ幅を受け取ってレジスタ１４６ａ〜１４６ｆに格納し、受け取ったすべての画素が処理し終わるまで保持する。そして、ＷＸＷＩＤＴＨ更新処理装置１４８により、出力された画素分の各画素のＸ幅を画素番号の小さいレジスタから減算し、マルチプレクサ１４５ａ〜１４５ｆを通し、レジスタ１４６ａ〜１４６ｆを更新する。
【００８３】
累積加算処理装置（Ａ）１４７は、レジスタ１４６ａ〜１４６ｆに格納しているＸ幅を累積加算する。ＷＸＷＩＤＴＨ更新処理装置１４８は、累積加算処理装置（Ａ）１４７の出力する累積加算値を受け取り各画素点での累積加算値から、ハーフトーン処理装置１０７のＭＡＸ並列処理数を超える最初の累積加算点を求め、その画素までの更新値を生成し、マルチプレクサ１４５ａ〜１４５ｆを通し、対応するレジスタ１４６ａ〜１４６ｆの値を更新する。
【００８４】
出力用ＸＷＩＤＴＨ生成処理装置１４９は、累積加算処理装置（Ａ）１４７の出力する累積加算値を受け取り各画素点での累積加算値から、ハーフトーン処理装置１０７のＭＡＸ並列処理数を超える最初の累積加算点を求め、その画素までの出力するＸ幅を求め、累積加算処理装置（Ｂ）１５０へ転送する。累積加算処理装置（Ｂ）１５０は、変倍画素変換装置１１５の処理に必要な累積加算を行なう。
【００８５】
図１４は、図１３の出力Ｘ幅生成装置１４２における累積加算処理装置（Ａ）１４７の構成を示すブロック図である。この累積加算処理装置（Ａ）１４７は、各画素までの累積加算値を求める加算器１５１ａ〜１５１ｆを備える。
【００８６】
つぎに、図１３のＷＸＷＩＤＴＨ更新処理装置１４８の動作について図１５に示すフローチャートを参照し、説明する。まず、０番の画素のＸ幅がハーフトーン処理装置１０７の並列処理数（この例では「８」である）以上であるか否かを判断する（ステップＳ１）。ここで、０番目の並列処理数が８以上であると判断した場合、０番目のＸ幅からハーフトーン処理装置１０７の並列処理数を減算し、新たな０番目のＸ幅値を求める（ステップＳ２）。
【００８７】
ステップＳ１において０番目の並列処理数が８未満であると判断した場合、０〜１番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であるか否かを判断する（ステップＳ３）。ここで、０〜１番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であると判断した場合、０番目のＸ幅を０とし、１番目のＸ幅からハーフトーン処理装置１０７の並列処理数から０番目のＸ幅を減算した値を減算し、新たな１番目のＸ値を求める（ステップＳ４）。以下、以上の動作順序で該当する各画素間の新たなＸ幅値を求める処理を実行する（ステップＳ５〜Ｓ１７）。
【００８８】
つぎに、図１３の出力用ＸＷＩＤＴＨ生成処理装置１４９の動作について図１６に示すフローチャートを参照し説明する。まず、出力する各画素のＸ幅の初期化を行なう（ステップＳ２１）。続いて、０番目の画素のＸ幅がハーフトーン処理装置１０７の並列処理数（この例では「８」である）以上であるか否かを判断する（ステップＳ２２）。ここで、０番目の画素のＸ幅がハーフトーン処理装置１０７の並列処理数８であれば、０番目の出力するＸ幅へハーフトーン処理装置１０７の並列処理数をセットし、処理する画素数ＰＮＵＭへハーフトーン処理装置１０７の並列処理数をセットする（ステップＳ２３）。
【００８９】
続いて、０〜１番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であるか否かを判断する（ステップＳ２４）。ここで、０〜１番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であると判断した場合、０番目の出力するＸ幅へ０番目のＸ幅ＷＸＷＩＤＴＨ０をセットし、１番目の出力するＸ幅へ、ハーフトーン処理装置１０７の並列処理数から０番目のＸ幅を減算した値をセットし、処理する画素数ＰＮＵＭへハーフトーン処理装置１０７の並列処理数をセットする（ステップＳ２５）。
【００９０】
続いて、０〜２番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であるか否かを判断する（ステップＳ２６）。ここで、０〜２番目までの累積Ｘ幅がハーフトーン処理装置１０７の並列処理数８以上であると判断した場合、０番目の出力するＸ幅へ０番目のＸ幅ＷＸＷＩＤＴＨ０をセットし、１番目の出力するＸ幅へ、ハーフトーン処理装置１０７の並列処理数から１番目のＸ幅までの累積加算値を減算した値をセットし、処理する画素数ＰＮＵＭへハーフトーン処理装置１０７の並列処理数をセットする（ステップＳ２７）。
【００９１】
以下、同様の手順による動作を実行する（ステップＳ２８〜Ｓ３７）。続いて、すべての画素のＸ幅の合計がハーフトーン処理装置１０７の並列処理数の以下であるため、すべての画素の出力する画素のＸ幅を更新されてきたレジスタ１４６ａ〜１４６ｆのＸ幅の値をセットし、すべての画素のＸ幅の合計を処理する画素数ＰＮＵＭへセットする（ステップＳ３８）。
【００９２】
図１７は、図１３の出力Ｘ幅生成装置１４２における累積加算処理装置（Ｂ）１５０の構成を示すブロック図である。この累積加算処理装置（Ｂ）１５０は、図示するように、各画素での累積加算値を求める加算器１５２ａ〜１５２ｇを備えている。
【００９３】
つぎに、変倍画素変換装置１１５の動作について図１８〜図２５に示すフローチャートを参照し、説明する。図１８は、変倍画素変換装置１１５の出力画素の０番目の処理動作を示すフローチャートである。まず、変倍画素係数生成装置１１４から０番目の画素のＸ幅“ＤＸＷＩＤＴＨ０”が“０”より大きいか否かを判断する（ステップＳ４１）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ０”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ０の値をセットする（ステップＳ４２）。
【００９４】
続いて、変倍画素係数生成装置１１４から出力される０番目〜１番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ１”が“０”より大きいか否かを判断する（ステップＳ４３）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ１”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ１の値をセットする（ステップＳ４４）。
【００９５】
続いて、変倍画素係数生成装置１１４から出力される０番目〜２番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ２”が“０”より大きいか否かを判断する（ステップＳ４５）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ２”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ２の値をセットする（ステップＳ４６）。
【００９６】
続いて、変倍画素係数生成装置１１４から出力される０番目〜３番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ３”が“０”より大きいか否かを判断する（ステップＳ４７）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ３”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ３の値をセットする（ステップＳ４８）。
【００９７】
続いて、変倍画素係数生成装置１１４から出力される０番目〜４番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ４”が“０”より大きいか否かを判断する（ステップＳ４９）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ４”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ４の値をセットする（ステップＳ５０）。
【００９８】
続いて、変倍画素係数生成装置１１４から出力される０番目〜５番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ５”が“０”より大きいか否かを判断する（ステップＳ５１）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ５”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ５の値をセットする（ステップＳ５２）。
【００９９】
続いて、変倍画素係数生成装置１１４から出力される０番目〜６番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ６”が“０”より大きいか否かを判断する（ステップＳ５３）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ６”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ６の値をセットする（ステップＳ５４）。
【０１００】
続いて、変倍画素係数生成装置１１４から出力される０番目〜７番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ７”が“０”より大きいか否かを判断する（ステップＳ５５）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ７”が“０”より大きいと判断した場合、出力画素０番目は元画素格納装置１１０のＤＡＴＡ７の値をセットする（ステップＳ５６）。
【０１０１】
図１９は、変倍画素変換装置１１５の出力画素の１番目の処理動作を示すフローチャートである。まず、変倍画素係数生成装置１１４から０番目の画素のＸ幅“ＤＸＷＩＤＴＨ０”が“１”より大きいか否かを判断する（ステップＳ６１）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ０”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ０の値をセットする（ステップＳ６２）。
【０１０２】
続いて、変倍画素係数生成装置１１４から出力される０番目〜１番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ１”が“１”より大きいか否かを判断する（ステップＳ６３）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ１”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ１の値をセットする（ステップＳ６４）。
【０１０３】
続いて、変倍画素係数生成装置１１４から出力される０番目〜２番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ２”が“１”より大きいか否かを判断する（ステップＳ６５）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ２”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ２の値をセットする（ステップＳ６６）。
【０１０４】
続いて、変倍画素係数生成装置１１４から出力される０番目〜３番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ３”が“１”より大きいか否かを判断する（ステップＳ６７）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ３”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ３の値をセットする（ステップＳ６８）。
【０１０５】
続いて、変倍画素係数生成装置１１４から出力される０番目〜４番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ４”が“１”より大きいか否かを判断する（ステップＳ６９）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ４”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ４の値をセットする（ステップＳ７０）。
【０１０６】
続いて、変倍画素係数生成装置１１４から出力される０番目〜５番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ５”が“１”より大きいか否かを判断する（ステップＳ７１）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ５”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ５の値をセットする（ステップＳ７２）。
【０１０７】
続いて、変倍画素係数生成装置１１４から出力される番目〜６番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ６”が“１”より大きいか否かを判断する（ステップＳ７３）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ６”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ６の値をセットする（ステップＳ７４）。
【０１０８】
続いて、変倍画素係数生成装置１１４から出力される０番目〜７番目の画素のＸ幅の累積の“ＤＸＷＩＤＴＨ７”が“１”より大きいか否かを判断する（ステップＳ７５）。ここで、０番目の画素のＸ幅“ＤＸＷＩＤＴＨ７”が“１”より大きいと判断した場合、出力画素１番目は元画素格納装置１１０のＤＡＴＡ７の値をセットする（ステップＳ７６）。
【０１０９】
このように、この変倍画素変換装置１１５は、ハーフトーン処理装置１０７の出力装置の並列処理画素分（この例では「８」）の画素を求める。したがって、上述した図１８、図１９に続いて出力画素の２番目以降の処理を図２０〜図２５に示すフローチャートにしたがって実行する。すなわち、図２０では出力画素の２番目の処理（ステップＳ８１〜Ｓ９６）、図２１では出力画素の３番目の処理（ステップＳ１０１〜Ｓ１１６）、図２２では出力画素の４番目の処理（ステップＳ１２１〜Ｓ１３６）、図２３では出力画素の５番目の処理（ステップＳ１４１〜Ｓ１５６）、図２４では出力画素の６番目の処理（ステップＳ１６１〜Ｓ１７６）、図２５では出力画素の７番目の処理（ステップＳ１８１〜Ｓ１９６）、を実行する。
【０１１０】
つぎに、ハーフトーン処理装置１０７について詳述する。図２６は、本発明の実施の形態にかかる画像処理装置１０３のハーフトーン処理装置１０７の構成を示すブロック図である。このハーフトーン処理装置１０７は、水平マトリックスサイズが、並列に比較される多値データの数より大きい場合の構成例について示している。
【０１１１】
図２６において、符号１６１はしきい値マトリックスアドレス生成装置、符号１６２は水平しきい値マトリックス記憶装置、符号１６３は多値データシフト装置、符号１６４は並列比較装置、符号１６５は有効ＢＩＴ生成装置、符号１６６は固定長データ生成装置、符号１６７はこのハーフトーン処理装置１０７全体を制御するコントローラである。
【０１１２】
しきい値マトリックスアドレス生成装置１６１は、パラメータ格納装置１０９から水平しきい値マトリックスサイズの大きさなどを受け取り、しきい値マトリックスメモリ１０８のアドレスを生成する。水平しきい値マトリックス記憶装置１６２は、しきい値マトリックスメモリ１０８から水平ラインで使用されるすべてのしきい値マトリックスを読み込み記憶する。多値データシフト装置１６３は、変倍処理装置１０６から水平方向に複数の変倍後の多値データを受け取り、水平しきい値マトリックス記憶装置１６２のしきい値マトリックスに対応する位置を示す多値データ始点により、多値データをシフトさせる。
【０１１３】
並列比較装置１６４は、多値データシフト装置１６３によりシフトされたシフトデータと水平しきい値マトリック記憶装置１６２からのしきい値マトリックスとを並列に比較する。有効ＢＩＴ生成装置１６５は、並列比較装置１６４で求めた２値データを有効データとして左シフトさせ、固定長データ生成装置１６６へ有効データの長さである有効データ数を送ることにより、有効データを切りだしやすくする。
【０１１４】
固定長データ生成装置１６６は、有効ＢＩＴ生成装置１６５で求めた２値データをコントローラ１６７が示す有効数（多値データ数）分だけ、固定長のデータに加えていくことにより、固定長のデータを生成する。コントローラ１６７は、変倍処理装置１０６から、水平補間された画素の有効数を受け取り、このハーフトーン処理装置１０７全体を制御する。
【０１１５】
図２７は、図２６のハーフトーン処理装置１０７の具体的構成例を示すブロック図であり、水平方向のしきい値マトリックスサイズ（ｍ）が２３（２４個）の場合の例について示している。
【０１１６】
図２８は、本発明の実施の形態にかかるハーフトーン処理装置１０７の動作を示すフローチャートである。このハーフトーン処理装置１０７はコントローラ１６７によって実行される。
【０１１７】
図２８において、まず、しきい値マトリックスアドレス生成装置１６１が示すしきい値マトリックスメモリ１０８より水平方向のしきい値マトリックスを読み込み（ステップＳ２０１）。多値データ始点に多値オフセット数をセットする（ステップＳ２０２）。ついで、水平しきい値マトリックス記憶装置１６２にしきい値マトリックスメモリ１０８から読み込んだ水平方向のしきい値マトリックスを記憶する（ステップＳ２０３）。
【０１１８】
続いて、多値データシフト装置１６３により、多値データ始点だけシフトする（ステップＳ２０４）。さらに並列比較装置１６４により、多値データシフト装置１６３の出力と水平しきい値マトリックス記憶装置１６２の出力との比較を行ない、２値化する（ステップＳ２０５）。ついで有効ＢＩＴ生成装置１６５により、２値化された有効値を先頭にシフトし（ステップＳ２０６）、固定長データ生成装置１６６により、有効ＢＩＴ生成装置１６５で切り出されたデータを固定長データに追加していく（ステップＳ２０７）。
【０１１９】
続いて、多値データ始点＝（多値データ始点＋多値有効数）の処理を実行し（ステップＳ２０８）、その多値データ始点が水平しきい値マトリックスサイズ以上であるか否かを判断する（ステップＳ２０９）。ここで、多値データ始点が水平しきい値マトリックスサイズ以上であると判断した場合（判断、Ｙｅｓ）、多値データ始点＝（多値データ始点―水平しきい値マトリックスサイズ）とする（ステップＳ２１０）。
【０１２０】
ステップＳ２０９で多値データ始点が水平しきい値マトリックスサイズ以上ではないと判断した場合、あるいはステップＳ２１０を実行すると、さらに水平方向にすべて上述の処理が終了したか否かを判断し（ステップＳ２１１）、終了していなければステップＳ２０４に戻り、終了したならば、さらに垂直方向にすべて終了した否かを判断する（ステップＳ２１２）。ここで、垂直方向にすべて終了していなければステップＳ２０１に戻り、垂直方向においてもすべて終了したと判断した場合、すなわち、水平・垂直方向においてすべて終了したならば、このハーフトーン処理を終了する。
【０１２１】
つぎに、図２６のハーフトーン処理装置１０７における多値データシフト装置１６３の動作について図２９〜図３４に示すフロチャートを参照し説明する。これらの図２９〜図３４のフローチャートでは、変倍処理装置１０６から変倍後の複数の多値データ（本例では０〜７）を受け取り、水平しきい値マトリックス記憶装置１６２のしきい値マトリックスサイズ（本例では２４個）に対応する位置を示す多値データ始点により、多値データをシフトさせる。
【０１２２】
図２９に示すフローチャートでは、多値データ始点が０、１、２、３であるか否かをそれぞれ判断し（ステップＳ２２１、Ｓ２２３、Ｓ２２５、Ｓ２２７）、多値データ始点が該当する値であれば、多値データをそれぞれシフトさせる（ステップＳ２２２、Ｓ２２４、Ｓ２２６、Ｓ２２８）。続いて、図３０に示すように、多値データ始点が４、５、６、７であるか否かをそれぞれ判断し（ステップＳ２２９、Ｓ２３１、Ｓ２３３、Ｓ２３５）、多値データ始点が該当する値であれば、多値データをそれぞれシフトさせる（ステップＳ２３０、Ｓ２３２、Ｓ２３４、Ｓ３６）。以下、同様に図３１〜図３４に示すように、多値データ始点８〜２３についてそれぞれ多値データのシフトを実行する。
【０１２３】
つぎに、ハーフトーン処理装置１０７を構成する各機能ブロックについて説明する。図３５は、図２７のハーフトーン処理装置１０７における並列比較装置１６４の構成を示すブロック図である。この並列比較装置１６４は、水平方向のしきい値マトリクッスサイズが“２４個”であるため、２４個の比較器１７０（０）〜１７０（２３）が配列されている。ここでは、多値データシフト装置１６３によりシフトされた変倍データと水平しきい値マトリックス記憶装置１６２から複数個のしきい値とが各画素で比較する。
【０１２４】
つぎに、図２６のハーフトーン処理装置１０７における有効ＢＩＴ生成装置１６５の動作について図３６〜図４１に示すフロチャートを参照し説明する。これらの図３６〜図４１のフローチャートでは、並列比較装置１６４で求めた２値データ（本例では０〜２３）を有効データを左シフトさせ、固定長データ生成装置１６６へ、有効データの長さである有効２値データ（０〜７）を送る。
【０１２５】
図３６に示すフローチャートでは、多値データ始点が０、１、２、３であるか否かをそれぞれ判断し（ステップＳ２７１、Ｓ２７３、Ｓ２７５、Ｓ２７７）、多値データ始点が該当する値であれば、図示するように、２値データそれぞれに対応する有効２値データをセットする（ステップＳ２７２、Ｓ２７４、Ｓ２７６、Ｓ２７８）。続いて、図３７に示すように、多値データ始点が４、５、６、７であるか否かをそれぞれ判断し（ステップＳ２７９、Ｓ２８１、Ｓ２８３、Ｓ２８５）、多値データ始点が該当する値であれば、図示するように、２値データそれぞれに対応する有効２値データをセットする（ステップＳ２８０、Ｓ２８２、Ｓ２８４、Ｓ２８６）。以下、同様に図３８〜図４１に示すように、多値データ始点８〜２３についてそれぞれ図示するような値をセットする。
【０１２６】
図４２は、図２７のハーフトーン処理装置１０７における固定長データ生成装置１６６の構成を示すブロック図である。この固定長データ生成装置１６６は、シフタ１７１と、ＯＲ装置１７２と、レジスタ１７３，１７４と、加算器１７５と、レジスタ１７６とを備えている。
【０１２７】
シフタ１７１は、有効ＢＩＴ生成装置１６５から複数の２値化後の有効データを受け取り、現在作成中の固定長データの最終の値に合わせるためのシフト処理を行なう。ＯＲ装置１７２は、シフタ１７１でシフトされた値を現在作成中の値とＯＲ処理を行ない、この結果を入れ込んでいく。レジスタ１７４は、現在作成中の固定長データを格納し、ＯＲ装置１７２によって新たに入れ込まれた値を格納することにより更新する。
【０１２８】
加算器１７５は、多値データ数を受け取り、つぎのシフタ１７１の先頭値を求めるために、レジスタ１７６の固定長データの最終値と加算処理する。レジスタ１７６は、固定長データの最終値を格納し、シフタ１７１を制御する。レジスタ１７３は、ＯＲ装置１７２で生成される固定長データ幅をすべて満たしたデータを格納し、２値画像書き込み装置１０４（図１参照）へ転送する。
【０１２９】
図４３にしきい値マトリックス記憶装置１０８における２４×２４のサイズのフォーマット例を示す。図４４に図４３のしきい値マトリックスを使用した処理の推移例を示す。
【０１３０】
図４５は、図２６とは異なるハーフトーン処理装置１０７の構成を示すブロック図である。すなわち、このハーフトーン処理装置１０７は、水平しきい値マトリックスサイズが、並列に比較される多値データの数より小さい場合の構成例について示している。したがって、この例では、水平マトリックスサイズと同じサイズの並列比較装置が複数あり、その複数の並列比較装置により、水平しきい値マトリックスサイズを超える複数の多値データを、同様に比較する。
【０１３１】
したがって、この例では、水平マトリックスサイズと同じサイズの並列比較装置が複数あり、その複数の並列比較装置により、水平しきい値マトリックスサイズを超える複数の多値データを、同様に比較する。このため、図２６の構成に対し、図４５では並列比較装置１６４ａ，１６４ｂを配置している。なお、他の構成要素の動作は基本的に図２６と同様であるので同一符号を付し、その説明は省略する。
【０１３２】
図４６は、図４５のハーフトーン処理装置１０７の具体的構成例を示すブロック図であり、水平方向のＭＡＸのハーフトーン処理数（ｎ）が１５（１６個）、水平方向のしきい値マトリックスサイズ（ｍ）が７（８個）の場合の例について示している。
【０１３３】
上記図４５（図４６）のように構成されたハーフトーン装置１０７において、全体的な処理は前述した図２８の処理にしたがって行なわれるが、ステップＳ２０５における並列比較処理は並列比較装置１６４ａ，１６４ｂで実行する。また、多値データシフト装置１６３の動作は図２９〜図３４と同様に、並列比較処理は図３５に示す装置構成で行なわれ、有効ＢＩＴ生成装置１６５の動作は図３６〜図４１と同様に行ない、さらに固定長データ生成装置１６６の動作も図４２の装置で実行される。
【０１３４】
（実施の形態２）
この実施の形態２の画像処理装置は、しきい値マトリックスメモリから読み出されるしきい値データを処理走査ラインが終了するまで、再利用可能なように処理に適用する全しきい値データをレジスタに取り込み、複数の変倍データを対応するしきい値と比較するために、シフトさせ、複数の変倍データと比較処理することにより、複数ドットの２値化処理の高速化を図るものである。以下、具体的に説明する。
【０１３５】
図４７は、この実施の形態２にかかる画像処理装置を搭載した多色画像形成装置の構成を示す説明図である。この多色画像形成装置は、大きくは、電子写真プロセスに基づいて、像担持体であるベルト状感光体（以下、感光体という）１、帯電チャージャ４、レーザ書き込みユニット５、多色現像ユニット６、ブラック現像ユニット７、中間転写ベルト１０、クリーニングユニット（クリーニングブレード１５Ａ）、除電ランプＬ、を備えている。また、トナー像が転写される記録紙を収容し給紙する給紙装置１７、転写後の記録紙上のトナー像を定着する定着装置５０を備えている。
【０１３６】
感光体１は、回転ローラ２，３によって回転可能に支持され、回転ローラ２，３の回転により矢印Ａ方向に所定速度で回動される。感光体１の外周部には、帯電チャージャ４、除電ランプＬ、感光体用のクリーニングブレード１５Ａが配置されている。
【０１３７】
帯電チャージャ４の下方には、レーザ書き込みユニット５が設けられている。この感光体１の左側には多色現像ユニット６が配置され、さらにその上部には黒色トナーを収容したブラック現像ユニット７が配置されている。多色現像ユニット５は、レボルバー方式により、イエロー現像ユニット、マゼンタ現像ユニット、シアン現像ユニットが配置されている。
【０１３８】
上述した各現像ユニットのいずれか１つが対応する色の現像タイミングに同期し、現像可能な位置に移動する。多色現像ユニット６は、円周上１２０度の回転によっていずれかの現像ユニットが選択されるように構成されている。そして、これらの現像ユニットが動作するときには、ブラック現像ユニット７は感光体１より離間した位置に移動する。この移動はカム４５の回転によって行なわれる。
【０１３９】
レーザ書き込みユニット５は、所定の回転数で駆動されるポリゴンモータ５Ａと、ポリゴンモータ５Ａで駆動され、レーザ光を偏向走査するポリゴンミラー５Ｂと、走査されたレーザ光を感光体上で等ピッチで照射されるように光学補正するｆθレンズ５Ｃと、レーザ光を感光体１に導くミラー５Ｄと、を備えている。
【０１４０】
レーザ書き込みユニット５は、レーザ光源（不図示）から複数色の画像形成信号（書き込み情報）に応じたレーザ光を変調出力させ、ポリゴンモータ５Ａによって回転されるポリゴンミラー５Ｂを用い、レーザ光を周期的に偏向させ、ｆθレンズ５Ｃおよびミラー５Ｄなどを経て、あらかじめ帯電された感光体１の表面に光走査し、感光体１上に静電潜像を形成する。
【０１４１】
感光体１の表面に形成される静電潜像は、対応する現像ユニットからのトナーによって現像され、可視像として感光体１に保持される。中間転写ベルト１０は、感光体１に隣接して配置され、回転ローラ１１，１２により矢印Ｂ方向に回動可能に支持されている。感光体１上のトナー像は、中間転写ベルト１０の裏側に設けれた転写ブラシ１３により、その中間転写ベルト１０の表面に転写される。
【０１４２】
感光体１の表面は１色ごとにクリーニングブレード１５Ａによってクリーニングされ、その表面に所定色のトナー像が形成される。そして、その都度、中間転写ベルト１０上に複数色のトナー像が重ね合わせられて保持される。その後、そのトナー像は記録紙あるいはプラスチックなどの記録媒体に転写される。
【０１４３】
記録紙への転写を行う場合、給紙装置１７に収納されている記録紙は、給紙ローラ１８によって１枚繰り出され、さらに搬送ローラ１９により搬送され、レジストローラ対２０に突き当てられた状態で一旦停止された後、トナー像の転写位置が正規の位置となるようにタイミングがとられ、中間転写ベルト１０と転写ローラ１４のニップに再搬送される。
【０１４４】
そして、この記録紙は、転写ローラ１４の作用により中間転写ベルト１０上の複数色のトナー像が一括転写された後、定着装置５０に送られてそのトナー像が定着された後、排紙ローラ対５１により本体フレーム９の上部の排紙トレイ５２に排紙される。
【０１４５】
中間転写ベルト１０には、回転ローラ１１の部位に中間転写ベルト１０用のクリニング装置１６が設けられ、クリーニングブレード１６Ａがクリーニングブレード接離用アーム１６Ｃを介して接離自在の構成になっている。このクリーニングブレード１６Ａは、感光体１からトナー像を受け取る工程では、中間転写ベルト１０から離れ、中間転写ベルト１０より記録紙にトナー像が転写された後に接触するように構成され、記録紙にトナー像が転写された後の残留トナーをかきとる。
【０１４６】
感光体１および中間転写ベルト１０からかきとった廃トナーは、回収容器１５に収容される。なお、回収容器１５は適宜交換される。中間転写ベルト１０用のクリーニング装置１６の内部に設けれたオーガ１６Ｂが、クリーニングブレード１６Ａでかきとった廃トナーを搬送し、搬送手段（不図示）で回収容器１５に送る。
【０１４７】
符号３１はユニット化されたプロセスカートリッジであり、感光体１、中間転写ベルト１０、クリーニング装置１６、用紙搬送路を形成する搬送ガイド３０などを一体に組み込み、寿命到来時に交換できるように構成されている。プロセスカートリッジ３１の交換の他に、多色現像ユニット６、ブラック現像ユニット７なども寿命到来時に交換するが、その交換性やジャム紙の処理を容易にするため、本体の一部の前フレーム８は支軸９Ａを中心に開閉可能に回動できるように構成されている。
【０１４８】
また、符号６０は、電装・制御装置であり、その上部にはファン５８が設けられている。このファン５８は、機内の温度上昇防止のために排風する。また、符号５９は比較的小規模な給紙を行なう給紙装置である。
【０１４９】
図４８は、図４７の多色画像形成装置における電装・制御装置６０の構成を示すブロック図である。この電装・制御装置６０は、大きくは、バス２０１上に、画像メモリアクセラレータ２００、エンジンコントローラ２０２、パネルコントローラ２０３、が接続されている。
【０１５０】
画像メモリアクセラレータ２００は、バスコントローラ２０６、メモリアービター２０７、ローカルＩ／Ｆ２０８、ＣＰＵＩ／Ｆ２０９、メモリコントローラ２１０、通信コントローラ２１１、ＤＭＡ２１２、画像処理装置２１５を備えている。
【０１５１】
エンジンコントローラ２０２にはプリンタエンジン２０４が接続され、パネルコントローラ２０３には操作パネル２０５が接続されている。また、ローカルＩ／Ｆ２１６にはＲＯＭ、ＣＰＵＩ／Ｆ２０９にはＣＰＵ２１７、メモリコントローラ２１０には画像メモリ２１８がそれぞれ接続されている。
【０１５２】
画像メモリアクセラレータ２００は、ＣＰＵ２１７によって制御され、ネットワークを介してホストコンピュータ（不図示）から画像データを受け取って画像メモリ２１８に転送し、また、その画像データをエンジンコントローラ２０２へ転送しプリント出力の指示などを行なう。このとき、各ホストとの通信や画像メモリ２１８をメモリコントローラ２１０で制御させたり、操作パネル２０５から指示された情報を取得し、さらにエンジンコントローラ２０２などに対し、バス制御を実行する。
【０１５３】
バスコントローラ２０６は、バス２０１とつながる各周辺コントローラとのバスの調停を行なう。メモリアービター２０７は、画像メモリ２１８と各種のコントローラ間の調停を行なう。ローカルＩ／Ｆ２０８は、ＲＯＭ２１６などのインタフェースであり、メモリアービター２０７を介して画像メモリ２１８やＣＰＵ２１７と接続されている。
【０１５４】
ＲＯＭ２１６は、各種の制御プログラムや、文字などのフォント情報を格納している。ＣＰＵＩ／Ｆ２０９は、ＣＰＵ２１７のインタフェースであり、メモリアービーター２０７を介して画像メモリ２１８や各種コントローラに接続されている。ＣＰＵ２１７は、この多色画像形成装置全体の制御を実行する。
【０１５５】
メモリコントローラ２１０は、画像メモリ２１８を制御し、メモリアービター２０７を介して各種コントローラやＣＰＵ２１７と接続されている。画像メモリ２１８は、画像データやその符号データ、ＣＰＵ２１７のプログラムなどを格納している。通信コントローラ２１１は、ネットワークに接続されており、ネットワークからの各種データやコマンドを受け取り、また、メモリアービター２０７を介して各種コントローラに接続されている。
【０１５６】
画像処理装置２１５は、この実施の形態２による画像処理を実行するものであり、ＣＰＵ２１７からの命令により画像メモリ２１８から画像を読み込み、所定の画像処理を行なった後、その画像データを画像メモリ２１８に書き込む。
【０１５７】
パネルコントローラ２０３は、操作パネル２０５を制御する。操作パネル２０５は、ユーザによる入力操作などが行なわれるように各種キー群やパネルなどを備えている。バス２０１は、画像メモリアクセラレータ２００と各種周辺コントローラとを接続する。ＤＭＡ２１２は、メモリコントローラ２１０とバス２０１に接続されたエンジンコントローラ２０２間のダイレクトメモリアクセスを実行する。
【０１５８】
図４９は、図４８における画像処理装置２１５の構成を示すブロック図である。この画像処理装置２１５は、メモリアービターＩ／Ｆ２２０と、データ変換処理装置２２１と、ハーフトーン処理装置２２２と、パラメータ格納装置２２３と、を備えている。
【０１５９】
メモリアービターＩ／Ｆ２２０は、画像データの画読み込み処理と、ディザデータの読み込み処理と、処理後の書き込み処理のメモリアービター２０７への要求の調停を行ない、データ変換装置２２１へ画像データを、ハーフトーン処理装置２２２へディザデータを転送し、ハーフトーン処理装置２２２からの画像処理後のデータを受け取り、メモリアービター２０７に転送する。また、メモリアービターＩ／Ｆ２２０は、垂直方向の変倍処理を管理し、それに必要な画像データとディザデーダをメモリアービター２０７を介して要求し、処理後の画像をメモリアービター２０７へ転送する。
【０１６０】
データ変換処理装置２２１は、メモリアービターＩ／Ｆ２２０から水平ラインの画像データを受け取り、水平方向の変倍処理、色変換処理、フォルタ処理を行ない、画像データが符号である場合は、画像符号のデコード処理を行ない、画像データへの変換後に、変倍処理、色変換処理、フィルタ処理などを実行し、処理結果をハーフトーン処理装置２２２に転送する。
【０１６１】
ハーフトーン処理装置２２２は、メモリアービターＩ／Ｆ２２０から垂直方向の各ラインの変倍後のライン数分のディザデータを受け取り、データ変換処理装置２２１から画像処理後のデータを水平ラインごと受け取り、ハーフトーン処理を実行する。
【０１６２】
パラメータ格納装置２２３は、ＣＰＵ２１７などから設定されたメモリアービターＩ／Ｆ２２０、データ変換処理装置２２１、ハーフトーン処理装置２２２に必要なパラメータを格納する。
【０１６３】
つぎに、図４９における画像処理装置２１５の変倍処理について図５０に示すフローチャートを参照し、説明する。なお、この例では最近傍法による変倍処理を例にとって説明する。
【０１６４】
まず、メモリアービターＩ／Ｆ２２０は、垂直方向（Ｙ方向）の変倍率を求める処理を行ない（ステップＳ１１０１）、メモリアービター２０７を介して画像メモリ２１８から１ラインの画像データを読み込み、データ変換処理装置２２１に送る（ステップＳ１１０２）。さらに、メモリアービターＩ／Ｆ２２０は、垂直方向（Ｙ方向）の変倍後のライン数分のディザデータを画像メモリ２１８から読み込み、ハーフトーン処理装置２２２へ送る（ステップＳ１１０３）。
【０１６５】
続いて、メモリアービターＩ／Ｆ２２０は、ステップＳ１１０１で求めた垂直方向の変倍率と、ディステイネーション画像の座標Ｙ始点ＤＹＳとから、垂直方向のＤＤＡ（デジタル微分解析）により、変倍後のＹ始点ＹＳとＹ終点ＹＥを求める（ステップＳ１１０４）。さらに、メモリアービターＩ／Ｆ２２０は、変倍後の垂直方向のラインカウンタに上記ＹＳの値を設定する（ステップＳ１１０５）。
【０１６６】
続いて、データ変換装置２２１により１ラインの画像処理（変倍、色変換、フィルタ処理など）を行ない（ステップＳ１１０６）、さらにハーフトーン処理装置２２２により、上記１ラインの画像処理後の画像データにハーフトーン処理を行なう（ステップＳ１１０７）。さらにハーフトーン処理装置２２２は、ハーフトーン処理後の１ラインデータを内部ラインメモリに書き込む（ステップＳ１１０８）。
【０１６７】
続いて、メモリアービターＩ／Ｆ２２０は、変倍後の垂直方向のラインカウンタをカウントアップし（ステップＳ１１０９）、ステップＳ１１０４で求めた垂直方向の変倍後のＹ終点ＹＥを超えたか否かを判断する（ステップＳ１１１０）。ここで、超えていないと判断した場合は、ステップＳ１１０６に戻る。一方、超えたと判断した場合、メモリアービターＩ／Ｆ２２０は、ステップＳ１１０８で書き込まれた内部ラインメモリから画像処理後のデータをメモリアービター２０７を介して画像メモリ２１８へ画像処理後の画像データを書き込む（ステップＳ１１１１）。
【０１６８】
続いて、メモリアービターＩ／Ｆ２２０は、ステップＳ１１０４で求めた垂直方向の変倍後のＹ終点ＹＥがディステイネーション画像の座標Ｙ点ＤＹＥを超えた否かを判断し（ステップＳ１１１２）、超えていないと判断した場合にはステップＳ１１０２に戻り、一方、超えたと判断した場合にはこの一連の処理を終了する。
【０１６９】
図５１は、垂直方向（Ｙ方向）に縮小する場合のタイミング例を示す説明図であり、（ａ）は０．５倍の例、（ｂ）は０．６６６６倍の例である。（ａ）に示す０．５倍の例では、画像処理前の画像データを１つ飛ばしのライン（奇数ラインのみ）を読み込み、ディザパターンデータは順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０１７０】
（ｂ）に示す０．６６６６倍の例では、画像処理前の画像データを３ラインごと１ラインを飛ばして読み込み、ディザパターンデータは順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０１７１】
図５２は、垂直方向（Ｙ方向）に１倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを１ラインごと読み込み、ディザパターンデータは順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０１７２】
図５３は、垂直方向（Ｙ方向）に１．５倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを１ラインごと読み込み、ディザパターンデータを画像処理後、読み込み（この例では、画像処理前データの読み込みを中断しディザパターンを読み込む）、そして、画像処理後のデータを順次１ラインごと書き込んでいく。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、時々、２ラインの画像処理を行なう。
【０１７３】
図５４は、垂直方向（Ｙ方向）に２倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを１ラインごと読み込み、ディザパターンデータを画像処理後、読み込み（この例では、画像処理前データの読み込みを中断しディザパターンを読み込む）、そして、画像処理後のデータを順次１ラインごと書き込んでいく。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、２ラインの画像処理を行なう。
【０１７４】
図５５は、図４９におけるメモリアービターＩ／Ｆ２２０の構成を示すブロック図である。メモリアービターＩ／Ｆ２２０は、メモリアービター２０７に接続されている。メモリアービター２０７はＣＰＵＩ／Ｆ２０９を通してＣＰＵ２１７からのメモリアクセス、ローカルＩ／Ｆ２０８からのメモリアクセスなどのアクセスを調停し、複数の媒体からのメモリアクセスを行なわせ、他の媒体に待機処理を行なわせる。
【０１７５】
メモリアービターＩ／Ｆ２２０は、メモリアービター２０７へ画像処理装置２１５として接続され、画像処理装置２１５として画像メモリ２１８へのアクセス権をメモリアービター２０７へ要求し、データ変換処理装置２２１へ画像処理前の画像データの読み込みをメモリアービター２０７へ要求し、画像データを読み込んでデータ変換処理装置２２１へ転送する。データ変換処理装置２２１が画像符号のデコード処理装置を有する場合、画像データは符号データとして上記処理を行なう。
【０１７６】
また、メモリアービターＩ／Ｆ２２０は、ハーフトーン処理装置２２２へディザデータの読み込みをメモリアービター２０７へ要求し、ディザデータを読み込んでハーフトーン処理装置２２２へ転送し、ハーフトーン処理装置２２２の画像処理後の画像データの書き込みをメモリアービター２０７へ要求し、画像処理後のデータをメモリアービター２０７へ転送する。
【０１７７】
図５６は、図４９におけるメモリアービターＩ／Ｆ２２０の詳細構成を示すブロック図である。このメモリアービターＩ／Ｆ２２０は、変倍率生成装置２２５と、Ｙ‐ＤＤＡ処理装置２２６と、ＩＹカウント装置２２７と、メモリアドレス生成装置２２８と、マルチプレクサ（ＭＵＸ）２２９と、コントローラ２３０とを備えている。
【０１７８】
図５６の変倍率生成装置２２５は、変倍されるソース画像の座標Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥ、変倍後のディステイネーション画像の座標Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＹ方向の変倍率ＲＡＴＥＹを求め、Ｙ‐ＤＤＡ処理装置２２６へ転送する。
【０１７９】
Ｙ‐ＤＤＡ処理装置２２６は、変倍率生成装置２２５からのＹ方向の変倍率と、ディステイネーション画像の座標Ｙ始点ＤＹＳを受け取り、図２に示す垂直方向の○（拡大された画素）のように、入力された画像の変倍後のＹ座標をＤＤＡ（デジタル微分解析）により、Ｙ始点ＹＳとＹ終点ＹＥを求め、その差分（変倍後のライン数）ＤＹを求め、ＩＹカウント装置２２７とメモリアドレス生成装置２２８へ転送する。
【０１８０】
ＩＹカウント装置２２７は、Ｙ‐ＤＤＡ処理装置２２６から変倍後のＹ始点ＹＳとＹ終点ＹＥを受け取り、変倍後のＹ始点からＹ終点までを、データ変換処理装置２２１とハーフトーン処理装置２２２の１ラインの処理が終了するごとに、ラインをカウントし、ディステイネーション画像の座標Ｙ終点と比較し、画像処理の終了を制御する。
【０１８１】
メモリアドレス生成装置２２８は、メモリアービター２０７を介して画像メモリ２１８をアクセスするためのメモリアドレスである画像データ読み込みアドレスと、ディザデータ読み込みアドレスと、画像処理後の画像データ書込みアドレスを計算する。このとき、Ｙ‐ＤＤＡ処理装置２２６から変倍後のライン数を受け取り、読み込むディザデータのライン数（データ数）と、処理後の画像を書込むライン数（データ数）を計算し、メモリアドレスを生成する。
【０１８２】
マルチプレクサ（ＭＵＸ）２２９は、メモリアービター２０７から読み込んだデータを、データの種類により、データ変換処理装置２２１とハーフトーン処理装置２２２への転送を切り換える。コントローラ２３０は、図５０で示した動作のように、画像処理装置２１５を制御する。
【０１８３】
図５７は、図５６のメモリアービターＩ／Ｆ２２０における変倍率生成装置２２５の構成を示すブロック図である。この変倍率生成装置２２５は、減算器２３１ａ，２３１ｂと、除算器２３２と、Ｙ方向の変倍率（ＲＡＴＥＹ）を格納するレジスタ２３３と、を備えている。
【０１８４】
以上のように構成された変倍率生成装置２２５は、変倍される画像のソース画像の座標Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥと、変倍後のディステイネーション画像の座標Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＹ方向の変倍率ＲＡＴＥＹを求め、Ｙ‐ＤＤＡ処理装置２２６へ転送する。すなわち、変倍率生成装置２２５は、図５７に示すように、ＲＡＴＥＹ＝（ＳＹＥ−ＳＹＳ）／（ＤＹＥ−ＤＹＳ）の演算により、Ｙ方向の変倍率（ＲＡＴＥＹ）を求める。
【０１８５】
図５８は、図５６のメモリアービターＩ／Ｆ２２０におけるＹ‐ＤＤＡ処理装置２２６の構成を示すブロック図である。このＹ‐ＤＤＡ処理装置２２６は、マルチプレクサ（ＭＵＸ）２３４と、レジスタ２３５，２３６と、加算器２３７と、レジスタ２３８，２３９と、減算器２４０と、を備えている。
【０１８６】
図５８のマルチプレクサ（ＭＵＸ）２３４は、最初のみレジスタ２３５に、初期値のディステイネーション画像の座標Ｙ始点ＤＹＳを転送し、その後、順次加算されていく加算器２３７の出力を送る。レジスタ２３５は、現在処理中のＹ値を格納する。レジスタ２３６は、Ｙ方向の変倍率ＲＡＴＥＹを格納する。レジスタ２３８は、変倍後のＹ終点を格納する。レジスタ２３９は変倍後のＹ始点を格納する。減算器２４０は、Ｙ終点の正数部を減算し、変倍後のライン数ＤＹを求める。
【０１８７】
以上のように構成されたＹ‐ＤＤＡ処理装置２２６は、変倍率生成装置２２５からのＹ方向の変倍率と、ディステイネーション画像の座標Ｙ始点ＤＹＳを受け取り、図２に示す垂直方向の○（拡大された画素）のように、入力された画像の変倍後のＹ座標をＤＤＡ（デジタル微分解析）により、Ｙ始点ＹＳとＹ終点ＹＥを求め、その差分（変倍後のライン数）ＤＹを求め、これをＩＹカウント装置２２７とメモリアドレス生成装置２２８に転送する。
【０１８８】
図５９は、図５６のメモリアービターＩ／Ｆ２２０におけるＩＹカウント装置２２７の構成を示すブロック図である。このＩＹカウント装置２２７は、比較器２４１と、マルチプレクサ（ＭＵＸ）２４２と、レジスタ２４３と、加算器２４４と、比較器２４５と、を備えている。
【０１８９】
比較器２４１は、Ｙ‐ＤＤＡ処理装置２２６からの変倍後のＹ終点と、ディステイネーション画像の座標Ｙ終点ＤＹＥと比較し、その結果であるＹＥＮＤＦＬ信号をコントローラ２３０に転送する。マルチプレクサ（ＭＵＸ）２２９は、最初のみレジスタ２４３に、Ｙ‐ＤＤＡ処理装置２２６からの変倍後のＹ始点を送り、その後、順次加算されていく加算器２４４の出力を送る。
【０１９０】
レジスタ２４３は、現在処理中のＹ値を格納する。加算器２４４は、データ変換処理装置２２１とハーフトーン処理装置２２２の１ラインの処理が終了するごとにラインをカウントしていく。比較器２４５は、現在処理中のＹ値とＹ‐ＤＤＡ処理装置２２６からの変倍後のＹ終点とを比較し、その結果であるＩＹＥＮＤＦＬ信号をコントローラ２３０に転送する。
【０１９１】
以上のように構成されたＩＹカウント装置２２７は、Ｙ‐ＤＤＡ処理装置２２６から変倍後のＹ始点ＹＳとＹ終点ＹＥを受け取り、変倍後のＹ始点からＹ終点までを、データ変換処理装置２２１とハーフトーン処理装置２２２の１ラインの処理が終了するごとに、ラインをカウントし、ディステイネーション画像の座標Ｙ終点と比較し、画像処理の終了を制御する。
【０１９２】
図６０は、図５６のメモリアービターＩ／Ｆ２２０におけるメモリアドレス生成装置２２８の構成を示すブロック図である。このメモリアドレス生成装置２２８は、画像データアドレス生成装置２４６と、ディザデータアドレス生成装置２４７と、処理後画像データアドレス生成装置２４８と、を備えている。
【０１９３】
図６０の画像データアドレス生成装置２４６は、初期値として、パラメータ格納装置２２３から画像先頭アドレスを設定され、その後、１ラインごと画像処理前の画像データのアドレスを読み込み、アドレスを生成していく。図５１〜図５４のように画像データの読み込みのアドレスを生成する。
【０１９４】
また、ディザデータアドレス生成装置２４７は、初期値として、パラメータ格納装置２２３からディザ先頭アドレスを設定され、Ｙ‐ＤＤＡ処置装置２２６からの変倍後のライン数を受け取り、読み込むディザデータのライン数（データ量）を計算し、図５１〜図５４のようにディザデータの読み込みのアドレスを生成する。
【０１９５】
処理後画像データアドレス生成装置２４８は、初期値として、パラメータ格納装置２２３から処理後画像先頭アドレスを設定され、Ｙ‐ＤＤＡ処置装置２２６からの変倍後のライン数を受け取り、書き込む処理後画像データのライン数（データ量）を計算し、図５１〜図５４のようにディザデータの読み込みのアドレスを生成する。
【０１９６】
以上のメモリアドレス生成装置２２８は、メモリアービター２０７を介して画像メモリ２１８をアクセスするためのメモリのアドレスである画像データ読み込みアドレスと、ディザデーダ読み込みアドレスと、画像処理後の画像書込みアドレスを計算する。このとき、Ｙ‐ＤＤＡ処置装置２２６から変倍後のライン数を受け取り、読み込むデーザデータのライン数（データ数）と、処理後の画像を書込むライン数（データ数）を計算し、メモリアドレスを生成していく。
【０１９７】
図６１は、図４９のデータ変換処理装置２２１の入出力の構成を示すブロック図であり、変倍処理装置のみを有する場合について示している。
【０１９８】
図６２は、図４９におけるデータ変換処理装置２２１の詳細構成を示すブロック図である。この変倍処理装置２２１は、図示するように、元画素格納装置２５０と、変倍率生成装置２５１と、ＤＤＡ処理装置２５３と、ＩＸカウント装置２５４と、変倍画素係数生成装置２５５と、変倍画素変換装置２５６と、このデータ変換処理装置２２１全体を制御するコントローラ２５７と、を備える。
【０１９９】
図６２の元画素格納装置２５０は、ハーフトーン処理装置２２２が並列に処理する画素分を蓄え後段の変倍画素変換装置２５６に転送する。変倍率生成装置２５１は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｙ始点ＳＹＳ、変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥからＸ方向の変倍率ＲＡＴＥＸを求め、後段のＤＤＡ処理装置２５３に転送する。
【０２００】
また、ＤＤＡ処理装置２５３は、変倍率生成装置２５１からＸ方向の変倍率とディステイネーション画像の座標Ｘ始点ＤＸＳを受け取り、図２に示す○（拡大された画素）のように、入力された画像の変倍後の座標をＤＤＡ（ＤｉｇｔａｌＤｉｆｆｅｎｔｉａｌ  Ａｎａｌｙｚｅ：デジタル微分解析）により随時求める。この例では、補間するために、補間されるＸ始点ＸＳ、Ｘ終点ＸＥを求め、ＩＸカウント装置２５４、変倍画素係数生成装置２５５へ転送する。
【０２０１】
また、ＩＸカウント装置２５４は、ＤＤＡ処理装置２５３からＹ方向の始点と終点を受け取り、図２の△（補間された画素）のＹ座標を生成し、コントローラ２５７へＸ座標がＸ終点ＤＸＥと等しくなったことをＸＥＮＤＦＬ信号で知らせ、る。
【０２０２】
また、変倍画素係数生成装置２２５は、ＤＤＡ処理装置２５３からの補間する方向の始点ＸＳと変倍率画素生成装置２５１により求めたＸ方向変倍率ＲＡＴＥＸを受け取り、変倍率生成装置２５１の出力する各画素の幅を出力し、変倍画素変換装置２５６にて画素の変倍処理を行なう。このとき、変倍画素変換装置２５６の出力するＭＡＸ数は、ハーフトーン処理装置２２２が処理可能なＭＡＸの画素値までである。また、変倍率が１倍があるため、変倍率生成装置２５１の出力もハーフトーン処理装置２２２が処理可能なＭＡＸの画素値までとして対応している。そのため、変倍率が、１倍以上の場合、複数クロックにわたってハーフトーン処理装置２２２が処理可能なＭＡＸの画素ごと出力する。
【０２０３】
変倍画素変換装置２５６は、元画素格納装置２５０から変倍する画素を受け取り、変倍画素係数生成装置２５６の出力する各画素の幅を受け取り、図３に示すように、変倍する画素の幅を変更することにより、変倍処理を実行する。コントローラ２５７は、このデータ変換処理装置２２１の全体を制御する。
【０２０４】
図６３は、データ変換処理装置２２１の動作を示すフローチャートであり、コントローラ２５７によって実行される。
【０２０５】
図６３において、まず、変倍率生成装置２５１により変倍率を求め（ステップＳ３５１）、Ｘ方向のＤＤＡの初期化を行なう（ステップＳ３５２）。さらにＤＤＡ処理装置２５３により、Ｘ方向（水平方向）のＤＤＡ処理を行ない、処理するＸ始点ＸＳとＸ終点ＸＥを求める（ステップＳ３５３）。
【０２０６】
続いて、変倍データを内部ラインメモリから読み込み（ステップＳ３５４）、変倍画素係数生成装置２５５により、読み込んだ変倍処理される画素の幅を求める（ステップＳ３５５）。さらに変倍画素変換装置２５６により、変倍される画素を求めた幅に変換し、ハーフトーン処理装置２２２のＭＡＸの並列処理画素数に合わせて出力する（ステップＳ３５６）。ついで、ＸＥが変倍されたディステイネーション画像の座標Ｘ終点ＤＸＥを超えていない場合、ステップＳ３５３に戻り、ＤＸＥと同じか超えた場合には、この変倍処理を終了する。
【０２０７】
図６４は、図６２のデータ変換処理装置２２１における元画素格納装置２５０の構成を示すブロック図である。この元画素格納装置２５０は、レジスタ２６０ａ〜２６０ｈと、ラインメモリ２６１と、ラインメモリコントローラ２６２と、を備えている。
【０２０８】
レジスタ２６０ａ〜２６０ｈは、順次データを格納し、ハーフトーン処理装置２２２のＭＡＸ並列処理画素分の画素を格納する。ラインメモリ２６１は、レジスタ２６０ａ〜２６０ｈにより蓄えられた画像データをつなげて並列に格納し、画像メモリ２１８からの画像データの読み込みと画像処理が並列に処理可能とし、読み出し時にレジスタ２６０ａ〜２６０ｈの内容が並列に読み込みできるように構成されている。ラインメモリコントローラ２６２は、ラインメモリ２６１のアドレスの生成と、この元画素格納装置２５０全体の制御を行なう。
【０２０９】
図６５は、図６２のデータ変換処理装置２２１における変倍率生成装置２５１の構成を示すブロック図である。この変倍率生成装置２５１は、減算器２６３，２６４と、除算器２６５と、Ｘ方向の変倍率（ＲＡＴＥＸ）を格納するレジスタ２６６と、を備えている。
【０２１０】
この変倍率生成装置２５１は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｘ終点ＳＸＥと変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥからＸ方向の変倍率ＲＡＴＥＸを求め、ＤＤＡ処理装置２５３へ転送する。すなわち、変倍率生成装置２５１は、ＲＡＴＥＸ＝（ＳＸＥ−ＳＸＳ）／（ＤＸＥ−ＤＸＳ）の演算によりＸ方向の変倍率（ＲＡＴＥＸ）を求める。
【０２１１】
図６６は、図６２のデータ変換処理装置２２１におけるＤＤＡ処理装置２５３の構成を示すブロック図である。図において、符号２６７はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ２６８に初期値のディステイネーション画像の座標Ｘ始点ＤＸＳを転送し、その順次加算されていく加算器２７１の出力を送るものである。また、符号２６８は現在処理中のＸ値を格納するレジスタ、符号２６９は乗算器であり、Ｘ方向変倍率ＲＡＴＥＸとハーフトーン処理装置２２２のＭＡＸの並列処理画素数を乗算し複数画素の分の微差分を求める。また、符号２７０は乗算器２６９で求めた値を格納するレジスタ、符号２７１はレジスタ２６８，２７０それぞれの出力値を加算処理する加算器、符号２７２は補間するＸ終点を格納するレジスタ、符号２７３は補間するＸ始点の値を格納するレジスタである。
【０２１２】
このＤＤＡ処理装置２５３は、変倍率生成装置２５１から出力された変倍率（ＲＡＴＥＸ、ＲＡＴＥＹ）とディステイネーション画像のＸ始点ＤＸＳ、Ｙ始点ＤＹＳを受け取り、図２の○（拡大された画素）に示すように、入力された画像の変倍後の座標をＤＤＡ（デジタル微分解析）により随時求める。この例では、ＤＤＡ処理装置２５３は、図６２に示すように、補間するため、補間されるＸ始点、Ｘ終点、Ｙ始点、Ｙ終点を求め、ＩＸカウント装置２５４と変倍画素係数生成装置２５５へ転送する。
【０２１３】
このとき、Ｘ方向においては、ハーフトーン処理装置２２２のＭＡＸの並列処理画素分のＤＤＡを行なう。そのため、Ｘ方向のＤＤＡ処理は、図６６に示すように、現在のＸ座標値に変倍率生成装置２５１で求めたＸ方向変倍率ＲＡＴＥＸにハーフトーン処理装置２２２のＭＡＸの並列処理画素数を乗算した値を順次加算する。
【０２１４】
図６７は、図６２のデータ変換処理装置２２１におけるＩＸカウント装置２５４の構成を示すブロック図であり、比較器２７４を備えている。この比較器２７４は、ＤＤＡ処理装置２５３からのＸＥ値とディステイネーション画像の座標Ｘ始点ＤＸＥとを比較し、Ｘ座標がＸ終点ＤＸＥと等しくなったことをＸＥＮＤＦＬ信号として生成する。
【０２１５】
なお、図６２のデータ変換処理装置２２１における変倍率画素係数生成装置２５５は、前述した実施の形態１の図１１と同構成である部分については対応する図番を記述し、ここでの説明は省略する。すなわち、変倍率画素係数生成装置２５５を構成する並列Ｘ幅生成装置は図１２と同一であり、出力Ｘ幅生成装置は図１３と同一である。また、出力Ｘ幅生成装置を構成する累積加算処理装置（Ａ）は図１４と同一であり、ＷＸＷＩＤＴＨ更新処理装置の動作が図１５と、出力ＸＷＩＤＴＨ生成処理装置の動作が図１６と同じである。さらに累積加算処理装置（Ｂ）の構成は図１７と同一である。また、図６２の変倍画素変換装置２５６は前述した図１８〜図２５の動作と同一である。
【０２１６】
つぎに、ハーフトーン処理装置２２２について詳述する。図６８は、本発明の実施の形態２にかかる画像処理装置２１５のハーフトーン処理装置２２２の構成を示すブロック図である。このハーフトーン処理装置２２２は、水平しきい値マトリックス記憶装置３０１と、多値データシフト装置３０２と、並列比較装置３０３と、有効ＢＩＴ生成装置３０４と、固定長データ生成装置３０５と、ラインメモリ３０６と、ラインメモリアドレス生成装置３０７と、このハーフトーン処理装置２２２全体を制御するコントローラ３０８と、を備えている。
【０２１７】
水平しきい値マトリックス記憶装置３０１は、しきい値マトリックスメモリから水平ラインで使用されるすべてのしきい値マトリックスを読み込み記憶する。多値データシフト装置３０２は、データ変換処理装置２２１から水平方向に複数の変倍後の多値データを受け取り、水平しきい値マトリックス記憶装置３０１のしきい値マトリックスに対応する位置を示す多値データ始点により、多値データをシフトさせる。この多値データシフト装置３０２の動作は前述した図２９〜図３４と同様に行なわれる。
【０２１８】
並列比較装置３０３は、多値データシフト装置３０２によりシフトされたシフトデータと水平しきい値マトリック記憶装置３０１からのしきい値マトリックスとを並列に比較する。この並列比較装置３０３の構成は前述した図３５と同様である。有効ＢＩＴ生成装置３０４は、並列比較装置３０３で求めた２値データを有効データとして左シフトさせ、固定長データ生成装置３０５へ有効データの長さである有効データ数を送ることにより、有効データを切りだしやすくする。この有効ＢＩＴ生成装置３０４の動作は前述した図３６〜図４１と同様に行なわれる。
【０２１９】
固定長データ生成装置３０５は、有効ＢＩＴ生成装置３０４で求めた２値データをコントローラ３０８が示す有効数（多値データ数）分だけ、固定長のデータに加えていくことにより、固定長のデータを生成する。この固定長データ生成装置３０５の構成は前述した図４２と同様である。
【０２２０】
ラインメモリ３０６は、固定長データ生成装置３０５で生成された固定長のデータを格納する。このラインメモリ３０６のフォーマット例を図７２に示す。ラインメモリアドレス生成装置３０７は、固定長データ生成装置３０５からのデータをラインメモリ３０６へ格納するためのアドレスを生成する。
【０２２１】
コントローラ３０８は、データ変換処理装置２２１から、水平補間された画素の有効数を受け取り、前述した図２８に示したフローチャートと同様の動作を実行し、このハーフトーン処理装置２２２全体を制御する。
【０２２２】
なお、図６９は、図６８のハーフトーン処理装置２２２の具体的構成例を示すブロック図であり、水平方向のＭＡＸのハーフトーン処理数（ｎ）が７（８個）であり、水平方向のしきい値マトリックスサイズ（ｍ）が２３（２４個）の場合の例について示している。
【０２２３】
図７０にしきい値マトリックスメモリ１０８における２４×２４のサイズのフォーマット例を示す。なお、図７０のしきい値マトリックスを使用した処理の推移例は図４４と同様である。
【０２２４】
つぎに、データ変換処理装置２２１の変換処理がバイリニア法である場合の全体的な処理動作を図７１に示すフローチャートを参照し、説明する。
【０２２５】
図７１において、まず、メモリアービターＩ／Ｆ２２０は、垂直方向（Ｙ方向）の変倍率を求める処理を行ない（ステップＳ１２０１）、メモリアービター２０７を介して画像メモリ２１８から１ラインの画像データを読み込み、データ変換処理装置２２１に送る（ステップＳ１２０２）。さらに、メモリアービターＩ／Ｆ２２０は、画像メモリ２１８から１ラインの画像データを読み込み、垂直方向（Ｙ方向）の変倍後のライン数分のディザデータを画像メモリ２１８から読み込み、データ変換処理装置２２１へ送る（ステップＳ１２０３）。
【０２２６】
なお、バイリニア補間法では、図７３に示すように、Ａ，Ｂ，Ｃ，Ｄの４点から補間するためのＡ，Ｂを格納するラインメモリと、Ｃ，Ｄを格納するラインメモリが必要であり、まず最初に２ラインを読み込み、その後、Ｃ，ＤのラインをＡ，Ｂのラインとし、Ｃ，Ｄのラインを読み込んでいく。この動作については後述する。
【０２２７】
続いて、メモリアービターＩ／Ｆ２２０は、垂直方向に変倍後のライン数分のディザパターンデータを読み込み、ハーフトーン処理装置２２２へ送る（ステップＳ１２０４）。さらにステップＳ１２０１で求めた垂直方向の変倍率と、ディステイネーション画像の座標Ｙ始点ＤＹＳとから、垂直方向のＤＤＡ（デジタル微分解析）により、変倍後のＹ始点ＹＳとＹ終点ＹＥを求める（ステップＳ１２０５）。さらに、メモリアービターＩ／Ｆ２２０は、変倍後の垂直方向のラインカウンタに上記ＹＳの値を設定する（ステップＳ１２０６）。
【０２２８】
続いて、データ変換処理装置２２１により１ラインの画像処理（変倍、色変換、フィルタ処理など）を行ない（ステップＳ１２０７）、さらにハーフトーン処理装置２２２により、上記１ラインの画像処理後の画像データにハーフトーン処理を行なう（ステップＳ１２０８）。さらにハーフトーン処理装置２２２は、ハーフトーン処理後の１ラインデータを内部ラインメモリに書き込む（ステップＳ１２０９）。
【０２２９】
続いて、メモリアービターＩ／Ｆ２２０は、変倍後の垂直方向のラインカウンタをカウントアップし（ステップＳ１２１０）、ステップＳ１２０４で求めた垂直方向の変倍後のＹ終点ＹＥを超えたか否かを判断する（ステップＳ１２１１）。ここで、超えていないと判断した場合は、ステップＳ１２０７に戻る。一方、超えたと判断した場合、メモリアービターＩ／Ｆ２２０は、ステップＳ１２０８で書き込まれた内部ラインメモリから画像処理後のデータをメモリアービター２０７を介して画像メモリ２１８へ画像処理後の画像データを書き込む（ステップＳ１２１２）。
【０２３０】
続いて、メモリアービターＩ／Ｆ２２０は、ステップＳ１２０４で求めた垂直方向の変倍後のＹ終点ＹＥがディステイネーション画像の座標Ｙ点ＤＹＥを超えた否かを判断し（ステップＳ１２１３）、超えていないと判断した場合にはステップＳ１２０３に戻り、一方、超えたと判断した場合にはこの一連の処理を終了する。
【０２３１】
図７４は、垂直方向（Ｙ方向）に縮小する場合のタイミング例を示す説明図であり、（ａ）は０．５倍の例、（ｂ）は０．６６６６倍の例である。（ａ）に示す０．５倍の例では、画像処理前の画像データを１つ飛ばしのライン（奇数ラインのみ）を読み込み、ディザパターンデータは順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。なお、最初は２ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０２３２】
（ｂ）に示す０．６６６６倍の例では、画像処理前の画像データを３ラインごと１ラインを飛ばして読み込み、ディザパターンデータは順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。なお、最初は２ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０２３３】
図７５は、垂直方向（Ｙ方向）に１倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。なお、最初は２ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理される。
【０２３４】
図７６は、垂直方向（Ｙ方向）に１．５倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。なお、最初は２ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、時々、２ラインの画像処理を行なう。
【０２３５】
図７７は、垂直方向（Ｙ方向）に２倍拡大する場合のタイミング例を示す説明図である。この例では、画像処理前の画像データを順次１ラインごと読み込み、そして、画像処理後のデータを順次１ラインごと書き込んでいく。なお、最初は２ラインを続けて読み込む。また、この例では、画像データの読み込み処理と画像処理とが並列に処理され、２ラインの画像処理を行なう。
【０２３６】
つぎに、図７８に示すバイリニア補間法に基づくデータ変換処理装置２２１の構成・動作について説明する。
【０２３７】
この図７８に示すデータ変換処理装置２２１は、パラメータ処理装置３１１と、拡大率生成装置３１２と、ＤＤＡ処理装置３１３と、ＩＸ・ＩＹカウント装置３１４と、補間係数生成装置３１５と、補間処理装置３１６と、を備えている。
【０２３８】
パラメータ処理装置３１１は、入力された画像データを順次、ラインメモリに蓄え、２ライン蓄えたところで、バイリニア補間される４点のＷＣＯＬＡ，ＷＣＯＬＢ，ＷＣＯＬＣ，ＷＣＯＬＤを補間処理装置３１６へ転送する。
【０２３９】
拡大率生成装置３１２は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｘ終点ＳＸＥ、Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥと変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥ、Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＸ，Ｙ方向の変倍率ＲＡＴＥＸ，ＲＡＴＥＹを求め、ＤＤＡ処理装置３１３へ転送する。
【０２４０】
ＤＤＡ処理装置３１３は、拡大率生成装置３１２からＸ，Ｙ方向の変倍率とディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｙ始点ＤＹＳを受け取り、図２に示す○（拡大された画素）のように、入力された画像の変倍後の座標をＤＤＡ（デジタル微分解析）により、随時求める。この例では、補間するために、補間されるＸ始点、Ｘ終点、Ｙ始点、Ｙ終点を求め、これをＩＸ・ＩＹカウント装置３１４と補間係数生成装置３１５へ転送する。
【０２４１】
ＩＸ・ＩＹカウント装置３１４は、ＤＤＡ処理装置３１３からの補間する方向の始点と終点とＹ方向の始点と終点を受け取り、図２に示す△（補間された画素）のＸ，Ｙ座標を生成し、補間係数生成装置３１５へ転送する。
【０２４２】
補間係数生成装置３１５は、ＤＤＡ処理装置３１３からの補間する方向の始点と終点とＹ方向の始点と終点を受け取り、ＩＸ・ＩＹカウント装置３１４からの補間する画素のＸ，Ｙ座標から、補間処理装置３１６で補間するＸ，Ｙ方向の補間係数（ＤＲＡＴＥＹ，ＤＲＡＴＥＸ）を求め、補間処理装置３１６へ送る。
【０２４３】
補間処理装置３１６は、パラメータ処理装置３１１から補間するデータを受け取り、さらに補間係数生成装置３１５から補間する係数を受け取ることにより、パラメータ処理装置３１１を補間することで、図２に示すように拡大された画素間を補間し埋めて拡大画像を生成し、変倍処理を実行する。
【０２４４】
つぎに、図７８のように構成されたデータ変換処理装置２２１の動作について図７９に示すフローチャートを参照し、説明する。まず、拡大率生成装置３１２により拡大率を求め（ステップＳ１３０１）、ＤＤＡ処理装置３１３により、Ｙ方向（垂直方向）のＤＤＡ処理を行ない、処理するＹ始点ＹＳとＹ終点ＹＥを求める（ステップＳ１３０２）。さらにＩＸ・ＩＹカウント装置３１４の処理するＹ座標（水平ライン）をＹＳ座標を指定し（ステップＳ１３０３）、ＩＸ・ＩＹカウント装置３１４の処理するＸ座標をディステイネーション画像の座標Ｘ始点ＤＸＳに初期化する（ステップＳ１３０４）。
【０２４５】
続いて、ＤＤＡ処理装置３１３によりＸ方向（水平方向）のＤＤＡ処理を行ない、処理するＸ始点ＸＳとＸ終点ＸＥを求め（ステップＳ１３０５）、補間データを読み込む（ステップＳ１３０６）。さらに、補間係数生成装置３１５により現在処理する座標での補間係数を求める（ステップＳ１３０７）。
【０２４６】
続いて、補間処理装置３１６により、拡大された画素間を補間することにより、変倍画像を生成する（ステップＳ１３０８）。その後、ＸＥが変倍されたディステイネーション画像の座標Ｘ終点ＤＸＥを超えたか否かを判断する（ステップＳ１３０９）。ここで、ＸＥが変倍されたディステイネーション画像の座標Ｘ終点ＤＸＥを超えていないと判断した場合、ステップＳ１３０５に戻り、超えた場合には、ＩＸ・ＩＹカウント装置３１４により、つぎに補間するＹ座標を求める（ステップＳ１３１０）。
【０２４７】
続いて、上記Ｙ座標の値が補間するＹ値終点ＹＥを超えたか否かを判断する（ステップＳ１３１１）。ここで、上記Ｙ座標の値が補間するＹ値終点ＹＥを超えていないと判断した場合、ステップＳ１３０４に戻り、超えたと判断した場合には、さらにＹＥが変倍されたディステイネーション画像の座標Ｙ終点ＤＸＥを超えたか否かを判断する（ステップＳ１３１２）。ここで、ＹＥが変倍されたディステイネーション画像の座標Ｙ終点ＤＸＥを超えていないと判断した場合、ステップＳ１３０２に戻り、超えたと判断した場合、この一連の処理を終了する。
【０２４８】
つぎに、図７８のデータ変換処理装置２２１を構成する各部の構成・動作について説明する。図８０は、図７８のデータ変換処理装置２２２におけるパラメータ処理装置３１１の構成を示すブロック図である。このパラメータ処理装置３１１は、入力された画素の偶数番目の画素を蓄えるレジスタ３２１と、入力された画素の奇数番目の画素を蓄えるレジスタ３２２と、ライン分の画素を格納するラインメモリ３２３，３２４，３２５と、これらメモリの出力処理を行なうセレクタ３２６と、本装置を制御するコントローラ３２７と、を備えている。
【０２４９】
セレクタ３２３は、ラインメモリ３２３，３２４，３２５に格納されたデータを制御し、出力する。たとえば、現在、ラインメモリ３２３、ラインメモリ３２４のデータを出力する場合、以下のようにラインメモリ３２３が補間される画素Ａ，Ｂを、ラインメモリ３２４が補間される画素Ｃ，Ｄを出力し、ラインメモリ３２５にはつぎの画素を蓄えさせる。
＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋
＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋Ａ＋Ｂ＋
＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋
＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋Ｃ＋Ｄ＋
＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋−＋
【０２５０】
以上のように構成されたパラメータ処理装置３１１は、図８１に示すように、スキャンライン方向から順次入力された画像データを２ラインＢ蓄え、順次、図８２に示すように、補間される４点を図５１のように出力する。この補間される４画素を出力しているとき、入力される画素を３本目のラインメモリで順次受け取る。
【０２５１】
３本目のラインメモリがいっぱいになり、図８３に示すような垂直の補間がすべて終わらない場合は、入力される画素を送る装置に対してＷＡＩＴをかける。そして、図８３に示すように２ラインで蓄えた画素の垂直方向すべて終了すると、蓄えられた３本目の画素と、さきほど処理した２ラインの画素の後半の１ラインとから、新たな２ラインの画素を形成し、前述と同様に図８３に示すごとく、順次、補間される４点の画素を出力していく。そして、空いている１ラインのメモリに対して、前述と同様に３本目のラインメモリとして入力される画素を順次蓄えていく。
【０２５２】
図８４は、図７８のデータ変換処理装置２２１における拡大率生成装置３１２の構成を示すブロック図である。この拡大率生成装置３１２は、減算器３３１，３３２，３３５，３３６と、除算器３３３，３３７と、Ｘ方向の変倍率（ＲＡＴＥＸ）を格納するレジスタ３３４と、Ｙ方向の変倍率（ＲＡＴＥＹ）を格納するレジスタ３３８と、を備えている。
【０２５３】
この拡大率生成装置３１２は、変倍される画像のソース画像の座標Ｘ始点ＳＸＳ、Ｘ終点ＳＸＥ、Ｙ始点ＳＹＳ、Ｙ終点ＳＹＥと変倍後のディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｘ終点ＤＸＥ、Ｙ始点ＤＹＳ、Ｙ終点ＤＹＥからＸ，Ｙ方向の変倍率ＲＡＴＥＸ，ＲＡＴＥＹを求め、ＤＤＡ処理装置３１３へ転送する。
【０２５４】
すなわち、拡大率生成装置３１２は図８４に示すように、ＲＡＴＥＸ＝（ＳＸＥ−ＳＸＳ）／（ＤＸＥ−ＤＸＳ）の演算により、Ｘ方向の変倍率（ＲＡＴＥＸ）を求め、さらにＲＡＴＥＹ＝（ＳＹＥ−ＳＹＳ）／（ＤＹＥ−ＤＹＳ）の演算により、Ｙ方向の変倍率（ＲＡＴＥＹ）を求める。
【０２５５】
図８５は、図７８のデータ変換処理装置２２１におけるＤＤＡ処理装置３１３の構成を示すブロック図である。図において、符号３４１はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ３４２に初期値のディステイネーション画像の座標Ｘ始点ＤＸＳを転送し、その順次加算されていく加算器３４４の出力を送るものである。また、符号３４２は現在処理中のＸ値を格納するレジスタ、符号３４３は拡大率生成装置３１２で求めたＸ方向変倍率ＲＡＴＥＸを格納するレジスタ、符号３４４はレジスタ３４２，３４３それぞれの出力値を加算する加算器、符号３４５は補間するＸ終点を格納するレジスタ、符号３４６は補間するＸ始点を格納するレジスタである。
【０２５６】
また、符号３４７はマルチプレクサ（ＭＵＸ）であり、最初のみレジスタ３４８に初期値のディステイネーション画像の座標Ｘ始点ＤＸＳを転送し、その順次加算されていく加算器３５０の出力を送るものである。また、符号３４８は現在処理中のＹ値を格納するレジスタ、符号３４９は拡大率生成装置３１２で求めたＹ方向変倍率ＲＡＴＥＹを格納するレジスタ、符号３５０はレジスタ３４８，３４９それぞれの出力値を加算する加算器、符号３５１は補間するＹ終点を格納するレジスタ、符号３５２は補間するＹ始点を格納するレジスタである。
【０２５７】
ＤＤＡ処理装置３１３は、拡大率生成装置３１２からＸ，Ｙ方向の変倍率とディステイネーション画像の座標Ｘ始点ＤＸＳ、Ｙ始点ＤＹＳを受け取り、図２に示す○（拡大された画素）のように、入力された画像の変倍後の座標をＤＤＡ（Ｄｉｇｔａｌ  Ｄｉｆｆｅｎｔｉａｌ  Ａｎａｌｙｚｅ：デジタル微分解析）により随時求める。この例では、図８２のように補間するために、補間されるＸ始点ＸＳ、Ｘ終点ＸＥ、Ｙ始点ＹＳ、Ｙ終点を求め、ＩＸ・ＩＹカウント装置３１４、補間係数生成装置３１５へ転送する。
【０２５８】
図８６は、図７８のデータ変換処理装置２２１における補間係数生成装置３１５の構成を示すブロック図である。この補間係数生成装置３１５は、減算器３５５，３５６，３５９，３６０と、除算器３５７と、Ｘ方向の補間係数（ＤＲＡＴＥＸ）を格納するレジスタ３５８と、１／ＤＸを求める除算器３６１と、乗算器２６２と、Ｙ方向の補間係数（ＤＲＡＴＥＹ）を格納するレジスタ３６３と、を備えている。
【０２５９】
以上のように構成された補間係数生成装置３１５は、ＤＤＡ処理装置３１３からの補間するＸ方向の始点と終点とＹ方向の始点と終点を受け取り、ＩＸ・ＩＹカウント装置３１４からの補間する画素のＸ，Ｙ座標から補間処理装置３１６で補間するＸ，Ｙ方向の補間係数（ＤＲＡＴＥＹ，ＤＲＡＴＥＸ）を求め、補間処理装置３１６に送る。
【０２６０】
すなわち、図８６に示すように、ＤＲＡＴＥＸ＝（ＩＸ−ＸＳ）／（ＸＥ−ＸＳ）の演算により、Ｘ方向の補間係数（ＤＲＡＴＥＸ）を求め、さらに、ＤＲＡＴＥＹ＝（ＩＹ−ＹＳ）／（ＹＥ−ＹＳ）の演算により、Ｙ方向の補間係数（ＤＲＡＴＥＹ）を求める。なお、ＸＳ，ＸＥは、ＤＤＡ処理装置３１３により求めたＸ方向の始点と終点、ＩＸ，ＩＹは、ＩＸ・ＩＹカウント装置３１４からの補間する画素のＸ，Ｙ座標である。また、このとき、本方式は図８３に示すように、順次水平ラインごと求めるため、ＤＲＡＴＥＹの演算は各ラインごと１回のみ必要なだけであり、演算量は少なく、かつハードウエア量の減少と処理速度の高速化が実現する。
【０２６１】
図８７は、図７８のデータ変換処理装置２２１における補間処理装置３１６の構成を示すブロック図である。この補間処理装置３１６は、大きくは、垂直補間処理装置３７１と、水平補間係数生成装置３７２と、水平補間処理装置３７３と、を備えている。
【０２６２】
垂直補間処理装置３７１は、補間係数生成装置３１５で求めた補間係数（ＤＲＡＴＥＹ）により、Ｙ始点から現在のライン（Ｙ座標）の位置の差分値を求め、垂直補間されたＡＶ，ＢＶを求める。この詳細については後述する。
【０２６３】
水平補間係数生成装置３７２は、補間係数生成装置３１５で求めた補間係数（ＤＲＡＴＥＸ，１／ＤＸ）により、この変倍処理装置３１６が処理することが可能な水平方向のＭＡＸ拡大率まで、水平方向の補間係数を並列に求める。この例では、この変倍処理装置３１６が水平方向に８倍までであるため、８個の水平方向の補間係数を並列に求めている。この詳細については後述する。
【０２６４】
水平補間処理装置３７３は、垂直補間処理装置３７１で求めた垂直方向の補間点であるＷＣＯＬＡＶ，ＷＣＯＬＢＶを受け取り、この２点間を水平補間係数生成装置３７２で求めた複数の補間係数から、複数の補間点の値を求める。このとき、実際の補間すべき個数は、後述する有効数カウント装置によりカウントされる。この詳細については後述する。
【０２６５】
以上のように構成された補間処理装置３１６は、パラメータ処理装置３１１から補間するデータを受け取り、さらに補間係数生成装置３１５から補間する係数を受け取って補間することにより、図７３に示すように、拡大された画素間を補間し埋めることで拡大画像を生成する変倍処理を実行する。
【０２６６】
なお、ここでは補間方法としてはバイリニア補間方法を例にとって説明する。図８２は、バイリニア補間方法を用いた補間処理の例である。ここでは、図８３に示すように、各ラインを水平方向に順次補間していく。このため図８２（ａ）に示すように、Ａ，Ｃ間とＢ，Ｄ間を垂直に補間し、ＡＶ，ＢＶを求め、その後図８２（ｂ）に示すように、ＡＶ，ＢＶ間を水平に補間し、Ｐを求める。この場合、ハードウェア構成によっては、求めたＢＶをつぎのＡＶとして再利用することが可能であり、補間演算の減少へつながり、かつハードウエア量の減少と処理速度が向上する。
【０２６７】
図８８は、図８７の補間処理装置３１６における垂直補間処理装置３７１の構成を示すブロック図である。この垂直補間処理装置３７１は、減算器３７５，３７９と、乗算器３７６，３８０と、加算器３７７，３８１と、レジスタ３７８，３８２と、を備えている。
【０２６８】
減算器３７５は、パラメータ処理装置３１１で求めた４点の画素データの左の２つの画素の差を求める。乗算器３７６は、補間係数処理装置３１５で求めたＤＲＡＴＥＹの値と減算器３７５の差分を乗算することにより、差分内での位置を求める。加算器３７７は、乗算器３７６で求めた値と始点を加算することにより、左側の垂直方向に補間された値を求める。レジスタ３７８は、加算器３７７の値を格納する。
【０２６９】
また、減算器３７９は、パラメータ処理装置３１１で求めた４点の画素データの右の２つの画素の差を求める。乗算器３８０は、補間係数処理装置３１５で求めたＤＲＡＴＥＹの値と減算器３７９の差分を乗算することにより、差分内での位置を求める。加算器３８１は、乗算器３８０で求めた値と始点を加算することにより、右側の垂直方向に補間された値を求める。レジスタ３８２は、加算器３８１の値を格納する。
【０２７０】
図８９は、図８７の補間処理装置３１６における水平補間処理装置３７２の構成を示すブロック図である。この水平補間処理装置３７２は、加算器４０１〜４０７と、レジスタ４０８〜４１５と、を備えている。
【０２７１】
加算器４０７は、補間係数生成装置３１５で求めたＤＲＡＴＥＸの値と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に２つ目の補間係数を求める。加算器４０６は、加算器４０７で求めた２つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に３つ目の補間係数を求める。
【０２７２】
加算器４０５は、加算器４０６で求めた水平方向に３つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に４つ目の補間係数を求める。加算器４０４は、加算器４０５で求めた４つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に５つ目の補間係数を求める。
【０２７３】
加算器４０３は、加算器４０４で求めた水平方向に５つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に６つ目の補間係数を求める。加算器４０２は、加算器４０３で求めた６つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に７つ目の補間係数を求める。加算器４０１は、加算器４０２で求めた７つ目の補間係数と１／ＤＸと加算することにより、補間係数生成装置３１５で求めたＤＲＡＴＥＸのつぎの水平方向に８つ目の補間係数を求める。
【０２７４】
レジスタ４１５は、補間係数生成装置３１５で求めたＤＲＡＴＥＸの値を格納する。レジスタ４１４は、加算器４０７で求めた水平方向に２つ目の補間係数の値を格納する。レジスタ４１３は、加算器４０６で求めた水平方向に３つ目の補間係数の値を格納する。レジスタ４１２は、加算器４０５で求めた水平方向に４つ目の補間係数の値を格納する。レジスタ４１１は、加算器４０４で求めた水平方向に５つ目の補間係数の値を格納する。レジスタ４１０は、加算器４０３で求めた水平方向に６つ目の補間係数の値を格納する。レジスタ４０９は、加算器４０２で求めた水平方向に７つ目の補間係数の値を格納する。レジスタ４０８は、加算器４０１で求めた水平方向に８つ目の補間係数の値を格納する。
【０２７５】
図９０は、図８７の補間処理装置３１６における水平補間処理装置３７３の構成を示すブロック図である。この水平補間処理装置３７３は、乗算器４２１〜４２８と、加算器４２９〜４３６と、レジスタ４３７〜４４４と、減算器４４５と、有効数カウント装置４４６と、を備えている。
【０２７６】
減算器４４５は、垂直補間処理装置３７１で求めた垂直方向に補間された２点の画素データの水平方向の差を求める。乗算器４２１は、減算器４４５で求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に１つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４２９は、乗算器４２１での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された１つ目の画素値を求める。レジスタ４３７は、加算器４２９で求めた値を格納する。
【０２７７】
乗算器４２２は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に２つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３０は、乗算器４２２での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された２つ目の画素値を求める。レジスタ４３８は、加算器４３０で求めた値を格納する。
【０２７８】
乗算器４２３は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に３つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３１は、乗算器４２３での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された３つ目の画素値を求める。レジスタ４３９は、加算器４３１で求めた値を格納する。
【０２７９】
乗算器４２４は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に４つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３２は、乗算器４２４での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された４つ目の画素値を求める。レジスタ４４０は、加算器４３２で求めた値を格納する。
【０２８０】
乗算器４２５は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に５つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３３は、乗算器４２５での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された５つ目の画素値を求める。レジスタ４４１は、加算器４３３で求めた値を格納する。
【０２８１】
乗算器４２６は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に６つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３４は、乗算器４２６での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された６つ目の画素値を求める。レジスタ４４２は、加算器４３４で求めた値を格納する。
【０２８２】
乗算器４２７は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に７つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３５は、乗算器４２７での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された７つ目の画素値を求める。レジスタ４４３は、加算器４３５で求めた値を格納する。
【０２８３】
乗算器４２８は、減算器４４５によって求めた画素の差分と、水平補間係数生成装置３７２で求めた水平方向に７つ目の補間係数とを乗算することにより、差分間での補完される値を求める。加算器４３６は、乗算器４２８での乗算結果と垂直補間結果であるＷＣＯＬＡＶの値を加算することにより、水平方向に補間された８つ目の画素値を求める。レジスタ４４４は、加算器４３６で求めた値を格納する。
【０２８４】
有効数カウント装置は、水平方向に８個の補間係数が、どの時点から“１．０”を超えたかを１番目の係数からカウントすることにより、有効数を求める。
【０２８５】
したがって、この実施の形態２の画像処理装置２１５は、たとえば、図６８に示すように、水平しきい値マトリックス記憶装置３０１に走査ラインに適用される全てのしきい値を格納し、そのしきい値すべて比較する並列比較装置３０３に複数の多値データをそれぞれのしきい値に対応させるようにシフトさせて２値化処理を行ない、その後、有効ＢＩＴ生成装置３０４によって有効ＢＩＴ生成処理を行なって有効データを切りだし、固定長データ生成装置３０５にて固定化することにより、従来においてしきい値マトリックスを多値データごとに切り出しているのに対し、本発明では、しきい値マトリックスの水平方向のデータ数と同じ数の並列に比較する装置を備え、その並列比較器に多値データをシフトして流すため、従来のような大きな選択装置を必要とせずに小さいゲートによる構成が実現する。また、ハーフトーン処理装置の並列処理の画素数分の画素を常に供給するため、変倍処理において、同じ並列処理の画素分の並列処理を行なうことにより、高速処理を図ることができる。
【０２８６】
【発明の効果】
以上説明したように、本発明にかかる画像処理装置（請求項１）によれば、処理対象の複数の多値データを変倍処理手段に入力し、このとき、変倍処理手段はハーフトーン手段が並列に処理する画素数分の画素を常に供給する構成としたので、画像を変倍処理した後、直接にハーフトーン処理を行なうための無駄なワークメモリ領域を必要とせず、かつハーフトーン処理手段における並列処理数分の画素を常に変倍処理手段が生成するため、高速な画像処理を行なうことができる。
【０２８７】
また、本発明にかかる画像処理装置（請求項２）によれば、請求項１のハーフトーン処理装置において、しきい値マトリックス記憶手段から読み出されるしきい値データを処理走査ラインが終了するまで、再利用可能なように処理に適用する全しきい値データを取り込み、複数の変倍データを対応するしきい値と比較するためにシフトさせ、複数の変倍データと並列に比較する構成であるため、複数ドットの２値化処理を高速に行なうことができる。
【０２８８】
また、本発明にかかる画像処理装置（請求項３）によれば、請求項２のハーフトーン処理手段において、さらに、並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに加えていく固定長データ生成手段を有するので、従来のような大きなハードウエア構成によらずに固定長データを生成することができる。
【０２８９】
また、本発明にかかる画像処理装置（請求項４）によれば、請求項１の変倍処理手段において、変倍画素係数生成手段でハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求め、その変倍後の各画素のＸ幅から、変倍画素変換手段が同じ数の元画像の水平方向の画素をデータ変換するため、水平方向に並列に変倍処理を高速に行なうことができる。
【０２９０】
また、本発明にかかる画像処理装置（請求項５）によれば、請求項４の変倍画素係数生成手段において、並列Ｘ幅生成手段でハーフトーン処理手段の並列処理数と同じ数の画素のＸ幅を求め、この複数のＸ幅を出力Ｘ幅生成手段が受け取り、ハーフトーン処理手段の並列処理数へ分けて出力するので、水平方向（Ｘ方向）の並列変倍処理を高速に行なうことができる。
【０２９１】
また、本発明にかかる画像処理装置（請求項６）によれば、複数の多値データを入力し、この複数の多値データを並列にハーフトーン処理するハーフトーン処理手段と、水平方向に画像変換処理を行なうデータ変換処理手段と、を備え、メモリ制御手段が、データ変換処理手段とハーフトーン処理手段とが必要とするデータと、ハーフトーン手段によるハーフトーン処理後のメモリのリード／ライトを制御する構成としたので、最小限のハードウエア構成で、画像データの読み込み処理を中断することなく画像処理を並列に行なうことで高速の処理を行なうことができる。
【０２９２】
また、本発明にかかる画像処理装置（請求項７）によれば、請求項６において、メモリ制御手段は、垂直方向（Ｙ方向）に変倍処理を実行し、かつ垂直方向の変倍率に応じて必要なディザデータを選択し、読み込むデータ入力手段を有するので、画像の読み込みと画像処理が並列に行なえ、高速処理が実現する。
【０２９３】
また、本発明にかかる画像処理装置（請求項８）によれば、請求項６のデータ変換処理手段が、最近傍法にしたがって変倍処理を実行するので、画像を変倍処理した後に、直接にハーフトーン処理を行なうための無駄なワークメモリの領域を必要とせずに、高速の画像処理を行なうことができる。
【０２９４】
また、本発明にかかる画像処理装置（請求項９）によれば、請求項６のデータ変換処理手段が、バイリニア補間法にしたがって変倍処理を実行するので、画像を変倍処理した後に、直接にハーフトーン処理を行なうための無駄なワークメモリの領域を必要とせずに、高速の画像処理を行なうことができる。
【０２９５】
また、本発明にかかる画像処理装置（請求項１０）によれば、請求項８のデータ変換処理手段は、ハーフトーン処理手段が並列に処理する画素と同数の画素を並列に変倍処理し、ハーフトーン手段に供給するため、ハーフトーン処理手段の並列処理数分の画素を常に生成し、供給することができる。
【０２９６】
また、本発明にかかる画像処理装置（請求項１１）によれば、請求項８のデータ変換処理手段において、変倍画素係数生成手段でハーフトーン処理手段の並列処理する画素と同じ数の元画素の水平方向の画素に対し変倍後の各画素のＸ幅を求め、その変倍後の各画素のＸ幅から、変倍画素変換手段が同じ数の元画像の水平方向の画素をデータ変換するため、水平方向に並列に変倍処理を高速に行なうことができる。
【０２９７】
また、本発明にかかる画像処理装置（請求項１２）によれば、請求項１０のハーフトン処理手段が、水平方向に複数の画素を並列に比較する並列比較手段と、水平方向にすべてのしきい値マトリックスを記憶する水平しきい値マトリックス記憶手段と、複数の多値データをしきい値マトリックスの位置へシフトさせる多値データシフト手段と、を有するので、水平方向に並列にハーフトーン処理を高速に行なうことができる。
【０２９８】
また、本発明にかかる画像処理装置（請求項１３）によれば、請求項６のハーフトーン処理手段において、さらに、並列比較手段から受け取った複数の画素を、有効画素数だけ固定長のデータに加えていく固定長データ生成手段を有するため、従来のような大きなハードウエア構成を必要とせずに固定長データを高速に生成することができる。
【０２９９】
また、本発明にかかる画像処理装置（請求項１４）によれば、請求項９のデータ変換処理手段が、水平方向にＭＡＸの倍率分、並列に画素を求める補間処理手段を有する構成のため、水平方向に並列に変倍処理を高速で行なうことができる。
【０３００】
また、本発明にかかる画像処理装置（請求項１５）によれば、請求項９の補間処理手段が、水平方向にＭＡＸの倍率分の画素を並列に計算し補間する水平補間手段と、この画素の有効数（実際に補間すべき個数）を求める有効数カウント手段と、を有する構成であるので、水平方向に並列に変倍処理を高速に行なうことができる。
【図面の簡単な説明】
【図１】本発明の実施の形態１にかかる画像処理装置を用いたシステム構成を示すブロック図である。
【図２】本発明の実施の形態の画像処理における拡大画素および補間画素の例を示す説明図である。
【図３】本発明の実施の形態の画像処理における拡大および縮小例を示す説明図である。
【図４】図１における画像処理装置の構成を示すブロック図である。
【図５】図４における変倍処理装置の構成を示すブロック図である。
【図６】図４における変倍処理装置の全体動作を示すフローチャートである。
【図７】図５における変倍処理装置に含まれる元画素格納装置の構成を示すブロック図である。
【図８】図５における変倍処理装置に含まれる変倍率生成装置の構成を示すブロック図である。
【図９】図５における変倍処理装置に含まれるＤＤＡ処理装置の構成を示すブロック図である。
【図１０】図５における変倍処理装置に含まれるＩＸ・ＩＹカウント装置の構成を示すブロック図である。
【図１１】図５における変倍処理装置に含まれる変倍画素係数生成装置の構成を示すブロック図である。
【図１２】図１１の変倍画素係数生成装置における並列Ｘ幅生成装置の構成を示すブロック図である。
【図１３】図１１の変倍画素係数生成装置における出力Ｘ幅生成装置の構成を示すブロック図である。
【図１４】図１３の出力Ｘ幅生成装置における累積加算処理装置（Ａ）の構成を示すブロック図である。
【図１５】図１３の出力Ｘ幅生成装置におけるＷＸＷＩＤＴＨ更新処理装置の動作を示すフローチャートである。
【図１６】図１３の出力Ｘ幅生成装置における出力用ＸＷＩＤＴＨ生成処理装置動作を示すフローチャートである。
【図１７】図１３の出力Ｘ幅生成装置における累積加算処理装置（Ｂ）の構成を示すブロック図である。
【図１８】図５の変倍画素変換装置における出力画素の０番目の処理動作を示すフローチャートである。
【図１９】図５の変倍画素変換装置における出力画素の１番目の処理動作を示すフローチャートである。
【図２０】図５の変倍画素変換装置における出力画素の２番目の処理動作を示すフローチャートである。
【図２１】図５の変倍画素変換装置における出力画素の３番目の処理動作を示すフローチャートである。
【図２２】図５の変倍画素変換装置における出力画素の４番目の処理動作を示すフローチャートである。
【図２３】図５の変倍画素変換装置における出力画素の５番目の処理動作を示すフローチャートである。
【図２４】図５の変倍画素変換装置における出力画素の６番目の処理動作を示すフローチャートである。
【図２５】図５の変倍画素変換装置における出力画素の７番目の処理動作を示すフローチャートである。
【図２６】本発明の実施の形態にかかる画像処理装置のハーフトーン処理装置の構成を示すブロック図である。
【図２７】図２６のハーフトーン処理装置の具体的構成例を示すブロック図であり、水平方向のしきい値マトリックスサイズ（ｍ）が２３（２４個）の場合の例について示している。
【図２８】本発明の実施の形態１にかかるハーフトーン処理装置の動作を示すフローチャートである。
【図２９】図２６のハーフトーン処理装置における多値データシフト装置の動作（１）を示すフローチャートである。
【図３０】図２６のハーフトーン処理装置における多値データシフト装置の動作（２）を示すフローチャートである。
【図３１】図２６のハーフトーン処理装置における多値データシフト装置の動作（３）を示すフローチャートである。
【図３２】図２６のハーフトーン処理装置における多値データシフト装置の動作（４）を示すフローチャートである。
【図３３】図２６のハーフトーン処理装置における多値データシフト装置の動作（５）を示すフローチャートである。
【図３４】図２６のハーフトーン処理装置における多値データシフト装置の動作（６）を示すフローチャートである。
【図３５】図２７のハーフトーン処理装置における並列比較装置の構成を示すブロック図である。
【図３６】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（１）を示すフローチャートである。
【図３７】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（２）を示すフローチャートである。
【図３８】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（３）を示すフローチャートである。
【図３９】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（４）を示すフローチャートである。
【図４０】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（５）を示すフローチャートである。
【図４１】図２６のハーフトーン処理装置における有効ＢＩＴ生成装置の動作（６）を示すフローチャートである。
【図４２】図２７のハーフトーン処理装置における固定長データ生成装置の構成を示すブロック図である。
【図４３】この実施の形態１にかかるハートーン処理装置のしきい地マトリックスメモリのフォーマット例を示す図表である。
【図４４】図４３のしきい値マトリックスを使用した処理の推移例を示す図表である。
【図４５】図２６とは異なるハーフトーン処理装置の構成を示すブロック図である。
【図４６】図４５のハーフトーン処理装置の具体的構成例を示すブロック図であり、水平方向のＭＡＸのハーフトーン処理数（ｎ）が１５（１６個）、水平方向のしきい値マトリックスサイズ（ｍ）が７（８個）の場合の例について示すものである。
【図４７】この実施の形態２にかかる画像処理装置を搭載した多色画像形成装置の構成を示す説明図である。
【図４８】図４７の多色画像形成装置における電装・制御装置の構成を示すブロック図である。
【図４９】図４８における画像処理装置の構成を示すブロック図である。
【図５０】この実施の形態２にかかる画像処理装置の全体動作を示すフローチャートである。
【図５１】垂直方向（Ｙ方向）に縮小する場合のタイミング例を示す説明図であり、（ａ）は０．５倍の例、（ｂ）は０．６６６６倍の例である。
【図５２】垂直方向（Ｙ方向）に１倍拡大する場合のタイミング例を示す説明図である。
【図５３】垂直方向（Ｙ方向）に１．５倍拡大する場合のタイミング例を示す説明図である。
【図５４】垂直方向（Ｙ方向）に２倍拡大する場合のタイミング例を示す説明図である。
【図５５】図４９におけるメモリアービターＩ／Ｆの構成を示すブロック図である。
【図５６】図４９におけるメモリアービターＩ／Ｆの詳細構成を示すブロック図である。
【図５７】図５６のメモリアービターＩ／Ｆにおける変倍率生成装置の構成を示すブロック図である。
【図５８】図５６のメモリアービターＩ／ＦにおけるＹ‐ＤＤＡ処理装置の構成を示すブロック図である。
【図５９】図５６のメモリアービターＩ／ＦにおけるＩＹカウント装置の構成を示すブロック図である。
【図６０】図５６のメモリアービターＩ／Ｆにおけるメモリアドレス生成装置の構成を示すブロック図である。
【図６１】図４９のデータ変換処理装置の入出力の構成を示すブロック図であり、変倍処理装置のみを有する場合について示している。
【図６２】図４９におけるデータ変換処理装置の詳細構成を示すブロック図である。
【図６３】図４９におけるデータ変換処理装置の動作を示すフローチャートである。
【図６４】図６２のデータ変換処理装置における元画素格納装置の構成を示すブロック図である。
【図６５】図６２のデータ変換処理装置における変倍率生成装置の構成を示すブロック図である。
【図６６】図６２のデータ変換処理装置におけるＤＤＡ処理装置の構成を示すブロック図である。
【図６７】図６２のデータ変換処理装置におけるＩＸカウント装置の構成を示すブロック図である。
【図６８】本発明の実施の形態にかかる画像処理装置のハーフトーン処理装置の構成を示すブロック図である。
【図６９】図６８のハーフトーン処理装置の具体的構成例を示すブロック図であり、水平方向のＭＡＸのハーフトーン処理数（ｎ）が７（８個）であり、水平方向のしきい値マトリックスサイズ（ｍ）が２３（２４個）の場合の例について示している。
【図７０】しきい値マトリックスメモリにおける２４×２４のサイズのフォーマット例を示す説明図である。
【図７１】図４９のデータ変換処理装置のバイリニア補間法による変倍処理を示すフローチャートである。
【図７２】図６８、図６７のラインメモリのフォーマット例を示す説明図である。
【図７３】拡大された画素間を補間し埋める例を示す説明図である。
【図７４】垂直方向（Ｙ方向）に縮小する場合のタイミング例を示す説明図であり、（ａ）は０．５倍の例、（ｂ）は０．６６６６倍の例である。
【図７５】垂直方向（Ｙ方向）に１倍拡大する場合のタイミング例を示す説明図である。
【図７６】垂直方向（Ｙ方向）に１．５倍拡大する場合のタイミング例を示す説明図である。
【図７７】垂直方向（Ｙ方向）に２倍拡大する場合のタイミング例を示す説明図である。
【図７８】バイリニア補間法に基づくデータ変換処理装置の構成を示すブロック図である。
【図７９】図７８のデータ変換処理装置における全体動作を示すフローチャートである。
【図８０】図７８のデータ変換処理装置におけるパラメータ処理装置の構成を示すブロック図である。
【図８１】この実施の形態２にかかるスキャンラインでの画像データ例を示す説明図である。
【図８２】この実施の形態２にかかる画像データの補間方法を示す説明図である。
【図８３】この実施の形態２にかかる画像データの補間時における出力例を示す説明図である。
【図８４】図７８のデータ変換処理装置におけるパラメータ処理装置の構成を示すブロック図である。
【図８５】図７８のデータ変換処理装置におけるＤＤＡ処理装置の構成を示すブロック図である。
【図８６】図７８のデータ変換処理装置における補間係数生成装置の構成を示すブロック図である。
【図８７】図７８のデータ変換処理装置における補間処理装置の構成を示すブロック図である。
【図８８】図８７の補間処理装置における垂直補間処理装置の構成を示すブロック図である。
【図８９】図８７の補間処理装置における水平補間処理装置の構成を示すブロック図である。
【図９０】図８７の補間処理装置における水平補間処理装置の構成を示すブロック図である。
【図９１】従来におけるカラー画像処理装置の構成を示すブロック図である。
【図９２】従来におけるハーフトーン生成装置の構成を示すブロック図である。
【図９３】従来における印刷データ生成装置の構成を示すブロック図である。
【符号の説明】
１０３，２１５  画像処理装置
１０６  変倍処理装置
１０７，２２２  ハーフトーン処理装置
１０８  しきい値マトリックスメモリ
１１４  変倍画素係数生成装置
１１５  変倍画素変換装置
１１６，１６７，２３０，３０８  コントローラ
１４１  並列Ｘ幅生成装置
１４２  出力Ｘ幅生成装置
１６２，３０１  水平しきい値マトリックス記憶装置
１６３，３０２  多値データシフト装置
１６４，３０３  並列比較装置
１６５，３０４  有効ＢＩＴ生成装置
１６６，３０５  固定長データ生成装置
２２０  メモリアービターＩ／Ｆ
２２１  データ変換処理装置
３０６  ラインメモリ
３１６  補間処理装置
３７１  垂直補間処理装置
３７２  水平補間係数生成装置
３７３  水平補間処理装置
４４６  有効数カウント装置
３１６  補間処理装置
３７１  垂直補間処理装置
３７３  水平補間処理装置
４４６  有効数カウント装置
【図１】
2004282239.tif 000005
【図２】
2004282239.tif 000006
【図３】
2004282239.tif 000007
【図４】
2004282239.tif 000008
【図５】
2004282239.tif 000009
【図６】
2004282239.tif 000010
【図７】
2004282239.tif 000011
【図８】
2004282239.tif 000012
【図９】
2004282239.tif 000013
【図１０】
2004282239.tif 000014
【図１１】
2004282239.tif 000015
【図１２】
2004282239.tif 000016
【図１３】
2004282239.tif 000017
【図１４】
2004282239.tif 000018
【図１５】
2004282239.tif 000019
【図１６】
2004282239.tif 000020
【図１７】
2004282239.tif 000021
【図１８】
2004282239.tif 000022
【図１９】
2004282239.tif 000023
【図２０】
2004282239.tif 000024
【図２１】
2004282239.tif 000025
【図２２】
2004282239.tif 000026
【図２３】
2004282239.tif 000027
【図２４】
2004282239.tif 000028
【図２５】
2004282239.tif 000029
【図２６】
2004282239.tif 000030
【図２７】
2004282239.tif 000031
【図２８】
2004282239.tif 000032
【図２９】
2004282239.tif 000033
【図３０】
2004282239.tif 000034
【図３１】
2004282239.tif 000035
【図３２】
2004282239.tif 000036
【図３３】
2004282239.tif 000037
【図３４】
2004282239.tif 000038
【図３５】
2004282239.tif 000039
【図３６】
2004282239.tif 000040
【図３７】
2004282239.tif 000041
【図３８】
2004282239.tif 000042
【図３９】
2004282239.tif 000043
【図４０】
2004282239.tif 000044
【図４１】
2004282239.tif 000045
【図４２】
2004282239.tif 000046
【図４３】
2004282239.tif 000047
【図４４】
2004282239.tif 000048
【図４５】
2004282239.tif 000049
【図４６】
2004282239.tif 000050
【図４７】
2004282239.tif 000051
【図４８】
2004282239.tif 000052
【図４９】
2004282239.tif 000053
【図５０】
2004282239.tif 000054
【図５１】
2004282239.tif 000055
【図５２】
2004282239.tif 000056
【図５３】
2004282239.tif 000057
【図５４】
2004282239.tif 000058
【図５５】
2004282239.tif 000059
【図５６】
2004282239.tif 000060
【図５７】
2004282239.tif 000061
【図５８】
2004282239.tif 000062
【図５９】
2004282239.tif 000063
【図６０】
2004282239.tif 000064
【図６１】
2004282239.tif 000065
【図６２】
2004282239.tif 000066
【図６３】
2004282239.tif 000067
【図６４】
2004282239.tif 000068
【図６５】
2004282239.tif 000069
【図６６】
2004282239.tif 000070
【図６７】
2004282239.tif 000071
【図６８】
2004282239.tif 000072
【図６９】
2004282239.tif 000073
【図７０】
2004282239.tif 000074
【図７１】
2004282239.tif 000075
【図７２】
2004282239.tif 000076
【図７３】
2004282239.tif 000077
【図７４】
2004282239.tif 000078
【図７５】
2004282239.tif 000079
【図７６】
2004282239.tif 000080
【図７７】
2004282239.tif 000081
【図７８】
2004282239.tif 000082
【図７９】
2004282239.tif 000083
【図８０】
2004282239.tif 000084
【図８１】
2004282239.tif 000085
【図８２】
2004282239.tif 000086
【図８３】
2004282239.tif 000087
【図８４】
2004282239.tif 000088
【図８５】
2004282239.tif 000089
【図８６】
2004282239.tif 000090
【図８７】
2004282239.tif 000091
【図８８】
2004282239.tif 000092
【図８９】
2004282239.tif 000093
【図９０】
2004282239.tif 000094
【図９１】
2004282239.tif 000095
【図９２】
2004282239.tif 000096
【図９３】
2004282239.tif 000097