(57)【特許請求の範囲】
【請求項１】
多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成装置において、
閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出し手段と、
前記閾値データ読み出し手段によって読み出された閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択して出力する閾値データ選択手段であり、前記ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、前記閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択手段と、
前記ハーフトーンを生成すべき複数の画素データと、前記閾値データ選択手段によって選択出力された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較手段と、
を有することを特徴とするハーフトーン生成装置。
【請求項２】
多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成装置において、
閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出し手段と、
前記閾値データ読み出し手段によって読み出された前記走査ラインに対応する全ての閾値データを一時的に保持する第一のレジスタ手段と、
前記第一のレジスタ手段に保持された前記走査ラインに対応する全ての閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択して出力する閾値データ選択手段であり、前記ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、前記閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択手段と、
前記選択出力された複数の閾値データを一時的に保持する第二のレジスタ手段と、
前記ハーフトーンを生成すべき複数の画素データと、前記第二のレジスタ手段に保持された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較手段とを備え、
前記閾値データ読み出し手段による閾値データ読み出し処理、前記閾値データ選択手段による閾値データ選択処理、および前記比較手段によるハーフトーンデータ生成処理の一連の処理を複数画素単位のパイプライン処理として並列動作させる構成としたことを特徴とするハーフトーン生成装置。
【請求項３】
前記閾値データ読み出し手段は、前記閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一度のメモリアクセスで読み出すことを特徴とする請求項１または２に記載のハーフトーン生成装置。
【請求項４】
前記閾値データ選択手段は、処理対象の走査ラインに含まれる全ての閾値データの数をＭ、同時に生成するハーフトーンデータの画素数をＰ、選択する閾値データの開始画素位置をＳとしたとき、Ｍ個の閾値データの内、先頭からＳ番目の閾値データを開始位置として含む連続するＰ個の閾値データを選択して出力する構成を有し、前記Ｍ個の閾値データのＳ番目以降の閾値データがＰ個に満たない場合は、前記Ｓ番目以降の閾値データおよび当該閾値データの先頭から連続する閾値データを選択して総計Ｐ個の閾値データとして選択出力する構成であることを特徴とする請求項１乃至３いずれかに記載のハーフトーン生成装置。
【請求項５】
前記閾値データ選択手段は、前記閾値データ読み出し手段によって読み出された走査ラインに適用する全ての閾値データを、生成するハーフトーンの画素位置に応じた任意の順番で選択あるいは並びかえて出力する構成を有することを特徴とする請求項１乃至４いずれかに記載のハーフトーン生成装置。
【請求項６】
前記閾値データ選択手段は、前記比較手段において並列に比較処理される個数以下の閾値データを同一の出力タイミングにおいて出力することを特徴とする請求項５に記載のハーフトーン生成装置。
【請求項７】
前記閾値データ選択手段は、クロスバススイッチ回路と該クロスバススイッチ回路の制御を実行するスイッチ制御回路とを有し、
前記クロスバススイッチ回路は、処理対象の走査ラインに含まれる全ての閾値データの数をＭとしたとき、Ｍ個の全ての閾値データを同時に入力可能な構成を持ち、
前記スイッチ制御回路は、前記クロスバススイッチ回路に入力される前記Ｍ個の閾値データの中から、生成するハーフトーンの画素位置に対応する閾値データのみを選択出力するように前記クロスバスイッチ回路を制御する構成であることを特徴とする請求項１乃至６いずれかに記載のハーフトーン生成装置。
【請求項８】
前記閾値データ選択手段は、バレルシフタ回路と、該バレルシフタ回路のシフト量を制御するシフト制御回路とを有し、
前記バレルシフタ回路は、処理対象の走査ラインに含まれる全ての閾値データの数をＭとしたとき、Ｍ個の全ての閾値データを同時に入力可能な構成を持ち、
前記シフト制御回路は、生成するハーフトーンの画素位置に応じて前記バレルシフタ回路に入力される前記Ｍ個の閾値データのシフト量を制御する構成であることを特徴とする請求項１乃至６いずれかに記載のハーフトーン生成装置。
【請求項９】
前記閾値データ選択手段は、さらに、Ｍ個の閾値データを複数個ずつ分割したブロック単位の閾値データをブロック単位で入れ替えるためのマルチプレクサ回路と、
前記マルチプレクサ回路によって前記ブロック単位で入れ替えられたＭ個の閾値データを一時保持するブロック単位閾値データレジスタ手段とを有し、
前記クロスバススイッチ回路は、前記ブロック単位閾値データレジスタ手段に保持されたブロック単位で入れ替えられた閾値データを入力とする構成であることを特徴とする請求項７に記載のハーフトーン生成装置。
【請求項１０】
前記閾値データ選択手段は、さらに、Ｍ個の閾値データを複数個ずつ分割したブロック単位の閾値データをブロック単位で入れ替えるためのマルチプレクサ回路と、
前記マルチプレクサ回路によって前記ブロック単位で入れ替えられたＭ個の閾値データを一時保持するブロック単位閾値データレジスタ手段とを有し、
前記バレルシフタ回路は、前記ブロック単位閾値データレジスタ手段に保持されたブロック単位で入れ替えられた閾値データを入力とする構成であることを特徴とする請求項８に記載のハーフトーン生成装置。
【請求項１１】
前記閾値データ選択手段を構成するバレルシフタ回路は、Ｍ個の閾値データを入力とし、シフト動作を右方向にのみ可能な右方向バレルシフタ回路と、同じＭ個の閾値データを入力とし、シフト動作を左方向にのみ可能な左方向バレルシフタ回路との組み合わせにより構成され、
前記閾値データ選択手段は、前記右方向バレルシフタ回路と前記左方向バレルシフタ回路から出力される閾値データのいずれかを選択して出力するセレクタ回路を有することを特徴とする請求項８または１０に記載のハーフトーン生成装置。
【請求項１２】
多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成方法において、
閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出しステップと、
前記閾値データ読み出しステップにおいて読み出された前記閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択ステップであり、前記ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、前記閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択ステップと、
前記ハーフトーンを生成すべき複数の画素データと、前記閾値データ選択手段によって選択出力された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較ステップと、
を有することを特徴とするハーフトーン生成方法。
【請求項１３】
多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成方法において、
閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出しステップと、
前記閾値データ読み出しステップにおいて読み出された前記走査ラインに対応する全ての閾値データを一時的に第一のレジスタ手段に保持するステップと、
前記第一のレジスタ手段に保持された前記走査ラインに対応する全ての閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択ステップであり、前記ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、前記閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択ステップと、
前記選択出力された複数の閾値データを一時的に第二のレジスタ手段に保持するステップと、
前記ハーフトーンを生成すべき複数の画素データと、前記第二のレジスタ手段に保持された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較ステップを有し、
前記閾値データ読み出しステップにおける閾値データ読み出し処理、前記閾値データ選択ステップにおける閾値データ選択処理、および前記比較ステップにおけるハーフトーンデータ生成処理の一連の処理が複数画素単位のパイプライン処理として並列動作することを特徴とするハーフトーン生成方法。
【請求項１４】
前記閾値データ選択ステップは、前記閾値データ読み出しステップにおいて読み出された走査ラインに適用する全ての閾値データを、生成するハーフトーンの画素位置に応じた任意の順番で選択あるいは並びかえて出力するステップを有することを特徴とする請求項１２または１３に記載のハーフトーン生成方法。
【請求項１５】
前記閾値データ選択ステップは、閾値データを複数個ずつ分割したブロック単位の閾値データをブロック単位で入れ替えるステップと、前記ブロック単位で入れ替えられた閾値データを閾値データ単位で選択または並び替えて選択出力するステップを有することを特徴とする請求項１２乃至１４いずれかに記載のハーフトーン生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、多値画像データを２値画像データに電子的に変換するハーフトーン生成装置およびハーフトーン生成方法に関するものであり、特に高速かつ高画質なカラー印刷処理装置に対して高速にハーフトーンデータを供給するハーフトーン生成装置およびハーフトーン生成方法に関するものである。
【０００２】
【従来の技術】
カラー画像を印刷する印刷処理装置は、一般にシアン（以下Ｃと略す）、マゼンタ（以下Ｍと略す）、イエロー（以下Ｙと略す）、ブラック（以下Ｋと略す）の４版に分解され、それぞれの色版には多値画像データが格納される。各色版の多値画像データは、閾値マトリクスデータと比較され、２値画像データに変換される。各色毎の２値画像データに基づいて、ハーフトーン印刷が行なわれ、カラー画像が生成される。
【０００３】
従来オフセット印刷等において、ディジタル的にハーフトーン画像を形成するためには、イメージセッタと呼ばれる高分解能のレーザー記録装置で、感光フィルム上にハーフトーン画像を形成した後、ＰＳ版（ｐｒｅｓｅｎｓｉｔｉｚｅｄ
ｐｌａｔｅ）等に焼き付けるのが一般的である。
【０００４】
このイメージセッタ方式では、上述したようにハーフトーンの形成はオフラインで行なわれ、ハーフトーン形成に関して高速性は要求されないため、一般的にハーフトーン形成は、イメージセッタに内蔵されたマイクロプロセッサを使って処理される。すなわち、マイクロプロセッサによって多値画像データと閾値マトリクスデータの比較演算が実行され、結果がイメージセッタのメモリに記録される。ページ単位あるいはジョブ単位のハーフトーン形成が終了すると、メモリに記録されたハーフトーンデータが順次読み出され、レーザーの感光フィルム上へ記録される。
【０００５】
一方、電子写真方式の印刷処理装置においても、近年の情報の電子化、記録装置のカラー化、高解像度化にともない、ハーフトーン画像をディジタル的に形成することが一般的になりつつある。この電子写真方式では、上記した一般的な印刷と異なり、記録装置の出力に合わせて、多値画像データから連続的にハーフトーン画像を形成する必要がある。このため、電子写真方式の印刷処理装置では、ハーフトーン形成をマイクロプロセッサではなく、専用のハードウェアで実行する方式が一般的である。
【０００６】
図１２に従来の代表的なハーフトーン形成に関するハードウェア構成を示す。図１２において、入力多値画像データの画素位置に応じて、アドレス発生部において比較する閾値マトリクスデータのアドレスが計算され、アドレスが閾値マトリクスデータを格納したメモリに入力される。閾値マトリクスメモリでは、入力多値画像データに対応した閾値データがコンパレータに出力され、ハーフトーンデータが出力される。
【０００７】
上記電子写真方式の印刷処理装置に用いられる閾値マトリクスデータは、有理正接（ｒａｔｉｏｎａｌ  ｔａｎｇｅｎｔ）と呼ばれる方式が一般的で、比較的小さなマトリクスで閾値データが構成されるため、カラー印刷の各色版の角度、線数の自由度が小さいという問題があった。しかしながら、電子写真方式の印刷処理装置においても、近年の高画質化の要求にともない、記録装置が高解像度化し、従来イメージセッタで利用されてきた、マトリクスサイズが大きく、角度、線数の自由度が高い、スーパーセル方式やマルチユニットエリア方式によるハーフトーン化が可能になってきた。
【０００８】
また、図１２の方式のハーフトーン形成では、従来印刷処理装置の印刷処理部で多値画像データを生成し、記録装置でレーザー露光する直前でハーフトーン化するのが一般的であったが、上記高解像度化にともない、イメージセッタに比較して低価格の電子写真方式の印刷処理装置では、多値画像データを格納しておくためのメモリのコストが問題となっている。さらに、大量の多値画像データを印刷処理部から記録装置へ高速にデータ転送すること、高速の記録装置の記録速度に応じて高速にハーフトーンデータを生成することも問題となっている。
【０００９】
上記最初の２つの問題に対しては、印刷処理部においてハーフトーン化することが一つの解決手段として考案される。すなわち、予め多値画像データをハーフトーンデータ化し、２値データとしてメモリに格納し、記録装置へ出力することにより、メモリ容量、データ転送速度ともに８分の１に低減する。しかしながら、最後の問題である高速のハーフトーンデータ生成は問題として残る。
【００１０】
【発明が解決しようとする課題】
高速にハーフトーンデータを生成する技術としては、特開平６−６６０６号公報に開示された技術がある。特開平６−６６０６号公報では、閾値マトリクスデータのメモリとは別に閾値マトリクスデータの１ライン分を複数の高速メモリに交互に転送し、ハーフトーン処理は高速メモリから閾値データを読み出すことで実行する方法が記載されている。しかしながら、特開平６−６６０６号公報で開示されている方法は、少ない高速メモリで高速にハーフトーン生成を行なうことを狙いとしたもので、基本的に図１２の構成と変わらず、飛躍的な高速化を期待することはできない。とくに、文字や図形などのように描画オブジェクト毎の平均描画ラン長が短い描画オブジェクトに対しては、閾値マトリクスデータ全体を格納する低速なメモリへのアクセスが頻繁に発生し、高速メモリの恩恵をほとんど受けることができないという問題がある。
【００１１】
ハーフトーン生成の高速化に対する他のアイデアとして、図１２に示すようなハーフトーンデータ生成ハードウェアを複数設け、複数ハードウェアで並列にハーフトーン処理を実行することが考案される。近年の半導体技術の進展により大規模かつ高速な回路が提供されるようになり、コンパレータ等のロジック回路部分に関しては、並列化による高速化が可能である。しかしながら、メモリからの閾値データの読み出しに関しては、メモリアクセス時間が論理演算、算術演算の計算時間に比較して遅いこと、読み出しを並列化すると入出力データ線が増加し物理的なレイアウトが困難になること、等の理由で高速化が困難であった。また、一度に多数の閾値データをメモリから読み出す場合、入力される多値画像データの画素位置に合わせて読み出された閾値データを高速に並べ変える処理が発生するという問題もあった。
【００１２】
画像処理システムにおける画像データの並べ変えにクロスバスイッチを用いる先願としては、特開平８−３０５８３９号公報等がある。特開平８−３０５８３９号公報では、１画素当たり１色について１６ビットの画像データを、Ｒ、Ｇ、Ｂ、ダミー（Ｄ）の上位８ビットずつを最初にメモリの連続するアドレスに記憶し、Ｒ、Ｇ、Ｂ、Ｄの下位８ビットずつをそれに続く連続アドレスに記憶しておき、表示デバイスにデータ転送する場合は、上位８ビットずつのみを転送することで高速にデータ転送する方法を示している。ＣＰＵで画像処理する場合の画像データの並べ変えにはクロスバスイッチを用いる。しかしながら特開平８−３０５８３９号公報で開示された方法は、ディスプレイ表示用に特化しており、クロスバスイッチの使用法も２通りだけを想定してあり、本発明の対象とするようなハーフトーン生成装置に適用することはできない。
【００１３】
また、画像処理システムにおける画像データの並べ変えにバレルシフタを用いる先願としては、特開平９−２４７４６６号公報等がある。特開平９−２４７４６６号公報では、可変長符号化を行う符号化装置において、可変長符号データを連結する際の特殊コードの挿入およびそれに関する操作を実現するのにバレルシフタおよびセレクタ、レジスタ等を用いてハードウェアによる高速化を図っている。しかしながら、特開平９−２４７４６６号公報で開示された方法は、可変長符号化を行う符号化装置に特化しており、本発明の対象とするようなハーフトーン生成装置に適用することはできない。
【００１４】
本発明はこのような点に鑑みてなされたものであり、複数のハーフトーンデータを並列に生成するハードウェアにおいて、ボトルネックとなる閾値データの読み出し、および閾値データの並べ変え処理を高速に実行できるハーフトーン生成装置およびハーフトーン生成方法を提供するものである。
【００１５】
【課題を解決するための手段】
上記課題を解決するため、本発明のハーフトーン生成装置は多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成装置において、閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出し手段と、閾値データ読み出し手段によって読み出された閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択手段であり、ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択手段と、ハーフトーンを生成すべき複数の画素データと、閾値データ選択手段によって選択出力された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較手段とを有することを特徴とする。
【００１６】
さらに、本発明のハーフトーン生成装置は、多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成装置において、閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出し手段と、閾値データ読み出し手段によって読み出された走査ラインに対応する全ての閾値データを一時的に保持する第一のレジスタ手段と、第一のレジスタ手段に保持された走査ラインに対応する全ての閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択手段であり、ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択手段と、選択出力された複数の閾値データを一時的に保持する第二のレジスタ手段と、ハーフトーンを生成すべき複数の画素データと、第二のレジスタ手段に保持された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較手段とを備え、閾値データ読み出し手段による閾値データ読み出し処理、閾値データ選択手段による閾値データ選択処理、および比較手段によるハーフトーンデータ生成処理の一連の処理を複数画素単位のパイプライン処理として並列動作させる構成としたことを特徴とする。
【００１７】
また、本発明のハーフトーン生成方法は、多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成方法において、閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出しステップと、閾値データ読み出しステップにおいて読み出された閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択ステップであり、ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択ステップと、ハーフトーンを生成すべき複数の画素データと、閾値データ選択手段によって選択出力された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較ステップとを有することを特徴とする。
【００１８】
さらに本発明のハーフトーン生成方法は、多値画像を形成する画素データを閾値マトリクスデータと比較することにより多値画像の画素データに基づくハーフトーンデータを生成するハーフトーン生成方法において、閾値マトリクスデータを記憶する閾値マトリクスデータ記憶手段からハーフトーンを生成する走査ラインに適用する全ての閾値データを一括して読み出す閾値データ読み出しステップと、閾値データ読み出しステップにおいて読み出された走査ラインに対応する全ての閾値データを一時的に第一のレジスタ手段に保持するステップと、第一のレジスタ手段に保持された走査ラインに対応する全ての閾値データの中から、ハーフトーンを生成すべき複数の画素の位置に対応する複数の閾値データを選択出力する閾値データ選択ステップであり、ハーフトーンデータの生成対象となる走査ラインの画素位置情報と、処理対象の色情報またはオブジェクト種類情報の少なくともいずれかの情報とを入力し、該入力情報に基づいて生成する閾値データアドレス信号を適用して、閾値データ読み出し手段において読み出され閾値データから、走査ラインの各画素位置に対応して適用する閾値データを選択して出力する閾値データ選択ステップと、選択出力された複数の閾値データを一時的に第二のレジスタ手段に保持するステップと、ハーフトーンを生成すべき複数の画素データと、第二のレジスタ手段に保持された複数の閾値データとの比較処理を並列に実行し、複数のハーフトーンデータを同時に生成する比較ステップを有し、閾値データ読み出しステップにおける閾値データ読み出し処理、閾値データ選択ステップにおける閾値データ選択処理、および比較ステップにおけるハーフトーンデータ生成処理の一連の処理が複数画素単位のパイプライン処理として並列動作することを特徴とする。
【００１９】
上記構成によれば、高速かつ高画質なカラー印刷処理装置に対して並列に比較処理を行なうことが可能となり、高速にハーフトーンデータを供給することができる。またメモリからの閾値データ読み出しと、並列比較に必要な閾値データの選択と、複数のコンパレータによる並列比較処理をパイプライン構成とすることにより、比較処理手段に対する閾値データの供給を高速に行なうことが可能となる。
【００２０】
【発明の実施の形態】
以下、図面に基づき本発明に係わるハーフトーン生成装置およびハーフトーン生成方法について説明する。
【００２１】
図１は本発明によるハーフトーン生成装置の基本的な構成を示すブロック図である。同図において、本発明によるハーフトーン生成装置は、閾値マトリクスデータ記憶手段２と、閾値データ読み出し手段３と、閾値データ選択手段４と、比較手段５とから構成されている。
【００２２】
閾値マトリクスデータ記憶手段２は、多値画像データ１の２値化に用いる閾値データを格納するためのメモリ装置である。本発明で対象とする閾値マトリクスデータは、例えば、高解像度の記録装置に対応する大サイズのマトリクスデータで、例えば、スーパーセル方式やマルチユニットエリア方式で生成された複数の網点セルで構成されるものである。スーパーセル方式に関しては、ピーター・フィンク著、株式会社エムディエヌコーポレーション発行、書名「ポストスクリプト・スクリーニング」に記載されている。マルチユニットエリア方式に関しては、日本印刷学会誌（１９９４）、ｖｏｌ．３１、ｐｐ．３１−３９に記載されている。本メモリ装置のワード構成は、閾値マトリクスデータの１ライン分（例えば主走査方向の１ライン）の閾値データが、一度のメモリアクセスで出力可能なように構成されている。
【００２３】
閾値データ読み出し手段３は、入力される多値画像データ１の走査信号に基づき、閾値マトリクスデータ記憶手段２より当該走査ラインに対応するマトリクスの１ライン分の閾値データを一度のメモリアクセスで同時に読み出し、内部に一時的に保持した後、閾値データ選択手段４へ転送するよう構成されている。また、閾値データを閾値データ選択手段４へ転送した後、次に入力される多値画像データの走査ラインに対応するマトリクスの１ライン分の全ての閾値データを読み出すよう構成されている。
【００２４】
閾値データ選択手段４は、閾値データ読み出し手段３から転送される走査ラインに対応する１ライン分の閾値マトリクスデータから、比較手段５で多値画像データ１を２値化するための閾値データを多値画像データ１の走査位置に応じて選択的に取り出すものである。例えば、連続する複数画素から成る多値画像データ１に対応して、連続する閾値データを１ブロックとし、ブロック単位で順次比較手段５へ出力するように構成されている。
【００２５】
比較手段５は、入力される複数画素から成る多値画像データ１を、それらの走査位置に対応する同数の閾値データと並列に比較し、２値化する。例えば、多値画像データが閾値データより大であれば当該画素のビットは１、多値画像データが閾値データと等しいか小であれば当該画素のビットは０とする。比較手段５より出力される２値画像データ６は、図示しないバッファメモリに所定の処理単位、例えば走査ライン単位、バンド単位、あるいはページ単位で格納された後、電子写真方式の記録装置へ出力される。
【００２６】
【実施例】
［実施例１］
次に本実施例における実装の形態について説明する。
図２は本実施例におけるハーフトーン処理装置のハードウェア構成例である。図２における各ハードウェアと図１に示す各構成との対応について説明する。閾値マトリクスデータ記憶手段２は閾値マトリクスデータ格納メモリ１２に、閾値データ読み出し手段３は閾値データ読み出し制御回路１１と閾値データフェッチレジスタ１３に、閾値データ選択手段４は閾値データ選択制御回路１４とクロスバスイッチ回路１５と閾値データレジスタ１６に、比較手段５は複数個（図２ではｗｓ個）のコンパレータ１７と出力レジスタ１８に、それぞれ対応している。その他本発明には直接関係しないが、図２には２値化された画像データを一時的に格納するためのバッファメモリ２０とバッファメモリ書き込み制御回路１９が含まれている。図２において、閾値マトリクスサイズをｔｓ×ｔｓ、閾値マトリクスデータ格納メモリ１２のアドレス線幅をａｓビット、バッファメモリ２０のデータ線幅をｗｓビットとしている。以下、個々のハードウェア構成要素について説明する。
【００２７】
閾値マトリクスデータ格納メモリ１２は、マルチユニットエリア方式等で作成される閾値マトリクスデータを格納するもので、本実施例ではＳＲＡＭを用いて実現される。図３にそのメモリ構成および閾値マトリクスデータの格納状況を示す。本実施例では、文字、図形、およびラスタの各描画オブジェクト毎に異なった閾値マトリクスデータを用い、かつそのそれぞれについて、Ｃ、Ｍ、Ｙ、Ｋの各色毎に異なった閾値マトリクスデータを用いることを想定している。図３に示すように、本実施例では×８ビット構成のＳＲＡＭをｔｓ個並列に配置し、同一のアドレスでｔｓ個の閾値データが一度に出力されるように構成されている。各々のＳＲＡＭには、図３で付した番号に対応する閾値マトリクスの一列が格納される。閾値マトリクスデータは、閾値データ読み出し制御回路１１から入力される閾値データアドレス信号ＴＨＭＡによってアドレスされる。
【００２８】
閾値データ読み出し制御回路１１は、ハーフトーン処理される多値画像データ０の副走査ライン方向の画素位置を表す信号ｃｙ０、現在処理中の色（Ｃ、Ｍ、Ｙ、またはＫ）を表す信号ｃｏｌｏｒ、現在処理中の描画オブジェクトの種類（文字、図形、またはラスタ）を表す信号ｏｔｙｐｅに基づき、閾値マトリクスデータ格納メモリ１２にアクセスするための閾値データアドレス信号ＴＨＭＡを出力し、閾値マトリクスデータ格納メモリ１２から閾値データが出力されるタイミングに応じて、閾値データフェッチレジスタ１３に１ライン分の閾値データをロードするためのロード信号ＬＤＦを出力する。
【００２９】
図４に閾値データ読み出し制御回路１１の閾値データアドレス信号ＴＨＭＡを生成するデータパスの構成を示す。図４において、閾値データ読み出し制御回路１１は、文字用閾値マトリクスが格納されているメモリの先頭アドレスｆｏｎｔ＿ｍａｔｒｉｘ＿ｓａｄｒの値を格納するレジスタ３１と、図形用閾値マトリクスが格納されているメモリの先頭アドレスｇｒａｐｈｉｃ＿ｍａｔｒｉｘ＿ｓａｄｒの値を格納するレジスタ３２と、ラスタ用閾値マトリクスが格納されているメモリの先頭アドレスｒａｓｔｅｒ＿ｍａｔｒｉｘ＿ｓａｄｒの値を格納するレジスタ３３と、ｏｔｙｐｅの値に応じて上記レジスタ３１〜３３のいずれかをＳＡＤＲとして選択するマルチプレクサ３８と、ｔｓの値を格納するレジスタ３４と、２×ｔｓの値を格納するレジスタ３５と、３×ｔｓの値を格納するレジスタ３６と、０を格納するレジスタ３７と、ｃｏｌｏｒの値に応じて上記レジスタ３４〜３７のいずれかをＯＦＦＳＥＴとして選択するマルチプレクサ３９と、ＳＡＤＲ＋ＯＦＦＳＥＴの加算を実行する加算器４０と、ｃｙ０ｍｏｄｔｓの演算を実行する除算器４１と、加算器４０の出力と除算器４１の出力との和を計算する加算器４２とを備える。
【００３０】
上記構成において、閾値データアドレス信号ＴＨＭＡは、ＴＨＭＡ＝ＳＡＤＲ＋ＯＦＦＳＥＴ＋ｃｙ０ｍｏｄｔｓにより、計算される。ここで、ＳＡＤＲは、図３あるいは図４におけるｆｏｎｔ＿ｍａｔｒｉｘ＿ｓａｄｒ、ｇｒａｐｈｉｃ＿ｍａｔｒｉｘ＿ｓａｄｒ、またはｒａｓｔｅｒ＿ｍａｔｒｉｘ＿ｓａｄｒのいずれかに対応する。入力信号ｏｔｙｐｅが「文字」を表す場合は、ＳＡＤＲとしてｆｏｎｔ＿ｍａｔｒｉｘ＿ｓａｄｒが選択される。入力信号ｏｔｙｐｅが「図形」を表す場合は、ＳＡＤＲとしてｇｒａｐｈｉｃ＿ｍａｔｒｉｘ＿ｓａｄｒが選択される。入力信号ｏｔｙｐｅが「ラスタ」を表す場合は、ＳＡＤＲとしてｒａｓｔｅｒ＿ｍａｔｒｉｘ＿ｓａｄｒが選択される。ＯＦＦＳＥＴは、図３あるいは図４における０、ｔｓ、２×ｔｓ、または３×ｔｓのいずれかに対応する。入力信号ｃｏｌｏｒが「シアン」を表す場合は、ＯＦＦＳＥＴとして０が選択される。入力信号ｃｏｌｏｒが「マゼンタ」を表す場合は、ＯＦＦＳＥＴとしてｔｓが選択される。入力信号ｃｏｌｏｒが「イエロー」を表す場合は、ＯＦＦＳＥＴとして２×ｔｓが選択される。入力信号ｃｏｌｏｒが「ブラック」を表す場合は、ＯＦＦＳＥＴとして３×ｔｓが選択される。なお、ｍｏｄは剰余演算を表す。
【００３１】
閾値データフェッチレジスタ１３は、閾値マトリクスデータ格納メモリ１２から出力される１ライン分の閾値データを、後段の処理に備えて一時的に保持するためのレジスタである。閾値データフェッチレジスタ１３は、例えばｔｓ個のＤフリップフロップを用いて構成され、閾値データ読み出し制御回路１１から入力されるロード信号ＬＤＦがアクティブのとき、図示しないシステムクロック信号に同期して、１ライン分の閾値データを同時に取り込むよう構成されている。
【００３２】
クロスバスイッチ１５は、閾値データフェッチレジスタ１３に保持された閾値データの内、任意の位置から連続するｗｓ個の閾値データを選択して出力するものである。図７に、入力データ線が８ビット×７、出力データ線が８ビット×４の場合のクロスバスイッチ１５のデータパスの構成を示す。同図において、クロスバスイッチ１５は入力データ線ｉｎ（０）〜ｉｎ（６）と、出力データ線ｏｕｔ（０）〜ｏｕｔ（３）と、スイッチｓｗ（０，０）〜ｓｗ（６，３）とから構成される。入力データ線ｉｎ（ｉ）には、閾値データフェッチレジスタ１３からｔｓ個（図７では７個）の閾値データが入力される。出力データ線ｏｕｔ（ｊ）は、選択されたｗｓ個（図７では４個）の閾値データを閾値データレジスタ１６へ出力するものである。
【００３３】
スイッチｓｗ（ｉ，ｊ）の内部構成を図９に示す。スイッチｓｗ（ｉ，ｊ）は、制御信号ｃｔｒｌ（ｉ，ｊ）に応じて、入力データ線ｉｎ（ｉ）と出力データ線ｏｕｔ（ｊ）を接続するスイッチ回路である。ｃｔｒｌ（ｉ，ｊ）＝  １  の時は、入力データ線ｉｎ（ｉ）と出力データ線ｏｕｔ（ｊ）を接続し、入力データ線ｉｎ（ｉ）の内容を出力データ線ｏｕｔ（ｊ）に出力する。ｃｔｒｌ（ｉ，ｊ）＝  ０  の時は、入力データ線ｉｎ（ｉ）と出力データ線ｏｕｔ（ｊ）の接続を解除する。図８に、図７と同じ入出力構成の場合のクロスバスイッチ１５の制御パスの構成を示す。閾値データ選択制御回路１４から入力されるクロスバスイッチ制御信号ＣＸＢＳは、まず、ｓｗ（０，０）〜ｓｗ（６，０）の制御信号ｃｔｒｌ（０，０）〜ｃｔｒｌ（６，０）に入力される。次のｓｗ（０，１）〜ｓｗ（６，１）には、図８に示す通り、クロスバスイッチ制御信号ＣＸＢＳを右に１ビットローテーションシフトした値が入力される。続くｓｗ（０，２）〜ｓｗ（６，３）に関しても同様である。すなわち、ＣＸＢＳに対するｊビット右ローテーションシフトをＲＴＲ（ＣＸＢＳ，ｊ）と記述すれば、ｃｔｒｌ（ｉ，ｊ）にはＲＴＲ（ＣＸＢＳ，ｊ）（ｉ）が入力される。
【００３４】
次に図１０および図１１を用いてクロスバスイッチ１５の動作を説明する。図１０は、入力データ線が８ビット×７、出力データ線が８ビット×４の場合のクロスバスイッチ１５の動作を説明する図である。図１０において、画素位置（ｃｘ０，ｃｙ０）から連続する４画素分の多値画像データ０〜３を２値化すると想定する。閾値データフェッチレジスタ１３にロードされるｃｙ０に対応する１ライン分の閾値データの内、ｃｘ０に対応する閾値データは入力データ線ｉｎ（４）に入力されるものであったとする。この場合、クロスバスイッチ制御信号ＣＸＢＳとして  ００００１００  が入力され、図１０でハッチをかけたスイッチｓｗ（４，０）、ｓｗ（５，１）、ｓｗ（６，２）、ｓｗ（０，３）のみが接続状態になる。すなわち、入力データ線ｉｎ（４）に入力された多値画像データ０に対応する閾値データが出力データ線ｏｕｔ（０）へ出力され、入力データ線ｉｎ（５）に入力された多値画像データ１に対応する閾値データが出力データ線ｏｕｔ（１）へ出力され、入力データ線ｉｎ（６）に入力された多値画像データ２に対応する閾値データが出力データ線ｏｕｔ（２）へ出力され、入力データ線ｉｎ（０）に入力された多値画像データ３に対応する閾値データが出力データ線ｏｕｔ（３）へ出力される。その他の入力データ線ｉｎ（１）、ｉｎ（２）、ｉｎ（３）に入力された閾値データは、図１０に示した２値化処理では使用されない。
【００３５】
図１１は、入力データ線が８ビット×７、出力データ線が８ビット×８の場合のクロスバスイッチ１５の動作を説明する図である。図１０との違いは、図１０ではｔｓ≧ｗｓとなっていたのに対し、図１１ではｔｓ＜ｗｓとなっていることである。図１１において、画素位置（ｃｘ０，ｃｙ０）から連続する８画素分の多値画像データ０〜７を２値化すると想定する。閾値データフェッチレジスタ１３にロードされるｃｙ０に対応する１ライン分の閾値データの内、ｃｘ０に対応する閾値データは入力データ線ｉｎ（４）に入力されるものであったとする。この場合、クロスバスイッチ制御信号ＣＸＢＳとして  ００００１００  が入力され、図１０でハッチをかけたスイッチｓｗ（４，０）、ｓｗ（５，１）、ｓｗ（６，２）、ｓｗ（０，３）、ｓｗ（１，０）、ｓｗ（２，１）、ｓｗ（３，２）、ｓｗ（４，３）のみが接続状態になる。すなわち、入力データ線ｉｎ（４）に入力された多値画像データ０、７に対応する閾値データが出力データ線ｏｕｔ（０）、ｏｕｔ（７）へ出力され、入力データ線ｉｎ（５）に入力された多値画像データ１に対応する閾値データが出力データ線ｏｕｔ（１）へ出力され、入力データ線ｉｎ（６）に入力された多値画像データ２に対応する閾値データが出力データ線ｏｕｔ（２）へ出力され、入力データ線ｉｎ（０）に入力された多値画像データ３に対応する閾値データが出力データ線ｏｕｔ（３）へ出力され、入力データ線ｉｎ（１）に入力された多値画像データ４に対応する閾値データが出力データ線ｏｕｔ（４）へ出力され、入力データ線ｉｎ（２）に入力された多値画像データ５に対応する閾値データが出力データ線ｏｕｔ（５）へ出力され、入力データ線ｉｎ（３）に入力された多値画像データ６に対応する閾値データが出力データ線ｏｕｔ（６）へ出力される。図１１で入力データ線ｉｎ（４）に入力された閾値データが２つの出力データ線ｏｕｔ（０）、ｏｕｔ（７）に出力されているように、ｔｓ＜ｗｓの場合には１つの閾値データが複数出力される点が図１０の場合（ｔｓ≧ｗｓ）と異なっている。
【００３６】
閾値データ選択制御回路１４は、ハーフトーン処理される多値画像データ０の主走査ライン方向の画素位置を表す信号ｃｘ０に基づき、クロスバスイッチ制御信号ＣＸＢＳを出力するとともに、クロスバスイッチ１５から選択されたｗｓ個の閾値データが出力されるタイミングに応じて、閾値データレジスタ１６にｗｓ個の閾値データをロードするためのロード信号ＬＤＤを出力する。クロスバスイッチ制御信号ＣＸＢＳはｔｓビット幅の信号で、ｔｓビットの内、閾値データの出力開始位置に対応する１ビットのみが  １  、他の全てのビットには  ０  がセットされるものである。図５にクロスバスイッチ制御信号ＣＸＢＳを生成するデータパスの構成を示す。同図において、閾値データ選択制御回路１４は、ｔｓの値を格納するレジスタ４５と、ｃｘ０ｍｏｄｔｓの演算を実行する除算器４１と、バイナリデコーダ４７とを備える。図６に入力３ビット、出力８ビットの場合のバイナリデコーダの真理値表を示す。図５に示したバイナリデコーダ４７の入出力ビット幅は、入力８ビット、出力ｔｓビット（最大２５６ビット）であるが、図６では表記を簡単にするため、入力３ビット、出力８ビットの場合を想定した真理値表を示している。図６から明らかなように、バイナリエンコーダ４７の機能は、入力の値が０（図６では“０００”）のときに出力線の最上位ビットに“１”を出力し、それ以外のすべての出力ビットに“０”を出力する。入力の値が０から１（００１），２（０１０）と変化すると、入力値が１ずつ増加するのに対応して出力線の“１”を出力するビット位置が１つずつ最下位ビットの方へ移動する。また、出力線のビット幅が少ない場合、例えば入力３ビット、出力５ビットの場合は、５（図６では“１０１”）以上の入力値に対しては全ビット“０”を出力する。
【００３７】
上記構成において出力開始位置を表す内部信号ＳＢＩＴはＳＢＩＴ＝ｃｘ０ｍｏｄｔｓによって計算され、バイナリデコーダ４７によってＳＢＩＴの値に対応するビットＣＸＢＳ（ＳＢＩＴ）のみが  １  にセットされ、他の全てのビットには  ０  がセットされて、出力される。
【００３８】
閾値データレジスタ１６は、クロスバスイッチ１５から出力されるｗｓ個の閾値データを、後段の処理に備えて一時的に保持するためのレジスタである。閾値データレジスタ１６は、例えばｗｓ個のＤフリップフロップを用いて構成され、閾値データ選択制御回路１４から入力されるロード信号ＬＤＤがアクティブのとき、図示しないシステムクロック信号に同期して、ｗｓ個の閾値データを同時に取り込むよう構成されている。
【００３９】
コンパレータ１７は、ｗｓ個の８ビットマグニチュードコンパレータから構成される。各８ビットマグニチュードコンパレータは、多値画像データと閾値データを比較し、多値画像データが閾値データより大であれば  １  を出力し、多値画像データが閾値データと等しいか小であれば  ０  を出力して２値化する。コンパレータ１７で２値化された画像データは、出力レジスタ１８に一時的に保持された後、ｗｓビットずつバッファメモリ２０へ書き込まれる。出力レジスタ１８へのロードおよびバッファメモリ２０への書き込みは、バッファメモリ書き込み制御回路１９により制御される。
【００４０】
以上、本実施例のハードウェア構成について説明したが、閾値マトリクスデータ格納メモリ１２およびバッファメモリ２０を除くロジック部分に関しては、ゲートアレイ等のセミカスタムＡＳＩＣを用いて容易に１チップＬＳＩ化が可能である。また、０．２５μｍ以下の微細な半導体プロセスを利用すれば、セルベースＡＳＩＣまたはフルカスタムＡＳＩＣを用いて、閾値マトリクスデータ格納メモリ１２を含む全体が１チップＬＳＩ化可能である。
【００４１】
次に、上述したハードウェア構成における、全体の処理について説明する。
まず、入力される多値画像データの２値化に先立って、画素位置信号：ｃｙ０、色信号：ｃｏｌｏｒ、およびオブジェクトタイプ：ｏｔｙｐｅが閾値データ読み出し制御回路１１に入力される。閾値データ読み出し制御回路１１は、図４で説明した通りに閾値データアドレス信号ＴＨＭＡを生成して出力し、閾値マトリクスデータ格納メモリ１２から当該走査ラインに対する全ての閾値データを一度に読み出し、ロード信号ＬＤＦを操作して、読み出した１ライン分の閾値データを閾値データフェッチレジスタ１３へロードする。
【００４２】
閾値データフェッチレジスタ１３へ閾値データがセットされると、閾値データ選択制御回路１４は、画素位置信号ｃｘ０に基づいてクロスバスイッチ制御信号ＣＸＢＳを生成し、出力する。クロスバスイッチ１５は、クロスバスイッチ制御信号ＣＸＢＳに従って画素位置ｃｘ０に対応する位置から連続するｗｓ個の閾値データを選択し、出力する。それらｗｓ個の閾値データは、閾値データ選択制御回路１４の制御によるロード信号ＬＤＤによって閾値データレジスタ１６にロードされる。
【００４３】
閾値データレジスタ１６へ閾値データがセットされると、コンパレータ１７によってｗｓ個の多値画像データとｗｓ個の閾値データが並列に比較され、多値画像データ１が２値化される。２値化されたｗｓビットの画像データは、出力レジスタ１８に一時的に保持された後、バッファメモリ２０に書き込まれる。
【００４４】
なお、本実施例によるハーフトーン処理装置は、閾値マトリクスデータ格納メモリ１２からの閾値データ読み出しと閾値データフェッチレジスタ１３への１ライン分の閾値データのロード、クロスバスイッチ１５による閾値データ選択と閾値データレジスタ１６へのｗｓ個の閾値データのロード、コンパレータ１７による多値画像データ１の２値化と出力レジスタへのロード、およびバッファメモリ２０への２値画像データの書き込み、の４処理が４ステージパイプライン動作するように構成されている。すなわち、例えば閾値データ読み出し制御回路１１は、閾値データフェッチレジスタ１３へある行の閾値マトリクスデータをロードすると、後段の３ステージの終了を待たずに次の多値画像データに対する閾値データ読み出し処理を開始する。他の３ステージについても同様である。
【００４５】
上記プロセスを、入力される全ての多値画像データに対して繰り返すことにより全てのハーフトーン化が実行される。
【００４６】
なお、本実施例では入力される複数画素から成る多値画像データは同一走査ラインの連続する画素であると仮定したが、本発明はこれに限るものではなく、閾値データ選択制御回路１４とクロスバスイッチ１５を以下のように変更することで、同一走査ラインのとびとびの画素位置をとる多値画像データにも対応することができる。すなわち、入力されるｗｓ個の多値画像データの全ての主走査ライン方向の画素位置ｃｘ０〜ｃｘ（ｗｓ−１）を閾値データ選択制御回路１４に入力するように変更し、それらの画素位置信号に基づいて、クロスバスイッチ１５の全てのスイッチ制御信号ｃｔｒｌ（ｉ，ｊ）を個別に生成し、出力するように変更する。これにより、クロスバスイッチ１５において、入力されるｔｓ個の閾値データを任意の順番で並べ変えて出力することが可能となり、上記同一走査ラインのとびとびの画素位置をとる複数の多値画像データに対して正しく対応する閾値データを供給することができる。
【００４７】
［実施例２］
次に本発明の第２の実施例について説明する。実施例２は、図１の閾値データ選択手段４のハードウェア構成が実施例１で説明したものと異なっている。図１３に本実施例におけるハーフトーン処理装置のハードウェア構成を示す。図１３において、閾値データ選択手段４は閾値データ選択制御回路１４とバレルシフタ回路２２と閾値データレジスタ１６に対応しており、それ以外の回路は実施例１の図２で述べたものと同様である。以下では、実施例１と構成の異なる閾値データ選択制御回路１４とバレルシフタ回路２２について説明する。
【００４８】
バレルシフタ回路２２は、閾値データフェッチレジスタ１３に保持された閾値データのうち、任意の位置から連続するｗｓ個の閾値データを選択して出力するものである。ここで、図１４に４個の閾値データを入力し、最大３個分左にシフトさせるバレルシフタの回路構成を示す。同図において、バレルシフタは、入力データ線ｉｎ（０）〜ｉｎ（３）と、出力データ線ｏｕｔ（０）〜ｏｕｔ（３）と、４入力１出力のマルチプレクサ回路ｍｕｘ（０）〜ｍｕｘ（３）と、シフト量に応じてマルチプレクサ回路の出力信号を選択するバレルシフタ制御信号線ｓｅｌ（０）〜ｓｅｌ（１）とから構成される。ここで、入力データ線ｉｎ（ｉ）、出力データ線ｏｕｔ（ｉ）は８ビット、バレルシフタ制御信号線ｓｅｌ（ｉ）は１ビットで構成される。マルチプレクサ回路ｍｕｘ（ｉ）は、バレルシフタ制御信号線ｓｅｌ（０）及びｓｅｌ（１）の値によって、Ｄ（０）〜Ｄ（３）に入力された値を選択出力する。例えば、ｓｅｌ（１）ｓｅｌ（０）＝００の場合、各マルチプレクサ回路ｍｕｘ（ｉ）はＤ（０）に入力された値を出力する。従って、この場合は入力データはシフトされずにそのまま出力される。ｓｅｌ（１）ｓｅｌ（０）＝０１の場合は、各マルチプレクサ回路ｍｕｘ（ｉ）からＤ（１）に入力された値が出力され、結果出力データは入力データを左に１個シフトした値が得られることになる。同様にして、ｓｅｌ（１）ｓｅｌ（０）＝１０の場合は入力データを左に２個シフトした値が、ｓｅｌ（１）ｓｅｌ（０）＝１１の場合は入力データを左に３個シフトした値が出力される。閾値データ選択制御回路１４から出力されるバレルシフタ制御信号ＳＦＴは、このｓｅｌ（ｉ）に入力される。
次に、図１５および図１６を用いて閾値データフェッチレジスタ１３に保持された閾値データｔｓ個のうち、任意の位置から連続するｗｓ個の閾値データを選択して出力するための、バレルシフタ回路２２の動作を説明する。図１５は、入力データ線が８ビット×４、出力データ線が８ビット×３の場合、つまりｔｓ≧ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。図１５において、画素位置（ｃｘ０，ｃｙ０）から連続する３画素分の多値画像データ０〜２を２値化すると想定する。閾値データフェッチレジスタ１３にロードされるｃｙ０に対応する１ライン分の閾値データのうち、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものであったとする。この場合、バレルシフタ制御信号としてｓｅｌ（１）ｓｅｌ（０）＝１０が入力され、各マルチプレクサ回路ｍｕｘ（ｉ）のＤ（２）に入力された値が出力、つまり入力データが左に２個シフトされて、入力データ線ｉｎ（２）に入力された多値画像データ０に対応する閾値データが出力データ線ｏｕｔ（０）へ出力され、入力データ線ｉｎ（３）に入力された多値画像データ１に対応する閾値データが出力データ線ｏｕｔ（１）へ出力され、入力データ線ｉｎ（０）に入力された多値画像データ２に対応する閾値データが出力データ線ｏｕｔ（２）へ出力される。その他の入力データ線ｉｎ（１）に入力された閾値データは、図１５に示した２値化処理では使用されない。
【００４９】
図１６は、入力データ線が８ビット×４、出力データ線が８ビット×７の場合、つまりｔｓ＜ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。図１６において、画素位置（ｃｘ０，ｃｙ０）から連続する７画素分の多値画像データ０〜６を２値化すると想定する。閾値データフェッチレジスタ１３にロードされるｃｙ０に対応する１ライン分の閾値データのうち、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものであったとする。この場合、バレルシフタ制御信号としてｓｅｌ（１）ｓｅｌ（０）＝１０が入力され、各マルチプレクサ回路ｍｕｘ（ｉ）のＤ（２）に入力された値が出力、つまり入力データが左に２個シフトされて、入力データ線ｉｎ（２）に入力された多値画像データ０、４に対応する閾値データが出力データ線ｏｕｔ（０）、ｏｕｔ（４）へ出力され、入力データ線ｉｎ（３）に入力された多値画像データ１、５に対応する閾値データが出力データ線ｏｕｔ（１）、ｏｕｔ（５）へ出力され、入力データ線ｉｎ（０）に入力された多値画像データ２、６に対応する閾値データが出力データ線ｏｕｔ（２）、ｏｕｔ（６）へ出力され、入力データ線ｉｎ（１）に入力された多値画像データ３に対応する閾値データが出力データ線ｏｕｔ（３）へ出力される。実施例１の図１１での説明と同様、図１６で入力データ線ｉｎ（２）、ｉｎ（３）、ｉｎ（４）に入力された閾値データがそれぞれ２つの出力データ線に出力されているように、ｔｓ＜ｗｓの場合には１つの閾値データが複数出力される点が図１５の場合（ｔｓ≧ｗｓ）と異なっている。
【００５０】
閾値データ選択制御回路１４は、ハーフトーン処理される多値画像データ０の主走査ライン方向の画素位置を表す信号ｃｘ０に基づき、バレルシフタ制御信号ＳＦＴを出力すると共に、バレルシフタ回路２２から選択されたｗｓ個の閾値データが出力されるタイミングに応じて、閾値データレジスタ１６にｗｓ個の閾値データをロードするためのロード信号ＬＤＤを出力する。バレルシフタ制御信号ＳＦＴはｓｓビット幅（ｓｓ＝ｌｏｇ２ｔｓ（小数点以下切り上げ））の信号で、入力データを最大ｔｓ−１個分左方向にシフトする動作を制御するものである。図１７にバレルシフタ制御信号ＳＦＴを生成するデータパスの構成を示す。同図において、閾値データ選択制御回路１４は、ｔｓの値を格納するレジスタ４５と、ｃｘ０ｍｏｄｔｓの演算を実行する除算器４５とを備える。ここで、除算器４５より出力される剰余の有効ビット幅ｓｓは同図ではｓｓ≦８である。上記構成において、除算器４５より算出される剰余がバレルシフタ制御信号ＳＦＴとして出力される。
【００５１】
以上、本実施例のハードウェア構成で実施例１と異なる部分について説明した。また、上述したハードウェア構成における全体の処理も、閾値データフェッチレジスタ１３へ閾値データがセットされてから、閾値データレジスタ１６へ閾値データがセットされる間の処理が実施例１の場合と異なっているが、他は同様である。以下に、この異なっている部分の処理の説明をする。
【００５２】
閾値データフェッチレジスタ１３へ閾値データがセットされると、閾値データ選択制御回路１４は、画素位置信号ｃｘ０に基づいてバレルシフタ制御信号ＳＦＴを生成し、出力する。バレルシフタ回路２２は、バレルシフタ制御信号ＳＦＴに対応した個数だけ左方向に閾値データをシフトし、ｗｓ個の閾値データを出力する。それらｗｓ個の閾値データは、閾値データ選択制御回路１４の制御によるロード信号ＬＤＤによって閾値データレジスタ１６にロードされる。
【００５３】
なお、本実施例によるハーフトーン処理装置も、バレルシフタ回路２２による閾値データ選択と閾値データレジスタ１６へのｗｓ個の閾値データのロード処理がパイプラインの１ステージとして動作するため、実施例１の場合と同様に全体として４ステージパイプライン動作するように構成されている。
【００５４】
［実施例３］
次に本発明の第３の実施例について説明する。実施例３は、実施例２のハードウェア構成（図１２）の閾値データ選択制御回路１４とバレルシフタ回路２２が異なっている。図１８に本実施例におけるバレルシフタ回路２２のハードウェア構成を示す。図１８において、バレルシフタ回路２２は最大ｔｓ／２（ｔｓが偶数の時）又は（ｔｓ−１）／２（ｔｓが奇数の時）個分左方向にシフトさせるバレルシフタ２２１と、最大ｔｓ／２−１（ｔｓが偶数の時）又は（ｔｓ−１）／２（ｔｓが奇数の時）個分右方向にシフトさせるバレルシフタ２２２と、左方向バレルシフタ２２１と右方向バレルシフタ２２２との出力値を選択するセレクタ２２３とから構成される。もちろん、ｔｓが偶数の時の最大シフト数は左右入れ替わってもよい。ここで、図１９に４個の閾値データを入力し、最大２個分左にシフトさせるバレルシフタと最大１個分右にシフトさせるバレルシフタの回路構成を示す。同図において、左方向バレルシフタは、入力データ線ｉｎ（０）〜ｉｎ（３）と、出力データ線ｏｕｔｌ（０）〜ｏｕｔｌ（３）と、３入力１出力のマルチプレクサ回路ｍｕｘｌ（０）〜ｍｕｘｌ（３）と、シフト量に応じてマルチプレクサ回路の出力信号を選択するバレルシフタ制御信号線ｓｅｌ（０）〜ｓｅｌ（１）とから構成され、右方向バレルシフタは、入力データ線ｉｎ（０）〜ｉｎ（３）と、出力データ線ｏｕｔｒ（０）〜ｏｕｔｒ（３）と、２入力１出力のマルチプレクサ回路ｍｕｘｒ（０）〜ｍｕｘｒ（３）と、シフト量に応じてマルチプレクサ回路の出力信号を選択するバレルシフタ制御信号線ｓｅｌ（０）〜ｓｅｌ（１）とから構成され、セレクタは、出力データ線ｏｕｔ（ｒｌ）（０）〜ｏｕｔ（ｒｌ）（３）と、選択出力データ線ｏｕｔ（０）〜ｏｕｔ（３）と、２入力１出力のマルチプレクサ回路ｍｕｘ（０）〜ｍｕｘ（３）と、左右いずれの方向にシフトさせるかによって２つのバレルシフタからの出力を選択する出力選択信号線ｒｌとから構成される。ここで、入力データ線ｉｎ（ｉ）、出力データ線ｏｕｔ（ｒｌ）（ｉ）は８ビット、バレルシフタ制御信号線ｓｅｌ（ｉ）、出力選択信号線ｒｌは１ビットで構成される。マルチプレクサ回路ｍｕｘｌ（ｉ）は、バレルシフタ制御信号線ｓｅｌ（０）及びｓｅｌ（１）の値によって、Ｄ（０）〜Ｄ（２）に入力された値を選択出力し、マルチプレクサ回路ｍｕｘｒ（ｉ）は、バレルシフタ制御信号線ｓｅｌ（０）及びｓｅｌ（１）の値によって、Ｄ（０）〜Ｄ（１）に入力された値を選択出力し、更に出力選択信号ｒｌの値によって、シフトさせたい方向に対応したバレルシフタの出力結果を選択出力する。例えば、左方向に１個データをシフトさせる場合は、ｓｅｌ（１）ｓｅｌ（０）＝０１及びｒｌ＝０をそれぞれバレルシフタ及びセレクタに入力する。ｓｅｌ（１）ｓｅｌ（０）＝０１により、各バレルシフタ内のマルチプレクサ回路ｍｕｘ（ｒｌ）（ｉ）からＤ（１）に入力された値が出力され、結果左方向バレルシフタからの出力データは入力データを左に１個シフトした値が得られ、右方向バレルシフタからの出力データは入力データを右に１個シフトした値が得られることになる。更に、ｒｌ＝０がセレクタに入力されることにより、左方向バレルシフタの出力データが選択されて、最終的に左方向に１個分シフトした出力データが得られることになる。同様にして、ｓｅｌ（１）ｓｅｌ（０）＝１０及びｒｌ＝０の場合は入力データを左に２個シフトした値が、ｓｅｌ（１）ｓｅｌ（０）＝０１及びｒｌ＝１の場合は入力データを右に１個シフトした値（左に３個シフトした結果と同じ）が出力される。
【００５５】
次に、図２０を用いて、閾値データ選択制御回路１４におけるバレルシフタ制御信号ＳＦＴ及び出力選択信号ＲＬを生成するデータパスの構成を説明する。同図において、閾値データ選択制御回路１４は、ｔｓの値を格納するレジスタ４５と、ｃｘ０ｍｏｄｔｓの演算を実行する除算器４６と、ｔｓ／２（ｔｓが偶数の時）または（ｔｓ−１）／２（ｔｓが奇数の時）の値を格納するレジスタ４８と、除算器より出力される剰余とレジスタ４８に格納されている値との大小関係を比較するコンパレータ４９と、レジスタ４８に格納されている値から除算器より出力される剰余を減算する減算器５０と、コンパレータ４９の出力によって除算器より出力される剰余または減算結果を選択出力するセレクタ５１とを備える。ここで、セレクタ５１より出力される剰余または減算結果の有効ビット幅ｓｓは同図ではｓｓ≦８である。上記構成において、コンパレータ４９の出力結果が出力選択信号ＲＬとして、セレクタ５１より出力される剰余または剰余の補数がバレルシフタ制御信号ＳＦＴとして出力される。
【００５６】
以上、本実施例におけるハードウェア構成について説明した。本実施例の構成によれば、左右両方向のバレルシフタを設けることにより、一方向バレルシフタの場合に比べて、各バレルシフタのシフト数が半分以下で済むことになり、シフト処理に要する遅延時間を短くすることができる。従って、実施例２の場合に比べてより高速にパイプラインを動作させることができる。
【００５７】
［実施例４］
次に本発明の第４の実施例について説明する。実施例４は、図１の閾値データ選択手段４のハードウェア構成が実施例１〜３で説明したものと異なっている。図２１に本実施例におけるハーフトーン処理装置のハードウェア構成を示す。図２１において、閾値データ選択手段４は閾値データ選択制御回路１４とマルチプレクサ回路２３と閾値データフェッチレジスタ２，２４とバレルシフタ回路２２と閾値データレジスタ１６に対応しており、それ以外の回路は実施例１の図２で述べたものと同様である。ここで、図２１を用いて、本実施例における閾値データ選択手段の動作を説明する。図２１において、まず閾値データフェッチレジスタ１３を閾値データがｂｓ個単位のブロックｎ個に分割する。ここで、ｂｓ＝ｔｓ／ｎ（小数点以下切り上げ）であり、右端または左端のブロックの閾値データ数だけｂｓ  ＝ｔｓ−（ｎ−１）＊ｂｓとなる。次に、２値化する多値画像データの開始位置がどのブロックに含まれるかを判別し、閾値データ選択制御回路１４から出力されるブロックシフト制御信号ＢＳＦＴに従って開始位置が含まれるブロックが先頭ブロックとなるようにブロック単位で閾値データの順序を入れ替える。そして、マルチプレクサ回路２３で順序入れ替えを行った閾値データを閾値データフェッチレジスタ２，２４に格納する。次に、閾値データフェッチレジスタ２，２４に保持された閾値データをバレルシフタ回路２２によって、先頭ブロック内の任意の位置から連続するｗｓ個の閾値データを選択して出力し、閾値データレジスタ１６に格納する。
【００５８】
次に、本実施例における閾値データ選択制御回路１４とマルチプレクサ回路２３と閾値データフェッチレジスタ２，２４とバレルシフタ回路２２について説明する。
【００５９】
マルチプレクサ回路２３は、閾値データフェッチレジスタ１３に保持された閾値データを複数個からなるブロック単位でシフトして閾値データの順序を入れ替えるものである。図２２に１１個の閾値データを４つのブロックに分割し、ブロック単位に閾値データの順序を入れ替えるマルチプレクサの回路構成を示す。同図において、マルチプレクサ回路２３は、入力データ線ｉｎ（０）〜ｉｎ（１０）と、出力データ線ｏｕｔ（０）〜ｏｕｔ（１０）と、４入力１出力のマルチプレクサ回路ｍｕｘ（０）〜ｍｕｘ（１０）と、シフト量に応じてマルチプレクサ回路の出力信号を選択するブロックシフト制御信号ｂｓｅｌ（０）〜ｂｓｅｌ（１）とから構成される。ここで、入力データ線ｉｎ（ｉ）、出力データ線ｏｕｔ（ｉ）は８ビット、ブロックシフト制御信号ｂｓｅｌ（ｉ）は１ビットで構成される。マルチプレクサ回路ｍｕｘ（ｉ）は、ブロックシフト制御信号ｂｓｅｌ（０）及びｂｓｅｌ（１）の値によって、Ｄ（０）〜Ｄ（３）に入力された値を選択出力する。例えば、ｓｅｌ（１）ｓｅｌ（０）＝００の場合、各マルチプレクサ回路ｍｕｘ（ｉ）はＤ（０）に入力された値を出力する。従って、この場合は入力データはシフトされずにそのまま出力される。ｓｅｌ（１）ｓｅｌ（０）＝０１の場合は、各マルチプレクサ回路ｍｕｘ（ｉ）からＤ（１）に入力された値が出力され、結果出力データは入力データを左にブロック１個分シフトした値が得られることになる。同様にして、ｓｅｌ（１）ｓｅｌ（０）＝１０の場合は入力データを左にブロック２個分シフトした値が、ｓｅｌ（１）ｓｅｌ（０）＝１１の場合は入力データを左にブロック３個分シフトした値が出力される。
【００６０】
閾値データフェッチレジスタ２，２４は、マルチプレクサ回路２３から出力されるｔｓ個の閾値データを、後段の処理に備えて一時的に保持するためのレジスタである。閾値データフェッチレジスタ２，２４は、例えばｔｓ個のＤフリップフロップを用いて構成され、閾値データ選択制御回路１４から入力されるロード信号ＬＤＤ１がアクティブの時、図示しないシステムクロック信号に同期して、ｔｓ個の閾値データを同時に取りこむよう構成されている。バレルシフタ回路２２は、実施例２で説明したものと同様の構成である。
【００６１】
次に、図２３および図２４を用いて、閾値データフェッチレジスタ２，２４に保持された閾値データｔｓ個のうち、任意の位置から連続するｗｓ個の閾値データを選択して出力するための、バレルシフタ回路２２の動作を説明する。図２３は、入力データ線が８ビット×１１、出力データ線が８ビット×８の場合、つまりｔｓ≧ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。図２３において、画素位置（ｃｘ０，ｃｙ０）から連続する８画素分の多値画像データ０〜２を２値化すると想定する。閾値データフェッチレジスタ２，２４にロードされるｃｙ０に対応する１ライン分の閾値データのうち、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものであったとする。なお、先述したマルチプレクサ回路２３によってｃｘ０に対応する閾値データを含むブロックが先頭にシフトしているため、ｃｘ０に対応する閾値データは、本例では入力データ線ｉｎ（０）〜ｉｎ（２）のいずれかに必ず入力されることになる。この場合では、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものとしたので、バレルシフタ制御信号としてｓｅｌ（１）ｓｅｌ（０）＝１０が入力され、各マルチプレクサ回路ｍｕｘ（ｉ）のＤ（２）に入力された値が出力、つまり入力データが左に２個シフトされて、入力データ線ｉｎ（２）に入力された多値画像データ０に対応する閾値データが出力データ線ｏｕｔ（０）へ出力され、以下各閾値データは対応する出力データ線へ出力される。入力データ線ｉｎ（０），ｉｎ（１），ｉｎ（１０）に入力された閾値データは、図２３に示した２値化処理では使用されない。
【００６２】
図２４は、入力データ線が８ビット×１１、出力データ線が８ビット×１３の場合、つまりｔｓ＜ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。図２４において、画素位置（ｃｘ０，ｃｙ０）から連続する１３画素分の多値画像データ０〜１２を２値化すると想定する。閾値データフェッチレジスタ２，２４にロードされるｃｙ０に対応する１ライン分の閾値データのうち、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものであったとする。なお、先述したマルチプレクサ回路２３によってｃｘ０に対応する閾値データを含むブロックが先頭にシフトしているため、ｃｘ０に対応する閾値データは、本例では入力データ線ｉｎ（０）〜ｉｎ（２）のいずれかに必ず入力されることになる。この場合では、ｃｘ０に対応する閾値データは入力データ線ｉｎ（２）に入力されるものとしたので、バレルシフタ制御信号としてｓｅｌ（１）ｓｅｌ（０）＝１０が入力され、各マルチプレクサ回路ｍｕｘ（ｉ）のＤ（２）に入力された値が出力、つまり入力データが左に２個シフトされて、入力データ線ｉｎ（２）に入力された、多値画像データ０、４に対応する閾値データが出力データ線ｏｕｔ（０）、ｏｕｔ（４）へ出力され、以下各閾値データは対応する出力データ線へ出力される。実施例１の図１１での説明と同様、図２４で入力データ線ｉｎ（２）、ｉｎ（３）に入力された閾値データがそれぞれ２つの出力データ線に出力されているように、ｔｓ＜ｗｓの場合には１つの閾値データが複数出力される点が図２３の場合（ｔｓ≧ｗｓ）と異なっている。
【００６３】
閾値データ選択制御回路１４は、ハーフトーン処理される多値画像データ０の主走査ライン方向の画素位置を表す信号ｃｘ０に基づき、ブロックシフト制御信号ＢＳＦＴ及びバレルシフタ制御信号ＳＦＴを出力すると共に、マルチプレクサ回路２３によってブロック単位の順序入れ替えが行われたｔｓ個の閾値データが出力されるタイミングに応じて、閾値データフェッチレジスタ２，２４にｔｓ個の閾値データをロードするためのロード信号ＬＤＦ２と、バレルシフタ回路２２から選択されたｗｓ個の閾値データが出力されるタイミングに応じて、閾値データレジスタ１６にｗｓ個の閾値データをロードするためのロード信号ＬＤＤを出力する。ブロックシフト制御信号ＢＳＦＴはｎｓビット幅（ｎｓ＝ｌｏｇ２ｎ（小数点以下切り上げ））の信号で、入力データを最大ｎ−１個分ブロック単位で左方向にシフトする動作を制御するものである。また、バレルシフタ制御信号ＳＦＴはｓｓビット幅（ｓｓ＝ｌｏｇ２ｂｓ（小数点以下切り上げ））の信号で、入力データを最大ｂｓ−１個分左方向にシフトする動作を制御するものである。図２５にブロックシフト制御信号ＢＳＦＴ及びバレルシフタ制御信号ＳＦＴを生成するデータパスの構成を示す。同図において、閾値データ選択制御回路１４は、ｂｓの値を格納するレジスタ５２と、ｃｘ０／ｂｓの演算を実行する除算器５３とを備える。上記構成において、除算器５３より算出される商がブロックシフト制御信号ＢＳＦＴとして、剰余がバレルシフタ制御信号ＳＦＴとして出力される。
【００６４】
以上、本実施例のハードウェア構成で実施例１〜３と異なる部分について説明した。本実施例の構成によれば、ブロック単位のシフトを制御するマルチプレクサ回路２３を設けることにより、バレルシフタのみの場合に比べて、バレルシフタのシフト数が最大ブロックを構成するビット幅以下で済むことになり、シフト処理に要する遅延時間を短くすることができる。従って、実施例２、３の場合に比べてより高速にパイプラインを動作させることができる。
【００６５】
また、本実施例では、バレルシフタ回路２２は左方向シフトとして説明をしたが、実施例３と同様に双方向バレルシフタで構成してもよく、多値画像データの開始位置ｃｘ０が、閾値データの単位ブロックにおいて先頭ビットから中央ビットの間にある時は、まず、マルチプレクサ回路２３によってｃｘ０を含むブロックを左端にシフトし、次に左方向バレルシフタで最大ｂｓ／２のシフトを行う。一方、多値画像データの開始位置ｃｘ０が、閾値データの単位ブロックにおいて中央ビットから最後尾ビットの間にある時は、まず、マルチプレクサ回路２３によってｃｘ０を含むブロックを右端にシフトし、次に右方向バレルシフタで最大ｂｓ／２のシフトを行う。これにより、バレルシフタのシフト数をさらに減少させることができ、一方向シフトの場合に比べてより高速にパイプラインを動作させることができる。
【００６６】
なお、本実施例によるハーフトーン処理装置も、マルチプレクサ回路２３による閾値データのブロック単位シフトと、閾値データフェッチレジスタ２，２４へのｔｓ個の閾値データのロード処理と、バレルシフタ回路２２による閾値データ選択と閾値データレジスタ１６へのｗｓ個の閾値データのロード処理がパイプラインの１ステージとして動作するため、全体として６ステージパイプライン動作するように構成されている。
【００６７】
以上、本発明の複数の実施例について説明したが、本発明は上述した実施例に限定されるものではなく、上述の実施例の構成を適宜組み合わせた構成も含むものである。例えば、実施例４で説明した閾値格納メモリから読み出された閾値データをブロック単位でシフト処理を実行するマルチプレクサ構成を他の実施例に適用することが可能である。すなわち実施例４のマルチプレクサによるシフト処理済みのブロック単位の閾値データを実施例１で説明したクロスバススイッチ回路に対する入力閾値データとする構成が可能であり、また、同様に実施例３で説明した左右の一方向バレルシフタ回路に対する入力とする構成も可能である。
【００６８】
【発明の効果】
以上説明したように、本発明のハーフトーン生成装置およびハーフトーン生成方法によれば、多値画像を形成する複数の画素データと複数の閾値データの比較処理を並列に処理可能な構成とし、また、閾値マトリクスデータ格納メモリからの走査ラインに適用する全閾値データの読み出しを例えば１回の読み出しサイクルによる一括処理として実行する構成としたので、高速なハーフトーンデータ供給が可能となる。
【００６９】
さらに閾値マトリクスデータ格納メモリから読み出した走査ラインに適用する全閾値データの中から並列比較処理に必要な複数の閾値データを選択する選択処理と、複数のコンパレータを用いた並列比較処理等の一連の処理をパイプライン処理構成としたりで、複数画素のハーフトーンデータを順次繰り返して出力することができ、高速なハーフトーンデータ供給が可能となる。
【図面の簡単な説明】
【図１】  本発明のハーフトーン生成装置の基本的構成を示すブロック図である。
【図２】  実施例１のハーフトーン生成装置のハードウェア構成を示す図である。
【図３】  実施例１のメモリ構成および閾値マトリクスデータ格納状況を説明する図である。
【図４】  閾値データ読み出し制御回路１１の内部構成を示すブロック図である。
【図５】  閾値データ選択制御回路１４の内部構成を示すブロック図である。
【図６】  バイナリデコーダの真理値表を示す図である。
【図７】  クロスバスイッチ１５のデータパスの構成を示す図である。
【図８】  クロスバスイッチ１５の制御パスの構成を示す図である。
【図９】  スイッチｓｗ（ｉ，ｊ）の内部構成を示す図である。
【図１０】  ｔｓ≧ｗｓの場合のクロスバスイッチ１５の動作を説明する図である。
【図１１】  ｔｓ＜ｗｓの場合のクロスバスイッチ１５の動作を説明する図である。
【図１２】  従来の代表的なハーフトーン生成処理を実行するハードウェア構成図である。
【図１３】  実施例２のハーフトーン生成装置のハードウェア構成例を示す図である。
【図１４】  実施例２のバレルシフタ回路２２のデータパスの構成を示す図である。
【図１５】  ｔｓ≧ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。
【図１６】  ｔｓ＜ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。
【図１７】  実施例２の閾値データ選択制御回路１４の内部構成を示す図である。
【図１８】  実施例３のハーフトーン生成装置のハードウェア構成例を示す図である。
【図１９】  実施例３のバレルシフタ回路２２のデータパスの構成を示す図である。
【図２０】  実施例３の閾値データ選択制御回路１４の内部構成を示す図である。
【図２１】  実施例４のハーフトーン生成装置のハードウェア構成例を示す図である。
【図２２】  マルチプレクサ回路２３のデータパスの構成を示す図である。
【図２３】  実施例４のｔｓ≧ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。
【図２４】  実施例４のｔｓ＜ｗｓの場合のバレルシフタ回路２２の動作を説明する図である。
【図２５】  実施例４の閾値データ選択制御回路１４の内部構成を示す図である。
【符号の説明】
１  多値画像データ
２  閾値マトリクスデータ記憶手段
３  閾値データ読み出し手段
４  閾値データ選択手段
５  比較手段
６  ２値画像データ
１１  閾値データ読み出し制御回路
１２  閾値マトリクスデータ格納メモリ
１３  閾値データフェッチレジスタ
１４  閾値データ選択制御回路
１５  クロスバススイッチ回路
１６  閾値データレジスタ
１７  コンパレータ
２２  バレルシフタ
２３  マルチプレクサ
２４  閾値データフェッチレジスタ
２２１  左方向バレルシフタ
２２２  右方向バレルシフタ
【図１】
0003861483.tif 000002
【図２】
0003861483.tif 000003
【図３】
0003861483.tif 000004
【図４】
0003861483.tif 000005
【図５】
0003861483.tif 000006
【図６】
0003861483.tif 000007
【図７】
0003861483.tif 000008
【図８】
0003861483.tif 000009
【図９】
0003861483.tif 000010
【図１０】
0003861483.tif 000011
【図１１】
0003861483.tif 000012
【図１２】
0003861483.tif 000013
【図１３】
0003861483.tif 000014
【図１４】
0003861483.tif 000015
【図１５】
0003861483.tif 000016
【図１６】
0003861483.tif 000017
【図１７】
0003861483.tif 000018
【図１８】
0003861483.tif 000019
【図１９】
0003861483.tif 000020
【図２０】
0003861483.tif 000021
【図２１】
0003861483.tif 000022
【図２２】
0003861483.tif 000023
【図２３】
0003861483.tif 000024
【図２４】
0003861483.tif 000025
【図２５】
0003861483.tif 000026