(57)【特許請求の範囲】
【請求項１】
スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る読取部と、
読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する変倍処理部と、
ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する待機時間取得部と、
前記待機時間情報に基づいて、前記変倍処理部による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取部に対して出力する信号出力部と
を有することを特徴とする画像処理装置。
【請求項２】
前記変倍処理部に画像データが入力されてから、変倍処理済みの画像データが出力開始されるまでの遅延時間に応じた値を表す遅延時間情報を取得する遅延時間取得部をさらに有し、
前記信号出力部は、前記待機時間情報と、前記遅延時間情報とに基づいて、前記変倍処理部による画像データの出力中に、前記許可信号を前記読取部に対して出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記待機時間取得部は、前記同期信号の立ち下がりから、前記変倍処理部に処理対象の画像データが入力されていることを示す信号のアサートまでの期間を表す前記待機時間情報を取得し、
前記信号出力部は、前記変倍処理部における１ラインの画像データの１画素ごとの変倍処理で立ち上がる内部クロックの回数をカウントし、カウントした回数が、該１ラインの画像データの全画素数から前記待機時間情報を減算した減算結果値以上である場合に、前記読取部に対して前記許可信号を出力することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記待機時間取得部は、前記同期信号の立ち下がりから、前記変倍処理部に処理対象の画像データが入力されていることを示す信号のアサートまでの期間を表す前記待機時間情報を取得し、
前記遅延時間取得部は、前記変倍処理部に処理対象の画像データが入力されていることを示す信号のアサート開始から、前記変倍処理部によって変倍処理済みの画像データが出力されていることを示す信号のアサート開始までの期間に、前記変倍処理部において内部クロックが立ち上がる回数を表す前記遅延時間情報を取得し、
前記信号出力部は、前記変倍処理部における１ラインの画像データの１画素ごとの変倍処理で立ち上がる内部クロックの回数をカウントし、カウントした回数が、該１ラインの画像データの全画素数から、前記待機時間情報と、前記遅延時間情報とを減算した減算結果値以上である場合に、前記読取部に対して前記許可信号を出力することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記変倍処理前に、該変倍処理とは異なる画像処理を実行する画像処理部と、
前記画像処理が実行されるまでの主走査方向の遅延量を表す主走査処理遅延量を、前記画像処理を実行するモジュールから取得する遅延量取得部とをさらに有し、
前記信号出力部は、さらに、前記主走査処理遅延量に基づいて、前記許可信号を前記読取部に対して出力することを特徴とする請求項１〜４の何れか一つに記載の画像処理装置。
【請求項６】
前記遅延量取得部は、前記変倍処理部及び前記画像処理部とは異なる外部での処理による遅延量を表す外部処理遅延量をさらに取得し、
前記信号出力部は、さらに、前記外部処理遅延量に基づいて、前記許可信号を前記読取部に対して出力することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
コンピュータを、
スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る読取手段と、
読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する変倍処理手段と、
ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する待機時間取得手段と、
前記待機時間情報に基づいて、前記変倍処理手段による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取手段に対して出力する信号出力手段と
して機能させるための画像処理プログラム。
【請求項８】
画像処理装置で実行される画像処理方法であって、
読取手段が、スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る工程と、
変倍処理手段が、読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する工程と、
待機時間取得手段が、ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する工程と、
信号出力手段が、前記待機時間情報に基づいて、前記変倍処理手段による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取手段に対して出力する工程と
を含むことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラム及び画像処理方法に関する。
【背景技術】
【０００２】
従来、ＭＦＰ（Multi  Function  Printer：複合機）における表裏両面の画像を同時に読み取る方式では、同時に読み取られた表面と裏面との画像をエンジン側のメモリに一旦蓄積した後、該メモリから表面、裏面の画像を順次読み取り、所定の画像処理を施して、コントローラ側のメモリに送信する処理が実行される。
【０００３】
かかるＭＦＰにおける表裏両面画像同時読み取り方式では、例えば、エンジン側のメモリに蓄積された画像に拡大処理等の画像処理を施す場合に、拡大処理を実行する変倍処理部によって、次ラインの画像データが必要であるか否かを示す信号が生成される。そして、ＭＦＰにおける表裏両面画像同時読み取り方式では、生成された信号の値に応じて、エンジン側のメモリからの１ラインの画像データの読み出しが停止又は開始される。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送が非効率になる場合があるという問題がある。具体的には、従来技術では、画像特性の補正、色変換、階調処理又は変倍処理等の画像処理が実行される場合に、画像処理実行のために要する待機時間、又は、画像処理対象のデータが入力されてから画像処理済みのデータが出力されるまでの処理に最低限要する遅延時間だけ、次ラインの画像データが必要であるか否かを示す信号の生成、すなわちエンジン側のメモリからの１ラインの画像データの読み出し処理が遅くなる。この結果、従来技術では、コントローラへの送信に係るデータ転送が非効率になる。
【０００５】
本発明は、上記に鑑みてなされたものであって、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送の効率を向上させることが可能である画像処理装置、画像処理プログラム及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明に係る画像処理装置は、スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る読取部と、読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する変倍処理部と、ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する待機時間取得部と、前記待機時間情報に基づいて、前記変倍処理部による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取部に対して出力する信号出力部とを有する。
【０００７】
また、本発明に係る画像処理プログラムは、コンピュータを、スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る読取手段と、読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する変倍処理手段と、ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する待機時間取得手段と、前記待機時間情報に基づいて、前記変倍処理手段による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取手段に対して出力する信号出力手段として機能させる。
【０００８】
また、本発明に係る画像処理方法は、画像処理装置で実行される画像処理方法であって、読取手段が、スキャンされた画像データが蓄積されたメモリから該画像データを１ラインずつ読み取る工程と、変倍処理手段が、読み取られた前記画像データに対して変倍処理を実行して、変倍処理済みの画像データを出力する工程と、待機時間取得手段が、ラインごとの画像データの読み取り開始を表す同期信号の立ち下がりから、前記変倍処理が開始されるまでの待機時間に応じた値を表す待機時間情報を取得する工程と、信号出力手段が、前記待機時間情報に基づいて、前記変倍処理手段による画像データの出力中に、次ラインの画像データの読み取りの可否を表す許可信号を、前記読取手段に対して出力する工程とを含む。
【発明の効果】
【０００９】
本発明の一つの様態によれば、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送の効率を向上させることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１に係る画像処理装置の構成例を示す図である。
【図２】図２は、実施の形態１に係る画像処理部の構成例を示す図である。
【図３】図３は、実施の形態１に係る変倍処理時の画像データ転送タイミングチャートの例を示す図である。
【図４】図４は、実施の形態１に係る画像処理の流れの例を示すフローチャートである。
【図５】図５は、実施の形態２に係る画像処理部の構成例（１）を示す図である。
【図６】図６は、実施の形態２に係る画像処理部の構成例（２）を示す図である。
【図７】図７は、実施の形態２に係る画像処理の流れの例を示すフローチャートである。
【図８】図８は、本発明に係る画像処理装置を含む複合機のハードウェア構成を示すブロック図である。
【図９】図９は、従来技術に係る画像処理部の構成例を示す図である。
【図１０】図１０は、従来技術に係る変倍処理時の画像データ転送タイミングチャートの例を示す図である。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明に係る画像処理装置、画像処理プログラム及び画像処理方法の実施の形態を説明する。なお、以下の実施の形態により本発明が限定されるものではない。なお、各実施の形態は、内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１２】
（実施の形態１）
［システム構成］
図１を用いて、実施の形態１に係る画像処理装置の構成について説明する。図１は、実施の形態１に係る画像処理装置の構成例を示す図である。
【００１３】
図１に示すように、画像処理装置１００には、表面読取装置（CCD：Charge  Coupled  Device）１１０と、裏面読取装置（CIS：Contact  Image  Sensor）１２０と、ＣＰＵ（Central  Processing  Unit）１３０と、ＲＯＭ１３１と、ＲＡＭ１３２と、画像／バッファコントローラ１４０と、メモリ１５０と、画像処理部１６０と、メモリコントローラ１７０と、ＣＰＵ１８０と、メモリ１９０とが含まれる。かかる画像処理装置１００は、一つの様態として、表裏両面の画像を同時に読み取る方式が採用されたＭＦＰである。
【００１４】
これらのうち、表面読取装置１１０は、原稿の所定の一面（表面）を読み取り、読み取った画像データ（表面データ）を画像／バッファコントローラ１４０に対して出力する。裏面読取装置１２０は、表面読取装置１１０によって読み取られる原稿の他方の一面（裏面）を読み取り、読み取った画像データ（裏面データ）を画像／バッファコントローラ１４０に対して出力する。ＣＰＵ１３０は、画像／バッファコントローラ１４０や画像処理部１６０等のレジスタを制御する。ＲＯＭ１３１は、ＣＰＵ１３０の制御プログラムを格納する。ＲＡＭ１３２は、ＣＰＵ１３０の制御時のワーキングメモリとして用いられるメモリである。
【００１５】
画像／バッファコントローラ１４０は、表面読取装置１１０と裏面読取装置１２０とから、表面データ並びに裏面データをそれぞれ受け取り、受け取った表面データ及び裏面データを、バス（DDR）を介してメモリ１５０に登録する。また、画像／バッファコントローラ１４０は、ＣＰＵ１３０から起動開始の制御を実行された後に、メモリ１５０に蓄積された表面データ又は裏面データを読み込み、ラインごとの画像データの読み取り開始を表すラインデータ同期信号とともに画像処理部１６０に送信する。かかる画像データの送信について、画像／バッファコントローラ１４０は、画像処理部１６０から画像データ送信の可否状態を示す送信許可通知信号に応じて、画像データ転送を停止又は開始する。詳細には、表面データと裏面データとの送信について、画像／バッファコントローラ１４０は、表面データの送信後に裏面データを送信する処理を、送信許可通知信号に応じて順次実行する。
【００１６】
画像処理部１６０は、画像／バッファコントローラ１４０によって送信された画像データに対し、スキャナ画像特性補正、色変換、階調処理及び変倍処理等の画像処理を施して、画像処理済みのデータを、ＰＣＩ（Peripheral  Components  Interconnect  bus）−Ｅｘｐｒｅｓｓを介してメモリコントローラ１７０へ転送するＡＳＩＣ（Application  Specific  Integrated  Circuit）である。
【００１７】
受信制御部１６１は、画像／バッファコントローラ１４０によって送信された各種データの受信制御を行なうインタフェースモジュールである。画像処理部１６２は、入力された画像データに対して、スキャナ画像特性補正、色変換及び階調処理等を行なうモジュールである。変倍処理部１６３は、入力された画像データに対して、変倍処理を行なうモジュールである。転送制御部１６４は、例えば、ＰＣＩ‐Ｅｘｐｒｅｓｓによる画像データ転送を制御するモジュールである。なお、画像処理部１６０における詳細な処理については後述する。
【００１８】
メモリコントローラ１７０は、コントローラ周辺のＡＳＩＣである。ＣＰＵ１８０は、例えば、コントローラ側のＣＰＵである。また、メモリ１９０は、コントローラ側のメモリである。
【００１９】
［従来技術に係る画像処理部の構成］
ここで、図９を用いて、従来技術に係る画像処理部の構成について説明する。図９は、従来技術に係る画像処理部の構成例を示す図である。
【００２０】
図９に示した「ｓｃａｎ＿ｃｌｋ」は、表面データ、裏面データの転送クロックを表している。また、「ｓｌｓｙｎｃ＿ｎ」は、画像／バッファコントローラ１０４０から画像処理部１０６０へ送信されるラインデータ同期信号を表している。このラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングにて、１ラインの画像データの転送が開始される。また、「ｓｃａｎ＿ｄａｔａ」は、画像／バッファコントローラ１０４０から画像処理部１０６０へ送信される１ラインの画像データを表している。
【００２１】
ＬＩＮＥ＿ＦＩＦＯ（First  In  First  Out）Ａ１０６１ａは、受信制御部１０６１によって受信された１ラインの画像データが格納されるメモリである。同様に、ＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂは、受信制御部１０６１によって受信された１ラインの画像データが格納されるメモリである。また、アクセス制御部１０６１ｃは、ＬＩＮＥ＿ＦＩＦＯＡ１０６１ａとＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂに対するライトアクセス、リードアクセスを制御するモジュールである。
【００２２】
詳細には、アクセス制御部１０６１ｃは、画像／バッファコントローラ１０４０によって送信されたラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりをトリガとして、転送クロック「ｓｃａｎ＿ｃｌｋ」に同期して１ラインの画像データ「ｓｃａｎ＿ｄａｔａ」をＬＩＮＥ＿ＦＩＦＯＡ１０６１ａ又はＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂへライトする。そして、アクセス制御部１０６１ｃは、画像処理部１０６０の内部クロックに同期してＬＩＮＥ＿ＦＩＦＯＡ１０６１ａ又はＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂをリードして、画像処理部１０６２へ画像データ「ｐｒｏｃ＿ｉｄａｔａ」を送信する。これらのライトアクセス、リードアクセスに関する動作は並列して実行される。また、ライト及びリードの対象となるＦＩＦＯは、一つの様態として、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングにて、ＬＩＮＥ＿ＦＩＦＯＡ１０６１ａ、ＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂのトグル（toggle）切り替え制御で決定される。
【００２３】
また、「ｐｒｏｃ＿ｉｄａｔａ」は、画像処理部１０６０の内部クロックに同期して、受信制御部１０６１から画像処理部１０６２へ出力される画像データを表している。また、「ｓｃａｌｅ＿ｌｇａｔｅ」は、受信制御部１０６１から変倍処理部１０６３へ変倍処理の対象となる画像データが入力されていることを表す信号である。例えば、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」は、「Ｈｉｇｈ」でアクティブであることとする。ここで、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングを基準としたアサートタイミング、アサート期間は、受信制御部１０６１や画像処理部１０６２の処理遅延が考慮されたレジスタ設定値により一意に決定される。
【００２４】
また、「ｓｃａｌｅ＿ｉｄａｔａ」は、画像処理部１０６０の内部クロックに同期して、画像処理部１０６２から変倍処理部１０６３へ出力される画像データを表している。また、「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」は、画像処理部１０６０の内部クロックに同期して、変倍処理部１０６３から転送制御部１０６４へ出力される画像データを表している。また、「ｇｎｔ＿ｎ」は、変倍処理部１０６３から画像／バッファコントローラ１０４０へ出力される、画像データ送信の可否状態を示す送信許可通知信号である。例えば、送信許可通知信号「ｇｎｔ＿ｎ」は、「Ｌｏｗ」で許可、「Ｈｉｇｈ」で不許可であることとする。この送信許可通知信号「ｇｎｔ＿ｎ」は、変倍処理部１０６３における１ラインの画像データの出力開始に伴い信号値が「Ｌｏｗ」にされ、１ラインの画像データの出力終了に伴い信号値が「Ｈｉｇｈ」にされる。
【００２５】
［従来技術に係る画像データ転送タイミングチャート］
次に、図１０を用いて、従来技術に係る変倍処理時の画像データ転送タイミングチャートについて説明する。図１０は、従来技術に係る変倍処理時の画像データ転送タイミングチャートの例を示す図である。
【００２６】
図１０において、「ｓｌｓｙｎｃ＿ｎ」、「ｓｃａｎ＿ｄａｔａ」、「ｓｃａｌｅ＿ｌｇａｔｅ」、「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」、「ｇｎｔ＿ｎ」等の各信号は、図９に示した各信号と同様のものである。また、「ｌｉｎｅ＿ｆｉｆｏＡ」は、ＬＩＮＥ＿ＦＩＦＯＡ１０６１ａの転送状態を表しており、「ｌｉｎｅ＿ｆｉｆｏＢ」は、ＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂの転送状態を表している。すなわち、「ＷＲＩＴＥ」は、ライト動作が実行されていることを表しており、「ＲＥＡＤ」は、リード動作が実行されていることを表している。なお、図１０では、同一ラインの画像データについては、同一の模様を付している。
【００２７】
図１０に示した期間Ａにおいて、画像／バッファコントローラ１０４０は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングで、画像処理部１０６０への１ラインの画像データ「ｓｃａｎ＿ｄａｔａ」を出力している。また、期間Ａにおいて、受信制御部１０６１は、画像／バッファコントローラ１０４０によって送信された１ラインの画像データをＬＩＮＥ＿ＦＩＦＯＡ１０６１ａにライトしている。
【００２８】
また、図１０に示した期間Ｂにおいて、画像／バッファコントローラ１０４０は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングで、画像処理部１０６０への１ラインの画像データ「ｓｃａｎ＿ｄａｔａ」を出力している。また、期間Ｂにおいて、受信制御部１０６１は、画像／バッファコントローラ１０４０によって送信された１ラインの画像データをＬＩＮＥ＿ＦＩＦＯＢ１０６１ｂにライトしている。
【００２９】
また、期間Ｂにおいて、受信制御部１０６１は、期間ＡにおいてＬＩＮＥ＿ＦＩＦＯＡ１０６１ａにライトした１ラインの画像データをリードして、後段のモジュールに出力する。後段のモジュールへの１ラインの画像データ出力後、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」は、「Ｈｉｇｈ」となる。その後、変倍処理部１０６３は、変倍処理済みの画像データ「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」を転送制御部１０６４に出力する。このとき、変倍処理部１０６３は、１ラインの画像データの出力が終了するまで、すなわち次ラインの画像データの変倍処理の開始が可能な状態になるまでは送信許可通知信号を不許可「Ｈｉｇｈ」の状態にしている。
【００３０】
期間Ｂにおけるタイミングチャートを詳細に説明すると、期間Ｂ１において、画像処理部１０６２は、１ラインの画像データのうちの１画素目の画像処理を完了する。すなわち、期間Ｂ１は、画像処理部１０６２に画像処理対象の画像データが入力されてから、画像処理済みの画像データを出力するまでに、最低限必要な待機時間を表している。また、期間Ｂ２において、変倍処理部１０６３は、１ラインの画像データのうちの１画素目の変倍処理を完了する。すなわち、期間Ｂ２は、変倍処理部１０６３に変倍処理対象の画像データが入力されてから、変倍処理済みの画像データを出力するまでに、最低限必要な遅延時間を表している。これらの待機時間や遅延時間は、レジスタ設定値で指定される変倍率や、変倍処理部１０６３に入力された変倍処理対象画像データのライン数によって決定される。
【００３１】
また、期間Ｂ３において、画像処理部１０６０は、変倍処理部１０６３における変倍処理後に、１ラインの画像データの出力を完了し、次ラインの画像データの処理が可能な状態になるまで、送信許可通知信号「ｇｎｔ＿ｎ」をディアサート、すなわち不許可「Ｈｉｇｈ」の状態にする。これにより、画像／バッファコントローラ１０４０は、期間Ｂ３において、次ラインの画像データの送信を待機する。また、期間Ｂ３において、画像処理部１０６０は、変倍処理部１０６３における変倍処理後に１ラインの画像データの出力が終了し、次ラインの画像データの処理開始が可能な状態になると、送信許可通知信号「ｇｎｔ＿ｎ」をアサート、すなわち許可「Ｌｏｗ」の状態にする。送信許可通知信号「ｇｎｔ＿ｎ」の許可「Ｌｏｗ」を受け付けた画像／バッファコントローラ１０４０は、次ラインの画像データの送信を開始する。これにより、期間Ｃが開始されることになる。なお、期間Ｃ（期間Ｃ１，期間Ｃ２，期間Ｃ３）におけるタイミングチャートについては、期間Ｂと同様である。
【００３２】
上記のように従来技術では、画像処理部１０６２や変倍処理部１０６３による処理に起因した待機時間、遅延時間である期間Ｂ１及び期間Ｂ２だけ、次ラインの画像データの処理開始のために余分に待機していることになる。また、期間Ｂ３は、変倍処理での拡大率が大きいほど長い期間となる。すなわち、画像／バッファコントローラ１０４０は、拡大率が大きいほど次ラインの画像データの送信開始のための待機時間が長くなる。これらの結果、従来技術では、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送が非効率になる。
【００３３】
［実施の形態１に係る画像処理部の構成］
次に、図２を用いて、実施の形態１に係る画像処理部１６０の構成について説明する。図２は、実施の形態１に係る画像処理部１６０の構成例を示す図である。なお、図２では、図９に示した従来技術に係る画像処理部１０６０の構成例における各信号やデータと同様のものについては同一の名称を付し、同一の名称についてはその説明を省略する場合がある。
【００３４】
図２に示した「ｓｃｌｇ＿ｓｔ」は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりから、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」のアサートまでの期間を設定する受信制御部１６１の内部レジスタ値を含む信号を表している。要するに、「ｓｃｌｇ＿ｓｔ」は、図１０に示した期間Ｂ１（待機時間）に相当する情報である。また、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」は、変倍処理部１６３によって変倍処理実施後の画像データが出力中であることを示す信号である。例えば、変倍処理実施後画像データ出力中の信号「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」は、「Ｈｉｇｈ」で出力中（アクティブ）であることとする。
【００３５】
また、「ｓｃｏｄ＿ｎｕｍ」は、変倍処理後に、変倍処理部１６３から転送制御部１６４へ出力される画像データ「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」の全画素数を含む信号である。すなわち、「ｓｃｏｄ＿ｎｕｍ」は、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」のアサート期間中に内部クロックが立ち上がる回数を含む信号である。この「ｓｃｏｄ＿ｎｕｍ」は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりによりその値が更新される。
【００３６】
また、「ｓｃｏｄ＿ｄｌｙ」は、変倍処理対象の画像データ入力開始から変倍処理実施後の画像データ出力開始までの期間、すなわち、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」のアサート開始から、変倍処理実施後画像データ出力中の信号「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」のアサート開始までの期間に、内部クロックが立ち上がる回数を含む信号を表している。要するに、「ｓｃｏｄ＿ｄｌｙ」は、図１０に示した期間Ｂ２（遅延時間）に相当する情報である。この「ｓｃｏｄ＿ｄｌｙ」は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりによりその値が更新される。
【００３７】
変倍処理制御部１６３ｃは、画像処理部１６２から画像データを受け付けて、画像データを拡大又は縮小する変倍処理を実施し、変倍処理実施後の画像データ「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」を転送制御部１６４に出力するモジュールである。また、変倍処理制御部１６３ｃは、処理に応じて、「ｓｃｏｄ＿ｎｕｍ」、「ｓｃｏｄ＿ｄｌｙ」、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」等の各種信号を信号出力部１６３ａに出力する。
【００３８】
詳細には、変倍処理制御部１６３ｃは、画像処理部１６２から変倍処理対象の画像データを受け付けると、受け付けた画像データから全画素数を求めて、全画素数を含む信号「ｓｃｏｄ＿ｎｕｍ」を信号出力部１６３ａに対して出力する。また、変倍処理制御部１６３ｃは、変倍処理実施後の画像データの出力中に、出力中であることを示す信号「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」を「Ｈｉｇｈ」にして信号出力部１６３ａに出力する。また、変倍処理制御部１６３ｃは、受信制御部１６１から受け付けた「ｓｃａｌｅ＿ｌｇａｔｅ」のアサート開始から、変倍処理実施後の画像データ出力に応じた「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」のアサート開始までにおける、内部クロックの立ち上がり回数を含む信号「ｓｃｏｄ＿ｄｌｙ」を信号出力部１６３ａに対して出力する。なお、変倍処理制御部１６３ｃは、画像／バッファコントローラ１４０からラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」を受け付けて、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングにて、「ｓｃｏｄ＿ｎｕｍ」又は「ｓｃｏｄ＿ｄｌｙ」の値を更新する。
【００３９】
信号出力部１６３ａは、送信許可通知信号「ｇｎｔ＿ｎ」の信号制御を実行するモジュールである。カウント部１６３ｂは、例えば、変倍処理制御部１６３ｃから受け付けた「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」のアサート期間中の内部クロックの立ち上がりをカウントする。ここで、カウント部１６３ｂによるカウント数は、「ｓｃｏｄ＿ｃｎｔ」として表すこととする。
【００４０】
信号出力部１６３ａによる信号制御について詳細に説明すると、信号出力部１６３ａは、全画素数「ｓｃｏｄ＿ｎｕｍ」から、レジスタ値「ｓｃｌｇ＿ｓｔ」と、変倍処理対象画像データ入力の信号のアサート開始から変倍処理実施後画像データ出力中の信号のアサート開始までの期間における内部クロックの立ち上がり回数「ｓｃｏｄ＿ｄｌｙ」を減算する。そして、信号出力部１６３ａは、カウント部１６３ｂによるカウント数「ｓｃｏｄ＿ｃｎｔ」について、減算結果値以上を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００４１】
すなわち、信号出力部１６３ａは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ）」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。換言すると、信号出力部１６３ａは、待機時間に関する情報（レジスタ値）と、遅延時間に関する情報（所定期間における内部クロックの立ち上がり回数）との分だけ早いタイミングで、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００４２】
［実施の形態１に係る画像データ転送タイミングチャート］
次に、図３を用いて、実施の形態１に係る変倍処理時の画像データ転送タイミングチャートについて説明する。図３は、実施の形態１に係る変倍処理時の画像データ転送タイミングチャートの例を示す図である。
【００４３】
図３において、「ｓｌｓｙｎｃ＿ｎ」、「ｓｃａｎ＿ｄａｔａ」、「ｓｃａｌｅ＿ｌｇａｔｅ」、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」、「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」、「ｓｃｌｇ＿ｓｔ」、「ｓｃｏｄ＿ｄｌｙ」、「ｓｃｏｄ＿ｎｕｍ」、「ｇｎｔ＿ｎ」等の各信号は、図２に示した各信号と同様のものである。また、「ｓｃｏｄ＿ｃｎｔ」は、上述したように、カウント部１６３ｂによるカウント数を表している。また、「ｌｉｎｅ＿ｆｉｆｏＡ」は、ＬＩＮＥ＿ＦＩＦＯＡ１６１ａの転送状態を表しており、「ｌｉｎｅ＿ｆｉｆｏＢ」は、ＬＩＮＥ＿ＦＩＦＯＢ１６１ｂの転送状態を表している。なお、図３では、同一ラインの画像データについては、同一の模様を付している。
【００４４】
図３に示した期間Ａにおいて、画像／バッファコントローラ１４０は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングで、画像処理部１６０への１ラインの画像データ「ｓｃａｎ＿ｄａｔａ」を出力している。また、期間Ａにおいて、受信制御部１６１は、画像／バッファコントローラ１４０によって送信された１ラインの画像データをＬＩＮＥ＿ＦＩＦＯＡ１６１ａにライトしている。
【００４５】
また、図３に示した期間Ｂにおいて、画像／バッファコントローラ１４０は、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりタイミングで、画像処理部１６０への１ラインの画像データ「ｓｃａｎ＿ｄａｔａ」を出力している。また、期間Ｂにおいて、受信制御部１６１は、画像／バッファコントローラ１４０によって送信された１ラインの画像データをＬＩＮＥ＿ＦＩＦＯＢ１６１ｂにライトしている。
【００４６】
また、期間Ｂにおいて、受信制御部１６１は、期間ＡにおいてＬＩＮＥ＿ＦＩＦＯＡ１６１ａにライトした１ラインの画像データをリードして、後段のモジュールに出力する。後段のモジュールへの１ラインの画像データ出力後、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」は、「Ｈｉｇｈ」となる。
【００４７】
また、期間Ｂにおいて、変倍処理制御部１６３ｃは、画像処理部１６２を介して変倍処理対象の画像データを受け付けると、受け付けた画像データから全画素数を求め、全画素数を含む信号「ｓｃｏｄ＿ｎｕｍ」を信号出力部１６３ａに対して出力する。そして、変倍処理制御部１６３ｃは、変倍処理実施後、変倍処理済みの画像データ「ｓｃａｌｅ＿ｏｕｔ＿ｄａｔａ」を転送制御部１６４に出力する。この変倍処理済みの画像データの出力中において、変倍処理制御部１６３ｃは、変倍処理済み画像データを出力中であることを示す信号「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」を「Ｈｉｇｈ」にして信号出力部１６３ａに対して出力する。また、変倍処理制御部１６３ｃは、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」のアサート開始から、変倍処理実施後画像データ出力中の信号「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」のアサート開始までの期間に、内部クロックが立ち上がる回数を含む信号「ｓｃｏｄ＿ｄｌｙ」を信号出力部１６３ａに対して出力する。
【００４８】
また、期間Ｂにおいて、カウント部１６３ｂは、内部クロックの立ち上がり回数をカウントして、「ｓｃｏｄ＿ｃｎｔ」を更新していく。また、信号出力部１６３ａは、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」の立ち下がりから、変倍処理対象画像データ入力の信号「ｓｃａｌｅ＿ｌｇａｔｅ」のアサートまでの期間を設定するレジスタ値「ｓｃｌｇ＿ｓｔ」を受信制御部１６１から取得する。
【００４９】
また、信号出力部１６３ａは、期間Ｂにおいて、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ）」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。すなわち、信号出力部１６３ａは、変倍処理済みの画素数「ｓｃｏｄ＿ｃｎｔ」が全画素数「ｓｃｏｄ＿ｎｕｍ」と同じ値、すなわち処理中の１ラインの画像データの全画素が処理済みになる前に、「ｓｃｌｇ＿ｓｔ」と「ｓｃｏｄ＿ｄｌｙ」との分だけ従来よりも早いタイミングで、許可「Ｌｏｗ」である送信許可通知信号「ｇｎｔ＿ｎ」を画像／バッファコントローラ１４０に対して出力する。送信許可通知信号「ｇｎｔ＿ｎ」の許可「Ｌｏｗ」を受け付けた画像／バッファコントローラ１４０は、次ラインの画像データの送信を開始する。これにより、１ラインの画像データの処理中に、期間Ｃが開始されることになる。なお、期間Ｃ（期間Ｃ１，期間Ｃ２，期間Ｃ３）におけるタイミングチャートについては、期間Ｂと同様である。
【００５０】
［実施の形態１に係る画像処理フロー］
次に、図４を用いて、実施の形態１に係る画像処理の流れについて説明する。図４は、実施の形態１に係る画像処理の流れの例を示すフローチャートである。なお、実施の形態１に係る画像処理とは、主に、信号出力部１６３ａ、カウント部１６３ｂ及び変倍処理制御部１６３ｃによる処理を指す。
【００５１】
図４に示すように、変倍処理制御部１６３ｃは、ラインデータ同期信号「ｓｌｓｙｎｃ＿ｎ」がアサートされた（ｓｌｓｙｎｃ＿ｎ＝０）場合に（ステップＳ１０１肯定）、「ｓｃｏｄ＿ｄｌｙ」及び「ｓｃｏｄ＿ｎｕｍ」の値を更新する（ステップＳ１０２）。そして、変倍処理制御部１６３ｃは、変倍処理の画像処理対象データの入力が開始されたか否かを判定する（ステップＳ１０３）。変倍処理の画像処理対象データの入力の開始について、変倍処理制御部１６３ｃは、「ｓｃａｌｅ＿ｌｇａｔｅ」に基づいて、入力が開始されているか否かを判定する。
【００５２】
このとき、変倍処理制御部１６３ｃは、「ｓｃａｌｅ＿ｌｇａｔｅ＝１（Ｈｉｇｈ）」であれば、変倍処理の画像処理対象データの入力が開始されたと判定し（ステップＳ１０３肯定）、信号出力部１６３ａは、変倍処理済みの画像データの出力が開始されたか否かを判定する（ステップＳ１０４）。変倍処理済みの画像データの出力の開始について、信号出力部１６３ａは、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ」に基づいて、出力が開始されたか否かを判定する。一方、変倍処理制御部１６３ｃは、「ｓｃａｌｅ＿ｌｇａｔｅ＝０（Ｌｏｗ）」であれば、変倍処理の画像処理対象データの入力が開始されていないと判定し（ステップＳ１０３否定）、画像処理対象データの入力開始待ちの状態となる。
【００５３】
また、信号出力部１６３ａは、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ＝１（Ｈｉｇｈ）」であれば、変倍処理済みの画像データの出力が開始されたと判定し（ステップＳ１０４肯定）、送信許可通知信号「ｇｎｔ＿ｎ＝１（ディアサート）」を、画像／バッファコントローラ１４０に対して出力する（ステップＳ１０５）。一方、信号出力部１６３ａは、「ｓｃａｌｅ＿ｏｕｔ＿ｆｌｇ＝０（Ｌｏｗ）」であれば、変倍処理済みの画像データの出力が開始されていないと判定し（ステップＳ１０４否定）、ステップＳ１０６の処理を実行する。
【００５４】
また、カウント部１６３ｂは、変倍処理済みの画像データの出力画素数をカウントアップ「ｓｃｏｄ＿ｃｎｔ＝ｓｃｏｄ＿ｃｎｔ＋１」する（ステップＳ１０６）。そして、信号出力部１６３ａは、「ｓｃｏｄ＿ｃｎｔ」と、「ｓｃｏｄ＿ｎｕｍ」と、「ｓｃｌｇ＿ｓｔ」と、「ｓｃｏｄ＿ｄｌｙ」とに基づいて、所定条件を満たした場合に（ステップＳ１０７肯定）、送信許可通知信号「ｇｎｔ＿ｎ＝０（アサート）」を、画像／バッファコントローラ１４０に対して出力する（ステップＳ１０８）。かかる所定条件とは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ）」である。
【００５５】
一方、信号出力部１６３ａは、所定条件を満たさない場合に（ステップＳ１０７否定）、ステップＳ１０４の処理を実行し、カウント部１６３ｂは、ステップＳ１０６において「ｓｃｏｄ＿ｃｎｔ」のカウントアップを実行する。信号出力部１６３ａによって送信許可通知信号が「ｇｎｔ＿ｎ＝０（アサート）」にされると、カウント部１６３ｂは、カウントをクリア「ｓｃｏｄ＿ｃｎｔ＝０」する（ステップＳ１０９）。このように、画像処理装置１００では、上記処理を繰り返し実行することで１ラインずつ画像処理を実行する。
【００５６】
［実施の形態１による効果］
上述したように、画像処理装置１００は、画像処理中の１ラインの画像データのうち処理済みの画素数が、１ラインの画像データの全画素数から、画像処理に係る待機時間に相当するレジスタ値と、画像処理に係る遅延時間に相当する画像処理対象の画像データ入力開始から画像処理実施後の画像データ出力開始までに内部クロックが立ち上がる回数とを減算した減算結果値以上を満たす場合に、次ラインの画像データの処理を開始するために要求する送信許可通知信号を出力する。この結果、画像処理装置１００は、１ラインの画像データの全画素の処理完了により送信許可通知信号を出力する従来技術と比較して、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送の効率を向上させることができる。
【００５７】
（実施の形態２）
上記実施の形態１では、変倍処理に係る待機時間及び遅延時間の合計分だけ早く送信許可通知信号を出力する場合を説明した。本発明はかかる場合に限定されるものではなく、変倍処理に係る待機時間及び遅延時間の合計分と合わせて、変倍処理とは異なる各画像処理に係る遅延量の合計分だけさらに早く送信許可通知信号を出力することもできる。そこで、実施の形態２では、変倍処理に係る待機時間及び遅延時間の合計分と合わせて、変倍処理とは異なる各画像処理に係る遅延量の合計分だけさらに早く送信許可通知信号を出力する場合を説明する。
【００５８】
［実施の形態２に係る画像処理部の構成］
図５は、実施の形態２に係る画像処理部の構成例（１）を示す図である。なお、実施の形態２では、実施の形態１と同様の構成については同一の符号を付し、同様の構成については詳細な説明を省略する場合がある。図５では、以下に示す画像処理部２６２、変倍処理部２６３、遅延量取得部２６５以外の機能及び構成、処理については実施の形態１と同様である。また、図５では、実施の形態１で説明した構成例における各信号やデータの記載を省略している箇所がある。
【００５９】
図５に示すように、画像処理装置２００において、画像処理部２６０は、受信制御部１６１と、画像処理部２６２と、変倍処理部２６３と、転送制御部１６４と、遅延量取得部２６５とを有する。また、画像処理部２６２には、各種の画像処理を実行する機能を有する画像処理モジュールが含まれる。また、変倍処理部２６３は、信号出力部２６３ａと、カウント部１６３ｂと、変倍処理制御部１６３ｃとを有する。
【００６０】
画像処理部２６２の各画像処理モジュール「画像処理Ｍｄ＿１〜画像処理Ｍｄ＿ｎ（ｎは自然数）」は、画像処理部２６２によるスキャナ画像特性補正、色変換及び階調処理等の機能を分割したサブモジュールである。また、画像処理Ｍｄ＿１〜画像処理Ｍｄ＿ｎは、スキャナ画像特性補正、色変換及び階調処理等を実行するために設定されたパラメタに応じた自身の画像処理時の主走査方向の遅延量を表す主走査処理遅延量を保持している。そして、画像処理Ｍｄ＿１〜画像処理Ｍｄ＿ｎは、自身の主走査処理遅延量を遅延量取得部２６５に対して出力する。主走査処理遅延量の出力タイミングは、画像データが入力されたときや、画像処理後の画像データを変倍処理部２６３に出力したとき等の任意のタイミングで良い。
【００６１】
遅延量取得部２６５は、画像処理部２６２の各画像処理モジュールによって出力された各主走査処理遅延量を取得する。そして、遅延量取得部２６５は、取得した各主走査処理遅延量を合算することにより全処理遅延量を求めて、求めた全処理遅延量を信号出力部２６３ａに対して出力する。
【００６２】
信号出力部２６３ａは、全画素数「ｓｃｏｄ＿ｎｕｍ」から、レジスタ値「ｓｃｌｇ＿ｓｔ」と、変倍処理対象画像データ入力の信号のアサート開始から変倍処理実施後画像データ出力中の信号のアサート開始までの期間における内部クロックの立ち上がり回数「ｓｃｏｄ＿ｄｌｙ」と、遅延量取得部２６５によって出力された「全処理遅延量」とを減算する。そして、信号出力部２６３ａは、カウント部１６３ｂによるカウント数「ｓｃｏｄ＿ｃｎｔ」について、減算結果値以上を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００６３】
すなわち、信号出力部２６３ａは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ＋全処理遅延量）」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。換言すると、信号出力部２６３ａは、待機時間に関する情報（レジスタ値）と、遅延時間に関する情報（所定期間における内部クロックの立ち上がり回数、各画像処理における遅延時間の合算）との分だけ早いタイミングで、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００６４】
図６は、実施の形態２に係る画像処理部の構成例（２）を示す図である。図６では、以下に示す画像処理部２６２、変倍処理部２６３、遅延量取得部２６５以外の機能及び構成、処理については実施の形態１と同様である。また、図６では、実施の形態１で説明した構成例における各信号やデータの記載を省略している箇所がある。
【００６５】
図６に示すように、画像処理装置２００において、画像処理部２６０は、受信制御部１６１と、画像処理部２６２と、変倍処理部２６３と、転送制御部１６４と、遅延量取得部２６５とを有する。また、画像処理部２６２には、各種の画像処理を実行する機能を有する画像処理モジュールが含まれる。また、変倍処理部２６３は、信号出力部２６３ａと、カウント部１６３ｂと、変倍処理制御部１６３ｃとを有する。なお、画像処理部２６２における処理は、図５の説明で記載した処理と同様であるためその説明を省略する。
【００６６】
遅延量取得部２６５は、画像処理部２６２の各画像処理モジュールによって出力された各主走査処理遅延量を取得する。また、遅延量取得部２６５は、外部デバイスＩ／Ｆ等における、画像処理部２６０内部では把握することが困難な処理の遅延量を表す外部処理遅延量を取得する。かかる外部処理遅延量の値の変更や設定は、例えば、ＣＰＵ１３０のレジスタアクセスにより実現する。そして、遅延量取得部２６５は、取得した各主走査処理遅延量と、外部処理遅延量とを合算することにより全処理遅延量を求めて、求めた全処理遅延量を信号出力部２６３ａに対して出力する。
【００６７】
信号出力部２６３ａは、全画素数「ｓｃｏｄ＿ｎｕｍ」から、レジスタ値「ｓｃｌｇ＿ｓｔ」と、変倍処理対象画像データ入力の信号のアサート開始から変倍処理実施後画像データ出力中の信号のアサート開始までの期間における内部クロックの立ち上がり回数「ｓｃｏｄ＿ｄｌｙ」と、遅延量取得部２６５によって出力された「全処理遅延量」とを減算する。なお、ここでの全処理遅延量は、各主走査処理遅延量と外部処理遅延量との合算となる。そして、信号出力部２６３ａは、カウント部１６３ｂによるカウント数「ｓｃｏｄ＿ｃｎｔ」について、減算結果値以上を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００６８】
すなわち、信号出力部２６３ａは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ＋全処理遅延量）」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。換言すると、信号出力部２６３ａは、待機時間に関する情報（レジスタ値）と、遅延時間に関する情報（所定期間における内部クロックの立ち上がり回数、各画像処理における遅延時間の合算、外部デバイスＩ／Ｆ等を起因とする遅延時間）との分だけ早いタイミングで、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力する。
【００６９】
［実施の形態２に係る画像処理フロー］
次に、図７を用いて、実施の形態２に係る画像処理の流れについて説明する。図７は、実施の形態２に係る画像処理の流れの例を示すフローチャートである。なお、実施の形態２に係る画像処理とは、主に、画像処理部２６２、遅延量取得部２６５、信号出力部２６３ａ、カウント部１６３ｂ及び変倍処理制御部１６３ｃによる処理を指す。また、図７では、実施の形態１に係る画像処理と同様の処理についてはその説明を省略する場合がある。具体的には、ステップＳ２０１〜ステップＳ２０６は、ステップＳ１０１〜ステップＳ１０６における処理と同様である。また、ステップＳ２１０及びステップＳ２１１は、ステップＳ１０８及びステップＳ１０９における処理と同様である。
【００７０】
図７に示すように、カウント部１６３ｂは、変倍処理済みの画像データの出力画素数をカウントアップ「ｓｃｏｄ＿ｃｎｔ＝ｓｃｏｄ＿ｃｎｔ＋１」する（ステップＳ２０６）。また、遅延量取得部２６５は、各画像処理モジュールによって出力された各主走査処理遅延量を取得するとともに、外部デバイスＩ／Ｆ等を起因とする外部処理遅延量を取得する（ステップＳ２０７）。そして、遅延量取得部２６５は、取得した各主走査処理遅延量と、外部処理遅延量とを合算することにより全処理遅延量を求めて、求めた全処理遅延量を信号出力部２６３ａに対して出力する（ステップＳ２０８）。
【００７１】
また、信号出力部２６３ａは、「ｓｃｏｄ＿ｃｎｔ」と、「ｓｃｏｄ＿ｎｕｍ」と、「ｓｃｌｇ＿ｓｔ」と、「ｓｃｏｄ＿ｄｌｙ」と、「全処理遅延量」とに基づいて、所定条件を満たした場合に（ステップＳ２０９肯定）、送信許可通知信号「ｇｎｔ＿ｎ＝０（アサート）」を、画像／バッファコントローラ１４０に対して出力する（ステップＳ２１０）。かかる所定条件とは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−（ｓｃｌｇ＿ｓｔ＋ｓｃｏｄ＿ｄｌｙ＋全処理遅延量）」である。
【００７２】
一方、信号出力部２６３ａは、所定条件を満たさない場合に（ステップＳ２０９否定）、ステップＳ２０４の処理を実行し、カウント部１６３ｂは、ステップＳ２０６において「ｓｃｏｄ＿ｃｎｔ」のカウントアップを実行する。信号出力部２６３ａによって送信許可通知信号が「ｇｎｔ＿ｎ＝０（アサート）」にされると、カウント部１６３ｂは、カウントをクリア「ｓｃｏｄ＿ｃｎｔ＝０」する（ステップＳ２１１）。
【００７３】
［実施の形態２による効果］
上述したように、画像処理装置２００は、さらに、変倍処理とは異なる画像処理に係る主走査処理遅延量と、外部デバイスＩ／Ｆ等を起因とする外部処理遅延量との分だけ早く、次ラインの画像データの処理を開始するために要求する送信許可通知信号を出力する。この結果、画像処理装置２００は、エンジン側のメモリに蓄積された画像に画像処理を施してコントローラへ送信する場合に、コントローラへの送信に係るデータ転送の効率をより向上させることができる。
【００７４】
（実施の形態３）
さて、これまで本発明に係る画像処理装置１００及び画像処理装置２００の実施の形態について説明したが、上述した実施の形態以外にも種々の異なる形態にて実施されて良いものである。そこで、（１）送信許可通知信号の出力、（２）遅延量の出力、（３）構成、（４）プログラム、について異なる実施の形態を説明する。
【００７５】
（１）送信許可通知信号の出力
上記実施の形態１では、待機時間に関する情報である「レジスタ値」と、遅延時間に関する情報である「所定期間における内部クロックの立ち上がり回数」との時間分だけ早く、送信許可通知信号を出力する場合を説明した。かかる送信許可通知信号の出力については、「レジスタ値」と「所定期間における内部クロックの立ち上がり回数」との何れかのみの時間分だけ早く出力するようにしても良い。
【００７６】
具体的には、信号出力部１６３ａは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−ｓｃｌｇ＿ｓｔ」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力しても良い。同様に、信号出力部１６３ａは、「ｓｃｏｄ＿ｃｎｔ≧ｓｃｏｄ＿ｎｕｍ−ｓｃｏｄ＿ｄｌｙ」を満たす場合に、送信許可通知信号「ｇｎｔ＿ｎ」を許可「Ｌｏｗ」にして、画像／バッファコントローラ１４０に対して出力しても良い。これらにより、画像処理装置１００は、１ラインの画像データの全画素の画像処理完了後に送信許可通知信号を出力する従来技術と比較して、画像データ転送の効率を向上させることができる。
【００７７】
また、上記実施の形態２では、さらに、各主走査処理遅延量と外部処理遅延量との合算の時間分だけ早く、送信許可通知信号を出力する場合を説明した。かかる送信許可通知信号の出力についても、「各主走査処理遅延量の合算」と「外部処理遅延量」との何れかのみの時間分だけ早く出力するようにしても良い。また、各主走査処理遅延量については、何れの画像処理モジュールに係る遅延量を利用するかを設定しても良い。例えば、スキャナ画像特定補正と色変換とに係る画像処理モジュールから主走査処理遅延量を出力させるようにして、階調処理に係る画像処理モジュールからは主走査処理遅延量を出力させないように設定しても良い。また、例えば、スキャナ画像特定補正と色変換とに係る画像処理モジュールから出力された各主走査処理遅延量は合算し、階調処理に係る画像処理モジュールから出力された主走査処理遅延量は合算しないようにしても良い。これにより、送信許可通知信号が出力されるタイミングは異なる。
【００７８】
（２）遅延量の出力
上記実施の形態２では、各主走査処理遅延量や外部処理遅延量を遅延量取得部２６５が取得する場合を説明したが、変倍処理に係る遅延量についても、遅延量取得部２６５が取得するようにしても良い。例えば、変倍処理制御部１６３ｃは、自身の遅延量（変倍処理遅延量）を遅延量取得部２６５に対して出力する。これにより、遅延量取得部２６５は、各主走査処理遅延量や外部処理遅延量に加えて、変倍処理遅延量も取得する。そして、遅延量取得部２６５は、各遅延量を合算することにより全処理遅延量を求めて、求めた全処理遅延量を信号出力部２６３ａに対して出力する。信号出力部２６３ａでは、変倍処理遅延量を含んだ全処理遅延量の時間分だけより早く、送信許可通知信号を画像／バッファコントローラ１４０に対して出力する。
【００７９】
（３）構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報は、特記する場合を除いて任意に変更することができる。例えば、上述したように、送信許可通知信号の出力において、「レジスタ値」、「所定期間における内部クロックの立ち上がり回数」、「各主走査処理遅延量」及び「外部処理遅延量」のうち何れを利用するかについては、任意に変更することができる。但し、画像データを拡大する変倍処理が実行される場合には、上述した所定条件のうち全画素数を含む信号である「ｓｃｏｄ＿ｎｕｍ」が大きく変化するため、特に処理時間に影響を及ぼすことが考えられる。このことにより、送信許可通知信号の出力においては、変倍処理に係る遅延時間を利用することが好ましい。
【００８０】
また、図示した各装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合することができる。
【００８１】
例えば、カウント部１６３ｂは、信号出力部１６３ａに含まれた構成として説明したが、所定期間における画像処理時の内部クロックの立ち上がり回数をカウントし、信号出力部１６３ａにカウント数を通知できれば、信号出力部１６３ａに含まれていなくても良い。また、例えば、信号出力部１６３ａにおいて、待機時間に関する情報としてレジスタ値を含む信号「ｓｃｌｇ＿ｓｔ」を受信制御部１６１から受け付けているため、この待機時間に関する情報を取得する「待機時間情報取得部」を別に設けても良い。同様に、変倍処理制御部１６３ｃにおいて、画像データが入力されてから、変倍処理済みの画像データが出力開始されるまでの遅延時間に関する情報を含む信号「ｓｃｏｄ＿ｄｌｙ」を出力しているため、この遅延時間に関する情報を取得する「遅延時間情報取得部」を別に設けても良い。
【００８２】
（４）プログラム
図８は、本発明に係る画像処理装置１００を含む複合機のハードウェア構成を示すブロック図である。図８に示すように、かかる複合機は、コントローラ１０と、エンジン（Engine）部６０とがＰＣＩバスで接続された構成を有する。コントローラ１０は、複合機全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部６０は、ＰＣＩバスに接続可能なプリンタエンジン等であり、例えば、白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナ又はファックスユニット等である。なお、このエンジン部６０には、プロッタ等のいわゆるエンジン部分に加えて、誤差拡散やガンマ変換等の画像処理部分が含まれる。
【００８３】
また、コントローラ１０は、ＣＰＵ１１と、ノースブリッジ（NB）１３と、システムメモリ（MEM‐P）１２と、サウスブリッジ（SB）１４と、ローカルメモリ（MEM‐C）１７と、ＡＳＩＣ１６と、ハードディスクドライブ（HDD）１８とを有し、ノースブリッジ１３とＡＳＩＣ１６との間がＡＧＰ（Accelerated  Graphics  Port）バス１５で接続された構成となる。また、ＭＥＭ−Ｐ１２は、ＲＯＭ（Read  Only  Memory）１２ａと、ＲＡＭ（Random  Access  Memory）１２ｂと、をさらに有する。
【００８４】
また、ＣＰＵ１１は、複合機の全体制御を行なうものであり、ノースブリッジ１３、ＭＥＭ−Ｐ１２及びサウスブリッジ１４を含むチップセットを有し、このチップセットを介して他の機器と接続される。
【００８５】
また、ノースブリッジ１３は、ＣＰＵ１１と、ＭＥＭ−Ｐ１２と、サウスブリッジ１４と、ＡＧＰバス１５とを接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書き等を制御するメモリコントローラ、ＰＣＩマスタ及びＡＧＰターゲットを有する。
【００８６】
また、ＭＥＭ−Ｐ１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ＲＯＭ１２ａとＲＡＭ１２ｂとを有する。ＲＯＭ１２ａは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能なメモリである。
【００８７】
サウスブリッジ１４は、ノースブリッジ１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このサウスブリッジ１４は、ＰＣＩバスを介してノースブリッジ１３と接続されており、このＰＣＩバスには、ネットワークインタフェース（I／F）部等も接続される。
【００８８】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated  Circuit）であり、ＡＧＰバス１５、ＰＣＩバス、ＨＤＤ１８及びＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ１６は、ＰＣＩターゲット及びＡＧＰマスタと、ＡＳＩＣ１６の中核をなすアービタ（ARB）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジック等により画像データの回転等を行なう複数のＤＭＡＣ（Direct  Memory  Access  Controller）と、エンジン部６０との間でＰＣＩバスを介したデータ転送を行なうＰＣＩユニットとを含む。このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Facsimile  Control  Unit）３０、ＵＳＢ（Universal  Serial  Bus）４０、ＩＥＥＥ１３９４（the  Institute  of  Electrical  and  Electronics  Engineers  1394）インタフェース５０が接続される。操作表示部２０は、ＡＳＩＣ１６に直接接続されている。
【００８９】
また、ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ（Hard  Disk  Drive）１８は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行なうためのストレージである。
【００９０】
また、ＡＧＰバス１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。
【００９１】
なお、上記実施の形態１の画像処理装置１００で実行される画像処理プログラムは、ＲＯＭ等に予め組み込まれて提供される。例えば、画像処理装置１００で実行される画像処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供するように構成しても良い。
【００９２】
さらに、画像処理装置１００で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、画像処理装置１００で実行される画像処理プログラムをインターネット等のネットワーク経由で提供又は配付するように構成しても良い。
【００９３】
また、画像処理装置１００で実行される画像処理プログラムは、一つの様態として、上述した各部（画像／バッファコントローラ１４０、画像処理部１６０）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから画像処理プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、画像／バッファコントローラ１４０、画像処理部１６０が主記憶装置上に生成されるようになっている。
【００９４】
なお、上記実施の形態では、本発明の画像処理装置を、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能のうち少なくとも２つの機能を有する複合機に適用した例を挙げて説明したが、複写機、プリンタ、スキャナ装置、ファクシミリ装置等の画像処理装置であればいずれにも適用することができる。
【符号の説明】
【００９５】
１００    画像処理装置
１１０    表面読取装置
１２０    裏面読取装置
１３０    ＣＰＵ
１３１    ＲＯＭ
１３２    ＲＡＭ
１４０    画像／バッファコントローラ
１５０    メモリ
１６０    画像処理部
１６１    受信制御部
１６１ａ  ＬＩＮＥ＿ＦＩＦＯＡ
１６１ｂ  ＬＩＮＥ＿ＦＩＦＯＢ
１６１ｃ  アクセス制御部
１６２    画像処理部
１６３    変倍処理部
１６３ａ  信号出力部
１６３ｂ  カウント部
１６３ｃ  変倍処理制御部
１６４    転送制御部
１７０    メモリコントローラ
１８０    ＣＰＵ
１９０    メモリ
【先行技術文献】
【特許文献】
【００９６】
【特許文献１】特開２０１１−５５２１４号公報
【図１】
0005935573.tif 000002
【図２】
0005935573.tif 000003
【図３】
0005935573.tif 000004
【図４】
0005935573.tif 000005
【図５】
0005935573.tif 000006
【図６】
0005935573.tif 000007
【図７】
0005935573.tif 000008
【図８】
0005935573.tif 000009
【図９】
0005935573.tif 000010
【図１０】
0005935573.tif 000011