誤差拡散処理回路及び逐次処理回路
【課題】多値画像データに含まれる色成分の数が増加しても、従来技術に比較して画像処理装置の回路規模の増大を抑える。
【解決手段】切換制御回路7は、色分離回路8から出力される処理対象の画素データD8の色成分を表す切換制御信号S7を発生する。しきい値テーブルメモリ3は、画素データD8の色成分に対応するしきい値データを量子化回路10に出力する。主走査誤差算出回路9は、切換制御信号S7に基づいて、画素データD8の色成分に対応する誤差拡散係数及び量子化回路10からの誤差データD10eに基づいて累積誤差データD9aを算出して画素データD8に加算することにより補正後データD9を算出する。量子化回路10は、しきい値テーブルメモリ3からのしきい値データを用いて、補正後データD9を量子化データD10qに量子化するとともに量子化誤差データD10eを算出する。
【解決手段】切換制御回路7は、色分離回路8から出力される処理対象の画素データD8の色成分を表す切換制御信号S7を発生する。しきい値テーブルメモリ3は、画素データD8の色成分に対応するしきい値データを量子化回路10に出力する。主走査誤差算出回路9は、切換制御信号S7に基づいて、画素データD8の色成分に対応する誤差拡散係数及び量子化回路10からの誤差データD10eに基づいて累積誤差データD9aを算出して画素データD8に加算することにより補正後データD9を算出する。量子化回路10は、しきい値テーブルメモリ3からのしきい値データを用いて、補正後データD9を量子化データD10qに量子化するとともに量子化誤差データD10eを算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レーザプレンタ、デジタル複写機、カラーレーザプリンタ、デジタルカラー複写機などの画像処理装置のための誤差拡散処理回路及び逐次処理回路に関する。
【背景技術】
【0002】
従来から、スキャナ又はディジタルカメラ等の入力装置によって読み取られた多値画像データを、プリンタ又はディスプレイ装置等の出力装置に出力する画像入出力システムが知られている。このような画像入出力システムでは、入力装置によって読み取られた多値(例えば、8ビットの精度ならば256階調である。)の画像データを出力装置から出力可能な階調数の量子化画像データに変換するために、誤差拡散法などを用いる疑似階調処理が行われる。誤差拡散法とは、元の多値画像データを量子化画像データに変換したときに発生する量子化誤差を周辺の画素に分散することにより量子化画像データ全体の誤差を低減する手法である。例えば、レッド及びグリーンなどの複数の色成分を含む多値画像データを量子化するための技術は、以下の特許文献1〜3に開示されている。
【0003】
特許文献1に記載のカラーマルチヘッド型プリンタは、バッファメモリから読み出された画像データをイエロー、マゼンタ、シアン及びブラックにそれぞれ対応する4つの画像データに分離する色分離部と、色分離部からの画像データをそれぞれ2値化して出力する4つの2値化部を備えたことを特徴としている。
【0004】
また、特許文献2に記載の画像処理方法は、複数の色成分をもつ多値画像データを、その解像度を維持したまま量子化する第一のモードと、一つの色成分を持つ多値画像データを、その解像度を増加させて量子化する第二のモードとを有する画像処理方法であって、前記第一のモードの場合は、入力される一つの色成分をもつ多値画像データを同一レベルの複数の多値データに分割した後、分割された多値データのそれぞれを量子化し、前記第二のモードの場合は、前記複数の色成分の多値画像データそれぞれを量子化することを特徴としている。
【0005】
さらに、特許文献3に記載の量子化方法は、誤差拡散法を用いて多値画像情報をN(Nは2以上の整数)値に量子化する量子化方法において、誤差拡散法を用いて多値画像情報をN値に量子化する量子化工程と、前記量子化工程で発生した誤差データを累積拡散誤差としてメモリに蓄積する蓄積工程と、前記多値画像情報に対して要求された処理性能に応じて前記メモリへの蓄積を制御する制御工程とを有することを特徴としている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1〜3に記載の各技術によれば、複数の色成分を含む多値画像データを量子化するときに、上記各色成分に対応して誤差拡散処理回路及び量子化回路を設ける必要があった。同様に、色成分の増加とともに、ブルーノイズ減算処理回路又はラベリング処理回路などの逐次処理回路の数も増加した。このため、色成分の増加とともに画像処理装置の回路規模が増大するという課題があった。
【0007】
本発明の目的は以上の問題点を解決し、多値画像データに含まれる色成分の数が増加しても、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路及び逐次処理回路を提供することにある。
【課題を解決するための手段】
【0008】
第1の発明に係る誤差拡散処理回路は、
処理対象の画素データに対して、量子化誤差データを累積してなる累積誤差データを加算して補正後データを算出する誤差算出回路と、
所定のしきい値データを用いて上記補正後データを量子化データに量子化するとともに、上記補正後データ及び上記量子化データに基づいて上記量子化誤差データを算出して、上記誤差算出回路に出力する量子化回路とを備えた誤差拡散処理回路において、
上記誤差拡散処理回路は、
複数の色成分毎に、上記各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、
上記処理対象の画素データの色成分を表す切換制御信号を発生し、上記しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、
上記誤差算出回路は、
(a)複数の色成分に対応して設けられ、上記各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ予め格納する複数の誤差拡散係数レジスタと、
(b)複数の色成分に対応して設けられ、上記各色成分毎に上記累積誤差データを格納する複数の累積誤差レジスタとを備え、
上記誤差算出回路は、上記切換制御信号に基づいて、上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データを読み出し、上記読み出された累積誤差データを上記処理対象の画素データに加算することにより上記補正後データを算出して上記量子化回路に出力し、上記処理対象の画素データに対して誤差拡散処理を行うための誤差拡散係数を上記複数の誤差拡散係数レジスタから読み出し、上記読み出された誤差拡散係数と上記量子化回路から出力された量子化誤差データとに基づいて上記累積誤差データを算出し、上記算出された累積誤差データを上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納し、
上記制御回路は、上記切換制御信号に基づいて、上記処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、上記しきい値テーブルメモリから読み出して上記量子化回路に出力することを特徴とする。
【0009】
上記誤差拡散処理回路において、1つの色成分の画素データを含む第1の画像データ又は複数の色成分の複数の画素データを含む第2の画像データを受信し、上記受信された第1又は第2の画像データを各色成分の画素データに分離して、上記分離後の各画素データを、上記処理対象の画素データとして、上記誤差算出回路に順次出力する色分離回路をさらに備えたことを特徴とする。
【0010】
第2の発明に係る逐次処理回路は、複数の種類の入力データに対して所定の処理を行う逐次処理回路において、
上記各種類に対応して設けられた複数のレジスタと、
上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、
上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたことを特徴とする。
【発明の効果】
【0011】
本発明に係る誤差拡散処理回路によれば、複数の色成分毎に、各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、処理対象の画素データの色成分を表す切換制御信号を発生し、しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、制御回路は、切換制御信号に基づいて、処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、しきい値テーブルメモリから読み出して量子化回路に出力し、誤差算出回路は、切換制御信号に従って、処理対象の画素データに基づいて補正後データを算出するので、複数の色成分の画素データを含む画像データに対して誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの誤差算出回路と1つの量子化回路のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0012】
また、本発明に係る逐次処理回路によれば、入力データの種類に対応して設けられた複数のレジスタと、上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたので、複数の種類の入力データ毎に逐次データ算出回路を備える必要がなく、従来技術に比較して逐次処理回路の回路規模の増加を抑えることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る主走査誤差拡散処理回路100を備えた画像処理装置のブロック図である。
【図2】図1の主走査誤差算出回路9の回路図である。
【図3】図1の主走査誤差拡散処理回路100の第1の動作モードにおいて、入出力バッファ50から出力される画像データD50−1のデータ配置図である。
【図4】図1の主走査誤差拡散処理回路100の第2の動作モードにおいて、入出力バッファ50から出力される画像データD50−2のデータ配置図である。
【図5】第1の動作モードにおける図1の色分離回路8の動作を示すブロック図である。
【図6】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第1の動作モードにおける入力データD50−1のタイミングチャートであり、(c)は、第1の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。
【図7】第2の動作モードにおける図1の色分離回路8の動作を示すブロック図である。
【図8】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第2の動作モードにおける入力データD50−2のタイミングチャートであり、(c)は、第2の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。
【図9】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第1の動作モードにおける切換制御信号S7のタイミングチャートであり、(c)は、第1の動作モードにおけるクロック信号C1のタイミングチャートであり、(d)は、第1の動作モードにおけるクロック信号C2のタイミングチャートである。
【図10】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第2の動作モードにおける切換制御信号S7のタイミングチャートであり、(c)は、第2の動作モードにおけるクロック信号C1のタイミングチャートであり、(d)は、第2の動作モードにおけるクロック信号C2のタイミングチャートである。
【図11】図1のしきい値テーブルメモリ3に格納されるしきい値テーブルの一例を示す表である。
【図12】本発明の第2の実施形態に係る主走査誤差拡散処理回路100Aを備えた画像処理装置のブロック図である。
【図13】図12の主走査誤差算出回路9Aの回路図である。
【図14】本発明の第3の実施形態に係る逐次処理回路300の第1の動作モードにおける動作を示すブロック図である。
【図15】図14の逐次処理回路300の第2の動作モードにおける動作を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0015】
第1の実施形態.
図1は、本発明の第1の実施形態に係る主走査誤差拡散処理回路100を備えた画像処理装置のブロック図であり、図2は、図1の主走査誤差算出回路9の回路図である。図1の画像処理装置は、入出力バッファ50と、主走査誤差拡散処理回路100と、主走査誤差拡散処理回路100の動作を制御するコントローラ40とを備えて構成される。また、主走査誤差拡散処理回路100は、制御回路100cと、しきい値テーブルメモリ3と、色分離回路8と、主走査誤差算出回路9と、量子化回路10と、クロック生成回路20とを備えて構成される。また、制御回路100cは、シーケンサ1と、しきい値アドレス生成回路2と、画素数設定レジスタ4と、データタイプ選択レジスタ5と、マルチプレクサ6と、切換制御回路7とを備えて構成される。さらに、切換制御回路7は、インバータ71と、フリップフロップ回路72とを備えて構成される。また、クロック生成回路20は、インバータ201,205と、フリップフロップ回路202,206と、アンドゲート204,208,207と、オアゲート203とを備えて構成される。さらに、量子化回路10は、比較回路101−1〜101−4と、減算回路103−1〜1−3−4と、デコーダ102と、マルチプレクサ104とを備えて構成される。そして、図2において、主走査誤差算出回路9は、マルチプレクサ902,905,908,909,911,914と、フリップフロップ回路900,901,903,904,906,907と、乗算器910,912,915と、加算器913,916,917と、誤差拡散係数レジスタ921a,921b,922a,922b,923a,923bとを備えて構成される。なお、フリップフロップ回路900,901,903,904,906,907はそれぞれ、データを格納する記憶レジスタである。
【0016】
詳細後述するように、本実施形態に係る主走査誤差拡散処理回路100は、第1及び第2の色成分毎に、各色成分の画素データに基づいて算出される補正後データD9を量子化するためのしきい値データを予め格納するしきい値テーブルメモリ3と、処理対象の画素データD8の色成分を表す切換制御信号S7を発生し、しきい値テーブルメモリ3からのしきい値データの読み出しを制御する制御回路100cとを備える。さらに、主走査誤差算出回路9は、(a)第1の色成分に対応して設けられ、第1の色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数C1A,C2A,C3Aをそれぞれ予め格納する誤差拡散係数レジスタ921a,922a,923aと、(b)第2の色成分に対応して設けられ、第2の色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数C1B,C2B,C3Bをそれぞれ予め格納する誤差拡散係数レジスタ921b,922b,923bと、(c)第1の色成分に対応して設けられ、累積誤差データを格納するフリップフロップ回路906にてなる累積誤差レジスタと、(d)第2の色成分に対応して設けられ、累積誤差データを格納するフリップフロップ回路907にてなる累積誤差レジスタとを備える。ここで、主走査誤差算出回路9は、切換制御信号S7に基づいて、処理対象の画素データD8の色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データD9eを読み出し、上記読み出された累積誤差データD9eを処理対象の画素データD8に加算することにより補正後データD9を算出して量子化回路10に出力し、処理対象の画素データD8に対して誤差拡散処理を行うための誤差拡散係数を誤差拡散係数レジスタ921a,922a,923a又は誤差拡散係数レジスタ921b,922b,923bから読み出し、上記読み出された誤差拡散係数と量子化回路10から出力された量子化誤差データD10eとに基づいて累積誤差データD9eを算出し、算出された累積誤差データD9eを処理対象の画素データD8の色成分に対応して設けられた累積誤差レジスタに格納することを特徴としている。さらに、制御回路100cは、切換制御信号S7に基づいて、処理対象の画素データD8に基づいて算出される補正後データD9を量子化するためのしきい値データを、しきい値テーブルメモリ3から読み出して量子化回路10に出力することを特徴としている。
【0017】
図1において、コントローラ40は、パルス形状を有するクロック信号C0を発生して、入出力バッファ50と、しきい値アドレス生成回路2と、切換制御回路7のフリップフロップ回路72のクロック入力端子と、色分離回路8と、クロック生成回路20のインバータ201,205と、アンドゲート204の第1の入力端子と、アンドゲート208の第1の入力端子とに出力する。また、コントローラ40は、シーケンサ1の動作を開始させるためのハイレベルのパルス形状を有するスタート信号Stを発生して、シーケンサ1に出力する。さらに、コントローラ40は、ラインリセット信号Slrを発生して、主走査誤差算出回路9のフリップフロップ回路900,901,903,904,906,907の各反転リセット入力端子に出力する。
【0018】
図1において、主走査誤差拡散処理回路100は、第1の動作モードと第2の動作モードとを有する。第1の動作モードにおいて、主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理後の画像データD50−1を入出力バッファ50から読み出して受信し、受信された画像データD50−1に対して主走査方向の誤差拡散処理を行い、誤差拡散処理後の4値の量子化値を含む量子化データD10q及び誤差値を含む量子化誤差データD10eを、入出力バッファ50に出力する。また、第2の動作モードにおいて、主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理後の画像データD50−2を入出力バッファ50から読み出して受信し、受信された画像データD50−2に対して主走査方向の誤差拡散処理を行い、誤差拡散処理後の量子化値を含む量子化データD10q及び誤差値を含む量子化誤差データD10eを、入出力バッファ50に出力する。
【0019】
図3は、図1の主走査誤差拡散処理回路100の第1の動作モードにおいて、入出力バッファ50から出力される画像データD50−1のデータ配置図であり、図4は、図1の主走査誤差拡散処理回路100の第2の動作モードにおいて、入出力バッファ50から出力される画像データD50−2のデータ配置図である。図3に示すように、画像データD50−1は第1の色成分(本実施形態では、レッドである。)の画素データのデータワードR1,R2,R3,…を含む。また、図4に示すように、画像データD50−2は、第1の色成分のデータワードR1,R2,R3,…と、第2の色成分(本実施形態では、グリーンである。)のデータワードG1,G2,G3,…とを、R1,G1,R2,G2,R3,G3,…の順序で交互に含む。ここで、各データワードは、1画素分の多値の画素データに対応する。入出力バッファ50は、画像データD50−1又はD50−2内の各データワードを、先頭から順に2個ずつ出力する。
【0020】
図1において、データタイプ選択レジスタ5は、入出力バッファ50に格納されている画像データのタイプが画像データD50−1及びD50−2のうちのいずれであるかを識別するためのデータを予め格納している。データタイプ選択レジスタ5は、入出力バッファ50が画像データD50−1を格納しているときには、ローレベルのデータタイプ選択信号S5を、シーケンサ1と、マルチプレクサ6と、オアゲート203の非反転入力端子と、アンドゲート207の反転入力端子とに出力する。一方、入出力バッファ50が画像データD50−2を格納しているときには、データタイプ選択レジスタ5は、ハイレベルのデータタイプ選択信号S5を、シーケンサ1と、マルチプレクサ6と、オアゲート203の非反転入力端子と、アンドゲート207の反転入力端子とに出力する。また、画素数設定レジスタ4は、入出力バッファ50から読み出すべき画像データD50−1又はD50−2の画素数を表すデータを予め格納し、当該画素数を含む出力信号S4をシーケンサ1に出力する。
【0021】
また、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、動作を開始する。そして、画素数設定レジスタ4からの出力信号S4に従って、入出力バッファ50に対して、入出力バッファ50内の所定のアドレスから所定の回数だけ、画像データD50−1又はD50−2を2データワードずつ読み出すように制御するための制御信号S1c及びアドレス信号S1aを出力する。これに応答して、入出力バッファ50は、クロック信号C0に従って、画像データD50−1又はD50−2を2データワードずつ読み出して、色分離回路8に出力する。例えば、入出力バッファ50は、図3の画像データD50−1を出力する場合、第1のタイミングで画像データD50−1のデータワードR1及びR2を出力し、次に、第2のタイミングで画像データD50−1のデータワードR3及びR4を出力する。また、入出力バッファ50は、図4の画像データD50−2を出力する場合、第1のタイミングで画像データD50−1のデータワードR1及びG1を出力し、次に、第2のタイミングで画像データD50−1のデータワードR2及びG2を出力する。
【0022】
さらに、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、ハイレベルの下位アドレス制御信号S1gを発生してしきい値アドレス生成回路2に出力する。ここで、しきい値アドレス生成回路2はカウンタ回路であって、下位アドレス制御信号S1gのレベルがハイレベルであるときに、クロック信号C0の立ち上がりエッジの各タイミングにおいてカウント値を1だけインクリメントし、当該カウント値を表す出力信号S2を、しきい値テーブルメモリ3内のアドレスのうちの最上位ビット以外の下位アドレスの値として、しきい値テーブルメモリ3に出力する。なお、しきい値アドレス生成回路2のカウント値のビット数は、画像データD50−1又はD50−2の最大の画素数をカウント可能なように設定されている。
【0023】
またさらに、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、ローレベルの出力信号S1lをマルチプレクサ6に出力する。さらに、シーケンサ1は、データタイプ選択レジスタ5からのローレベルのデータタイプ選択信号S5に応答して、ローレベルのリセット信号S1rを発生してフリップフロップ回路72の反転リセット入力端子に出力する一方、データタイプ選択レジスタ5からのハイレベルのデータタイプ選択信号S5に応答して、ハイレベルのリセット信号S1rを発生してフリップフロップ回路72の反転リセット入力端子に出力する。
【0024】
図1の切換制御回路7において、フリップフロップ回路72からの切換制御信号S7は、インバータ71を介してフリップフロップ回路72の入力端子に戻されるとともに、マルチプレクサ6と、主走査誤差算出回路9のマルチプレクサ902,905,908,909,911,914と、クロック生成回路20のフリップフロップ回路202,206に出力される。図9(a)は、図1のクロック信号C0のタイミングチャートであり、図9(b)は、第1の動作モードにおける切換制御信号S7のタイミングチャートである。図9(b)に示すように、第1の動作モードにおいて、フリップフロップ回路72は、シーケンサ1からのローレベルの出力信号S1lに応答して、ローレベルの切換制御信号S7を発生する。また、図10(a)は、図1のクロック信号C0のタイミングチャートであり、図10(b)は、第2の動作モードにおける切換制御信号S7のタイミングチャートである。図10(b)に示すように、第2の動作モードにおいて、フリップフロップ回路72は、クロック信号C0の周期の2倍の周期を有し、かつ、クロック信号C0の立ち上がりエッジの各タイミングにおいて立ち上がりと立ち下がりを交互に繰り返すパルス形状の切換制御信号S7を発生する。詳細後述するように、切換制御信号S7は、色分離回路8から出力される処理対象の画素データD8の色成分を表す。具体的には、色分離回路8から出力される処理対象の画素データD8の色成分が第1の色成分であるときは切換制御信号S7のレベルはローレベルになる一方、色分離回路8から出力される処理対象の画素データD8の色成分が第2の色成分であるときは切換制御信号S7のレベルはハイレベルになるように設定されている。
【0025】
また、図1において、マルチプレクサ6は、データタイプ選択レジスタ5からのローレベルのデータタイプ選択信号S5に応答して、シーケンサ1からの出力信号S1lを、しきい値テーブルメモリ3内のアドレスのうちの最上位ビットの値を表す出力信号S6としてしきい値テーブルメモリ3に出力する一方、データタイプ選択レジスタ5からのハイレベルのデータタイプ選択信号S5に応答して、切換制御回路7からの切換制御信号S7を、出力信号S6としてしきい値テーブルメモリ3に出力する。
【0026】
図1において、しきい値テーブルメモリ3は、主走査誤差算出回路9から出力される補正後データD9を4値の量子化データD10qに量子化するためのしきい値を含むしきい値テーブルを予め格納する。図11は、図1のしきい値テーブルメモリ3に格納されるしきい値テーブルの一例を示す表である。図11において、しきい値テーブルメモリ3内のアドレスのうち、最上位ビットが0である各アドレスには、第1の色成分(レッド)の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データの組がそれぞれ格納される。また、しきい値テーブルメモリ3内のアドレスのうち、最上位ビットが1である各アドレスには、第2の色成分(グリーン)の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データの組がそれぞれ格納される。制御回路100cは、マルチプレクサ6からの出力信号S6に含まれるアドレスの最上位ビットの値と、しきい値アドレス生成回路2からの出力信号S2に含まれるアドレスの最上位ビット以外の下位ビットの値とに対応するしきい値テーブルメモリ3のアドレスに格納された4個のしきい値データを読み出して、比較回路101−1及び減算回路103−1と、比較回路101−2及び減算回路103−2と、比較回路101−3及び減算回路103−3と、比較回路101−4及び減算回路103−4とに、それぞれ出力する。
【0027】
なお、しきい値テーブルメモリ3は、4個のしきい値データの総ビット数に対応するビット幅を有し、画素数設定レジスタ4に格納される画素数と色成分数(2である。)とを乗じた個数のデータワード数を有する。また、各しきい値データのビット幅は、画像データD50−1及びD50−2に含まれる各画素データの最大のビット幅以上の値に設定される。
【0028】
次に、図5〜図8を参照して、色分離回路8の動作を説明する。図5は、第1の動作モードにおける図1の色分離回路8の動作を示すブロック図である。また、図6(a)は、図1のクロック信号C0のタイミングチャートであり、図6(b)は、第1の動作モードにおける入力データD50−1のタイミングチャートであり、図6(c)は、第1の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。図5及び図6(a),(b)に示すように、第1の動作モードにおいて、クロック信号C0の連続する立ち上がりエッジのタイミングt1及びt2の間の期間において、データワードR1及びR2を含む画像データD50−1が出力され、クロック信号C0の連続する立ち上がりエッジのタイミングt3及びt4の間の期間において、データワードR3及びR4を含む画像データD50−1が出力される。これに応答して、色分離回路8は、図6(c)に示すように、タイミングt1において画像データD50−1をデータワードR1及びR2に分離し、タイミングt1からt2までの期間においてデータワードR1を含む画素データD8を出力し、タイミングt2からt3までの期間においてデータワードR2を含む画素データD8を出力する。さらに、色分離回路8は、タイミングt3において画像データD50−1をデータワードR3及びR4に分離し、タイミングt3からt4までの期間においてデータワードR3を含む画素データD8を出力し、タイミングt4からt5までの期間においてデータワードR4を含む画素データD8を出力する。以下同様に、色分離回路8は、クロック信号C0の各立ち上がりエッジのタイミングtmからtm+1(m=1,2,…)までの各期間において、データワードRmを含む画素データD8を出力する。これにより、色分離回路8は、第1の動作モードにおいて、画像データD50−1を第1の色成分の2つの画素データに分離して、処理対象の画素データD8として、順次、主走査誤差算出回路9の加算器917に出力する。
【0029】
また、図7は、第2の動作モードにおける図1の色分離回路8の動作を示す図であり、図8(a)は、図1のクロック信号C0のタイミングチャートである。さらに、図8(b)は、第2の動作モードにおける入力データD50−2のタイミングチャートであり、図8(c)は、第2の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。図7及び図8(a),(b)に示すように、第2の動作モードにおいて、クロック信号C0の連続する立ち上がりエッジのタイミングt1及びt2の間の期間において、データワードR1及びG1を含む画像データD50−2が出力され、クロック信号C0の連続する立ち上がりエッジのタイミングt3及びt4の間の期間において、データワードR2及びG2を含む画像データD50−2が出力される。これに応答して、色分離回路8は、図8(c)に示すように、タイミングt1において画像データD50−2をデータワードR1及びG1に分離し、タイミングt1からt2までの期間においてデータワードR1を含む画素データD8を出力し、タイミングt2からt3までの期間においてデータワードG1を含む画素データD8を出力する。さらに、色分離回路8は、タイミングt3において画像データD50−2をデータワードR2及びG2に分離し、タイミングt3からt4までの期間においてデータワードR2を含む画素データD8を出力し、タイミングt4からt5までの期間においてデータワードG2を含む画素データD8を出力する。以下同様に、色分離回路8は、クロック信号C0の各立ち上がりエッジのタイミングtjからtj+1(j=1,3,…)まで各期間において、データワードR(j+1)/2を含む画素データD8を出力し、クロック信号C0の各立ち上がりエッジのタイミングtkからtk+1(j=2,4,…)まで各期間において、データワードRk/2を含む画素データD8を出力する。これにより、色分離回路8は、第2の動作モードにおいて、画像データD50−2を第1の色成分の画素データ及び第2の色成分の画素データに分離して、処理対象の画素データD8として、交互に、主走査誤差算出回路9の加算器917に出力する。
【0030】
次に、図1,図9及び図10を参照して、クロック生成回路20の構成及び動作を説明する。図1において、クロック信号C0はインバータ201を介してフリップフロップ回路202のクロック入力端子に出力されるとともに、インバータ205を介してフリップフロップ回路206のクロック入力端子に出力される。フリップフロップ回路202からの出力信号はオアゲート203の反転入力端子に出力され、オアゲート203からの出力信号はアンドゲート204の第2の入力端子に出力される。そして、アンドゲート204からの出力信号は、クロック信号C1として、主走査誤差算出回路9のフリップフロップ回路900、903、906の各クロック入力端子に出力される。一方、フリップフロップ回路206からの出力信号はアンドゲート207の非反転入力端子に出力され、アンドゲート207からの出力信号はアンドゲート208の第2の入力端子に出力される。そして、アンドゲート208からの出力信号は、クロック信号C2として、主走査誤差算出回路9のフリップフロップ回路901、904、907の各クロック入力端子に出力される。
【0031】
図9(c)は、第1の動作モードにおけるクロック信号C1のタイミングチャートであり、図9(d)は、第1の動作モードにおけるクロック信号C2のタイミングチャートである。図9(c)及び(d)に示すように、第1の動作モードにおいて、クロック信号C0と同期したクロック信号C1、及び、ローレベルのクロック信号C2が発生される。また、図10(c)は、第2の動作モードにおけるクロック信号C1のタイミングチャートであり、図10(d)は、第2の動作モードにおけるクロック信号C2のタイミングチャートである。図10(c)及び(d)に示すように、第2の動作モードにおいて、切換制御信号S7の立ち上がりエッジの各タイミングで立ち上がるクロック信号C1、及び、切換制御信号S7の立ち下がりエッジの各タイミングで立ち上がるクロック信号C2が発生される。すなわち、切換制御信号S7のレベルがハイレベルのときには、クロック信号C0と同相のクロック信号C1と、ローレベルのクロック信号C2とが発生される一方、切換制御信号S7のレベルがローレベルのときには、クロック信号C0と同相のクロック信号C2と、ローレベルのクロック信号C1とが発生される。
【0032】
次に、図2を参照して、主走査誤差算出回路9の構成を説明する。図2において、量子化回路10からの量子化誤差データD10eは、乗算器910、912及び915に出力される。また、誤差拡散係数レジスタ921a,922a,923aはそれぞれ、第1の色成分に関する誤差拡散係数C1A,C2A,C3Aを予め格納し、誤差拡散係数レジスタ921b,922b,923bはそれぞれ、第2の色成分に関する誤差拡散係数C1B,C2B,C3Bを予め格納している。マルチプレクサ909は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921aから誤差拡散係数C3Aを読み出して乗算器910に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921bから誤差拡散係数C3Bを読み出して乗算器910に出力する。乗算器910は、マルチプレクサ909からの誤差拡散係数C3A又はC3Bと、量子化誤差データD10eとを乗算して、乗算結果の信号をフリップフロップ回路900及び901の各入力端子に出力する。さらに、マルチプレクサ902は、ローレベルの切換制御信号S7に応答してフリップフロップ回路900からの出力信号を加算器913に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路901からの出力信号を加算器913に出力する。
【0033】
また、図2において、マルチプレクサ911は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ922aから誤差拡散係数C2Aを読み出して乗算器912に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ922bから誤差拡散係数C2Bを読み出して乗算器912に出力する。乗算器912は、マルチプレクサ911からの誤差拡散係数C2A又はC2Bと、量子化誤差データD10eとを乗算して、乗算結果の信号を加算器913に出力する。さらに、加算器913は、乗算器912からの出力信号とマルチプレクサ902からの出力信号とを加算して、加算結果の信号をフリップフロップ回路903及び904の各入力端子に出力する。そして、マルチプレクサ905は、ローレベルの切換制御信号S7に応答してフリップフロップ回路903からの出力信号を加算器916に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路904からの出力信号を加算器916に出力する。
【0034】
さらに、図2において、ルチプレクサ914は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921aから誤差拡散係数C1Aを読み出して乗算器915に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921bから誤差拡散係数C1Bを読み出して乗算器915に出力する。乗算器915は、マルチプレクサ914からの誤差拡散係数C1A又はC1Bと、量子化誤差データD10eとを乗算して、乗算結果の信号を加算器916に出力する。さらに、加算器916は、乗算器915からの出力信号とマルチプレクサ905からの出力信号とを加算して、加算結果の信号をフリップフロップ回路906及び907の各入力端子に出力する。そして、マルチプレクサ908は、ローレベルの切換制御信号S7に応答してフリップフロップ回路906からの出力信号を累積誤差データD9eとして加算器917に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路907からの出力信号を累積誤差データD9eとして加算器917に出力する。加算器917は、色分離回路8からの画素データD8とフリップフロップ回路908からの累積誤差データD9eとを加算して、加算結果を示す信号を、補正後データD9として量子化回路10の比較回路101〜101−4及び減算回路103−1〜103−4に出力する。
【0035】
なお、図2において、フリップフロップ回路900、903、906はクロック信号C1に従って動作し、フリップフロップ回路901、904、907はクロック信号C2に従って動作する。また、フリップフロップ回路900,901,903,904,906,907はそれぞれ、ローレベルのラインリセット信号Slrに応答してリセットされる。さらに、フリップフロップ回路900,901,903,904,906,907はそれぞれ、多ビットのフリップフロップ回路であり、入力されるデータのビット幅に対応するビット幅を有する。
【0036】
図1の量子化回路10において、比較回路101−1〜101−4はそれぞれ、主走査誤差算出回路9からの補正後データD9と、しきい値テーブルメモリ3からのしきい値データとを比較し、比較結果を表す信号をデコーダ102に出力する。そして、デコーダ102は、比較回路101−1〜101−4からの出力信号をデコードして、デコード結果のデータを量子化データD10qとしてマルチプレクサ104及び入出力バッファ50に出力する。一方、減算回路103−1〜103−4はそれぞれ、主走査誤差算出回路9からの補正後データD9から、しきい値テーブルメモリ3からのしきい値データを減算し、減算結果を表す信号をマルチプレクサ104に出力する。マルチプレクサ104は、量子化データD10qに基づいて、減算回路103−1〜103−4からの出力信号のうち、当該量子化データD10qに対応する信号を、量子化誤差データD10eとして入出力バッファ50及び主走査誤差算出回路9の乗算器910、912、915に出力する。
【0037】
次に、以上のように構成された主走査誤差拡散処理回路100の第1及び第2の動作モードにおける各動作を説明する。
【0038】
(1)第1の動作モード.
第1の動作モードでは、色分離回路8は、第1の色成分のデータワードR1,R2,…を含む各画素データD8を主走査誤差算出回路9に出力する。また、第1の動作モードでは、マルチプレクサ6からの出力信号S6のレベルはローレベルであるので、色分離回路8から第1の色成分のデータワードR1,R2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが0である各アドレスから、第1の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。また、図9(a)〜図9(d)に示すように、第1の動作モードでは、ローレベルの切換制御信号S7と、クロック信号C0に同期したクロック信号C1と、ローレベルのクロック信号C2とが発生される。従って、主走査誤差算出回路9において、フリップフロップ回路900は、現在処理中の画素データの3画素前の量子化誤差データD10eと誤差拡散係数C3Aとの乗算結果を表す信号を、マルチプレクサ902を介して加算器913に出力する。また、フリップフロップ回路903は、現在処理中の画素データの2画素前の量子化誤差データD10eと誤差拡散係数C2Aとの乗算結果を表す信号とマルチプレクサ902からの出力信号との加算結果の信号(累積誤差を表す。)を、マルチプレクサ905を介して加算器916に出力する。また、フリップフロップ回路906は、現在処理中の画素データの1画素前の量子化誤差データD10eと誤差拡散係数C1Aとの乗算結果を表す信号とマルチプレクサ905からの出力信号との加算結果の信号を、累積誤差データD9eとして、マルチプレクサ908を介して加算器917に出力する。そして、加算器917は、画素データD8にマルチプレクサ908からの累積誤差データD9eを加算して、補正後データD9を生成する。以上説明したように、第1の動作モードにおいて、主走査誤差拡散処理回路100は、従来技術に係る主走査誤差拡散処理回路と同様に動作する。
【0039】
(2)第2の動作モード.
図10(a)〜図10(d)に示すように、第2の動作モードでは、フリップフロップ回路72は、クロック信号C0の立ち上がりエッジの各タイミングにおいて立ち上がりと立ち下がりを交互に繰り返し、かつ、クロック信号C0の周期の2倍の周期を有するパルス形状の切換制御信号S7を発生する。さらに、切換制御信号S7はマルチプレクサ6を介して出力信号S6としてしきい値テーブルメモリ3に出力されるので、色分離回路8から第1の色成分のデータワードR1,R2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが0である各アドレスから、第1の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。また、色分離回路8から第2の色成分の画素データG1,G2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが1である各アドレスから、第2の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。
【0040】
また、図10(a)〜図10(d)に示すように、第2の動作モードでは、切換制御信号S7の立ち上がりエッジの各タイミングで立ち上がるクロック信号C1、及び、切換制御信号S7の立ち下がりエッジの各タイミングで立ち上がるクロック信号C2が発生される。従って、主走査誤差算出回路9は、切換制御信号S7のレベルがローレベルである各期間において、第1の動作モードと同様に動作し、第1の色成分の画素データを含む画素データD8に基づいて補正後データD9を算出する。また、切換制御信号S7のレベルがハイレベルである各期間において、以下のように、第2の色成分の画素データを含む画素データD8に基づいて補正後データD9を算出する。
【0041】
主走査誤差算出回路9において、フリップフロップ回路901は、現在処理中の画素データの3画素前の量子化誤差データD10eと誤差拡散係数C3Bとの乗算結果を表す信号を、マルチプレクサ902を介して加算器913に出力する。また、フリップフロップ回路904は、現在処理中の画素データの2画素前の量子化誤差データD10eと誤差拡散係数C2Bとの乗算結果を表す信号とマルチプレクサ902からの出力信号との加算結果の信号(累積誤差を表す。)を、マルチプレクサ905を介して加算器916に出力する。また、フリップフロップ回路907は、現在処理中の画素データの1画素前の量子化誤差データD10eと誤差拡散係数C1Bとの乗算結果を表す信号とマルチプレクサ905からの出力信号との加算結果の信号を、累積誤差データD9eとして、マルチプレクサ908を介して加算器917に出力する。そして、加算器917は、画素データD8にマルチプレクサ908からの累積誤差データD9eを加算して、補正後データD9を生成する。
【0042】
以上詳述したように、本実施形態に係る主走査誤差拡散処理回路100は、第1及び第2の色成分毎に、各色成分の画素データに基づいて算出される補正後データD9を量子化するためのしきい値データを予め格納するしきい値テーブルメモリ3と、処理対象の画素データD8の色成分を表す切換制御信号S7を発生し、しきい値テーブルメモリ3からのしきい値データの読み出しを制御する制御回路100cとを備え、制御回路100cは、切換制御信号S7に基づいて、処理対象の画素データD8に基づいて算出される補正後データD9を量子化するためのしきい値データを、しきい値テーブルメモリ3から読み出して量子化回路10に出力し、主走査誤差算出回路9は、切換制御信号S7に従って、処理対象の画素データD8に基づいて補正後データD9を算出する。従って、第1及び第2の色成分の画素データを含む画像データD50−2に対して主走査方向の誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの主走査誤差算出回路9と1つの量子化回路10のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0043】
なお、本実施形態において、量子化回路10は補正後データD9を4値の量子化データD10qに量子化したが、本発明はこれに限らず、2値以上のN値の量子化データD10qに量子化してもよい。この場合、しきい値テーブルメモリ3は、各色成分の画素データに基づいて算出される補正後データD9をN値の量子化データに量子化するためのしきい値データを格納する。
【0044】
また、本実施形態において、主走査誤差拡散処理回路100は色分離回路8を備えたが、本発明はこれに限らず、色分離回路8を主走査誤差拡散処理回路100の外部に設けてもよい。
【0045】
さらに、本実施形態において、画像データD50−2は第1及び第2の色成分の画素データを含んだが、本発明はこれに限らず、3個以上のM個の色成分の画素データを含んでもよい。この場合、色分離回路8は、所定の各処理タイミングにおいて、入力される画像データD50−2をM個の画素データに分離して、分離後の画素データを、処理対象の画素データD8として、後段の主走査誤差算出回路9に、順次出力する。さらに、切換制御回路7は、処理対象の画素データD8の色成分を表す切換制御信号S7を発生して主走査誤差算出回路9と、クロック生成回路20と、しきい値テーブルメモリ3に出力する。しきい値テーブルメモリ3は、上記各色成分の画素データに基づいて算出される各補正後データD9を量子化するためのしきい値データを、上記各色成分毎に格納し、切換制御信号S7に応答して、処理対象の画素データD8を量子化するためのしきい値データを量子化回路10に出力する。さらに、クロック生成回路20は、互いに異なるタイミングで立ち上がるM個のクロック信号を発生して、主走査誤差算出回路9に出力するように構成される。主走査誤差算出回路9は、各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ格納する複数の誤差拡散係数レジスタを備えるように構成され、切換制御信号S7に基づいて、処理対象の色成分の画素データの誤差拡散係数を読み出し、読み出された誤差拡散係数と、量子化回路10からの量子化誤差データD10eとに基づいて累積誤差データD9eを算出し、色分離回路8からの画素データD8と累積誤差データD9eとを加算して、補正後データD9を算出する。補正後データD9は量子化回路10に出力され、量子化回路10は、補正後データD9をしきい値テーブルメモリ3からのしきい値データを用いて量子化して量子化データD10qを算出するとともに、量子化誤差データD10eを算出して主走査誤差算出回路9に出力する。
【0046】
またさらに、本実施形態に係る主走査誤差拡散処理回路100はマルチプレクサ6を備えた。しかしながら、切換制御信号S7はマルチプレクサ6からの出力信号S6と実質的に同一であるので、マルチプレクサ6を設けずに、切換制御信号S7を、直接、しきい値テーブルメモリ3に出力してもよい。この場合、シーケンサ1は出力信号S1lを発生する必要はない。
【0047】
また、本実施形態に係る主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理を行った後の画像データD50−1又はD50−2に対して主走査方向の誤差拡散処理を行ったが、本発明はこれに限らず、副走査方向の誤差拡散処理を行う前の画像データD50−1又はD50−2に対して主走査方向の誤差拡散処理を行ってもよい。
【0048】
第2の実施形態.
図12は、本発明の第2の実施形態に係る主走査誤差拡散処理回路100Aを備えた画像処理装置のブロック図であり、図13は、図12の主走査誤差算出回路9Aの回路図である。本実施形態に係る主走査誤差拡散処理回路100Aは、第1の実施形態に係る主走査誤差拡散処理回路100に比較して、第1色成分(本実施形態では、レッドである。)のデータワードR1,R2,R3,…と、第2の色成分(本実施形態では、グリーンである。)のデータワードG1,G2,G3,…と、第3の色成分(本実施形態では、ブルーである。)とを、R1,G1,B1,R2,G2,B2,R3,G3,B3…の順序で交互に含む画像データD50−2Aに対して、色成分毎に誤差拡散処理を行う点が異なる。
【0049】
図12の画像処理装置は、入出力バッファ50Aと、主走査誤差拡散処理回路100Aと、主走査誤差拡散処理回路100Aの動作を制御するコントローラ40Aとを備えて構成される。また、主走査誤差拡散処理回路100Aは、切換制御回路7Aと、しきい値テーブルメモリ3A−1,3A−2,3A−3と、マルチプレクサ31と、色分離回路8Aと、主走査誤差算出回路9Aと、量子化回路10Aと、クロック生成回路20Aとを備えて構成される。さらに、図13において、主走査誤差算出回路9Aは、マルチプレクサ803,807,811,812,813,820と、フリップフロップ回路800〜802,804〜806,808〜810と、乗算器814〜816と、加算器817〜819と、誤差拡散係数レジスタ821a,821b,821c,822a,822b,822c,823a,823b,823cとを備えて構成される。なお、フリップフロップ回路800,804,808はそれぞれ、第1の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。また、フリップフロップ回路801,805,809はそれぞれ、第2の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。さらに、フリップフロップ回路802,806,810はそれぞれ、第3の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。
【0050】
図12において、コントローラ40Aは、パルス形状を有するクロック信号C0を発生して、入出力バッファ50Aと、切換制御回路7Aと、色分離回路8Aと、クロック生成回路20Aとに出力する。また、コントローラ40Aは、ラインリセット信号Slrを発生して、主走査誤差算出回路9Aのフリップフロップ回路800〜802,804〜806,808〜810の各反転リセット入力端子に出力する。また、入出力バッファ50Aは、第1の色成分のデータワードR1,R2,R3,…と、第2の色成分のデータワードG1,G2,G3,…と、第3の色成分とを、R1,G1,B1,R2,G2,B2,R3,G3,B3…の順序で交互に含む画像データD50−2Aを、予め格納している。入出力バッファ50Aは、クロック信号C0に従って、画像データD50−2Aの各データワードを、先頭から順に3個ずつ色分離回路8Aに出力する。
【0051】
また、図12において、色分離回路8Aは、入力される画像データD50−2Aを第1の色成分の画素データと、第2の色成分の画素データと、第3の色成分の画素データとに分離して、処理対象の画素データD8Aとして、クロック信号C0に従って、主走査誤差算出回路9Aの加算器819に、順次出力する。
【0052】
図12において、切換制御回路7Aは、色分離回路8Aから出力される処理対象の画素データD8Aの色成分を表す切換制御信号S7Aを発生して、マルチプレクサ31に出力する。さらに、切換制御回路7Aは、処理対象の画素データD8Aの色成分が第1の色成分であるときに、ハイレベルの切換制御信号S7A−1を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力し、処理対象の画素データD8Aの色成分が第2の色成分であるときに、ハイレベルの切換制御信号S7A−2を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力し、処理対象の画素データD8Aの色成分が第3の色成分であるときに、ハイレベルの切換制御信号S7A−3を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力する。
【0053】
図12において、しきい値テーブルメモリ3A−1〜3A−3は、第1〜第3の色成分毎に、各色成分の画素データD8Aに基づいて算出される補正後データD9AをN値の量子化データD10qAに量子化するためのしきい値データを予め格納する。マルチプレクサ31は、切換制御信号S7Aに応答して、しきい値テーブルメモリ3A−1〜3A−3からのしきい値データのうち、処理対象の画素データD8Aの色成分を有する画素データに基づいて算出される補正後データD9Aを量子化するためのしきい値データを順次選択して、量子化回路10Aに出力する。
【0054】
図12において、クロック生成回路20Aは、入力されるクロック信号C0に基づいて、クロック信号CL1,CL2,CL3を発生する。ここで、クロック信号CL1,CL2,CL3は、クロック信号のC0の3倍の周期をそれぞれ有し、かつ、クロック信号C0の連続する立ち上がりエッジの各タイミングで順次立ち上がる。クロック信号CL1は、フリップフロップ回路800,804,808の各クロック入力端子に出力され、クロック信号CL2は、フリップフロップ回路801,805,809の各クロック入力端子に出力され、クロック信号CL3は、フリップフロップ回路802,806,810の各クロック入力端子に出力される。以上説明したように構成することにより、画素データD8Aの色成分が第1の色成分であるときには、しきい値テーブルメモリ3A−1に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−1及びクロック信号CL1が主走査誤差算出回路9Aに出力される。同様に、画素データD8Aの色成分が第2の色成分であるときには、しきい値テーブルメモリ3A−2に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−2及びクロック信号CL2が主走査誤差算出回路9Aに出力される。また、画素データD8Aの色成分が第3の色成分であるときには、しきい値テーブルメモリ3A−3に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−3及びクロック信号CL3が主走査誤差算出回路9Aに出力される。
【0055】
図13において、量子化回路10Aからの量子化誤差データD10eAは、乗算器814,815,816に出力される。また、誤差拡散係数レジスタ821a,822a,823aはそれぞれ、第1の色成分に関する誤差拡散係数C1A,C2A,C3Aを予め格納し、誤差拡散係数レジスタ821b,822b,823bはそれぞれ、第2の色成分に関する誤差拡散係数C1B,C2B,C3Bを予め格納し、誤差拡散係数レジスタ821c,822c,823cはそれぞれ、第3の色成分に関する誤差拡散係数C1C,C2C,C3Cを予め格納している。マルチプレクサ811は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ823aから誤差拡散係数C3Aを読み出して乗算器814に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ823bから誤差拡散係数C3Bを読み出して乗算器814に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ823cから誤差拡散係数C3Cを読み出して乗算器814に出力する。乗算器814は、マルチプレクサ811からの誤差拡散係数C3A,C3B又はC3Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号をフリップフロップ回路800〜802の各入力端子に出力する。さらに、マルチプレクサ803は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路800からの出力信号(累積誤差である。)を加算器817に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路801からの出力信号を加算器817に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路802からの出力信号を加算器817に出力する。
【0056】
マルチプレクサ812は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ822aから誤差拡散係数C2Aを読み出して乗算器815に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ822bから誤差拡散係数C2Bを読み出して乗算器815に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ822cから誤差拡散係数C2Cを読み出して乗算器815に出力する。乗算器815は、マルチプレクサ811からの誤差拡散係数C2A,C2B又はC2Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号を加算器817に出力する。加算器817は、マルチプレクサ803からの出力信号と乗算器815からの出力信号とを加算して、フリップフロップ回路804〜806の各入力端子に出力する。さらに、マルチプレクサ807は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路804からの出力信号(累積誤差である。)を加算器818に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路805からの出力信号を加算器818に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路806からの出力信号を加算器818に出力する。
【0057】
マルチプレクサ813は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ821aから誤差拡散係数C1Aを読み出して乗算器816に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ821bから誤差拡散係数C1Bを読み出して乗算器816に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ821cから誤差拡散係数C1Cを読み出して乗算器817に出力する。乗算器817は、マルチプレクサ813からの誤差拡散係数C1A,C1B又はC1Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号を加算器818に出力する。加算器818は、マルチプレクサ807からの出力信号と乗算器816からの出力信号とを加算して、フリップフロップ回路808〜810の各入力端子に出力する。さらに、マルチプレクサ820は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路808からの出力信号を累積誤差データD9eAとして加算器819に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路809からの出力信号を加算器8120に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路810からの出力信号を加算器820に出力する。そして、加算器819は、処理対象の画素データD8Aにマルチプレクサ820からの累積誤差データD9eAとを加算して、加算結果の信号を補正後データD9Aとして量子化回路10Aに出力する。
【0058】
以上説明したように主走査誤差算出回路9Aを構成することにより、フリップフロップ回路800,801,802はそれぞれ、現在処理中の画素データの3画素前の量子化誤差データD10eAと、誤差拡散係数C3A,C3B又はC3Cとの乗算結果を表す信号を、マルチプレクサ803を介して加算器817に出力する。また、フリップフロップ回路804,805,806はそれぞれ、現在処理中の画素データの2画素前の量子化誤差データD10eAと、誤差拡散係数C2A,C2B又はC2Cとの乗算結果を表す信号を、マルチプレクサ807を介して加算器818に出力する。さらに、フリップフロップ回路808,809,810はそれぞれ、現在処理中の画素データの1画素前の量子化誤差データD10eAと、誤差拡散係数C1A,C1B又はC1Cとの乗算結果を表す信号を、マルチプレクサ820を介して加算器819に出力する。
【0059】
図12において、量子化回路10Aは、マルチプレクサ31からのしきい値データを用いて補正後データD9AをN値の量子化データD10qAに量子化するとともに、補正後データD9A及び量子化データD10qAに基づいて量子化誤差データD10eAを算出して、主走査誤差算出回路9の乗算器814〜816に出力する。
【0060】
以上説明したように、本実施形態によれば、第1〜第3の色成分の画素データを含む画像データD50−2Aに対して主走査方向の誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの主走査誤差算出回路9Aと1つの量子化回路10Aのみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0061】
なお、本実施形態に係る主走査誤差拡散処理回路100Aは、副走査方向の誤差拡散処理を行った後の画像データD50−2Aに対して主走査方向の誤差拡散処理を行ったが、本発明はこれに限らず、副走査方向の誤差拡散処理を行う前の画像データD50−2Aに対して主走査方向の誤差拡散処理を行ってもよい。
【0062】
また、本実施形態において、主走査誤差拡散処理回路100Aは色分離回路8Aを備えたが、本発明はこれに限らず、色分離回路8Aを主走査誤差拡散処理回路100Aの外部に設けてもよい。
【0063】
第3の実施形態.
図14は、本発明の第3の実施形態に係る逐次処理回路300の第1の動作モードにおける動作を示すブロック図であり、図15は、図14の逐次処理回路300の第2の動作モードにおける動作を示すブロック図である。図14及び図15において、逐次処理回路300は、入力される入力データD60−1又はD60−2に対してラベリング処理などの所定の処理を行う逐次データ算出回路201と、レジスタ302A及び302Bと、切換制御回路303とを備えて構成される。逐次処理回路300は、入力データD60−1を処理する第1の動作モードと、入力データD60−2を処理する第2の動作モードとを有する。入力データD60−1は、第1の種類の入力データのデータワードA1,A2,A3,…を含む。また、入力データD60−2は、第1の種類の入力データのデータワードA1,A2,A3,…と、第2の種類の入力データのデータワードB1,B2,B3,…とを、A1,B1,A2,B2,A3,B3,…の順序で交互に含む。入力データD60−1及びD60−2内の各データワードは、先頭から順に2個ずつ逐次データ算出回路201に出力される。ここで、例えば、第1の種類の入力データは画素データであり、第2の種類の入力データはテキストデータである。
【0064】
図14及び図15において、逐次データ算出回路201は、受信された入力データD60−1又はD60−2を各データワードA1,A2,A3,…及びデータワードB1,B2,B3,…に分離して、分離後の各データワードA1,A2,A3,…及びデータワードB1,B2,B3,…に対して、所定の処理を逐次的に行い、処理後の出力データR1,R2,R3,…及びS1,S2,S3,…をレジスタ302A及び302Bに出力する。一方、切換制御回路303は、逐次データ算出回路201における処理対象の入力データのデータワードの種類に対応して設けられたレジスタ302A又は302Bへの書き込みを可能にするようにイネーブルする切換制御信号S303を発生して、レジスタ302A及び302Bに出力する。これにより、レジスタ302Aは、データワードA1,A2,A3,…を処理した後の出力データR1,R2,R3,…を格納し、レジスタ302Bは、データワードB1,B2,B3,…を処理した後の出力データS1,S2,S3,…を格納する。
【0065】
以上説明したように、本実施形態によれば、2種類の入力データを含む入力データD60−2に対して所定の逐次処理を行う際に、1つの逐次データ算出回路201のみを備えるので、従来技術に比較して、2種類の入力データ毎に逐次データ算出回路201を備える必要がなく、逐次処理回路300の回路規模の増加を抑えることができる。
【0066】
なお、本実施形態において、入力データD60−2は第1及び第2の種類の入力データのデータワードを含んだが、本発明はこれに限らず、3種類以上の入力データのデータワードを含んでもよい。この場合、データワードの種類の数と同数のレジスタを設け、切換制御回路303は、逐次データ算出回路201における処理対象の種類の入力データに応じて、対応するレジスタのみを書き込み可能にするようにイネーブルする。
【産業上の利用可能性】
【0067】
以上詳述したように、本発明に係る誤差拡散処理回路によれば、複数の色成分毎に、各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、処理対象の画素データの色成分を表す切換制御信号を発生し、しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、制御回路は、切換制御信号に基づいて、処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、しきい値テーブルメモリから読み出して量子化回路に出力し、誤差算出回路は、切換制御信号に従って、処理対象の画素データに基づいて補正後データを算出するので、複数の色成分の画素データを含む画像データに対して誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの誤差算出回路と1つの量子化回路のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0068】
また、本発明に係る逐次処理回路によれば、入力データの種類に対応して設けられた複数のレジスタと、上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたので、複数の種類の入力データ毎に逐次データ算出回路を備える必要がなく、従来技術に比較して逐次処理回路の回路規模の増加を抑えることができる。
【符号の説明】
【0069】
1…シーケンサ、
2…しきい値アドレス生成回路、
3,3A−1〜3A−3…しきい値テーブルメモリ、
4…画素数設定レジスタ、
5…データタイプ選択レジスタ、
6…マルチプレクサ、
7,7A…切換制御回路、
8,8A…色分離回路、
9,9A…主走査誤差算出回路、
10,10A…量子化回路、
20,20A…クロック生成回路、
31…マルチプレクサ、
40,40A…コントローラ、
50,50A…入出力バッファ、
71…インバータ、
72…フリップフロップ回路、
100,100A…主走査誤差拡散処理回路、
100c…制御回路、
101−1〜101−4…比較回路、
102…デコーダ、
103−1〜103−4…減算回路、
104…マルチプレクサ、
201,205…インバータ、
202,206…フリップフロップ回路、
203…オアゲート、
204,207,208…アンドゲート、
300…逐次処理回路、
301…逐次データ算出回路、
302A,302B…レジスタ、
303…切換制御回路、
800〜802,804〜806,808〜810…フリップフロップ回路、
803,807,811,812,813,820…マルチプレクサ、
814〜816…乗算器、
817〜819…加算器、
821a,821b,821c,822a,822b,822c,823a,823b,823c…誤差拡散係数レジスタ、
900,901,903,904,906,907…フリップフロップ回路、
902,905,908,909,911,914…マルチプレクサ、
910,912,915…乗算器、
913,916,917…加算器、
921a,921b,922a,922b,923a,923b…誤差拡散係数レジスタ。
【先行技術文献】
【特許文献】
【0070】
【特許文献1】特開2000−108385号公報。
【特許文献2】特開平11−177816号公報。
【特許文献3】特開2004−328266号公報。
【技術分野】
【0001】
本発明は、レーザプレンタ、デジタル複写機、カラーレーザプリンタ、デジタルカラー複写機などの画像処理装置のための誤差拡散処理回路及び逐次処理回路に関する。
【背景技術】
【0002】
従来から、スキャナ又はディジタルカメラ等の入力装置によって読み取られた多値画像データを、プリンタ又はディスプレイ装置等の出力装置に出力する画像入出力システムが知られている。このような画像入出力システムでは、入力装置によって読み取られた多値(例えば、8ビットの精度ならば256階調である。)の画像データを出力装置から出力可能な階調数の量子化画像データに変換するために、誤差拡散法などを用いる疑似階調処理が行われる。誤差拡散法とは、元の多値画像データを量子化画像データに変換したときに発生する量子化誤差を周辺の画素に分散することにより量子化画像データ全体の誤差を低減する手法である。例えば、レッド及びグリーンなどの複数の色成分を含む多値画像データを量子化するための技術は、以下の特許文献1〜3に開示されている。
【0003】
特許文献1に記載のカラーマルチヘッド型プリンタは、バッファメモリから読み出された画像データをイエロー、マゼンタ、シアン及びブラックにそれぞれ対応する4つの画像データに分離する色分離部と、色分離部からの画像データをそれぞれ2値化して出力する4つの2値化部を備えたことを特徴としている。
【0004】
また、特許文献2に記載の画像処理方法は、複数の色成分をもつ多値画像データを、その解像度を維持したまま量子化する第一のモードと、一つの色成分を持つ多値画像データを、その解像度を増加させて量子化する第二のモードとを有する画像処理方法であって、前記第一のモードの場合は、入力される一つの色成分をもつ多値画像データを同一レベルの複数の多値データに分割した後、分割された多値データのそれぞれを量子化し、前記第二のモードの場合は、前記複数の色成分の多値画像データそれぞれを量子化することを特徴としている。
【0005】
さらに、特許文献3に記載の量子化方法は、誤差拡散法を用いて多値画像情報をN(Nは2以上の整数)値に量子化する量子化方法において、誤差拡散法を用いて多値画像情報をN値に量子化する量子化工程と、前記量子化工程で発生した誤差データを累積拡散誤差としてメモリに蓄積する蓄積工程と、前記多値画像情報に対して要求された処理性能に応じて前記メモリへの蓄積を制御する制御工程とを有することを特徴としている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1〜3に記載の各技術によれば、複数の色成分を含む多値画像データを量子化するときに、上記各色成分に対応して誤差拡散処理回路及び量子化回路を設ける必要があった。同様に、色成分の増加とともに、ブルーノイズ減算処理回路又はラベリング処理回路などの逐次処理回路の数も増加した。このため、色成分の増加とともに画像処理装置の回路規模が増大するという課題があった。
【0007】
本発明の目的は以上の問題点を解決し、多値画像データに含まれる色成分の数が増加しても、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路及び逐次処理回路を提供することにある。
【課題を解決するための手段】
【0008】
第1の発明に係る誤差拡散処理回路は、
処理対象の画素データに対して、量子化誤差データを累積してなる累積誤差データを加算して補正後データを算出する誤差算出回路と、
所定のしきい値データを用いて上記補正後データを量子化データに量子化するとともに、上記補正後データ及び上記量子化データに基づいて上記量子化誤差データを算出して、上記誤差算出回路に出力する量子化回路とを備えた誤差拡散処理回路において、
上記誤差拡散処理回路は、
複数の色成分毎に、上記各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、
上記処理対象の画素データの色成分を表す切換制御信号を発生し、上記しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、
上記誤差算出回路は、
(a)複数の色成分に対応して設けられ、上記各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ予め格納する複数の誤差拡散係数レジスタと、
(b)複数の色成分に対応して設けられ、上記各色成分毎に上記累積誤差データを格納する複数の累積誤差レジスタとを備え、
上記誤差算出回路は、上記切換制御信号に基づいて、上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データを読み出し、上記読み出された累積誤差データを上記処理対象の画素データに加算することにより上記補正後データを算出して上記量子化回路に出力し、上記処理対象の画素データに対して誤差拡散処理を行うための誤差拡散係数を上記複数の誤差拡散係数レジスタから読み出し、上記読み出された誤差拡散係数と上記量子化回路から出力された量子化誤差データとに基づいて上記累積誤差データを算出し、上記算出された累積誤差データを上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納し、
上記制御回路は、上記切換制御信号に基づいて、上記処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、上記しきい値テーブルメモリから読み出して上記量子化回路に出力することを特徴とする。
【0009】
上記誤差拡散処理回路において、1つの色成分の画素データを含む第1の画像データ又は複数の色成分の複数の画素データを含む第2の画像データを受信し、上記受信された第1又は第2の画像データを各色成分の画素データに分離して、上記分離後の各画素データを、上記処理対象の画素データとして、上記誤差算出回路に順次出力する色分離回路をさらに備えたことを特徴とする。
【0010】
第2の発明に係る逐次処理回路は、複数の種類の入力データに対して所定の処理を行う逐次処理回路において、
上記各種類に対応して設けられた複数のレジスタと、
上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、
上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたことを特徴とする。
【発明の効果】
【0011】
本発明に係る誤差拡散処理回路によれば、複数の色成分毎に、各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、処理対象の画素データの色成分を表す切換制御信号を発生し、しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、制御回路は、切換制御信号に基づいて、処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、しきい値テーブルメモリから読み出して量子化回路に出力し、誤差算出回路は、切換制御信号に従って、処理対象の画素データに基づいて補正後データを算出するので、複数の色成分の画素データを含む画像データに対して誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの誤差算出回路と1つの量子化回路のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0012】
また、本発明に係る逐次処理回路によれば、入力データの種類に対応して設けられた複数のレジスタと、上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたので、複数の種類の入力データ毎に逐次データ算出回路を備える必要がなく、従来技術に比較して逐次処理回路の回路規模の増加を抑えることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の第1の実施形態に係る主走査誤差拡散処理回路100を備えた画像処理装置のブロック図である。
【図2】図1の主走査誤差算出回路9の回路図である。
【図3】図1の主走査誤差拡散処理回路100の第1の動作モードにおいて、入出力バッファ50から出力される画像データD50−1のデータ配置図である。
【図4】図1の主走査誤差拡散処理回路100の第2の動作モードにおいて、入出力バッファ50から出力される画像データD50−2のデータ配置図である。
【図5】第1の動作モードにおける図1の色分離回路8の動作を示すブロック図である。
【図6】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第1の動作モードにおける入力データD50−1のタイミングチャートであり、(c)は、第1の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。
【図7】第2の動作モードにおける図1の色分離回路8の動作を示すブロック図である。
【図8】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第2の動作モードにおける入力データD50−2のタイミングチャートであり、(c)は、第2の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。
【図9】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第1の動作モードにおける切換制御信号S7のタイミングチャートであり、(c)は、第1の動作モードにおけるクロック信号C1のタイミングチャートであり、(d)は、第1の動作モードにおけるクロック信号C2のタイミングチャートである。
【図10】(a)は、図1のクロック信号C0のタイミングチャートであり、(b)は、第2の動作モードにおける切換制御信号S7のタイミングチャートであり、(c)は、第2の動作モードにおけるクロック信号C1のタイミングチャートであり、(d)は、第2の動作モードにおけるクロック信号C2のタイミングチャートである。
【図11】図1のしきい値テーブルメモリ3に格納されるしきい値テーブルの一例を示す表である。
【図12】本発明の第2の実施形態に係る主走査誤差拡散処理回路100Aを備えた画像処理装置のブロック図である。
【図13】図12の主走査誤差算出回路9Aの回路図である。
【図14】本発明の第3の実施形態に係る逐次処理回路300の第1の動作モードにおける動作を示すブロック図である。
【図15】図14の逐次処理回路300の第2の動作モードにおける動作を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【0015】
第1の実施形態.
図1は、本発明の第1の実施形態に係る主走査誤差拡散処理回路100を備えた画像処理装置のブロック図であり、図2は、図1の主走査誤差算出回路9の回路図である。図1の画像処理装置は、入出力バッファ50と、主走査誤差拡散処理回路100と、主走査誤差拡散処理回路100の動作を制御するコントローラ40とを備えて構成される。また、主走査誤差拡散処理回路100は、制御回路100cと、しきい値テーブルメモリ3と、色分離回路8と、主走査誤差算出回路9と、量子化回路10と、クロック生成回路20とを備えて構成される。また、制御回路100cは、シーケンサ1と、しきい値アドレス生成回路2と、画素数設定レジスタ4と、データタイプ選択レジスタ5と、マルチプレクサ6と、切換制御回路7とを備えて構成される。さらに、切換制御回路7は、インバータ71と、フリップフロップ回路72とを備えて構成される。また、クロック生成回路20は、インバータ201,205と、フリップフロップ回路202,206と、アンドゲート204,208,207と、オアゲート203とを備えて構成される。さらに、量子化回路10は、比較回路101−1〜101−4と、減算回路103−1〜1−3−4と、デコーダ102と、マルチプレクサ104とを備えて構成される。そして、図2において、主走査誤差算出回路9は、マルチプレクサ902,905,908,909,911,914と、フリップフロップ回路900,901,903,904,906,907と、乗算器910,912,915と、加算器913,916,917と、誤差拡散係数レジスタ921a,921b,922a,922b,923a,923bとを備えて構成される。なお、フリップフロップ回路900,901,903,904,906,907はそれぞれ、データを格納する記憶レジスタである。
【0016】
詳細後述するように、本実施形態に係る主走査誤差拡散処理回路100は、第1及び第2の色成分毎に、各色成分の画素データに基づいて算出される補正後データD9を量子化するためのしきい値データを予め格納するしきい値テーブルメモリ3と、処理対象の画素データD8の色成分を表す切換制御信号S7を発生し、しきい値テーブルメモリ3からのしきい値データの読み出しを制御する制御回路100cとを備える。さらに、主走査誤差算出回路9は、(a)第1の色成分に対応して設けられ、第1の色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数C1A,C2A,C3Aをそれぞれ予め格納する誤差拡散係数レジスタ921a,922a,923aと、(b)第2の色成分に対応して設けられ、第2の色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数C1B,C2B,C3Bをそれぞれ予め格納する誤差拡散係数レジスタ921b,922b,923bと、(c)第1の色成分に対応して設けられ、累積誤差データを格納するフリップフロップ回路906にてなる累積誤差レジスタと、(d)第2の色成分に対応して設けられ、累積誤差データを格納するフリップフロップ回路907にてなる累積誤差レジスタとを備える。ここで、主走査誤差算出回路9は、切換制御信号S7に基づいて、処理対象の画素データD8の色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データD9eを読み出し、上記読み出された累積誤差データD9eを処理対象の画素データD8に加算することにより補正後データD9を算出して量子化回路10に出力し、処理対象の画素データD8に対して誤差拡散処理を行うための誤差拡散係数を誤差拡散係数レジスタ921a,922a,923a又は誤差拡散係数レジスタ921b,922b,923bから読み出し、上記読み出された誤差拡散係数と量子化回路10から出力された量子化誤差データD10eとに基づいて累積誤差データD9eを算出し、算出された累積誤差データD9eを処理対象の画素データD8の色成分に対応して設けられた累積誤差レジスタに格納することを特徴としている。さらに、制御回路100cは、切換制御信号S7に基づいて、処理対象の画素データD8に基づいて算出される補正後データD9を量子化するためのしきい値データを、しきい値テーブルメモリ3から読み出して量子化回路10に出力することを特徴としている。
【0017】
図1において、コントローラ40は、パルス形状を有するクロック信号C0を発生して、入出力バッファ50と、しきい値アドレス生成回路2と、切換制御回路7のフリップフロップ回路72のクロック入力端子と、色分離回路8と、クロック生成回路20のインバータ201,205と、アンドゲート204の第1の入力端子と、アンドゲート208の第1の入力端子とに出力する。また、コントローラ40は、シーケンサ1の動作を開始させるためのハイレベルのパルス形状を有するスタート信号Stを発生して、シーケンサ1に出力する。さらに、コントローラ40は、ラインリセット信号Slrを発生して、主走査誤差算出回路9のフリップフロップ回路900,901,903,904,906,907の各反転リセット入力端子に出力する。
【0018】
図1において、主走査誤差拡散処理回路100は、第1の動作モードと第2の動作モードとを有する。第1の動作モードにおいて、主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理後の画像データD50−1を入出力バッファ50から読み出して受信し、受信された画像データD50−1に対して主走査方向の誤差拡散処理を行い、誤差拡散処理後の4値の量子化値を含む量子化データD10q及び誤差値を含む量子化誤差データD10eを、入出力バッファ50に出力する。また、第2の動作モードにおいて、主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理後の画像データD50−2を入出力バッファ50から読み出して受信し、受信された画像データD50−2に対して主走査方向の誤差拡散処理を行い、誤差拡散処理後の量子化値を含む量子化データD10q及び誤差値を含む量子化誤差データD10eを、入出力バッファ50に出力する。
【0019】
図3は、図1の主走査誤差拡散処理回路100の第1の動作モードにおいて、入出力バッファ50から出力される画像データD50−1のデータ配置図であり、図4は、図1の主走査誤差拡散処理回路100の第2の動作モードにおいて、入出力バッファ50から出力される画像データD50−2のデータ配置図である。図3に示すように、画像データD50−1は第1の色成分(本実施形態では、レッドである。)の画素データのデータワードR1,R2,R3,…を含む。また、図4に示すように、画像データD50−2は、第1の色成分のデータワードR1,R2,R3,…と、第2の色成分(本実施形態では、グリーンである。)のデータワードG1,G2,G3,…とを、R1,G1,R2,G2,R3,G3,…の順序で交互に含む。ここで、各データワードは、1画素分の多値の画素データに対応する。入出力バッファ50は、画像データD50−1又はD50−2内の各データワードを、先頭から順に2個ずつ出力する。
【0020】
図1において、データタイプ選択レジスタ5は、入出力バッファ50に格納されている画像データのタイプが画像データD50−1及びD50−2のうちのいずれであるかを識別するためのデータを予め格納している。データタイプ選択レジスタ5は、入出力バッファ50が画像データD50−1を格納しているときには、ローレベルのデータタイプ選択信号S5を、シーケンサ1と、マルチプレクサ6と、オアゲート203の非反転入力端子と、アンドゲート207の反転入力端子とに出力する。一方、入出力バッファ50が画像データD50−2を格納しているときには、データタイプ選択レジスタ5は、ハイレベルのデータタイプ選択信号S5を、シーケンサ1と、マルチプレクサ6と、オアゲート203の非反転入力端子と、アンドゲート207の反転入力端子とに出力する。また、画素数設定レジスタ4は、入出力バッファ50から読み出すべき画像データD50−1又はD50−2の画素数を表すデータを予め格納し、当該画素数を含む出力信号S4をシーケンサ1に出力する。
【0021】
また、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、動作を開始する。そして、画素数設定レジスタ4からの出力信号S4に従って、入出力バッファ50に対して、入出力バッファ50内の所定のアドレスから所定の回数だけ、画像データD50−1又はD50−2を2データワードずつ読み出すように制御するための制御信号S1c及びアドレス信号S1aを出力する。これに応答して、入出力バッファ50は、クロック信号C0に従って、画像データD50−1又はD50−2を2データワードずつ読み出して、色分離回路8に出力する。例えば、入出力バッファ50は、図3の画像データD50−1を出力する場合、第1のタイミングで画像データD50−1のデータワードR1及びR2を出力し、次に、第2のタイミングで画像データD50−1のデータワードR3及びR4を出力する。また、入出力バッファ50は、図4の画像データD50−2を出力する場合、第1のタイミングで画像データD50−1のデータワードR1及びG1を出力し、次に、第2のタイミングで画像データD50−1のデータワードR2及びG2を出力する。
【0022】
さらに、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、ハイレベルの下位アドレス制御信号S1gを発生してしきい値アドレス生成回路2に出力する。ここで、しきい値アドレス生成回路2はカウンタ回路であって、下位アドレス制御信号S1gのレベルがハイレベルであるときに、クロック信号C0の立ち上がりエッジの各タイミングにおいてカウント値を1だけインクリメントし、当該カウント値を表す出力信号S2を、しきい値テーブルメモリ3内のアドレスのうちの最上位ビット以外の下位アドレスの値として、しきい値テーブルメモリ3に出力する。なお、しきい値アドレス生成回路2のカウント値のビット数は、画像データD50−1又はD50−2の最大の画素数をカウント可能なように設定されている。
【0023】
またさらに、図1において、シーケンサ1は、コントローラ40からのハイレベルのパルス形状を有するスタート信号Stに応答して、ローレベルの出力信号S1lをマルチプレクサ6に出力する。さらに、シーケンサ1は、データタイプ選択レジスタ5からのローレベルのデータタイプ選択信号S5に応答して、ローレベルのリセット信号S1rを発生してフリップフロップ回路72の反転リセット入力端子に出力する一方、データタイプ選択レジスタ5からのハイレベルのデータタイプ選択信号S5に応答して、ハイレベルのリセット信号S1rを発生してフリップフロップ回路72の反転リセット入力端子に出力する。
【0024】
図1の切換制御回路7において、フリップフロップ回路72からの切換制御信号S7は、インバータ71を介してフリップフロップ回路72の入力端子に戻されるとともに、マルチプレクサ6と、主走査誤差算出回路9のマルチプレクサ902,905,908,909,911,914と、クロック生成回路20のフリップフロップ回路202,206に出力される。図9(a)は、図1のクロック信号C0のタイミングチャートであり、図9(b)は、第1の動作モードにおける切換制御信号S7のタイミングチャートである。図9(b)に示すように、第1の動作モードにおいて、フリップフロップ回路72は、シーケンサ1からのローレベルの出力信号S1lに応答して、ローレベルの切換制御信号S7を発生する。また、図10(a)は、図1のクロック信号C0のタイミングチャートであり、図10(b)は、第2の動作モードにおける切換制御信号S7のタイミングチャートである。図10(b)に示すように、第2の動作モードにおいて、フリップフロップ回路72は、クロック信号C0の周期の2倍の周期を有し、かつ、クロック信号C0の立ち上がりエッジの各タイミングにおいて立ち上がりと立ち下がりを交互に繰り返すパルス形状の切換制御信号S7を発生する。詳細後述するように、切換制御信号S7は、色分離回路8から出力される処理対象の画素データD8の色成分を表す。具体的には、色分離回路8から出力される処理対象の画素データD8の色成分が第1の色成分であるときは切換制御信号S7のレベルはローレベルになる一方、色分離回路8から出力される処理対象の画素データD8の色成分が第2の色成分であるときは切換制御信号S7のレベルはハイレベルになるように設定されている。
【0025】
また、図1において、マルチプレクサ6は、データタイプ選択レジスタ5からのローレベルのデータタイプ選択信号S5に応答して、シーケンサ1からの出力信号S1lを、しきい値テーブルメモリ3内のアドレスのうちの最上位ビットの値を表す出力信号S6としてしきい値テーブルメモリ3に出力する一方、データタイプ選択レジスタ5からのハイレベルのデータタイプ選択信号S5に応答して、切換制御回路7からの切換制御信号S7を、出力信号S6としてしきい値テーブルメモリ3に出力する。
【0026】
図1において、しきい値テーブルメモリ3は、主走査誤差算出回路9から出力される補正後データD9を4値の量子化データD10qに量子化するためのしきい値を含むしきい値テーブルを予め格納する。図11は、図1のしきい値テーブルメモリ3に格納されるしきい値テーブルの一例を示す表である。図11において、しきい値テーブルメモリ3内のアドレスのうち、最上位ビットが0である各アドレスには、第1の色成分(レッド)の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データの組がそれぞれ格納される。また、しきい値テーブルメモリ3内のアドレスのうち、最上位ビットが1である各アドレスには、第2の色成分(グリーン)の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データの組がそれぞれ格納される。制御回路100cは、マルチプレクサ6からの出力信号S6に含まれるアドレスの最上位ビットの値と、しきい値アドレス生成回路2からの出力信号S2に含まれるアドレスの最上位ビット以外の下位ビットの値とに対応するしきい値テーブルメモリ3のアドレスに格納された4個のしきい値データを読み出して、比較回路101−1及び減算回路103−1と、比較回路101−2及び減算回路103−2と、比較回路101−3及び減算回路103−3と、比較回路101−4及び減算回路103−4とに、それぞれ出力する。
【0027】
なお、しきい値テーブルメモリ3は、4個のしきい値データの総ビット数に対応するビット幅を有し、画素数設定レジスタ4に格納される画素数と色成分数(2である。)とを乗じた個数のデータワード数を有する。また、各しきい値データのビット幅は、画像データD50−1及びD50−2に含まれる各画素データの最大のビット幅以上の値に設定される。
【0028】
次に、図5〜図8を参照して、色分離回路8の動作を説明する。図5は、第1の動作モードにおける図1の色分離回路8の動作を示すブロック図である。また、図6(a)は、図1のクロック信号C0のタイミングチャートであり、図6(b)は、第1の動作モードにおける入力データD50−1のタイミングチャートであり、図6(c)は、第1の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。図5及び図6(a),(b)に示すように、第1の動作モードにおいて、クロック信号C0の連続する立ち上がりエッジのタイミングt1及びt2の間の期間において、データワードR1及びR2を含む画像データD50−1が出力され、クロック信号C0の連続する立ち上がりエッジのタイミングt3及びt4の間の期間において、データワードR3及びR4を含む画像データD50−1が出力される。これに応答して、色分離回路8は、図6(c)に示すように、タイミングt1において画像データD50−1をデータワードR1及びR2に分離し、タイミングt1からt2までの期間においてデータワードR1を含む画素データD8を出力し、タイミングt2からt3までの期間においてデータワードR2を含む画素データD8を出力する。さらに、色分離回路8は、タイミングt3において画像データD50−1をデータワードR3及びR4に分離し、タイミングt3からt4までの期間においてデータワードR3を含む画素データD8を出力し、タイミングt4からt5までの期間においてデータワードR4を含む画素データD8を出力する。以下同様に、色分離回路8は、クロック信号C0の各立ち上がりエッジのタイミングtmからtm+1(m=1,2,…)までの各期間において、データワードRmを含む画素データD8を出力する。これにより、色分離回路8は、第1の動作モードにおいて、画像データD50−1を第1の色成分の2つの画素データに分離して、処理対象の画素データD8として、順次、主走査誤差算出回路9の加算器917に出力する。
【0029】
また、図7は、第2の動作モードにおける図1の色分離回路8の動作を示す図であり、図8(a)は、図1のクロック信号C0のタイミングチャートである。さらに、図8(b)は、第2の動作モードにおける入力データD50−2のタイミングチャートであり、図8(c)は、第2の動作モードにおける色分離回路8からの画素データD8のタイミングチャートである。図7及び図8(a),(b)に示すように、第2の動作モードにおいて、クロック信号C0の連続する立ち上がりエッジのタイミングt1及びt2の間の期間において、データワードR1及びG1を含む画像データD50−2が出力され、クロック信号C0の連続する立ち上がりエッジのタイミングt3及びt4の間の期間において、データワードR2及びG2を含む画像データD50−2が出力される。これに応答して、色分離回路8は、図8(c)に示すように、タイミングt1において画像データD50−2をデータワードR1及びG1に分離し、タイミングt1からt2までの期間においてデータワードR1を含む画素データD8を出力し、タイミングt2からt3までの期間においてデータワードG1を含む画素データD8を出力する。さらに、色分離回路8は、タイミングt3において画像データD50−2をデータワードR2及びG2に分離し、タイミングt3からt4までの期間においてデータワードR2を含む画素データD8を出力し、タイミングt4からt5までの期間においてデータワードG2を含む画素データD8を出力する。以下同様に、色分離回路8は、クロック信号C0の各立ち上がりエッジのタイミングtjからtj+1(j=1,3,…)まで各期間において、データワードR(j+1)/2を含む画素データD8を出力し、クロック信号C0の各立ち上がりエッジのタイミングtkからtk+1(j=2,4,…)まで各期間において、データワードRk/2を含む画素データD8を出力する。これにより、色分離回路8は、第2の動作モードにおいて、画像データD50−2を第1の色成分の画素データ及び第2の色成分の画素データに分離して、処理対象の画素データD8として、交互に、主走査誤差算出回路9の加算器917に出力する。
【0030】
次に、図1,図9及び図10を参照して、クロック生成回路20の構成及び動作を説明する。図1において、クロック信号C0はインバータ201を介してフリップフロップ回路202のクロック入力端子に出力されるとともに、インバータ205を介してフリップフロップ回路206のクロック入力端子に出力される。フリップフロップ回路202からの出力信号はオアゲート203の反転入力端子に出力され、オアゲート203からの出力信号はアンドゲート204の第2の入力端子に出力される。そして、アンドゲート204からの出力信号は、クロック信号C1として、主走査誤差算出回路9のフリップフロップ回路900、903、906の各クロック入力端子に出力される。一方、フリップフロップ回路206からの出力信号はアンドゲート207の非反転入力端子に出力され、アンドゲート207からの出力信号はアンドゲート208の第2の入力端子に出力される。そして、アンドゲート208からの出力信号は、クロック信号C2として、主走査誤差算出回路9のフリップフロップ回路901、904、907の各クロック入力端子に出力される。
【0031】
図9(c)は、第1の動作モードにおけるクロック信号C1のタイミングチャートであり、図9(d)は、第1の動作モードにおけるクロック信号C2のタイミングチャートである。図9(c)及び(d)に示すように、第1の動作モードにおいて、クロック信号C0と同期したクロック信号C1、及び、ローレベルのクロック信号C2が発生される。また、図10(c)は、第2の動作モードにおけるクロック信号C1のタイミングチャートであり、図10(d)は、第2の動作モードにおけるクロック信号C2のタイミングチャートである。図10(c)及び(d)に示すように、第2の動作モードにおいて、切換制御信号S7の立ち上がりエッジの各タイミングで立ち上がるクロック信号C1、及び、切換制御信号S7の立ち下がりエッジの各タイミングで立ち上がるクロック信号C2が発生される。すなわち、切換制御信号S7のレベルがハイレベルのときには、クロック信号C0と同相のクロック信号C1と、ローレベルのクロック信号C2とが発生される一方、切換制御信号S7のレベルがローレベルのときには、クロック信号C0と同相のクロック信号C2と、ローレベルのクロック信号C1とが発生される。
【0032】
次に、図2を参照して、主走査誤差算出回路9の構成を説明する。図2において、量子化回路10からの量子化誤差データD10eは、乗算器910、912及び915に出力される。また、誤差拡散係数レジスタ921a,922a,923aはそれぞれ、第1の色成分に関する誤差拡散係数C1A,C2A,C3Aを予め格納し、誤差拡散係数レジスタ921b,922b,923bはそれぞれ、第2の色成分に関する誤差拡散係数C1B,C2B,C3Bを予め格納している。マルチプレクサ909は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921aから誤差拡散係数C3Aを読み出して乗算器910に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921bから誤差拡散係数C3Bを読み出して乗算器910に出力する。乗算器910は、マルチプレクサ909からの誤差拡散係数C3A又はC3Bと、量子化誤差データD10eとを乗算して、乗算結果の信号をフリップフロップ回路900及び901の各入力端子に出力する。さらに、マルチプレクサ902は、ローレベルの切換制御信号S7に応答してフリップフロップ回路900からの出力信号を加算器913に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路901からの出力信号を加算器913に出力する。
【0033】
また、図2において、マルチプレクサ911は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ922aから誤差拡散係数C2Aを読み出して乗算器912に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ922bから誤差拡散係数C2Bを読み出して乗算器912に出力する。乗算器912は、マルチプレクサ911からの誤差拡散係数C2A又はC2Bと、量子化誤差データD10eとを乗算して、乗算結果の信号を加算器913に出力する。さらに、加算器913は、乗算器912からの出力信号とマルチプレクサ902からの出力信号とを加算して、加算結果の信号をフリップフロップ回路903及び904の各入力端子に出力する。そして、マルチプレクサ905は、ローレベルの切換制御信号S7に応答してフリップフロップ回路903からの出力信号を加算器916に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路904からの出力信号を加算器916に出力する。
【0034】
さらに、図2において、ルチプレクサ914は、ローレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921aから誤差拡散係数C1Aを読み出して乗算器915に出力する一方、ハイレベルの切換制御信号S7に応答して誤差拡散係数レジスタ921bから誤差拡散係数C1Bを読み出して乗算器915に出力する。乗算器915は、マルチプレクサ914からの誤差拡散係数C1A又はC1Bと、量子化誤差データD10eとを乗算して、乗算結果の信号を加算器916に出力する。さらに、加算器916は、乗算器915からの出力信号とマルチプレクサ905からの出力信号とを加算して、加算結果の信号をフリップフロップ回路906及び907の各入力端子に出力する。そして、マルチプレクサ908は、ローレベルの切換制御信号S7に応答してフリップフロップ回路906からの出力信号を累積誤差データD9eとして加算器917に出力する一方、ハイレベルの切換制御信号S7に応答してフリップフロップ回路907からの出力信号を累積誤差データD9eとして加算器917に出力する。加算器917は、色分離回路8からの画素データD8とフリップフロップ回路908からの累積誤差データD9eとを加算して、加算結果を示す信号を、補正後データD9として量子化回路10の比較回路101〜101−4及び減算回路103−1〜103−4に出力する。
【0035】
なお、図2において、フリップフロップ回路900、903、906はクロック信号C1に従って動作し、フリップフロップ回路901、904、907はクロック信号C2に従って動作する。また、フリップフロップ回路900,901,903,904,906,907はそれぞれ、ローレベルのラインリセット信号Slrに応答してリセットされる。さらに、フリップフロップ回路900,901,903,904,906,907はそれぞれ、多ビットのフリップフロップ回路であり、入力されるデータのビット幅に対応するビット幅を有する。
【0036】
図1の量子化回路10において、比較回路101−1〜101−4はそれぞれ、主走査誤差算出回路9からの補正後データD9と、しきい値テーブルメモリ3からのしきい値データとを比較し、比較結果を表す信号をデコーダ102に出力する。そして、デコーダ102は、比較回路101−1〜101−4からの出力信号をデコードして、デコード結果のデータを量子化データD10qとしてマルチプレクサ104及び入出力バッファ50に出力する。一方、減算回路103−1〜103−4はそれぞれ、主走査誤差算出回路9からの補正後データD9から、しきい値テーブルメモリ3からのしきい値データを減算し、減算結果を表す信号をマルチプレクサ104に出力する。マルチプレクサ104は、量子化データD10qに基づいて、減算回路103−1〜103−4からの出力信号のうち、当該量子化データD10qに対応する信号を、量子化誤差データD10eとして入出力バッファ50及び主走査誤差算出回路9の乗算器910、912、915に出力する。
【0037】
次に、以上のように構成された主走査誤差拡散処理回路100の第1及び第2の動作モードにおける各動作を説明する。
【0038】
(1)第1の動作モード.
第1の動作モードでは、色分離回路8は、第1の色成分のデータワードR1,R2,…を含む各画素データD8を主走査誤差算出回路9に出力する。また、第1の動作モードでは、マルチプレクサ6からの出力信号S6のレベルはローレベルであるので、色分離回路8から第1の色成分のデータワードR1,R2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが0である各アドレスから、第1の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。また、図9(a)〜図9(d)に示すように、第1の動作モードでは、ローレベルの切換制御信号S7と、クロック信号C0に同期したクロック信号C1と、ローレベルのクロック信号C2とが発生される。従って、主走査誤差算出回路9において、フリップフロップ回路900は、現在処理中の画素データの3画素前の量子化誤差データD10eと誤差拡散係数C3Aとの乗算結果を表す信号を、マルチプレクサ902を介して加算器913に出力する。また、フリップフロップ回路903は、現在処理中の画素データの2画素前の量子化誤差データD10eと誤差拡散係数C2Aとの乗算結果を表す信号とマルチプレクサ902からの出力信号との加算結果の信号(累積誤差を表す。)を、マルチプレクサ905を介して加算器916に出力する。また、フリップフロップ回路906は、現在処理中の画素データの1画素前の量子化誤差データD10eと誤差拡散係数C1Aとの乗算結果を表す信号とマルチプレクサ905からの出力信号との加算結果の信号を、累積誤差データD9eとして、マルチプレクサ908を介して加算器917に出力する。そして、加算器917は、画素データD8にマルチプレクサ908からの累積誤差データD9eを加算して、補正後データD9を生成する。以上説明したように、第1の動作モードにおいて、主走査誤差拡散処理回路100は、従来技術に係る主走査誤差拡散処理回路と同様に動作する。
【0039】
(2)第2の動作モード.
図10(a)〜図10(d)に示すように、第2の動作モードでは、フリップフロップ回路72は、クロック信号C0の立ち上がりエッジの各タイミングにおいて立ち上がりと立ち下がりを交互に繰り返し、かつ、クロック信号C0の周期の2倍の周期を有するパルス形状の切換制御信号S7を発生する。さらに、切換制御信号S7はマルチプレクサ6を介して出力信号S6としてしきい値テーブルメモリ3に出力されるので、色分離回路8から第1の色成分のデータワードR1,R2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが0である各アドレスから、第1の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。また、色分離回路8から第2の色成分の画素データG1,G2,…を含む各画素データD8が主走査誤差算出回路9に出力される各タイミングにおいて、しきい値テーブルメモリ3内の最上位ビットが1である各アドレスから、第2の色成分の画素データに基づいて算出される補正後データD9を量子化するための4個のしきい値データが出力される。
【0040】
また、図10(a)〜図10(d)に示すように、第2の動作モードでは、切換制御信号S7の立ち上がりエッジの各タイミングで立ち上がるクロック信号C1、及び、切換制御信号S7の立ち下がりエッジの各タイミングで立ち上がるクロック信号C2が発生される。従って、主走査誤差算出回路9は、切換制御信号S7のレベルがローレベルである各期間において、第1の動作モードと同様に動作し、第1の色成分の画素データを含む画素データD8に基づいて補正後データD9を算出する。また、切換制御信号S7のレベルがハイレベルである各期間において、以下のように、第2の色成分の画素データを含む画素データD8に基づいて補正後データD9を算出する。
【0041】
主走査誤差算出回路9において、フリップフロップ回路901は、現在処理中の画素データの3画素前の量子化誤差データD10eと誤差拡散係数C3Bとの乗算結果を表す信号を、マルチプレクサ902を介して加算器913に出力する。また、フリップフロップ回路904は、現在処理中の画素データの2画素前の量子化誤差データD10eと誤差拡散係数C2Bとの乗算結果を表す信号とマルチプレクサ902からの出力信号との加算結果の信号(累積誤差を表す。)を、マルチプレクサ905を介して加算器916に出力する。また、フリップフロップ回路907は、現在処理中の画素データの1画素前の量子化誤差データD10eと誤差拡散係数C1Bとの乗算結果を表す信号とマルチプレクサ905からの出力信号との加算結果の信号を、累積誤差データD9eとして、マルチプレクサ908を介して加算器917に出力する。そして、加算器917は、画素データD8にマルチプレクサ908からの累積誤差データD9eを加算して、補正後データD9を生成する。
【0042】
以上詳述したように、本実施形態に係る主走査誤差拡散処理回路100は、第1及び第2の色成分毎に、各色成分の画素データに基づいて算出される補正後データD9を量子化するためのしきい値データを予め格納するしきい値テーブルメモリ3と、処理対象の画素データD8の色成分を表す切換制御信号S7を発生し、しきい値テーブルメモリ3からのしきい値データの読み出しを制御する制御回路100cとを備え、制御回路100cは、切換制御信号S7に基づいて、処理対象の画素データD8に基づいて算出される補正後データD9を量子化するためのしきい値データを、しきい値テーブルメモリ3から読み出して量子化回路10に出力し、主走査誤差算出回路9は、切換制御信号S7に従って、処理対象の画素データD8に基づいて補正後データD9を算出する。従って、第1及び第2の色成分の画素データを含む画像データD50−2に対して主走査方向の誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの主走査誤差算出回路9と1つの量子化回路10のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0043】
なお、本実施形態において、量子化回路10は補正後データD9を4値の量子化データD10qに量子化したが、本発明はこれに限らず、2値以上のN値の量子化データD10qに量子化してもよい。この場合、しきい値テーブルメモリ3は、各色成分の画素データに基づいて算出される補正後データD9をN値の量子化データに量子化するためのしきい値データを格納する。
【0044】
また、本実施形態において、主走査誤差拡散処理回路100は色分離回路8を備えたが、本発明はこれに限らず、色分離回路8を主走査誤差拡散処理回路100の外部に設けてもよい。
【0045】
さらに、本実施形態において、画像データD50−2は第1及び第2の色成分の画素データを含んだが、本発明はこれに限らず、3個以上のM個の色成分の画素データを含んでもよい。この場合、色分離回路8は、所定の各処理タイミングにおいて、入力される画像データD50−2をM個の画素データに分離して、分離後の画素データを、処理対象の画素データD8として、後段の主走査誤差算出回路9に、順次出力する。さらに、切換制御回路7は、処理対象の画素データD8の色成分を表す切換制御信号S7を発生して主走査誤差算出回路9と、クロック生成回路20と、しきい値テーブルメモリ3に出力する。しきい値テーブルメモリ3は、上記各色成分の画素データに基づいて算出される各補正後データD9を量子化するためのしきい値データを、上記各色成分毎に格納し、切換制御信号S7に応答して、処理対象の画素データD8を量子化するためのしきい値データを量子化回路10に出力する。さらに、クロック生成回路20は、互いに異なるタイミングで立ち上がるM個のクロック信号を発生して、主走査誤差算出回路9に出力するように構成される。主走査誤差算出回路9は、各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ格納する複数の誤差拡散係数レジスタを備えるように構成され、切換制御信号S7に基づいて、処理対象の色成分の画素データの誤差拡散係数を読み出し、読み出された誤差拡散係数と、量子化回路10からの量子化誤差データD10eとに基づいて累積誤差データD9eを算出し、色分離回路8からの画素データD8と累積誤差データD9eとを加算して、補正後データD9を算出する。補正後データD9は量子化回路10に出力され、量子化回路10は、補正後データD9をしきい値テーブルメモリ3からのしきい値データを用いて量子化して量子化データD10qを算出するとともに、量子化誤差データD10eを算出して主走査誤差算出回路9に出力する。
【0046】
またさらに、本実施形態に係る主走査誤差拡散処理回路100はマルチプレクサ6を備えた。しかしながら、切換制御信号S7はマルチプレクサ6からの出力信号S6と実質的に同一であるので、マルチプレクサ6を設けずに、切換制御信号S7を、直接、しきい値テーブルメモリ3に出力してもよい。この場合、シーケンサ1は出力信号S1lを発生する必要はない。
【0047】
また、本実施形態に係る主走査誤差拡散処理回路100は、副走査方向の誤差拡散処理を行った後の画像データD50−1又はD50−2に対して主走査方向の誤差拡散処理を行ったが、本発明はこれに限らず、副走査方向の誤差拡散処理を行う前の画像データD50−1又はD50−2に対して主走査方向の誤差拡散処理を行ってもよい。
【0048】
第2の実施形態.
図12は、本発明の第2の実施形態に係る主走査誤差拡散処理回路100Aを備えた画像処理装置のブロック図であり、図13は、図12の主走査誤差算出回路9Aの回路図である。本実施形態に係る主走査誤差拡散処理回路100Aは、第1の実施形態に係る主走査誤差拡散処理回路100に比較して、第1色成分(本実施形態では、レッドである。)のデータワードR1,R2,R3,…と、第2の色成分(本実施形態では、グリーンである。)のデータワードG1,G2,G3,…と、第3の色成分(本実施形態では、ブルーである。)とを、R1,G1,B1,R2,G2,B2,R3,G3,B3…の順序で交互に含む画像データD50−2Aに対して、色成分毎に誤差拡散処理を行う点が異なる。
【0049】
図12の画像処理装置は、入出力バッファ50Aと、主走査誤差拡散処理回路100Aと、主走査誤差拡散処理回路100Aの動作を制御するコントローラ40Aとを備えて構成される。また、主走査誤差拡散処理回路100Aは、切換制御回路7Aと、しきい値テーブルメモリ3A−1,3A−2,3A−3と、マルチプレクサ31と、色分離回路8Aと、主走査誤差算出回路9Aと、量子化回路10Aと、クロック生成回路20Aとを備えて構成される。さらに、図13において、主走査誤差算出回路9Aは、マルチプレクサ803,807,811,812,813,820と、フリップフロップ回路800〜802,804〜806,808〜810と、乗算器814〜816と、加算器817〜819と、誤差拡散係数レジスタ821a,821b,821c,822a,822b,822c,823a,823b,823cとを備えて構成される。なお、フリップフロップ回路800,804,808はそれぞれ、第1の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。また、フリップフロップ回路801,805,809はそれぞれ、第2の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。さらに、フリップフロップ回路802,806,810はそれぞれ、第3の色成分に対応して設けられ、累積誤差データを格納する累積誤差レジスタである。
【0050】
図12において、コントローラ40Aは、パルス形状を有するクロック信号C0を発生して、入出力バッファ50Aと、切換制御回路7Aと、色分離回路8Aと、クロック生成回路20Aとに出力する。また、コントローラ40Aは、ラインリセット信号Slrを発生して、主走査誤差算出回路9Aのフリップフロップ回路800〜802,804〜806,808〜810の各反転リセット入力端子に出力する。また、入出力バッファ50Aは、第1の色成分のデータワードR1,R2,R3,…と、第2の色成分のデータワードG1,G2,G3,…と、第3の色成分とを、R1,G1,B1,R2,G2,B2,R3,G3,B3…の順序で交互に含む画像データD50−2Aを、予め格納している。入出力バッファ50Aは、クロック信号C0に従って、画像データD50−2Aの各データワードを、先頭から順に3個ずつ色分離回路8Aに出力する。
【0051】
また、図12において、色分離回路8Aは、入力される画像データD50−2Aを第1の色成分の画素データと、第2の色成分の画素データと、第3の色成分の画素データとに分離して、処理対象の画素データD8Aとして、クロック信号C0に従って、主走査誤差算出回路9Aの加算器819に、順次出力する。
【0052】
図12において、切換制御回路7Aは、色分離回路8Aから出力される処理対象の画素データD8Aの色成分を表す切換制御信号S7Aを発生して、マルチプレクサ31に出力する。さらに、切換制御回路7Aは、処理対象の画素データD8Aの色成分が第1の色成分であるときに、ハイレベルの切換制御信号S7A−1を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力し、処理対象の画素データD8Aの色成分が第2の色成分であるときに、ハイレベルの切換制御信号S7A−2を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力し、処理対象の画素データD8Aの色成分が第3の色成分であるときに、ハイレベルの切換制御信号S7A−3を主走査誤差算出回路9Aのマルチプレクサ803,807,811,812,813,820に出力する。
【0053】
図12において、しきい値テーブルメモリ3A−1〜3A−3は、第1〜第3の色成分毎に、各色成分の画素データD8Aに基づいて算出される補正後データD9AをN値の量子化データD10qAに量子化するためのしきい値データを予め格納する。マルチプレクサ31は、切換制御信号S7Aに応答して、しきい値テーブルメモリ3A−1〜3A−3からのしきい値データのうち、処理対象の画素データD8Aの色成分を有する画素データに基づいて算出される補正後データD9Aを量子化するためのしきい値データを順次選択して、量子化回路10Aに出力する。
【0054】
図12において、クロック生成回路20Aは、入力されるクロック信号C0に基づいて、クロック信号CL1,CL2,CL3を発生する。ここで、クロック信号CL1,CL2,CL3は、クロック信号のC0の3倍の周期をそれぞれ有し、かつ、クロック信号C0の連続する立ち上がりエッジの各タイミングで順次立ち上がる。クロック信号CL1は、フリップフロップ回路800,804,808の各クロック入力端子に出力され、クロック信号CL2は、フリップフロップ回路801,805,809の各クロック入力端子に出力され、クロック信号CL3は、フリップフロップ回路802,806,810の各クロック入力端子に出力される。以上説明したように構成することにより、画素データD8Aの色成分が第1の色成分であるときには、しきい値テーブルメモリ3A−1に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−1及びクロック信号CL1が主走査誤差算出回路9Aに出力される。同様に、画素データD8Aの色成分が第2の色成分であるときには、しきい値テーブルメモリ3A−2に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−2及びクロック信号CL2が主走査誤差算出回路9Aに出力される。また、画素データD8Aの色成分が第3の色成分であるときには、しきい値テーブルメモリ3A−3に格納されたしきい値データが量子化回路10Aに出力され、ハイレベルの切換制御信号S7A−3及びクロック信号CL3が主走査誤差算出回路9Aに出力される。
【0055】
図13において、量子化回路10Aからの量子化誤差データD10eAは、乗算器814,815,816に出力される。また、誤差拡散係数レジスタ821a,822a,823aはそれぞれ、第1の色成分に関する誤差拡散係数C1A,C2A,C3Aを予め格納し、誤差拡散係数レジスタ821b,822b,823bはそれぞれ、第2の色成分に関する誤差拡散係数C1B,C2B,C3Bを予め格納し、誤差拡散係数レジスタ821c,822c,823cはそれぞれ、第3の色成分に関する誤差拡散係数C1C,C2C,C3Cを予め格納している。マルチプレクサ811は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ823aから誤差拡散係数C3Aを読み出して乗算器814に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ823bから誤差拡散係数C3Bを読み出して乗算器814に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ823cから誤差拡散係数C3Cを読み出して乗算器814に出力する。乗算器814は、マルチプレクサ811からの誤差拡散係数C3A,C3B又はC3Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号をフリップフロップ回路800〜802の各入力端子に出力する。さらに、マルチプレクサ803は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路800からの出力信号(累積誤差である。)を加算器817に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路801からの出力信号を加算器817に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路802からの出力信号を加算器817に出力する。
【0056】
マルチプレクサ812は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ822aから誤差拡散係数C2Aを読み出して乗算器815に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ822bから誤差拡散係数C2Bを読み出して乗算器815に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ822cから誤差拡散係数C2Cを読み出して乗算器815に出力する。乗算器815は、マルチプレクサ811からの誤差拡散係数C2A,C2B又はC2Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号を加算器817に出力する。加算器817は、マルチプレクサ803からの出力信号と乗算器815からの出力信号とを加算して、フリップフロップ回路804〜806の各入力端子に出力する。さらに、マルチプレクサ807は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路804からの出力信号(累積誤差である。)を加算器818に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路805からの出力信号を加算器818に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路806からの出力信号を加算器818に出力する。
【0057】
マルチプレクサ813は、ハイレベルの切換制御信号S7A−1に応答して、誤差拡散係数レジスタ821aから誤差拡散係数C1Aを読み出して乗算器816に出力し、ハイレベルの切換制御信号S7A−2に応答して、誤差拡散係数レジスタ821bから誤差拡散係数C1Bを読み出して乗算器816に出力し、ハイレベルの切換制御信号S7A−3に応答して、誤差拡散係数レジスタ821cから誤差拡散係数C1Cを読み出して乗算器817に出力する。乗算器817は、マルチプレクサ813からの誤差拡散係数C1A,C1B又はC1Cと、量子化誤差データD10eAとを乗算して、乗算結果の信号を加算器818に出力する。加算器818は、マルチプレクサ807からの出力信号と乗算器816からの出力信号とを加算して、フリップフロップ回路808〜810の各入力端子に出力する。さらに、マルチプレクサ820は、ハイレベルの切換制御信号S7A−1に応答してフリップフロップ回路808からの出力信号を累積誤差データD9eAとして加算器819に出力し、ハイレベルの切換制御信号S7A−2に応答してフリップフロップ回路809からの出力信号を加算器8120に出力し、ハイレベルの切換制御信号S7A−3に応答してフリップフロップ回路810からの出力信号を加算器820に出力する。そして、加算器819は、処理対象の画素データD8Aにマルチプレクサ820からの累積誤差データD9eAとを加算して、加算結果の信号を補正後データD9Aとして量子化回路10Aに出力する。
【0058】
以上説明したように主走査誤差算出回路9Aを構成することにより、フリップフロップ回路800,801,802はそれぞれ、現在処理中の画素データの3画素前の量子化誤差データD10eAと、誤差拡散係数C3A,C3B又はC3Cとの乗算結果を表す信号を、マルチプレクサ803を介して加算器817に出力する。また、フリップフロップ回路804,805,806はそれぞれ、現在処理中の画素データの2画素前の量子化誤差データD10eAと、誤差拡散係数C2A,C2B又はC2Cとの乗算結果を表す信号を、マルチプレクサ807を介して加算器818に出力する。さらに、フリップフロップ回路808,809,810はそれぞれ、現在処理中の画素データの1画素前の量子化誤差データD10eAと、誤差拡散係数C1A,C1B又はC1Cとの乗算結果を表す信号を、マルチプレクサ820を介して加算器819に出力する。
【0059】
図12において、量子化回路10Aは、マルチプレクサ31からのしきい値データを用いて補正後データD9AをN値の量子化データD10qAに量子化するとともに、補正後データD9A及び量子化データD10qAに基づいて量子化誤差データD10eAを算出して、主走査誤差算出回路9の乗算器814〜816に出力する。
【0060】
以上説明したように、本実施形態によれば、第1〜第3の色成分の画素データを含む画像データD50−2Aに対して主走査方向の誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの主走査誤差算出回路9Aと1つの量子化回路10Aのみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0061】
なお、本実施形態に係る主走査誤差拡散処理回路100Aは、副走査方向の誤差拡散処理を行った後の画像データD50−2Aに対して主走査方向の誤差拡散処理を行ったが、本発明はこれに限らず、副走査方向の誤差拡散処理を行う前の画像データD50−2Aに対して主走査方向の誤差拡散処理を行ってもよい。
【0062】
また、本実施形態において、主走査誤差拡散処理回路100Aは色分離回路8Aを備えたが、本発明はこれに限らず、色分離回路8Aを主走査誤差拡散処理回路100Aの外部に設けてもよい。
【0063】
第3の実施形態.
図14は、本発明の第3の実施形態に係る逐次処理回路300の第1の動作モードにおける動作を示すブロック図であり、図15は、図14の逐次処理回路300の第2の動作モードにおける動作を示すブロック図である。図14及び図15において、逐次処理回路300は、入力される入力データD60−1又はD60−2に対してラベリング処理などの所定の処理を行う逐次データ算出回路201と、レジスタ302A及び302Bと、切換制御回路303とを備えて構成される。逐次処理回路300は、入力データD60−1を処理する第1の動作モードと、入力データD60−2を処理する第2の動作モードとを有する。入力データD60−1は、第1の種類の入力データのデータワードA1,A2,A3,…を含む。また、入力データD60−2は、第1の種類の入力データのデータワードA1,A2,A3,…と、第2の種類の入力データのデータワードB1,B2,B3,…とを、A1,B1,A2,B2,A3,B3,…の順序で交互に含む。入力データD60−1及びD60−2内の各データワードは、先頭から順に2個ずつ逐次データ算出回路201に出力される。ここで、例えば、第1の種類の入力データは画素データであり、第2の種類の入力データはテキストデータである。
【0064】
図14及び図15において、逐次データ算出回路201は、受信された入力データD60−1又はD60−2を各データワードA1,A2,A3,…及びデータワードB1,B2,B3,…に分離して、分離後の各データワードA1,A2,A3,…及びデータワードB1,B2,B3,…に対して、所定の処理を逐次的に行い、処理後の出力データR1,R2,R3,…及びS1,S2,S3,…をレジスタ302A及び302Bに出力する。一方、切換制御回路303は、逐次データ算出回路201における処理対象の入力データのデータワードの種類に対応して設けられたレジスタ302A又は302Bへの書き込みを可能にするようにイネーブルする切換制御信号S303を発生して、レジスタ302A及び302Bに出力する。これにより、レジスタ302Aは、データワードA1,A2,A3,…を処理した後の出力データR1,R2,R3,…を格納し、レジスタ302Bは、データワードB1,B2,B3,…を処理した後の出力データS1,S2,S3,…を格納する。
【0065】
以上説明したように、本実施形態によれば、2種類の入力データを含む入力データD60−2に対して所定の逐次処理を行う際に、1つの逐次データ算出回路201のみを備えるので、従来技術に比較して、2種類の入力データ毎に逐次データ算出回路201を備える必要がなく、逐次処理回路300の回路規模の増加を抑えることができる。
【0066】
なお、本実施形態において、入力データD60−2は第1及び第2の種類の入力データのデータワードを含んだが、本発明はこれに限らず、3種類以上の入力データのデータワードを含んでもよい。この場合、データワードの種類の数と同数のレジスタを設け、切換制御回路303は、逐次データ算出回路201における処理対象の種類の入力データに応じて、対応するレジスタのみを書き込み可能にするようにイネーブルする。
【産業上の利用可能性】
【0067】
以上詳述したように、本発明に係る誤差拡散処理回路によれば、複数の色成分毎に、各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、処理対象の画素データの色成分を表す切換制御信号を発生し、しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、制御回路は、切換制御信号に基づいて、処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、しきい値テーブルメモリから読み出して量子化回路に出力し、誤差算出回路は、切換制御信号に従って、処理対象の画素データに基づいて補正後データを算出するので、複数の色成分の画素データを含む画像データに対して誤差拡散処理を行うときにも、色成分毎に誤差算出回路及び量子化回路を設ける必要がなく、1つの誤差算出回路と1つの量子化回路のみを設ければよいので、従来技術に比較して画像処理装置の回路規模の増大を抑えることができる誤差拡散処理回路を提供できる。
【0068】
また、本発明に係る逐次処理回路によれば、入力データの種類に対応して設けられた複数のレジスタと、上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたので、複数の種類の入力データ毎に逐次データ算出回路を備える必要がなく、従来技術に比較して逐次処理回路の回路規模の増加を抑えることができる。
【符号の説明】
【0069】
1…シーケンサ、
2…しきい値アドレス生成回路、
3,3A−1〜3A−3…しきい値テーブルメモリ、
4…画素数設定レジスタ、
5…データタイプ選択レジスタ、
6…マルチプレクサ、
7,7A…切換制御回路、
8,8A…色分離回路、
9,9A…主走査誤差算出回路、
10,10A…量子化回路、
20,20A…クロック生成回路、
31…マルチプレクサ、
40,40A…コントローラ、
50,50A…入出力バッファ、
71…インバータ、
72…フリップフロップ回路、
100,100A…主走査誤差拡散処理回路、
100c…制御回路、
101−1〜101−4…比較回路、
102…デコーダ、
103−1〜103−4…減算回路、
104…マルチプレクサ、
201,205…インバータ、
202,206…フリップフロップ回路、
203…オアゲート、
204,207,208…アンドゲート、
300…逐次処理回路、
301…逐次データ算出回路、
302A,302B…レジスタ、
303…切換制御回路、
800〜802,804〜806,808〜810…フリップフロップ回路、
803,807,811,812,813,820…マルチプレクサ、
814〜816…乗算器、
817〜819…加算器、
821a,821b,821c,822a,822b,822c,823a,823b,823c…誤差拡散係数レジスタ、
900,901,903,904,906,907…フリップフロップ回路、
902,905,908,909,911,914…マルチプレクサ、
910,912,915…乗算器、
913,916,917…加算器、
921a,921b,922a,922b,923a,923b…誤差拡散係数レジスタ。
【先行技術文献】
【特許文献】
【0070】
【特許文献1】特開2000−108385号公報。
【特許文献2】特開平11−177816号公報。
【特許文献3】特開2004−328266号公報。
【特許請求の範囲】
【請求項1】
処理対象の画素データに対して、量子化誤差データを累積してなる累積誤差データを加算して補正後データを算出する誤差算出回路と、
所定のしきい値データを用いて上記補正後データを量子化データに量子化するとともに、上記補正後データ及び上記量子化データに基づいて上記量子化誤差データを算出して、上記誤差算出回路に出力する量子化回路とを備えた誤差拡散処理回路において、
上記誤差拡散処理回路は、
複数の色成分毎に、上記各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、
上記処理対象の画素データの色成分を表す切換制御信号を発生し、上記しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、
上記誤差算出回路は、
(a)複数の色成分に対応して設けられ、上記各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ予め格納する複数の誤差拡散係数レジスタと、
(b)複数の色成分に対応して設けられ、上記各色成分毎に上記累積誤差データを格納する複数の累積誤差レジスタとを備え、
上記誤差算出回路は、上記切換制御信号に基づいて、上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データを読み出し、上記読み出された累積誤差データを上記処理対象の画素データに加算することにより上記補正後データを算出して上記量子化回路に出力し、上記処理対象の画素データに対して誤差拡散処理を行うための誤差拡散係数を上記複数の誤差拡散係数レジスタから読み出し、上記読み出された誤差拡散係数と上記量子化回路から出力された量子化誤差データとに基づいて上記累積誤差データを算出し、上記算出された累積誤差データを上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納し、
上記制御回路は、上記切換制御信号に基づいて、上記処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、上記しきい値テーブルメモリから読み出して上記量子化回路に出力することを特徴とする誤差拡散処理回路。
【請求項2】
1つの色成分の画素データを含む第1の画像データ又は複数の色成分の複数の画素データを含む第2の画像データを受信し、上記受信された第1又は第2の画像データを各色成分の画素データに分離して、上記分離後の各画素データを、上記処理対象の画素データとして、上記誤差算出回路に順次出力する色分離回路をさらに備えたことを特徴とする請求項1記載の誤差拡散処理回路。
【請求項3】
複数の種類の入力データに対して所定の処理を行う逐次処理回路において、
上記各種類に対応して設けられた複数のレジスタと、
上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、
上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたことを特徴とする逐次処理回路。
【請求項1】
処理対象の画素データに対して、量子化誤差データを累積してなる累積誤差データを加算して補正後データを算出する誤差算出回路と、
所定のしきい値データを用いて上記補正後データを量子化データに量子化するとともに、上記補正後データ及び上記量子化データに基づいて上記量子化誤差データを算出して、上記誤差算出回路に出力する量子化回路とを備えた誤差拡散処理回路において、
上記誤差拡散処理回路は、
複数の色成分毎に、上記各色成分の画素データに基づいて算出される補正後データを量子化するためのしきい値データを予め格納するしきい値テーブルメモリと、
上記処理対象の画素データの色成分を表す切換制御信号を発生し、上記しきい値テーブルメモリからのしきい値データの読み出しを制御する制御回路とを備え、
上記誤差算出回路は、
(a)複数の色成分に対応して設けられ、上記各色成分の画素データに対して誤差拡散処理を行うための誤差拡散係数をそれぞれ予め格納する複数の誤差拡散係数レジスタと、
(b)複数の色成分に対応して設けられ、上記各色成分毎に上記累積誤差データを格納する複数の累積誤差レジスタとを備え、
上記誤差算出回路は、上記切換制御信号に基づいて、上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納された累積誤差データを読み出し、上記読み出された累積誤差データを上記処理対象の画素データに加算することにより上記補正後データを算出して上記量子化回路に出力し、上記処理対象の画素データに対して誤差拡散処理を行うための誤差拡散係数を上記複数の誤差拡散係数レジスタから読み出し、上記読み出された誤差拡散係数と上記量子化回路から出力された量子化誤差データとに基づいて上記累積誤差データを算出し、上記算出された累積誤差データを上記処理対象の画素データの色成分に対応して設けられた累積誤差レジスタに格納し、
上記制御回路は、上記切換制御信号に基づいて、上記処理対象の画素データに基づいて算出される補正後データを量子化するためのしきい値データを、上記しきい値テーブルメモリから読み出して上記量子化回路に出力することを特徴とする誤差拡散処理回路。
【請求項2】
1つの色成分の画素データを含む第1の画像データ又は複数の色成分の複数の画素データを含む第2の画像データを受信し、上記受信された第1又は第2の画像データを各色成分の画素データに分離して、上記分離後の各画素データを、上記処理対象の画素データとして、上記誤差算出回路に順次出力する色分離回路をさらに備えたことを特徴とする請求項1記載の誤差拡散処理回路。
【請求項3】
複数の種類の入力データに対して所定の処理を行う逐次処理回路において、
上記各種類に対応して設けられた複数のレジスタと、
上記複数の種類の入力データを受信し、上記受信された各入力データに対して所定の処理を逐次的に行い、上記処理後の出力データを上記各レジスタに出力する逐次データ算出回路と、
上記複数のレジスタのうち、上記逐次データ算出回路における処理対象の入力データの種類に対応して設けられたレジスタのみを書き込み可能にするようにイネーブルする切換信号を発生する制御回路とを備えたことを特徴とする逐次処理回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−160042(P2011−160042A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−17970(P2010−17970)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]