(57)【要約】【課題】  設定される画像処理モード等の条件に適応して確保される矩形形状単位の中間バッファを確保して、各ブロック間の中間バッファのサイズを処理内容と能力に応じて最適化して、所定の矩形形状単位の画像データ処理時におけるバッファ管理処理負担を軽減することである。【解決手段】  所定の矩形形状単位毎のデータ書き込み処理またはデータ読み出し処理のための処理データを一時滞留させる中間バッファをメインメモリ１００に確保して、該中間バッファ上の滞留データ量をモニタし、該滞留データ量に基づいてＤＭＡＣ９１による中間バッファ上への所定の矩形形状単位毎のデータ書き込み処理またはデータ読み出し処理をバッファ調停部７７，７８が調停する構成を特徴とする。【選択図】  図１
2005124071.tif 000002
【特許請求の範囲】
【請求項１】
画像入力手段によって入力された前記画像データを主走査方向にそって、順次メモリに書き込む書込手段と、
前記書き込み手段によって前記メモリに書き込まれた前記画像データが所定の副走査幅分蓄積されたかどうか判断する判断手段と、
前記メモリに書き込まれた前記画像データを主走査方向に所定の主走査幅で分割し、
前記所定の主走査幅と前記所定の副走査幅からなる矩形形状単位で前記画像データを前記メモリから画像処理手段に出力するために画像を読み出す読出手段と、
前記メモリに蓄積された前記画像データ量が前記矩形形状で読出し可能であるかどうかに基づいて、前記読出手段により前記矩形形状での読出しを行うよう調停する調停手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記メモリに蓄積された前記画像データ量を計数する計数手段を有し、
前記書込手段が主走査方向に１ラインの前記画像データが書き込まれるごとに前記計数手段をカウントアップし、前記読出手段が、前記矩形形状単位ごとに主走査方向に前記１ライン分読み出すごとに所定数減算することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記画像入力手段によって入力された画像データを前記画像入力手段の入力方式に従って一時的に蓄積する蓄積手段を有し、
前記書込手段は、前記蓄積手段に蓄積された画像データを前記画像入力手段の入力方式にしたがって前記メモリに書き込み動作を行い、前記読出手段は、前記画像入力手段の入力方式によらずに読み出すことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記調停手段は、残量検出部を備え、前記メモリのフル状態が発生すると、前記書込手段に対して停止信号を出力し、書き込み側の動作を停止させること特徴とする請求項１ないし３のいずれかに記載の画像処理装置。
【請求項５】
前記調停手段は、トリガ発生手段を備え、予め決められた読み出し側の処理ライン単位分の所定ライン数のデータが前記メモリに蓄積されると、前記読出手段に起動信号を出力し、読み出し制御を開始させること特徴とする請求項１ないし４のいずれか記載の画像処理装置。
【請求項６】
前記所定の矩形形状単位は、画像処理モードに基づいて可変量に設定可能とすることを特徴とする請求項１ないし６のいずれかに記載の画像処理装置。
【請求項７】
前記書込み手段は、複数タイプの画像読み取りデバイスを接続可能とすることを特徴とする請求項１ないし６のいずれかに記載の画像処理装置。
【請求項８】
画像入力手段によって入力された前記画像データを主走査方向にそって、順次メモリに書き込む書込ステップと、
前記書き込みステップによって前記メモリに書き込まれた前記画像データが所定の副走査幅分蓄積されたかどうか判断する判断ステップと、
前記メモリに書き込まれた前記画像データを主走査方向に所定の主走査幅で分割し、前記所定の主走査幅と前記所定の副走査幅からなる矩形形状単位で前記画像データを前記メモリから画像処理手段に出力するために画像を読み出す読出ステップと、
前記メモリに蓄積された前記画像データ量が前記矩形形状での読出し可能であるかどうかに基づいて、前記読出手段により前記矩形形状での読出しを行うよう調停する調停ステップと、
を有することを特徴とする画像処理方法。
【請求項９】
請求項８記載の画像処理方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【請求項１０】
請求項８記載の画像データ処理方法を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メインメモリに確保され、処理データを一時滞留させる中間バッファと、前記中間バッファの前段に配置され、入力される画像データを所定の矩形形状単位で加工して前記中間バッファへの入力データを生成する第１の画像処理ブロックと、前記中間バッファの後段に配置され、前記中間バッファから読み出したデータを加工する第２の画像処理ブロックとを備える画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
【背景技術】
【０００２】
図３５は、従来の画像処理装置におけるスキャナ画像処理回路・記録画像処理回路の構成を示すブロック図である。
【０００３】
図３５に示すように、画像読み取りデバイスとしては、ＣＣＤ（Charged  Coupled  Device）２０１０またはＣＩＳ（Contact  Image  Sensor）２１１０といった光学素子が用いられ、主走査方向のライン単位に所定の出力形式に従ったデータが、それぞれＣＣＤインタフェース（ＣＣＤｉ／ｆ）回路２０００、ＣＩＳインタフェース（ＣＩＳｉ／ｆ）回路２１００によりＡ／Ｄ変換され、メインメモリ２２００に格納される。
【０００４】
この場合、ＣＣＤ２０１０はＲ、Ｇ、Ｂに対応したデータがそれぞれパラレルに出力されるの対し、ＣＩＳ２１１０から出力される信号はＬＥＤの点灯順位に従い、Ｒ、Ｇ、Ｂのデータがシリアルに出力されるという、出力データの特性の相違により、それぞれ専用のインタフェース回路が設けられ、所定のＡ／Ｄ変換処理を経て、読み取られた画像データがメインメモリ（ＳＤＲＡＭ）２２００内の中間バッファ２２００−１に格納される構成となっていた。
【０００５】
ＬＢＰ記録系では圧縮データをメモリより読み出し、伸長後メインメモリ（ＳＤＲＡＭ）２２００内の中間バッファ２２００−２に格納され、中間バッファ２２００−２を介して記録画像処理を施し、ＬＢＰ２５３０に出力する構成になっていた。
【０００６】
図３５において、読み取り系の各画像処理ブロック（シェーディング補正（ＳＨＤ）２３００、文字判定処理（ＺＳＧ）２３２０、フィルタ処理（ＮＳＦ）２３４０（ＮＳＦ），ＬＩＰ２３５０等）には、専用のラインバッファ２４００ａ〜２４００ｄが設けられている。このような回路構成において、メインメモリ（ＳＤＲＡＭ）２２００内の中間バッファ２２００−１に格納されたデータを、主走査方向にライン単位で読み出し、専用のラインバッファ（２４００ａ〜２４００ｄ）に格納して、個別の画像処理を施すという構成が採られていた。
【０００７】
記録系の各画像処理ブロック（解像度変換）には、専用のラインバッファ２５１０が設けられている。このような回路構成において、メインメモリ（ＳＤＲＡＭ）２２００内の中間バッファ２２００−２に格納されたデータ２５２０を、主走査方向にライン単位で読み出し、専用のラインバッファ２５１０に格納して解像度変換部２５００で解像度変換を行った後、ＬＢＰ２５３０に出力印字するという構成が採られていた。
【０００８】
また、中間バッファ２２００−１，２２００−２に対する書き込み読み出しの制御はソフトウエア上で管理していた。
【０００９】
従来の方法ではメインメモリ（ＳＤＲＡＭ）２２００内の中間バッファ２２００−１，２２００−２を主走査ライン単位で制御するため、中間バッファ２２００−１，２２００−２のライン数はソフトウエアで管理する場合でも、ハードウェアの処理能力に応じてソフトウエアが制御可能なバッファ単位を２面備える処理系を取ることでバッファ容量が極端に増大することはなかった。
【００１０】
上記の従来例の構成を開示する先行技術としては、例えば、特許文献１〜３により開示されるものがある。
【００１１】
特に、特許文献２には、専用のラインバッファに対して、ライン単位で書き込みを制御する調停回路についての記載がある。
【００１２】
また、特許文献３には、リング形状で使用するラインバッファの、残量検出手段についての記載がある。
【特許文献１】特開平５−３２７９８９号公報
【特許文献２】特開平５−２８４３６４号公報
【特許文献３】特開平７−３１９７９９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、各処理部ごとに専用のラインバッファ２４００ａ〜２４００ｄを持たず各画像読み取りデバイスにより読み取った画像データの中間バッファ２２００−１，２２００−２への格納と、画像処理部における処理を、個別のラインバッファ２２００−１，２２００−２の介在無しに、メインメモリ２２００のデータを画像処理モードに適応した所定の単位（例えば矩形形状）に切出して、データ処理を制御する画像処理装置では、中間バッファ２２００−１，２２００−２からの読み出し単位が複数ライン単位となるため、ソフトウェア上でのバッファ管理を行うと、バッファメモリの増大もしくはソフトウェア処理の負荷増を招いてしまう他にハードウェア性能を活かせないと言った問題があった。
【００１４】
また、ハードウェアの処理能力によって中間バッファを増加させる必要があるという問題点があった。中間バッファの容量の増加はコスト負担を大きくし、画像処理装置全体の低コスト化を阻む要因となっていた。
【００１５】
また、ソフトウエアの負荷低減のためにライン単位で中間バッファの監視を行う調停回路を構成する場合に於いても、入出力のデータ単位が矩形形状の場合には対応できない。
【００１６】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、メインメモリに確保され、処理データを一時滞留させる中間バッファと、前記中間バッファの前段に配置され、入力される画像データを所定の矩形形状単位で加工して前記中間バッファへの入力データを生成する第１の画像処理ブロックと、前記中間バッファの後段に配置され、前記中間バッファから読み出したデータを加工する第２の画像処理ブロックとを備える画像処理装置において、中間バッファ上の滞留データ量をモニタし、該滞留データ量に基づいてＤＭＡＣによる中間バッファ上への所定の矩形形状単位毎のデータ書き込み処理またはデータ読み出し処理を調停することにより、設定される画像処理モード等の条件に適応して確保される矩形形状単位の中間バッファを確保して、各ブロック間の中間バッファのサイズを処理内容と能力に応じて最適化して、所定の矩形形状単位の画像データ処理時におけるバッファ管理処理負担を軽減して効率よく画像処理を行える安価な画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
【課題を解決するための手段】
【００１７】
本発明に係る第１の発明は、画像入力手段によって入力された前記画像データを主走査方向にそって、順次メモリに書き込む書込手段（図１に示す画像処理ＤＭＡＣ９１）と、前記書き込み手段によって前記メモリに書き込まれた前記画像データが所定の副走査幅分蓄積されたかどうか判断する判断手段と、メモリに書き込まれた前記画像データを主走査方向に所定の主走査幅で分割し、前記所定の主走査幅と前記所定の副走査幅からなる矩形形状単位で前記画像データを前記メモリから画像処理手段に出力するために画像を読み出す読出手段（図１に示す画像処理ＤＭＡＣ９１）と、前記メモリに蓄積された前記画像データ量が前記矩形形状で読出し可能であるかどうかに基づいて、前記読出手段により前記矩形形状での読出しを行うよう調停する調停手段（図１に示すバッファ調停部７７）を有することを特徴とする。
【００１８】
本発明に係る第２の発明は、前記メモリに蓄積された前記画像データ量を計数する計数手段を有し、前記書込手段が主走査方向に１ラインの前記画像データが書き込まれるごとに前記計数手段をカウントアップし、前記読出手段が、前記矩形形状単位ごとに主走査方向に前記１ライン分読み出すごとに所定数減算することを特徴とする。
【００１９】
本発明に係る第３の発明は、前記画像入力手段によって入力された画像データを前記画像入力手段の入力方式に従って一時的に蓄積する蓄積手段を有し、前記書込手段は、前記蓄積手段に蓄積された画像データを前記画像入力手段の入力方式にしたがって前記メモリに書き込み動作を行い、前記読出手段は前記画像入力手段の入力方式によらずに読み出すことを特徴とする。
【００２０】
本発明に係る第４の発明は、前記調停手段は、残量検出部を備え、前記メモリのフル状態が発生すると、前記書込手段に対して停止信号を出力し、書き込み側の動作を停止させること特徴とする。
【００２１】
本発明に係る第５の発明は、前記調停手段は、トリガ発生手段を備え、予め決められた読み出し側の処理ライン単位分の所定ライン数のデータが前記メモリに蓄積されると、前記読出手段に起動信号を出力し、読み出し制御を開始させること特徴とする。
【００２２】
本発明に係る第６の発明は、前記所定の矩形形状単位は、画像処理モードに基づいて可変量に設定可能とすることを特徴とする。
【００２３】
本発明に係る第７の発明は、前記書込み手段は、複数タイプの画像読み取りデバイスを接続可能とすることを特徴とする。
【００２４】
本発明に係る第８の発明は、画像入力手段によって入力された前記画像データを主走査方向にそって、順次メモリに書き込む書込ステップと、前記書き込みステップによって前記メモリに書き込まれた前記画像データが所定の副走査幅分蓄積されたかどうか判断する判断ステップと、メモリに書き込まれた前記画像データを主走査方向に所定の主走査幅で分割し、前記所定の主走査幅と前記所定の副走査幅からなる矩形形状単位で前記画像データを前記メモリから画像処理手段に出力するために画像を読み出す読出ステップと、前記メモリに蓄積された前記画像データ量が前記矩形形状での読出し可能であるかどうかに基づいて、前記読出手段により前記矩形形状での読出しを行うよう調停する調停ステップ（図２６に示すステップＳ３３）を有することを特徴とする。
【００２５】
本発明に係る第９の発明は、第８の発明の画像処理方法を実現するプログラムをコンピュータが読み取り可能な記憶媒体に記憶したことを特徴とする。
【００２６】
本発明に係る第１０の発明は、第８の発明の画像処理方法を実現するプログラムであることを特徴とする。
【発明の効果】
【００２７】
本発明によれば、メインメモリに確保され、処理データを一時滞留させる中間バッファと、前記中間バッファの前段に配置され、入力される画像データを所定の矩形形状単位で加工して前記中間バッファへの入力データを生成する第１の画像処理ブロックと、前記中間バッファの後段に配置され、前記中間バッファから読み出したデータを加工する第２の画像処理ブロックとを備える画像処理装置において、中間バッファ上の滞留データ量をモニタし、該滞留データ量に基づいてＤＭＡＣによる中間バッファ上への所定の矩形形状単位毎のデータ書き込み処理またはデータ読み出し処理を調停することにより、設定される画像処理モード等の条件に適応して確保される矩形形状単位の中間バッファを確保して、各ブロック間の中間バッファのサイズを処理内容と能力に応じて最適化して、所定の矩形形状単位の画像データ処理時におけるバッファ管理処理負担を軽減して効率よく画像処理を行える効果を奏する。
【発明を実施するための最良の形態】
【００２８】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２９】
図１は、本発明の一実施形態を示す画像処理装置の概略的な構成を示すブロック図である。
【００３０】
図１において、１０はスキャナインタフェース（以下、「スキャナＩ／Ｆ」という）部であり、アナログフロントエンド（ＡＦＥ）１５を介して、ＣＣＤ１７、ＣＩＳ１８が接続し、個別の専用回路を介在することなく、その読み取りデータを画像処理装置２００に取り込むことができる。スキャナＩ／Ｆ部１０のデータ処理については、後に詳細に説明する。
【００３１】
２０はスキャナ画像処理部であり、スキャナＩ／Ｆ部１０の処理によりメインメモリ１００に展開された画像データに対して、画像処理動作モード（カラーコピー、モノクロコピー、カラースキャン、モノクロスキャン等）に応じた画像処理を実行する処理部である。スキャナ画像処理部２０の詳細については、後に説明する。
【００３２】
バッファ調停部７７はスキャナＩ／Ｆ部１０とスキャナ画像処理部２０間のデータの受け渡しをメインメモリ１００上のリングバッファ領域を介して行う場合、データの書き込みと、読み出しを後述するように調停する。
【００３３】
プリンタ画像処理部３０は、入力する画像の領域編集や、解像度変換を行い、得られた画像データをプリンタ出力するための処理ユニットであり、４０は接続するレーザビームプリンタ（ＬＢＰ）４５に画像処理結果を出力するためのＬＢＰインタフェース（Ｉ／Ｆ）部である。
【００３４】
バッファ調停部７８は、プリンタ画像処理部３０とＬＢＰインタフェース部４０間のデータの受け渡しをメインメモリ１００上のリングバッファ領域を介して行う場合、データの書き込みと、読み出しを後述するように調停する。バッファ調停部７７，７８は基本構成は同一のブロックであるが、使用する用途により、制御方法が異なる。詳細については後述する。
【００３５】
５０，６０はＪＰＥＧ、ＪＢＩＧモジュールであり、所定の規格に準拠した画像データの圧縮、伸長処理を実行する処理部である。
【００３６】
７０はメモリ制御部であり、画像処理系の第１ＢＵＳ８３，第２ＢＵＳ８４及びコンピュータ系の第３ＢＵＳ８５とそれぞれ接続し、メインメモリ（ＳＤＲＡＭ）１００に対するデータの書き込み、読み出しのためのデータ転送制御を行う。
【００３７】
９０はＤＭＡコントローラ（ＤＭＡＣ）であり、メモリ制御部７０と協働して、ＲＯＭＩＳＡ９７を介してＲＯＭ９５と接続し、外部デバイスや種々のインタフェース部１７０、とメインメモリ１００との間のデータ授受に関し、ＤＭＡ制御するための所定のアドレス情報を生成したり、設定したりする。
【００３８】
９１はＤＭＡコントローラ（画像処理ＤＭＡＣ）であり、メモリ制御部７０と協働して、各画像処理部（１０、２０、３０、４０）とメインメモリ１００との間のデータ授受に関し、ＤＭＡ制御するための所定のアドレス情報を生成したり、設定したりする。
【００３９】
例えば、画像読み取りデバイスの種類、ＣＣＤ１７、ＣＩＳ１８の別に応じて、スキャナＩ／Ｆ部１０で読み取り処理された画像データをメインメモリ１００にＤＭＡ転送するためのアドレス情報をＤＭＡのチャンネルごとに生成し、または、メインメモリ１００上に展開された画像データを読み出すためのアドレス情報をＤＭＡのチャンネルに応じて生成し、スキャナ画像処理部２０にＤＭＡ転送する等、メインメモリ１００と、画像処理部（１０，２０、３０、４０）とメインメモリ１００間におけるＤＭＡ制御を、メモリ制御部７０と共に司るユニットとして機能する。
【００４０】
ＲＯＭ９５には画像読み取りデバイス（ＣＣＤ１７やＣＩＳ１８）に応じて、適した制御パラメータ、制御プログラムデータが格納されており、制御パラメータ等を画像読み取りデバイスに応じて種々設定することができるので、ＣＣＤ１７、ＣＩＳ１８の個別のデータ出力形式に応じた画像データの入力処理が可能となるため、専用のインタフェース回路を設ける必要がなくなる。
【００４１】
８３は第１ＢＵＳで、メインメモリ１００から読み出したデータを画像処理系の各処理部（１０〜６０）に送出することが可能に構成されている。８４は第２ＢＵＳで、画像処理系の各処理部（１０〜６０）から読み出したデータをメインメモリ１００に送出することが可能であり、第１ＢＵＳ８３，第２ＢＵＳ８４は対になって画像処理ブロックとメインメモリ１００間の画像データの授受を行う。８５は第３ＢＵＳで、ＣＰＵ１８０、通信及びインタフェース部１７０、メカトロ系制御部１２５、画像処理部内部の制御レジスタ、及びＤＭＡＣ９０が接続するコンピュータ系のバスとして機能する。
【００４２】
メカトロ系制御部１２５にはモータ制御部１１０と、モータの駆動タイミングや、画像処理系の処理の同調を制御するためのタイミング制御を司る割り込みタイマ制御部１２０が含まれる。
【００４３】
ＬＣＤ制御部１３０は、画像処理装置の種々の設定、処理状況等をＬＣＤ１３５に表示するための表示制御を司るユニットである。１４０、１５０は周辺機器との接続を可能にするＵＳＢインタフェース部であり、図１では、ＢＪ−プリンタ１７５が接続した状態を示している。
【００４４】
１６０はメディアアクセス制御（ＭＡＣ）部であり、接続する機器に対してデータをどのようなタイミングで送り出せばよいか（アクセス）等を制御するユニットである。１８０はＣＰＵであり、画像処理装置２００の全体的な動作を制御する。９３はモデム（ＭＯＤＥＭ）である。
【００４５】
＜スキャナＩ／Ｆ部１０の構成＞
スキャナＩ／Ｆ部１０は、画像読み取りデバイスとして、ＣＣＤ１７及びＣＩＳ１８に対応可能であり、両画像読み取りデバイスの信号を入力処理する。ここで入力された画像データは、メモリ制御部７０によりＤＭＡ転送されてメインメモリ１００上に展開される。
【００４６】
図２は、図１に示したスキャナＩ／Ｆ部１０の概略的な構成を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【００４７】
図２において、ＣＣＤ１７／ＣＩＳ１８に対して、タイミング制御部１１ａは読み取りスピードに応じた読み取りデバイスの制御信号を生成して出力する。このデバイス制御信号は、スキャナＩ／Ｆ部１０内で生成される同期信号に同期するものであり、これにより主走査方向の読み取りタイミングと、読み取り処理の同調を図ることができる。
【００４８】
ＬＥＤ点灯制御部１１ｂは、ＣＣＤ１７／ＣＩＳ１８の光源となるＬＥＤ１９の点灯を制御するユニットであり、Ｒ、Ｇ、Ｂ各色要素に対応したＬＥＤの順次点灯制御のための同期信号（ＴＧ、ＳＰ、図３、図４を参照）、クロック信号（ＣＬＫ、図４等を参照）及びＣＣＤ１７／ＣＩＳ１８に対応した調光の制御、点灯の開始、消灯の制御を実行する。この制御タイミングは、上述のタイミング制御部１１ａから受信する同期信号に基づくものであり、画像読み取りデバイスの駆動と同期したＬＥＤ１９の点灯が制御される。
【００４９】
図３は、図２に示したＣＣＤ１７による出力信号例を説明するタイミングチャートである。
【００５０】
図２に示すように、ＬＥＤ１９から照射された光が原稿面を照らし、その反射光がＣＣＤ１７に導かれ、光電変換される。例えば、主走査方向であるＣＣＤ１７のライン方向と直角方向（副走査方向）に、読み取り位置を定速移動させながら、その原稿面を主走査方向のライン毎に順次走査して原稿面全体の画像を読み取ることができる。
【００５１】
図３に示す通り、タイミング制御部１１ａから出力される同期信号（ＴＧ）に基づき、ＣＣＤ１７の１ライン分のＲ、Ｇ、Ｂ要素に対応した信号がパラレルに出力される（図３（ｂ）、（ｃ）、（ｄ）を参照）。
【００５２】
図４は、図２に示したＣＩＳ１８に対するＬＥＤ１９の点灯制御に関するタイミングチャートであり、ＬＥＤ点灯制御部１１ｂにより生成された同期信号（ＳＰ）とクロック（ＣＬＫ）に基づき、各Ｒ、Ｇ、ＢのＬＥＤの点灯開始と消灯のタイミングが制御される。
【００５３】
図４において、同期信号（ＳＰ）の周期はＴｓｔｇで示され、この時間内に各色（Ｒ、Ｇ、Ｂ）のいずれか、又はこれらの組合わせによりＬＥＤが点灯制御される。Ｔｌｅｄは、同期信号（ＳＰ）の１周期（Ｔｓｔｇ）におけるＬＥＤの点灯時間を示すものである。
【００５４】
図５は、図４に示したタイミングチャートに従った、Ｒ、Ｇ、Ｂに対応するＬＥＤの点灯（（ａ）〜（ｄ））とその点灯時間内に蓄積されたＬＥＤの反射光により光電変換された出力（ｅ）との関係を示すタイミングチャートである。
【００５５】
図５の出力（ｅ）より明らかなように、Ｒ、Ｇ、Ｂ各色に対応した信号の出力は、Ｒ出力、Ｇ出力、Ｂ出力と、それぞれがシリアルのデータとして出力され、先に説明したＣＣＤ１７の出力信号とは相違する。
【００５６】
また、図６は、図２に示したＬＥＤの点灯制御動作を説明するタイミングチャートであり、ＣＩＳ１８の制御に関連し、同期信号（ＳＰ）の１周期以内にＲ、Ｇ、Ｂの各ＬＥＤ１９が順次点灯する場合のタイミングを示すタイミングチャート例であり、Ｒ、Ｇ、Ｂデータの合成により、この場合の画像読み取りデバイスの入力はモノクロ画像のデータとして画像処理装置２００に取り込むことが可能になる。
【００５７】
図７は、図２に示したＣＩＳ１８が主走査方向に２チャンネル設けられた場合の出力例を示すタイミングチャートである。
【００５８】
図７に示すように、チャンネル１の出力（図７の（ｃ））は、Ｎ番目のＣＬＫ信号（図７の（ｂ）を参照）の立ち下がりと同期して、任意のダミーのビット列（図７の場合は２２ビット）を出力し、その後、有効ビット数３２５４ビットに対する信号を出力する（図７の（ｃ））。一方、チャンネル２の出力（図７の（ｄ））は、Ｎ番目のＣＬＫ信号の立ち下がりと同期して、有効ビット３２５５ビット目（チャンネル１のセンサ出力の最終ビット３２５４に後続するビット）から有効ビットとして２７９４ビットを出力する。
【００５９】
２つのチャンネルのセンサ出力により、主走査方向１ライン分のデータを分割して読み取ることができる。尚、ＣＩＳの構成は最大２チャンネルに限るものではなく、例えば、３チャンネルの構成にしても、有効ビット数の出力数が変わるのみで、本発明の趣旨が限定されるものではない。
【００６０】
以下、図２に示したブロック図に説明を戻し、画像読み取りデバイス（ＣＣＤ１７／ＣＩＳ１８）の出力信号は、ＡＦＥ（アナログフロントエンド）１５に入力される。
【００６１】
図８は、図２に示したＡＦＥ１５の構成を説明するブロック図であり、図２と同一のものには同一の符号を付してある。
【００６２】
ＡＦＥ１５の処理は、図８に示すように、ＣＣＤ１７、ＣＩＳ１８の出力信号に対して、ゲイン調整（１５ａ，１５ｄ）、Ａ／Ｄ変換処理（１５ｂ，１５ｃ，１５ｅ）を施し、さらにライン間補正処理１５ｃを各画像読み取りデバイスより出力されるアナログ信号をデジタル信号に変換して、スキャナＩ／Ｆ部１０に入力する。また、ＡＦＥ１５は画像読み取りデバイスより出力されるパラレルなデータをシリアルなデータに変換して出力することができる。
【００６３】
図２における同期制御部１１ｃは、ＡＦＥ１５に対して、各デバイス（１７、１８）のアナログ信号に応じて所定の閾値レベルを設定し、画像読み取りデバイスの相違による出力信号レベルの調整を行う。更に、アナログ信号のサンプリング制御とデジタル信号をＡＦＥ１５に出力させるための同期クロックを生成して出力し、ＡＦＥ１５から所定のデジタル信号による読み取り画像データを受信する。このデータは、同期制御部１１ｃを介して出力データ制御部１１ｄに入力され、出力データ制御部１１ｄは、スキャナＩ／Ｆ部１０の出力モードに合わせて、ＡＦＥ１５より受信した画像データをバッファ（１１ｅ，１１ｆ，１１ｇ）に格納する。
【００６４】
スキャナＩ／Ｆ部１０の出力モードには、シングルモード、２チャンネル（ｃｈ）モード、３チャンネル（ｃｈ）モードと、接続する画像読み取りデバイスに応じて出力モードを切り替えることができる。
【００６５】
シングルモードとは、ＡＦＥ１５から主走査方向データがシリアル入力される場合に選択されるモードであり、この場合、１つのバッファのみが利用可能な状態になる。
【００６６】
２ｃｈモードは、ＡＦＥ１５から入力されるデータが、画像読み取りデバイスの２チャンネル分の情報として、同じタイミングで入力される場合に選択されるモードであり、この場合は、２つのバッファ（例えば、１１ｅ，１１ｆ）が利用可能な状態に設定される。
【００６７】
３ｃｈモードは、ＡＦＥ１５から受信する画像データが、Ｒ、Ｇ，Ｂ出力として、同じタイミングで入力される場合に選択されるモードであり、この場合は、３つのバッファ（１１ｅ，１１ｆ，１１ｇ）が利用可能な状態に設定される。
【００６８】
カラー画像データを、シングルモードによりＣＩＳ１８で読み取った場合、ＡＦＥ１５より受信するデータは、図５の（ｅ）に示すように、ＬＥＤの点灯順位に従ったＲ，Ｇ，Ｂデータの出力がシリアルに配列したものとなり、出力データ制御部１１ｄは、この配列に従って、データを１つのバッファ（例えば第１バッファ１１ｅ）に格納する。モノクロ画像データをＣＩＳ１８で読み取った場合でも同様であり、モノクロ画像データが１つのバッファに格納される。
【００６９】
カラー画像データを２チャンネルのＣＩＳ１８により読み取った場合、上述の２ｃｈモードが設定される。ＡＦＥ１５より受信するデータは、図７の（c）、(d)で示すように、主走査方向に２分割した領域毎のデータとなり、これら領域毎のデータを格納するために、出力データ制御部１１ｄは、受信したデータを２つのバッファ（例えば、第１バッファ１１ｅ及び第２バッファ１１ｆ）に格納する。この処理はモノクロ画像データをＣＩＳ２チャンネルで読み取った場合でも同様である。
【００７０】
カラー画像データをＣＣＤ１７で読み取った場合、出力データ制御部１１ｄは、ＡＦＥ１５から受信したデータを上述の３ｃｈモードによりＲ、Ｇ、Ｂデータごとに、３つのバッファ（第１、第２、第３バッファ１１ｅ，１１ｆ，１１ｇ）に振り分けて格納することができる。
【００７１】
＜メモリ制御部７０の構成＞
次に、スキャナＩ／Ｆ部１０の処理により、所定のバッファ（１１ｅ，１１ｆ，１１ｇ）に格納された画像データをメインメモリ（ＳＤＲＡＭ）１００にＤＭＡ転送し、格納する処理について説明する。画像データをメインメモリ１００にＤＭＡ転送して格納する処理は、画像処理ＤＭＡＣ９１のＩ／Ｏ制御ユニット７１により制御される。
【００７２】
図９は、図１に示した画像処理ＤＭＡＣ（ＤＭＡＣ）９１の概略的な構成を説明するブロック図であり、図１に示したバッファ調停部７７の接続、画像読み取りデバイス（１７、１８）により読み取った画像データを格納するメインメモリ（ＳＤＲＡＭ）１００との関係及びプリンタ画像処理部３０とバッファ調停部７８との接続の関係を示す図に対応する。
【００７３】
ＤＭＡＣ９１は、スキャナＩ／Ｆ部１０により入力処理された画像データをメインメモリ１００にＤＭＡ転送するＩ／Ｏ制御ユニット７１、メインメモリ１００とスキャナ画像処理部２０との間でデータの授受を制御するＩ／Ｐ制御ユニット７３を含む。Ｉ／Ｏ制御ユニット７１とＩ／Ｐ制御ユニット７２間のデータ受け渡しはメインメモリ１００上の中間バッファを介して行われる。この中間バッファをリングバッファとして使用する場合、データの書き込みと、読み出しを調停するためのバッファ調停部７７が使用される。
【００７４】
＜Ｉ／Ｏ制御ユニット７１の構成＞
ここで、Ｉ／Ｏ制御ユニット７１は、データ調停ユニット７１ａと、第１書き込みデータインタフェース（Ｉ／Ｆ）部７１ｂと、Ｉ／Ｏインタフェース部７１ｃとを有している。
【００７５】
Ｉ／Ｏインタフェース部７１ｃは、メインメモリ１００にデータを格納するために上述のＤＭＡＣ９１により生成された所定のアドレス情報を第１書き込みデータＩ／Ｆ部７１ｂに設定する。また、スキャナＩ／Ｆ部１０より出力される画像データを受信して、Ｉ／Ｏ制御ユニット７１内の各バッファチャンネル（以下、「チャンネル」という。）（ｃｈ０〜ｃｈ２）にデータを格納する。
【００７６】
第１書き込みデータＩ／Ｆ部７１ｂはメインメモリ１００に対してデータの書き込みを行うための第１ＢＵＳ８３と接続し、生成された所定のアドレス情報に従って各チャンネル（ｃｈ０〜ｃｈ２）に格納されているデータをメインメモリ１００にＤＭＡ転送する。データ調停ユニット７１ａは、各チャンネルに格納されているデータの読み出しを行い、第１書き込みデータＩ／Ｆ部７１ｂの書き込み処理に合わせて各チャンネルのデータの受け渡しを行う。
【００７７】
第１書き込みデータＩ／Ｆ部７１ｂはバッファ調停部７７と接続し、後に説明するＩ／Ｐ制御ユニット７２によるデータの読み出し、若しくは書き込みと、メモリアクセスが競合しないよう制御される。メインメモリ１００に対するアクセスの制御により、メインメモリ１００をリングバッファとして使用した場合であっても、メインメモリ１００に格納されているデータの読み出し前に、同一のメモリアドレスにデータをオーバライトする等のトラブルを防止することができ、メモリリソースを有効に活用することが可能になる。
【００７８】
図１０は、図１に示したバッファ調停部７７，７８の概略構成とＤＭＡＣ９１との接続関係を説明するブロック図である。
【００７９】
図１０に示すように、バッファ調停部７７は、制御レジスタ７７１、読み出し側ＤＭＡＣチャンネルからの転送完了信号Read_end信号を検出する読み出し更新検出部７７３、書き込み側ＤＭＡＣチャンネルからの転送完了信号Write_end信号を検出する書き込み更新検出部７７２、中間バッファ１の滞留量をカウントする滞留カウンタ７７４、滞留ライン数に応じてＤＭＡＣ９１への制御信号を生成するＤＭＡＣ制御信号生成部７７５からなる。
【００８０】
Ｉ／Ｏ制御ユニット７１内のチャンネルｃｈ０〜ｃｈ２の各チャンネルは次元毎の転送完了信号を生成する機能を持ち、転送完了信号Write_end１−３は１次元（以降ラインと記述）の転送終了信号が接続されている。即ち、主走査方向１ライン分の転送を検出すると転送完了信号Write_end１−３が出力される。書き込み更新検出部７７２は接続される３チャンネルの転送終了信号の内、実際に使用されるチャンネルに応じて入力を許可することで、全ての使用されるチャンネルの終了を検出する。
【００８１】
以上図８，図９，図１０で述べたように、画像読み取りデバイス（ＣＣＤ１７／ＣＩＳ１８）や画像読み取りデバイスの出力モード（シングルモード、２チャンネルモード、３チャネルモード）にしたがって、メインメモリ１００に書き込む画像データの書込み方法を選択しているので、スキャナ画像処理部２０側は画像読み取りデバイスや画像読み取りデバイスの出力モードによらずにメインメモリから画像データを読み出すことが可能になり、簡単な構成で様々な読み取りデバイス、読み取り方式に対応できる。
【００８２】
図１１は、図１０に示したバッファ調停部７７，７８とＤＭＡＣ９１との動作を説明するためのタイミングチャートであり、図１１の（ａ），（ｂ）はそれぞれ１，２チャンネルを有効とした場合のタイミングチャートである。図１１の（ａ）ではバッファ調停部７８が１チャンネルの終了検出によってcount_up信号が生成され、滞留カウンタ７７４のカウント値が更新されるのに対して、図１１の（ｂ）ではバッファ調停部７７が２つのチャンネルの終了までカウント値は更新されない。
【００８３】
図１１の（ａ）は、印刷用のリングバッファへの書き込みの調停を示している。また、図１１の（ａ）のsuspend信号は制御レジスタ７７１に設定されたリングバッファの要領に相当するRING_LINE値と滞留数が一致したときにプリント用のバッファがＦＵＬＬであると判定し、プリンタ画像処理部からの書き込み側ＤＭＡＣを停止するための一時停止信号で、Ｉ／Ｏ制御ユニット７１はこの信号がアサートされている間は中間バッファ１に対する書き込み転送を停止する。
【００８４】
図１１の（ｂ）は、スキャナインタフェース部１０から画像データの書き込みを示している。図１１の（ｂ）の転送完了信号Write_end２の出力、即ち、主走査方向で１ライン分の画像データの書き込みが終了する毎に、滞留数が加算される。TRIGGER信号は制御レジスタ７７１に設定されたストライプ幅分に相当するTRIGGER_LINE値と滞留数が一致したときに生成されるパルス信号で、予め転送データを設定し、待機中のＩ／Ｐ制御ユニット７２がこのパルス信号受けるとスキャナ画像処理部へのデータ転送処理を開始する。
【００８５】
Ｉ／Ｐ制御ユニット７２内のチャンネルｃｈ３〜ｃｈ６の各チャンネルは次元毎の転送完了信号を生成する機能を持ち、転送完了信号Read_end１−４は３次元（以降ストライプ領域と呼ぶ）の転送終了信号が接続されている。バッファ調停部７７内の読み出し更新検出部７７３は接続される４チャンネルの転送終了信号の内、実際に使用されるチャンネルに応じて入力を許可することで、全ての使用するチャンネルの終了を検出する。
【００８６】
図１１の（ｃ）はバッファ調停部７７，７８それぞれ１，２チャンネルを有効とした場合のタイミングチャートであり、図１１の（ｃ）は、バッファ調停部７７に関しては、図１１の（ｃ）では１チャンネルの終了検出、即ち１ストライプ幅分のスキャナ画像処理部２０のための読み出しの終了によってcount_down信号が生成され、滞留カウンタのカウント値が更新される（即ち１ストライプ分カウント値を減算する）。バッファ調停部７８に対しては、リングバッファからプリンタ部へ画像データが１ライン読み出されるごとにカウント値が更新されるのに対して、図１１の（ｄ）はバッファ調停部７８の２チャンネル並行してプリンタ部に出力する場合のタイミングチャートである。これは、ＬＢＰのレーザビーム発生器(不図示)が２つあって、２本のレーザビームを同時に点灯さて高速にプリントさせる場合の例である。図１１の（ｄ）では２つのチャンネルの終了までリングバッファのカウント値は更新されない。
【００８７】
図１１の（ｄ）のsuspend信号はcount_down信号の入力により滞留カウンタ７７４のカウント値が更新され、結果としてsuspend解除の状態に移行している。
【００８８】
Ｉ／Ｏ制御ユニット７１はsuspend信号の解除により中間バッファ１に対する書き込み転送を再開する。バッファ調停部７７、７８が生成するsuspendは生成を許可・禁止する機能がある。TRIGGER信号は許可、禁止、初回の条件発生時のみ許可の３つの切り替え機能を有する。
【００８９】
以上説明したとおり、スキャナインタフェース部１０からの画像データをメインメモリ１００に主走査方向にそって順次書き込む処理と、スキャナ画像処理部２０で処理するための矩形データとして読み出す処理の調停を、簡単に行うことができる。
【００９０】
また、書き込みはライン単位でバッファの滞留数を加算し、読み出しはストライプ単位での読み出しの完了で滞留数を減算することで、必要なメモリ領域を削減し、簡単に調停を行うことができる。
【００９１】
図８，図９，図１０で示されるとおり、スキャナで読み取った画像を各色成分毎にメインメモリ１００に格納してスキャン画像処理部２０で処理する場合も、各色ごとに上述と同様の調停をすればよい。
【００９２】
＜（１）１チャンネルのデータの格納＞
図１２は、図１０に示したＩ／Ｏ制御ユニット７１がメインメモリ（ＳＤＲＡＭ）１００に１チャンネル分のデータを書き込む処理を説明する図であり、図１２の（ａ）は１チャンネルのカラー画像データをＲ、Ｇ、Ｂデータに分離して格納する処理を示し、図１２の（ｂ）は図５の（ｂ）で示したＬＥＤの点灯タイミングで得られるＣＩＳ１８によるモノクロ画像データの書き込み処理を示す。
【００９３】
図５の（ｅ）で示した出力例のように、主走査方向の１ライン分のＲ、Ｇ、Ｂデータがシリアルに出力され、スキャナＩ／Ｆ部１０の１つのバッファ（図２の１１ｅ）にデータが格納された場合、Ｉ／Ｏ制御ユニット７１内の対応する１つのチャンネル（ｃｈ０、図９を参照）にデータが転送される。
【００９４】
ここで、図１２、図１３、図１４において、チャンネル（ｃｈ０）のデータをデータ調停ユニット７１ａ，第１書き込みデータＩ／Ｆ部７１ｂにより格納処理するための構成を「第１ＬＤＭＡＣ」と標記し、チャンネル（ｃｈ１）のデータを処理するための構成を「第２ＬＤＭＡＣ」、チャンネル（ｃｈ２）のデータを処理するための構成を「第３ＬＤＭＡＣ」と標記する。
【００９５】
１チャンネルのカラー画像データをＲ、Ｇ、Ｂデータに分離して格納する処理を行う場合は、図１２の（ａ）に示すように、第１ＬＤＭＡＣは、ライン順位のＲ、Ｇ、Ｂデータのうち、主走査方向１ライン分（Ｒ１〜Ｒ２）のＲデータをメインメモリ１００のＲ領域１０００ａに書き込み、次の書き込み領域であるＧ領域（１０００ｂ）の先頭アドレス（Ｇ１）に書き込みアドレスを切り替える。
【００９６】
そして、第１ＬＤＭＡＣは、Ｒ、Ｇ、Ｂデータのうち、主走査方向１ライン分（Ｇ１〜Ｇ２）のＧデータをメインメモリ１００のＧ領域（１０００ｂ）に書き込み、次の書き込み領域であるＢ領域（１０００ｃ）の先頭アドレス（Ｂ１）に書き込みアドレスを切り替える。
【００９７】
そして、第１ＬＤＭＡＣは、主走査方向１ライン分（Ｂ１〜Ｂ２）のＢデータをメインメモリ１００のＢ領域（１０００ｃ）に書き込み後、アドレスをＲ領域（１０００ａ）の２ライン目の先頭アドレス（Ｒ２）に切り替える。以下、Ｇデータ、Ｂデータも同様にデータの書き込みアドレスを副走査方向の２ライン目にシフトさせてデータの書き込みを行う。
【００９８】
第１ＬＤＭＡＣがデータを書き込むＤＭＡ制御において、Ｒデータ、Ｇデータ、Ｂデータに対応したデータの格納先となるメモリの番地をオフセット情報（Ａ、Ｂ）として与え、各色データ毎の格納領域を切り替えることで、ライン順位のＲ、Ｇ、Ｂデータを、Ｒデータ、Ｇデータ、Ｂデータと分離してメインメモリ１００に格納することが可能になる。
【００９９】
ＤＭＡ転送を開始するスタートアドレス（図１２の（ａ）の場合Ｒ１）、オフセット情報（Ａ、Ｂ）等は上述のＤＭＡＣ９０の生成によるものである。
【０１００】
バッファ調停部７７はこの場合、第１ＬＤＭＡＣ（ｃｈ０）のWite_end信号のみ書き込み更新検出部７７２への入力を有効として使用する。Ｒ，Ｇ，Ｂ各ライン転送毎にWrite_end信号が発生し、滞留カウンタ７７４は１カウントアップするのでカラー１ラインの入力に対して、滞留カウンタ７７４は３カウントアップする。従って、制御レジスタ７７１にはRING_LINE値としてＲ、Ｇ、Ｂデータ格納にそれぞれに割り当てられるライン数の合計を設定する。
【０１０１】
図６で示したＬＥＤの点灯タイミングで得られるＣＩＳ１８によるモノクロ画像データの書き込み処理を行う場合は、図１２の（ｂ）に示すように、モノクロ画像データの場合は、Ｒ、Ｇ、Ｂごとにデータを分離する必要がないので、ライン順位のモノクロ画像データを、メインメモリ１００の主走査方向に１ライン分（Ｍ１〜Ｍ２）のデータを書き込み、同領域１０００ｄの副走査方向に書き込みアドレスをシフトさせて、次の２ライン目（Ｍ３〜Ｍ４）のデータの書き込みをする。以下、順次同様の処理を実行することにより、モノクロ画像データをメインメモリ１００の領域１０００ｄに格納することができる。
【０１０２】
バッファ調停部７７はこの場合、第１ＬＤＭＡＣ（ｃｈ０）のWite_end信号のみ書き込み更新検出部７７２への入力を有効として使用する。モノクロ各ライン転送毎にWrite_end信号が発生し、滞留カウンタ７７４は１カウントアップするのでモノクロ１ラインの入力に対して、滞留カウンタ７７４は１カウントアップする。従って、制御レジスタ７７１にはRING_LINE値としてモノクロデータ格納に割り当てられるライン数を設定する。
【０１０３】
＜２チャンネルＣＩＳによるデータの格納＞
図１３は、図１に示した画像処理ＤＭＡＣ９１によるＳＤＲＡＭ１００に対するデータ格納処理を説明する図であり、図１３の（ａ）は、図７で示したように２チャンネルのカラー画像データをＲ、Ｇ、Ｂデータに分離して格納する処理例に対応し、かつ、図６で示したＬＥＤの点灯タイミングで得られる２チャンネルのＣＩＳによるモノクロ画像データの書き込み処理例に対応する。なお、主走査方向のメモリ領域は２つのチャンネルに対応して分割される。
【０１０４】
２チャンネルのＣＩＳ１８（ｃｈｉｐ０，ｃｈｉｐ１）により読み取られた画像データは、スキャナＩ／Ｆ部１０の２つのバッファ（１１ｅ，１１ｆ）に格納され、Ｉ／Ｏ制御ユニット７１の制御の下、２つのバッファ（１１ｅ，１１ｆ）のデータは、同制御ユニット７１内のチャンネル（ｃｈ０、ｃｈ１）に転送される。
【０１０５】
第１ＬＤＭＡＣは、チャンネル（ｃｈ０）のデータ(chip0_data)を、図１３の（ａ）の第１Ｒ領域（１１００ａ）、第１Ｇ領域（１２００ａ）、第１Ｂ領域（１３００ａ）として示される領域に格納する。
【０１０６】
図１３の（ａ）において、第１ＬＤＭＡＣは、ｃｈｉｐ０から入力されたＲ、Ｇ、Ｂデータのうち、Ｒデータ（ＲＡ１〜ＲＡ２）をメインメモリの第１Ｒ領域（１１００ａ）に書き込み、次の書き込み領域である第１Ｇ領域（１２００ａ）の先頭アドレス（ＧＡ１）に書き込みアドレスを切り替える（オフセット情報Ｃ）。
【０１０７】
第１ＬＤＭＡＣは、Ｒ、Ｇ、Ｂデータのうち、Ｇデータ（ＧＡ１〜ＧＡ２）をメインメモリの第１Ｇ領域（１２００ａ）に書き込み、次の書き込み領域である第１Ｂ領域（１３００ａ）の先頭アドレス（ＢＡ１）に書き込みアドレスを切り替える（オフセット情報Ｃ）。
【０１０８】
そして、第１ＬＤＭＡＣは、Ｒ、Ｇ、Ｂデータのうち、Ｂデータ（ＢＡ１〜ＢＡ２）をメインメモリのＢ領域（１３００ａ）に書き込み、処理の終了後、アドレスをＲ領域（１１００ａ）の副走査方向の２ライン目の先頭アドレス（ＲＡ２）に切り替える（オフセット情報Ｄ）。以下、Ｇデータ、Ｂデータも同様にデータの書き込みアドレスを副走査方向の２ライン目にシフトさせてデータの書き込みを行う。
【０１０９】
第１ＬＤＭＡＣは、メインメモリのデータ格納領域として、図１３（ａ）の第１Ｒ領域（１１００ａ）、第１Ｇ領域（１２００ａ）、第１Ｂ領域（１３００ａ）として示される領域毎に、データの格納先となるメモリの番地をオフセット情報（Ｃ、Ｄ）に基づき、任意に設定することができ、その設定に従ってチャンネル（ｃｈ０）に格納されているデータをメインメモリ１００に格納する。
【０１１０】
第２ＬＤＭＡＣは、チャンネル（ｃｈ１）のデータ(chip1_data)を、図１３の（ａ）の第２Ｒ領域（１１００ｂ）、第２Ｇ領域（１２００ｂ）、第２Ｂ領域（１３００ｂ）として示される領域に格納する。
【０１１１】
図１３の（ａ）において、第２ＬＤＭＡＣは、ｃｈｉｐ１から入力されたＲ、Ｇ、Ｂデータのうち、Ｒデータ（ＲＢ１〜ＲＢ２）をメインメモリの第２Ｒ領域（１１００ｂ）に書き込み、次の書き込み領域である第２Ｇ領域（１２００ｂ）の先頭アドレス（ＧＢ１）に書き込みアドレスを切り替える（オフセット情報Ｅ）。
【０１１２】
第２ＬＤＭＡＣは、Ｒ、Ｇ、Ｂデータのうち、Ｇデータ（ＧＢ１〜ＧＢ２）をメインメモリ１００の第２Ｇ領域（１２００ｂ）に書き込み、次の書き込み領域である第２Ｂ領域（１３００ｂ）の先頭アドレス（ＢＢ１）に書き込みアドレスを切り替える（オフセット情報Ｅ）。
【０１１３】
そして、第２ＬＤＭＡＣは、Ｒ、Ｇ、Ｂデータのうち、Ｂデータ（ＢＢ１〜ＢＢ２）をメインメモリ１００の第２Ｂ領域（１３００ｂ）に書き込み、処理の終了後、アドレスを第２Ｒ領域（１１００ｂ）の副走査方向の２ライン目の先頭アドレス（ＲＡ２）に切り替える（オフセット情報Ｆ）。以下、Ｇデータ、Ｂデータも同様にデータの書き込みアドレスを副走査方向の２ライン目にシフトさせてデータの書き込みを行う。
【０１１４】
第１及び第２ＬＤＭＡＣがデータを書き込むＤＭＡ制御において、Ｒデータ、Ｇデータ、Ｂデータに対応したデータの格納先となるメモリの番地をオフセット情報（Ｃ、Ｄ、Ｅ、Ｆ）として与え、各色データ毎の格納領域を切り替えることで、ライン順位のＲ、Ｇ、Ｂデータを、Ｒデータ、Ｇデータ、Ｂデータと分離してメインメモリ１００に格納することが可能になる。
【０１１５】
ＤＭＡ転送を開始するスタートアドレス（図１２（ａ）の場合ＲＡ１，ＲＢ１）、オフセット情報（Ｃ、Ｄ、Ｅ、Ｆ）等は上述のＤＭＡＣ９０の生成によるものである。
【０１１６】
バッファ調停部７７はこの場合、第１ＬＤＭＡＣ（ｃｈ０）と第２ＬＤＭＡＣ（ｃｈ１）のWite_end信号のみ書き込み更新検出部７７２への入力を有効として使用する。Ｒ，Ｇ，Ｂ各ライン転送毎に第１ＬＤＭＡＣ、第２ＬＤＭＡＣのWrite_end信号が発生し滞留カウンタ７７４は１カウントアップするのでカラー１ラインの入力に対して、滞留カウンタ７７４は３カウントアップする。従って、制御レジスタ７７１にはRING_LINE値としてＲ、Ｇ、Ｂデータ格納にそれぞれに割り当てられるライン数の合計を設定する。
【０１１７】
以下、図６で示したＬＥＤの点灯タイミングで得られる２チャンネルのＣＩＳによるモノクロ画像データの書き込み処理を説明する。
【０１１８】
図１３の（ｂ）に示すように、モノクロ画像データの場合は、上述のカラー画像データの場合と異なり、Ｒ、Ｇ、Ｂごとにデータを分離する必要がないので、ライン順位のモノクロ画像データを、メインメモリ１００の主走査方向に１ライン分（ＭＡ１〜ＭＡ２、ＭＢ１〜ＭＢ２）のデータを書き込みし、同領域（１４００ａ，１４００ｂ）の副走査方向に書き込みアドレスをシフトさせて、次の２ライン目（ＭＡ３〜ＭＡ４，ＭＢ３〜ＭＢ４）のデータの書き込みをする。以下、順次同様の処理をしていくことにより、モノクロ画像データをメインメモリの領域（１４００ａ，１４００ｂ）に格納することができる。
【０１１９】
バッファ調停部７７はこの場合、第１ＬＤＭＡＣ（ｃｈ０）と第２ＬＤＭＡＣ（ｃｈ１）のWite_end信号のみ書き込み更新検出部７７２への入力を有効として使用する。モノクロ各ライン転送毎に第１ＬＤＭＡＣ、第２ＬＤＭＡＣのWrite_end信号が発生し滞留カウンタ７７４は１カウントアップするのでモノクロ１ラインの入力に対して、滞留カウンタ７７４は１カウントアップする。従って、制御レジスタ７７１にはRING_LINE値としてモノクロデータ格納にに割り当てられるライン数を設定する。
【０１２０】
＜（３）３チャンネルのデータの格納＞
図１４は、図１に示した画像処理ＤＭＡＣ９１によるデータ書き込み処理例を説明する図であり、図１に示したスキャナＩ／Ｆ部１０における出力データ制御部１１ｄが、ＣＣＤ１７により読み取った画像データを３チャンネルのデータ（Ｒデータ、Ｇデータ、Ｂデータ）とした場合、第１乃至第３ＬＤＭＡＣがメインメモリ１００にデータを書き込む処理例に対応する。
【０１２１】
３つのバッファ（図２に示した１１ｅ，１１ｆ，１１ｇ）に格納されたデータは、Ｉ／Ｏ制御ユニット７１の制御の下、同制御ユニット７１内のチャンネル（ｃｈ０、ｃｈ１、ｃｈ２）に転送される。ｃｈ０に転送されたデータは、第１ＬＤＭＡＣによりメインメモリ１００にデータが書き込まれ、ｃｈ１に転送されたデータは、第２ＬＤＭＡＣによりメインメモリ１００にデータが書き込まれ、そして、ｃｈ２に転送されたデータは、第３ＬＤＭＡＣによりメインメモリ１００にデータが書き込まれる。
【０１２２】
各ＬＤＭＡＣがメインメモリ１００のＲ領域（１５００ａ）、Ｇ領域（１５００ｂ）、Ｂ領域（１５００ｃ）に対応する領域にデータを書き込むことにより、Ｒ、Ｇ、Ｂデータを分離してメインメモリ１００上に格納することができる。
【０１２３】
この場合、ＤＭＡ転送を開始するスタートアドレス（図１４の場合ＳＡ１，ＳＡ２、ＳＡ３）等は上述のＤＭＡＣ９０の生成によるものである。
【０１２４】
バッファ調停部７７はこの場合、第１ＬＤＭＡＣ（ｃｈ０）と第２ＬＤＭＡＣ（ｃｈ１）と第３ＬＤＭＡＣ（ｃｈ２）のWite_end信号のみ書き込み更新検出部７７２への入力を有効として使用する。Ｒ，Ｇ，Ｂ各ライン転送毎に第１ＬＤＭＡＣ、第２ＬＤＭＡＣ、第３ＬＤＭＡＣのWrite_end信号が発生し滞留カウンタ７７４は１カウントアップするのでカラー１ラインの入力に対して、滞留カウンタ７７４は１カウントアップする。従って、制御レジスタ７７１にはRING_LINE値としてＲ、Ｇ、Ｂデータ格納にそれぞれに割り当てられるライン数を設定する。
【０１２５】
以上説明したように、画像読み取りデバイス（ＣＣＤ１７、ＣＩＳ１８）により読み取った画像データを、その出力形式に応じてＤＭＡ転送を制御するチャンネルに振り分け、振り分けたデータに対してＤＭＡを制御するアドレス情報とオフセット情報を生成することにより、種々の画像読み取りデバイスに対応することが可能になる。
【０１２６】
＜メインメモリ上の領域設定とＤＭＡ転送＞
メインメモリ１００に画像データをＤＭＡ転送するために、メインメモリ１００に対するアドレス情報が設定され、Ｉ／Ｏ制御ユニット７１はこのアドレス情報に従ってＤＭＡ転送を制御する。
【０１２７】
図１５は、図１に示したメインメモリ１００を所定の矩形領域（ブロック）に分割した状態を示す図であり、図１５の（ａ）はメインメモリ１００を所定の矩形領域（ブロック）に分割した状態に対応し、図１５の（ｂ）はメインメモリ１００をリングバッファとして利用する例に対応する。
【０１２８】
図１５に示すように、メインメモリ１００に格納された画像データに対して、矩形領域単位に画像処理を施すために、画像処理モード（コピーモードあるいはスキャナモード）に応じて、矩形領域を定義するためのアドレス情報が設定される。図１５の（ａ）中において、ＳＡはＤＭＡのスタートアドレスを示し、主走査方向（Ｘ軸方向）の領域は所定のバイト長（ＸＡ、ＸＢ）により分割される。副走査方向（Ｙ軸方向）の領域は、所定のライン数（ＹＡ、ＹＢ）により分割される。リングバッファとして使用する場合（図１５の（ｂ））、ハッチングを付して示した領域１０１ａ及び１０１ｂは同一のメモリ領域となる。
【０１２９】
矩形領域（０，０）に対するＤＭＡは、スタートアドレスＳＡから始まり、主走査方向にＸＡ分のデータが転送されると、副走査方向に１ライン分シフトした転送アドレスとして、オフセットデータ（ＯＦＦ１Ａ）で示されるアドレスが設定される。以下同様に主走査方向の転送とオフセットデータ（ＯＦＦ１Ａ）によるアドレスのシフトが制御されて矩形領域（０，０）に対するＤＭＡが完了すると、次の矩形領域（１，０）に対するＤＭＡに移行する。
【０１３０】
矩形領域（１、０）に対するＤＭＡは、オフセットアドレス（ＯＦＦ２Ａ）で示されるアドレスにジャンプし、以下、矩形領域（０、０）の場合と同様に主走査方向の転送と、オフセットデータ（ＯＦＦ１Ａ）によるアドレスのシフトが制御され、矩形領域（１、０）に対するＤＭＡが終了すると、次の矩形領域（２、０）に処理を進める。以下同様に領域（ｎ、０）まで、ＹＡライン分のＤＭＡが完了すると、次のＤＭＡをオフセットデータ（ＯＦＦ３）で示されるアドレスにジャンプして、矩形領域（０，１）に対する処理に移行する。以下同様に領域（１，１）、（２，１）・・・に対するＤＭＡが制御される。メモリ容量により、例えば、矩形領域のサイズが異なる場合（ＸＢ、ＹＢにより定義される場合）、その領域サイズに応じたオフセットデータ（ＯＦＦ１Ｂ、ＯＦＦ２Ｂ）が更に設定されてＤＭＡが制御される。
【０１３１】
以上説明した矩形領域は、設定された画像処理モードに応じた主走査方向の解像度と、参照するべき画素領域とにより矩形領域間で重複する領域（のり代領域）として主走査方向の画素及び副走査方向のライン数が設定され、メモリ上に展開されている画像データの割り当て（分割）が制御される。
【０１３２】
＜具体例＞
図１６は、図１に示したメインメモリ１００に必要となる容量を画像処理モード別に例示する図であり、各処理モードにより以下のように設定される。
【０１３３】
図１６の（ａ）は、カラーコピーモードの場合に対応し、有効画素：主走査方向に６００ｄｐｉ、文字判定（ＺＳＧ）処理：上下１１ライン、左１２画素、右１３画素、色判定フィルタリング（ＮＳＦ）処理：上下２ライン、左２画素、右３画素、変倍処理：下１ラインの例である。
【０１３４】
図１６の（ｂ）は、白黒コピーモードの場合に対応し、有効画素：主走査方向に６００ｄｐｉ、色判定フィルタリング（ＮＳＦ）処理：上下２ライン、左右２画素、変倍処理：下１ラインの例である。
【０１３５】
図１６の（ｃ）は、カラースキャンモードモードの場合に対応し、有効画素：主走査方向に１２００ｄｐｉ、変倍処理：下１ラインの例である。
【０１３６】
更に、のり代量の設定は、メモリリソースの他、メインメモリ１００とスキャナ画像処理部２０との間の転送効率にも影響する。転送効率はのり代領域を含めた画像領域に対する有効画素領域の面積比として定義され、上述のように、コピーモードにおいては、のり代領域の確保が不可欠であることから転送効率は低くなるが、スキャナモードでは、変倍処理を除いて、のり代が無いために転送効率は高くなる。
【０１３７】
例えば、図１６の（ａ）に示すカラーコピーモードの場合、のり代領域を含む矩形領域を２８３画素×４９ラインとすると、最大ののり代領域分（文字判定処理（ＺＳＧ）分）を差し引いた有効な領域は、２５６画素×２４ラインとなり、転送効率は（２５６画素×２４ライン）／（２８３画素×４９ライン）≒４４％となる。
【０１３８】
一方、図１６の（ｃ）のカラースキャンモード時は変倍処理をしなければ、のり代は無いので転送効率は１００％となる。
【０１３９】
スキャナモード、またはコピーモードは画像処理の内容が異なるため、必要となるメモリの領域は、その処理内容に応じて適切に設定される。例えば、図１６に示すように、カラーコピーモード時には、文字判定（ＺＳＧ）処理や色判定フィルタリング（ＮＳＦ）処理が必要なために、有効画素領域を抽出するのり代量（図中では、有効画素周辺に確保されている領域として示す。）は多くなるが、主走査方向の有効画素数として解像度６００ｄｐｉ程度を確保する必要があるため、メモリ領域とのトレードオフによりのり代領域は決定される。
【０１４０】
一方、スキャンモード時は、変倍処理以外ではのり代量の確保は不要であるが、主走査方向の有効画素数として１２００ｄｐｉ程度を確保する必要がある。従って、メモリの割当量をスキャンモードとコピーモードとで同程度とする場合は、副走査方向のライン数を、例えば、２４ラインとすれば、カラーコピーモードとスキャンモードにおけるメインメモリの割り当て量を同程度とすることができる。以下、画像処理モード別の格納処理の流れを図１７、図１８により説明する。
【０１４１】
＜コピーモード時の格納処理＞
図１７は、本発明に係る画像処理装置における第１のデータ処理手順の一例を示すフローチャートであり、例えばコピーモード時におけるデータの格納処理手順に対応する。なお、Ｓ１１〜Ｓ１８は各ステップを示す。
【０１４２】
まず、ステップＳ１１で、コピーモードがカラーであるか否かを判断し、カラーであると判断した場合（ステップＳ１１でＹＥＳ）、処理をステップＳ１２に進め、カラーコピーモード時のＤＭＡ転送のためのアドレス情報を以下のように設定する。
【０１４３】
図１６の（ａ）のり代を含めて書き込む場合は、バッファの先頭から有効画素（例えば、主走査方向の解像度６００ｄｐｉ）を確保し、更に、その周辺にのり代（上下１１ライン、左１２画素、右１３画素）を設定する（図１６の（ａ）を参照）。
【０１４４】
一方、図１６の（ｂ）有効画素のみを書き込む場合は、
スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）＋のり代を含めた１頁画像の主走査方向の画素数（TOTALWIDTH）×11（副走査方向ののり代（上））＋12（主走査方向ののり代（左））となる。
【０１４５】
なお、（TOTALWIDTH＝１ページ画像の主走査有効画素数（IMAGEWIDTH）＋左のり代画素数＋右のり代画素数）
ＵＡ＝メモリのエンドアドレス（BUFFBOTTOM）＋１＝リングバッファの折り返しアドレスと、ＯＦＦ１Ａ＝TOTALWIDTH−IMAGEWIDTHとなる。
【０１４６】
一方、ステップ（１１）で、モノクロであると判断した場合は、ステップＳ１３へ進み、モノクロコピーモードにおけるＤＭＡ転送のアドレス情報を、以下のように設定する。
【０１４７】
図１６の（ａ）に示すようにのり代を含めて書き込む場合は、バッファの先頭から有効画素（例えば、主走査方向の解像度６００ｄｐｉ）を確保し、更に、その周辺にのり代（上下２ライン、左右２画素）を設定する（図１６の（ｂ）を参照）。
【０１４８】
図１６の（ｂ）有効画素のみを書き込む場合は、スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）＋のり代を含めた１頁画像の主走査方向の画素数（TOTALWIDTH）×2（副走査方向ののり代（上））＋2（主走査方向ののり代（左））と、ＵＡ＝メモリのエンドアドレス（BUFFBOTTOM）＋1と、ＯＦＦ１Ａ＝TOTALWIDTH−IMAGEWIDTHと設定される。
【０１４９】
このようにステップＳ１２、ステップＳ１３でそれぞれＤＭＡ転送のためのアドレス情報が設定されると、処理をステップＳ１４に進めて、データ転送が開始される。
【０１５０】
次に、ステップＳ１５で、Ｉ／Ｏ制御ユニット７１内の各チャンネルに格納されたデータは、順次読み取りされ、所定のアドレス情報に従って、ＤＭＡ転送される。そして、チャンネル（ｃｈ０〜ｃｈ２）に格納されたデータの書き込みが終了すると（Ｓ１６）、読み取りを終了して（Ｓ１７）、ＤＭＡ転送は終了して（Ｓ１８）、処理を終了する。
【０１５１】
＜スキャナモード時の格納処理＞
図１８は、本発明に係る画像処理装置における第２のデータ処理手順の一例を示すフローチャートであり、例えばスキャナモード時におけるデータの格納処理手順に対応する。なお、Ｓ２１〜Ｓ２６は各ステップを示す。
【０１５２】
まず、ステップＳ２１で、スキャナモード時のＤＭＡ転送のためのアドレス情報を以下のように設定する。
【０１５３】
図１６の（ａ）に示すように、のり代を含めて書き込む場合は、バッファの先頭から有効画素（例えば、主走査方向の解像度１２００ｄｐｉ）を確保し、更に、副走査方向に下１ラインののり代を設定する（図１６の（ｃ）を参照）。
【０１５４】
図１６の（ｂ）に示すように、有効画素のみを書き込む場合は、スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）と、ＵＡ＝メモリのエンドアドレス（BUFFBOTTOM）＋1＝リングバッファの折り返しアドレスと、ＯＦＦ１Ａ＝０（TOTALWIDTH＝IMAGEWIDTH）と設定する。
【０１５５】
ステップＳ２１で、アドレス情報が設定されると、ステップＳ２２で、ＤＭＡ転送が開始する。Ｉ／Ｏ制御ユニット７１内の各チャンネルに格納されたデータは、順次読み取りされ（Ｓ２３）、所定のアドレス情報に従って、ＤＭＡ転送される。そして、チャンネル（ｃｈ０〜ｃｈ２）に格納されたデータの書き込みが終了すると（Ｓ２４）、読み取りを終了して（Ｓ２５）、ＤＭＡ転送を終了して（Ｓ２６）、処理を終了する。
【０１５６】
以上、図１７、図１８の処理により、画像データは設定された処理モードに応じてメインメモリ１００に展開される。尚、図１７、図１８で示したのり代量は任意に設定可能なパラメータであり、本発明の趣旨はこの条件により限定されるものではない。
【０１５７】
＜データの読み出し＞
メインメモリ１００に展開された画像データは、所定の矩形領域ごとに、対応するＲ、Ｇ、Ｂデータ、若しくはモノクロ画像データとして、スキャナ画像処理部２０にローディングされ、各矩形領域毎に画像処理が実行される。矩形領域ごとに画像処理を行うために、ＣＰＵ１８０は画像読み取りデバイス（ＣＣＤ１７／ＣＩＳ１８）の受光素子の感度のばらつきやＬＥＤ１９の光量のばらつき等を補正するシェーディング（ＳＨＤ）補正データをメインメモリ１００内に準備し、矩形領域のシェーディングデータ及び矩形領域の画像データは、後に説明するＩ／Ｐ制御ユニット７２によりスキャナ画像処理部２０にＤＭＡ転送される。
【０１５８】
図１９は、本発明に係る画像処理装置におけるデータ読み出し処理を説明する図であり、矩形領域の画像データをスキャナ画像処理部２０のブロックバッファＲＡＭ２１０（図２１）に転送する際のデータの読み出し処理例に対応する。
【０１５９】
図１９において、領域（０，０）に関しては、その有効画素領域（ａｂｃｄ）に対して、のり代領域ＡＢ１ＣＤ１が設定されており（図１９の（ａ））、画像データの読み出しはＡをスタートアドレスとして、対応するデータが主走査方向Ｂ１アドレスまで読み出される。
【０１６０】
そして、主走査方向のデータの読み出しが終了すると、次に読み出すデータのアドレスを、副走査方向に１ライン分をシフトした図中のＡ２アドレスに移し、主走査方向にＢ３アドレスの画素までデータが読み出される。以下同様にデータが読み出され、のり代領域の最終ラインに相当するＣアドレスからＤ１アドレスまでの主走査方向のデータの読み出しが行われて、領域（０，０）のデータの読み出しが完了する。
【０１６１】
領域（０、１）に関しては、その有効画素領域（ｂｅｄｆ）に対して、のり代領域Ｂ２ＥＤ２Ｆが設定されており（図１９の（ｂ））、画像データの読み出しはＢ２をスタートアドレスとして、対応するデータが主走査方向Ｅアドレスまで読み出される。主走査方向のデータの読み出しが終了すると、次に読み出すデータのアドレスを、副走査方向に１ライン分シフトした図中のＢ４アドレスに移し、主走査方向にＢ５アドレスの画素までデータが読み出される。
【０１６２】
そして、のり代領域の最終ラインに相当するＤ２アドレスからＦアドレスまでの主走査方向の画像データの読み出しが行われて、第２領域のデータの読み出しが完了する。以上の処理により、のり代領域を含む矩形領域のデータが読み出される。以下、同様の処理が各矩形領域に対して行われる。
【０１６３】
＜Ｉ／Ｐ制御ユニット７２の構成＞
メインメモリ１００に格納されたデータの読み出しは、図９における画像処理ＤＭＡ９１内のＩ／Ｐ制御ユニット７２により制御される。第１読み出しデータＩ／Ｆ部７２ａは、データ読み出し用の第２ＢＵＳ７４を介してメインメモリ１００と接続し、第１読み出しデータＩ／Ｆ部７２ａは、ＤＭＡＣ９１により生成されたアドレス情報を参照して、メインメモリ１００から所定の画像データを読み出すことができる。
【０１６４】
読み出されたデータはデータ設定ユニット７２ｂにより、複数個設けられた所定のチャンネル（ｃｈ３〜ｃｈ６）に設定される。例えば、シェーディング補正用の画像データをチャンネル３（ｃｈ３）、面順次のＲデータをチャンネル４（ｃｈ４）、面順次のＧデータをチャンネル５（ｃｈ５）、面順次のＢデータをチャンネル６（ｃｈ６）と、各データが設定される。
【０１６５】
各チャンネル（ｃｈ３〜ｃｈ６）に設定されたデータは、Ｉ／Ｏインタフェース７２ｃを介して、Ｉ／Ｐ制御ユニット７２の制御の下、順次にＤＭＡ転送され、スキャナ画像処理部２０のブロックバッファＲＡＭ２１０（図２１）にローディングされる。
【０１６６】
バッファ調停部７７は、ｃｈ３〜ｃｈ６のRead_end信号を読み出し更新検出部７７３への入力に接続する。使用されるチャンネルに応じた有効設定を行うのは書き込み側の更新検出における制御と同様に行う。使用されるチャンネルはカラー処理時にはｃｈ３〜ｃｈ６全チャンネルを使用する。モノクロ時にはｃｈ３〜ｃｈ６全チャンネルもしくはｃｈ３，ｃｈ４を使用する。Read_end信号の有効設定は上記設定に応じて切り換えて使用する。
【０１６７】
また、Read_end信号は図１５に示した（０，０）から（ｎ，０）の領域（ストライプ領域）分の転送が終了すると発生する。有効と設定された全chのRead_end信号が入力されると、図１１の（ｃ），（ｄ）に示すようにcount_down信号が生成され滞留カウンタ７７４の値から予め制御レジスタ７７１に設定された減算値(DEC_VALUE)分減算する。このDEC_VALUEの値は動作モードによって異なる。即ち、ストライプ幅×主走査幅分の画像データをスキャナ画像処理部２０に転送すると、滞留カウンタを減算するのでスキャナインタフェース部１０から次の画像データの書き込みを行うことが可能になる。
【０１６８】
TRIGGER_LINE値は、例えば読み出し側のストライプライン分の値を設定する。TRIGGER_LINE値はカラーCCDの様にＲ，Ｇ，Ｂ出力間に副走査方向の位置ずれがある場合には、中間バッファ１０１−１でこの位置の差を吸収する必要があるためその値をTRIGGER_LINEに加算する必要がある。
【０１６９】
RING_LINE値は、例えばストライプライン分＋８ラインの値を設定する。この値はシステムに求めるパフォーマンスによって変更する必要がある。またRING_LINEの値はTRIGGER_LINEよりも大きく設定する。
【０１７０】
図２０は、本発明に係る画像処理装置における読み取りモード毎のDEC_VALUE、TRIGGER_LINE、RING_LINEの設定例を示す図である。
【０１７１】
図２０に示す設定は、読み取り動作の開始前に行い、開始後に設定を変更しなくても、ＤＭＡＣ９１の設定のみを更新すれば、継続的にバッファの管理と読み出し側の起動制御を行うことが出来る。
【０１７２】
また、チャンネル７（ｃｈ７）は、所定の画像処理が施されたデータをメインメモリ１００に格納するために、スキャナ画像処理部２０から出力される点順次の画像データを格納するチャンネルである。スキャナ画像処理部２０は、点順次の画像データの出力に合わせて、アドレス情報（ブロック・エンド信号、ライン・エンド信号）を出力し、このアドレス情報に基づいて、第２書き込みデータＩ／Ｆ７２ｄは、チャンネル７に格納されている画像データをメインメモリ１００に格納する。この処理の内容は後に詳細に説明する。
【０１７３】
＜画像処理＞
図２１は、本発明に係る画像処理装置におけるデータ処理例を説明する図であり、図１に示したスキャナ画像処理部２０の概略的な構成を説明するブロック図であり、ブロックバッファＲＡＭ２１０にローディングされたデータに対して、各画像処理モードに応じた処理が実行される。
【０１７４】
また、図２２は、本発明に係る画像処理装置における各画像処理に要する矩形領域のサイズを説明する模式図である。
【０１７５】
スキャナ画像処理部２０は、設定された画像処理モードに応じて、矩形領域に対して参照するべき矩形画素領域を切替えて処理を実行する。以下、画像処理の内容を図２１により、また、その処理の際に参照する矩形領域のサイズを図２２を参照して説明する。
【０１７６】
図２１において、シェーディング補正ブロック（ＳＨＤ）２２は、主走査方向の光源（ＬＥＤ１９）の光量分布のばらつきや、画像読み取りデバイスの受光素子のばらつき、暗出力のオフセットを補正する処理ブロックである。
【０１７７】
シェーディングデータはメインメモリ１００上で明Ｒ、明Ｇ、明Ｂ、暗Ｒ、暗Ｇ、暗Ｂの順に１画素分の補正データが面順次に格納されており、矩形領域に対応した画素数（主走査方向にＸ画素、副走査方向にＹ画素（図２２の（ａ）を参照））が入力される。
【０１７８】
そして、入力された面順次の補正データは、入力データ処理部２１により点順次のデータに変換され、スキャナ画像処理部２０のブロックバッファＲＡＭ２１０に格納される。そして、矩形領域のシェーディングデータの取り込みが終了すると、画像データの転送に移行する。
【０１７９】
入力データ処理部２１は、Ｒ、Ｇ、Ｂに分離した面順次のデータを点順次のデータに再構成する処理を実行する処理部である。１画素のデータはメインメモリ１００上に面順次のデータとしてＲ、Ｇ、Ｂ各色毎に格納されており、これらのデータがブロックバッファＲＡＭ２１０にローディングされると、入力データ処理部２１は、各色データごとに１画素データを取り出し、１画素のＲ、Ｇ、Ｂデータとして再構成する。再構成の処理を各画素毎に行い、面順次の画像データを点順次のデータに変換する。
【０１８０】
図２３は、本発明に係る画像処理装置における画像処理領域を説明する図であり、例えば画像処理の対象領域とその処理を実行するためのフィルタ処理等をするための参照領域（ＡＢＣＤ）を概略的に示してある。
【０１８１】
図２３において、有効画素領域（ａｂｃｄ）に対して、主走査方向（Ｘ方向）ののり代量として、「Ｎａ」、「Ｎｂ」画素が設定され、副走査方向（Ｙ方向）ののり代量として、「Ｎｃ」、「Ｎｄ」画素が設定されている。
【０１８２】
図２４は、本発明に係る画像処理装置における画像処理モード別（カラーコピーモード、モノクロコピーモード、スキャナモード）ののり代を例示する図であり、変倍時は変倍処理の必要から、１画素だけ、等倍時よりも参照領域は大きくなる。
【０１８３】
カラーコピーモードの場合は、黒文字の判定をするため、画像処理モードの内で最も大きい参照領域が必要である。黒文字の検出のためには、網点と黒文字の判定を確実にする必要があり、そのため網点の周期を判定するために、主走査方向２６画素、副走査方向２６画素（変倍時）を参照領域としている。
【０１８４】
モノクロコピーモードの場合は、文字部に対してエッジ強調を行うため主走査方向５画素、副走査方向５画素（変倍時）を参照領域としている。スキャナモードは、ホストコンピュータ上のスキャナドライバやアプリケーションにより必要な画像処理を行うため、等倍時には参照領域は必要としないが、変倍時には副走査方向に１画素分、参照領域が設定される。尚、ここで示したのり代量に、本発明の趣旨は限定されるものではなく、任意に設定することが可能であることはいうまでもない。
【０１８５】
図２１に示す処理ブロック２３において、平均化処理部（ＳＵＢＳ）は、主走査方向の読み取り解像度を落とすためのサブサンプリング（単純間引き）、あるいは平均化処理を行う処理ブロックであり、入力マスキング処理部（ＩＮＰＭＳＫ）は、入力されたＲ、Ｇ、Ｂデータの色補正を演算する処理ブロックである。γ補正処理部（ＬＵＴ）は入力されたデータに対して、所定の階調特性を与える処理ブロックである。
【０１８６】
文字判定処理（ＺＳＧ）ブロック２４は、入力画像データに対して、黒文字判別、線画輪郭の画素判別を行う処理ブロックである。黒文字判別処理においては、上述のように網点周期よりも広いエリアを参照する必要があるので、主走査方向２６画素、副走査方向２６画素（ライン）相当ののり代領域を参照するのが望ましい。文字判定処理ブロック（ＺＳＧ）２４の入力データは、シェーディング補正ブロック（ＳＨＤ）２２の入力と同様に主走査方向ＸＡ画素（有効画素＋のり代）×副走査方向ＹＡ画素（有効画素＋のり代）のデータ（図２２の（ａ））を参照する。
【０１８７】
処理ブロック２５において、ＭＴＦ補正処理部は、画像読み取りデバイスを変更した際の、ＭＴＦ差補正、縮小変倍時のモアレ低減のために主走査方向にフィルタ処理を行う処理部であり、注目領域に対して、主走査方向の所定画素について、各係数を乗加算処理するブロックである。
【０１８８】
図２２の（ｂ）では、注目領域Ｇ１に対して左側ハッチング部（ｂ１）２画素と、右側ハッチング部（ｂ２）３画素を確保して、領域Ｇ１に対する処理を実行する。
【０１８９】
（ＲＧＢ→（Ｌ、Ｃａ、Ｃｂ））変換処理部（ＣＴＲＮ）は、後続のフィルタ処理（ＮＳＦ）ブロック２６で行うフィルタリング（明度強調、彩度強調、色判定）に際し、Ｒ，Ｇ、Ｂ各色の多値画像データの変換処理を行う。
【０１９０】
下地濃度補正処理部（ＡＢＣ）は、原稿の下地濃度を自動認識し、下地濃度値を白側に補正することによりファクシミリ通信等に適した二値化データを得るための処理を実行する。
【０１９１】
フィルタ処理（ＮＳＦ）ブロック２６は、先のＣＴＲＮ処理において、得られたデータに対して色判定とフィルタリングを行うための処理として、画像の明度成分（Ｌ）のエッジ強度処理及び彩度（Ｃａ、Ｃｂ）の強調処理を行う。更に、入力画像の彩色判定を行い、その結果を出力する。また、文字判定処理（ＺＳＧ）ブロック２４で生成された文字、線画輪郭部の判定信号等に基づき、強調量のパラメータを変化させることができる。フィルタ処理（ＮＳＦ）後のデータは、Ｌ、Ｃａ、ＣｂからＲ、Ｇ、Ｂデータに変換されて出力される。この処理ブロックはモノクロ画像データを処理する場合は５画素×５画素のエッジ強調フィルタとして機能する。
【０１９２】
図２２の（ｃ）では、注目領域Ｇ２に対して、上下２画素（ライン）、左右２画素の領域（ハッチングを付した領域）を参照データとして、上述のフィルタ処理（ＮＳＦ）が実行される。
【０１９３】
変倍処理（ＬＩＰ）ブロック２７は、主走査、副走査方向の線形補間変倍処理を施す処理ブロックである。図２２の（ｄ）では、領域Ｇ３が線形保管変倍処理された結果、得られる領域であり、画像データ（ｄ：（ＸＡ−２６画素）×（ＹＡ−２６画素））から、ハッチングを付した領域が所定の変倍率に応じて、主走査方向、副走査方向に変倍し、領域Ｇ３の面積が決定される。
【０１９４】
以上の画像処理が、設定された画像処理モード（コピーモード、スキャナモード）に応じて、矩形領域単位の画像データに施される。画像処理モードに応じた矩形領域をメモリ上に設定し、この矩形領域の単位を切り替えることにより、各画像処理モードに応じた解像度、高精彩処理を実現することが可能になる。
【０１９５】
また、各矩形領域は、各処理ブロックの画像処理に必要なだけのり代を含んでいるので、処理対象の矩形画像データの端部を処理するために、隣接する領域の画像データを矩形単位で読み出す必要がなく、単純に画像を矩形単位で区切って画像処理する方法よりも、さらなるワークメモリの削減が達成できる。
【０１９６】
図２５は、本発明に係る画像処理装置における矩形データのＤＭＡ転送処理状態を説明する図であり、例えば１つの矩形データの処理が終了して、次の矩形データの画像データをＤＭＡ転送するためのＤＭＡ主走査方向の開始点を説明する図に対応する。
【０１９７】
図２５に示すように、最初の矩形領域ＡＢＣＤのＤＭＡが終了し、Ｄ点の画素まで転送が終了すると、主走査方向の開始点は、主走査方向にＮａ＋Ｎｂ画素分戻した位置（図中のＳ１点）となる。以下、順次１列分の矩形データのＤＭＡが終了し、１列目の最終の矩形データに対応するＥ点のＤＭＡが転送されると、次の列の矩形データを転送するために、副走査方向にシフトする開始点はＮｃ＋Ｎｄ画素分戻した位置（図中のＳ２）となる。
【０１９８】
図２６は、本発明に係る画像処理装置における第３のデータ処理手順の一例を示すフローチャートであり、例えばコピーモード時におけるデータの読み出しと、画像処理手順に対応し、その際の画像処理モード別のＤＭＡ転送処理と、画像処理を説明する。なお、（Ｓ３１）〜（Ｓ４５）は各ステップを示す。また、図２６及び図２７で説明するアドレス情報は、図２２と対応した数値を例示的に用いているが、この数値に限定されるものではなく、任意に設定することは可能である。
【０１９９】
＜コピーモード時の処理＞
まず、ステップＳ３１において、カラーモードであるか、モノクロモードであるかを判断して、カラーモードであると判断（ＹＥＳ）した場合は、処理をステップＳ３３に進め、モノクロモードであると判断（ＮＯ）した場合は、処理をステップＳ３２に進める。
【０２００】
そして、ステップＳ３３では、カラーコピーモード時の読み出しのためのアドレス情報を、以下のように設定する。
【０２０１】
スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）と、ＵＡ＝メモリのエンドアドレス（BUFFBOTTOM）＋１と、ＸＡ＝矩形有効主走査画素数＋のり代（左のり代画素数（１２画素）、右のり代画素数（１３画素））と、ＹＡ＝矩形有効副走査画素（ライン）＋のり代（上のり代画素数（１１画素（ライン））、下のり代画素数（１１画素（ライン）））と、ＯＦＦ１Ａ＝TOTALWIDTH−ＸＡと、ＯＦＦ２Ａ＝-（TOTALWIDTH×ＹＡ＋のり代（左１２画素、右１３画素））と、ＯＦＦ３Ａ＝-（TOTALWIDTH×（のり代（上１１画素、下１１画素）＋有効主走査画素＋のり代（左１２画素、右１３画素））と、ＸＡＮＵＭ＝有効主走査画素／矩形有効主走査画素とを設定する。
【０２０２】
この設定時にバッファ調停部７７に対して、図２０に示したようにモードに応じた各種パラメータを設定する。ただし、TOTALWIDTH＝１ページ画像の主走査有効画素数（IMAGEWIDTH）＋左のり代画素数＋右のり代画素数とする。
【０２０３】
一方、ステップＳ３２では、モノクロコピーモード時の読み出しのためのアドレス情報を以下のように設定する。
【０２０４】
スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）と、メモリのエンドアドレス（BUFFBOTTOM）＋1と、ＸＡ＝矩形有効主走査画素数＋のり代（左のり代画素数（２画素）、右のり代画素数（２画素））と、ＹＡ＝矩形有効副走査画素（ライン）＋のり代（上のり代画素数（２画素（ライン））、下のり代画素数（２画素（ライン）））と、ＯＦＦ１Ａ＝TOTALWIDTH−ＸＡと、ＯＦＦ２Ａ＝-（TOTALWIDTH×ＹＡ＋のり代（左２画素、右２画素））と、ＯＦＦ３Ａ＝-（TOTALWIDTH×（のり代（上２画素、下２画素）＋有効主走査画素＋のり代（左１２画素、右１３画素））と、ＸＡＮＵＭ＝有効主走査画素／矩形有効主走査画素とをそれぞれ設定する。ただし、TOTALWIDTH＝１ページ画像の主走査有効画素数（IMAGEWIDTH）＋左のり代画素数＋右のり代画素数とする。
【０２０５】
このようにしてステップＳ３３、Ｓ３２により、アドレス情報が第１読み出しデータＩ／Ｆ部７２ａに設定されると、処理をステップＳ３４に進め、Ｉ／Ｐ制御ユニット７２がデータの読み出しが可能な状態にあるか否かを判断する。
【０２０６】
例えば、バッファ調停部７７からの起動信号が発行されていない場合はバッファ調停部７７のバッファの滞留ライン数が起動ライン数になり、TRIGGER信号が生成されるまで待機し、バッファリードが可能であれば、処理をステップＳ３５に進める。
【０２０７】
ステップＳ３５において、第１読み出しデータＩ／Ｆ部７２ａは設定されたアドレス情報に従ってデータを読み出し、データ調停ユニット７２ｂは所定のチャンネル（ｃｈ３〜ｃｈ６）にデータを設定する。
【０２０８】
そして、Ｉ／Ｐ制御ユニット７２は各チャンネルに設定されたデータをスキャナ画像処理部２０のブロックバッファＲＡＭ２１０にＤＭＡ転送をする。ここでＤＭＡ転送されたデータは、スキャナ画像処理部２０のバッファにローディングされ、各画像処理モードに合わせた画像処理が実行される。個別の画像処理の内容は先に説明したので、ここではその詳細な説明は省略する。
【０２０９】
ローディングされたシェーディング補正データ、画像データは上述の入力データ処理部２１により、面順次のデータから点順次のデータに変換され、以下の画像処理が施される。
【０２１０】
ステップＳ３６で、カラーコピーモードであるか、モノクロコピーモードであるかを判断し、カラーコピーモードであると判断した場合は、処理をステップＳ３７に進めて、文字判定処理を実行する。
【０２１１】
一方、ステップＳ３６で、カラーコピーモードでないと判断された場合は、例えばモノクロコピーモードの場合は、ステップＳ３７（文字判定処理）をスキップして、ステップＳ３８のフィルタ処理を実行し、ステップＳ３９で変倍処理を実行する。
【０２１２】
以上の処理が矩形領域のデータごとに実行され、ステップＳ４０で、画像処理済みの点順次の画像データは、画像処理済みデータを格納する所定のメモリ領域に更にＤＭＡ転送され、格納される。この格納処理は後に詳細に説明する。
【０２１３】
ステップＳ４１で、矩形領域の画像処理及びそのデータの格納処理が完了したか否か判断し、処理が完了していないと判断した場合は、処理を再びステップＳ３６に戻し、同様の処理を実行する。
【０２１４】
一方、ステップＳ４１で、矩形領域の処理が完了したと判断した場合は、処理をステップＳ４２に進めて、ページ全体を構成する矩形領域の処理が終了したか否かを判断して、ページ全体の処理が終了していないと判断した場合は、処理をステップＳ３４に戻し、メインメモリ１００から後続の画像データを読み出し、そのデータに対する画像処理（ステップＳ３４以降のステップ）を実行する。
【０２１５】
一方、ステップＳ４２で、ページ処理が終了したと判断した場合は、処理をステップＳ４３に進め、スキャナ画像処理部２０に対するＤＭＡ転送を終了させるとともに、ステップＳ４４で、スキャナ画像処理部２０のバッファへのデータ書き込み処理を終了させ、ステップＳ４５で、スキャナ画像処理部２０における画像処理を終了させ、本処理を終了する。
【０２１６】
以上の処理により、コピーモードで読み取ったデータに対する画像処理が完了する。
【０２１７】
＜スキャナモード時の処理＞
図２７は、本発明に係る画像処理装置における第４のデータ処理手順の一例を示すフローチャートであり、例えばスキャナモード時におけるデータの読み出しと、画像処理手順に対応し、その際の画像処理モード別のＤＭＡ転送処理と、画像処理を説明する。なお、（Ｓ５１）〜（Ｓ６０）は各ステップを示す。
【０２１８】
まず、ステップＳ５１において、メインメモリ１００からデータを読み出すためのアドレス情報を、以下のように設定する。
【０２１９】
スタートアドレス（ＳＡ）＝メモリの先頭アドレス（BUFTOP）と、ＵＡ＝メモリのエンドアドレス（BUFFBOTTOM）＋１と、ＸＡ＝矩形有効主走査画素と、ＹＡ＝矩形有効副走査画素（ライン）＋のり代（下のり代画素数（１画素（ライン）））と、ＯＦＦ１Ａ＝TOTALWIDTH−ＸＡと、ＯＦＦ２Ａ＝-（TOTALWIDTH×ＹＡ）と、ＯＦＦ３Ａ＝-（TOTALWIDTH×（のり代（下のり代画素数（１画素））＋有効主走査画素）と、ＸＡＮＵＭ＝有効主走査画素／矩形有効主走査画素とをそれぞれ設定する。ただし、TOTALWIDTH＝１ページ画像の主走査有効画素数（IMAGEWIDTH）＋左のり代画素数＋右のり代画素数とする。
【０２２０】
このようにして、ステップＳ５１により、アドレス情報が第１読み出しデータＩ／Ｆ部７２ａに設定されると、処理をステップＳ５２に進め、Ｉ／Ｐ制御ユニット７２がデータの読み出しが可能な状態にあるか否かを判断して、例えば、バッファ調停部７７からの起動信号が発行されていないと判断した場合は、バッファのバッファ調停部７７の滞留ライン数が起動ライン数になり、TRIGGER信号が生成されるまで待機し（Ｓ５２−ＮＯ）、バッファリードが可能であると判断した場合は、処理をステップＳ５３に進める。
【０２２１】
そして、ステップＳ５３において、第１読み出しデータＩ／Ｆ部７２ａは設定されたアドレス情報に従ってデータを読み出し、データ調停ユニット７２ｂは所定のチャンネル（ｃｈ３〜ｃｈ６）にデータを設定する。
【０２２２】
そして、Ｉ／Ｐ制御ユニット７２は各チャンネルに設定されたデータをスキャナ画像処理部２０のバッファにＤＭＡ転送をする。ここで、ＤＭＡ転送されたデータは、ステップＳ５４で、スキャナ画像処理部のバッファにローディングされ、各画像処理モードに合わせた画像処理が実行される。該画像処理の内容は先に説明したので、その詳細な説明は省略する。
【０２２３】
このようにローディングされた画像データは上述の入力データ処理部２１により、面順次のデータから点順次のデータに変換され、ステップＳ５４において変倍処理を実行する。
【０２２４】
次に、ステップＳ５５において、画像処理済みの点順次の画像データは、画像処理済みデータを格納する所定のメモリ領域に更にＤＭＡ転送され、格納される。この格納処理は後に詳細に説明する。
【０２２５】
そして、ステップＳ５６で、矩形領域の画像処理及びそのデータの格納処理が完了したか否か判断し、処理が完了していないと判断した場合は、処理を再びステップＳ５４に戻し、同様の処理を実行する。
【０２２６】
一方、ステップＳ５６で矩形領域の処理が完了したと判断した場合、処理をステップＳ５７に進めて、ページ全体の処理が終了したか否かを判断して、ページ全体の処理が終了していないと判断した場合は、処理をステップＳ５２に戻し、メインメモリ１００から後続の画像データを読み出し、そのデータに対する画像処理を実行する。
【０２２７】
一方、ステップＳ５７で、ページ処理が終了したと判断した場合は、処理をステップＳ５８に進め、スキャナ画像処理部２０に対するＤＭＡ転送を終了させるとともに、ステップＳ５９で、スキャナ画像処理部２０のバッファへのデータ書き込み処理を終了させ、さらに、ステップＳ６０で、スキャナ画像処理部２０における画像処理を終了して、本処理を終了する。
【０２２８】
以上の処理により、スキャナモードで読み取った画像データに対する画像処理が完了する。
【０２２９】
画像処理モードに応じて、所定ののり代量を含む矩形領域を設定し、この矩形領域単位に画像処理を行うことにより、各画像処理部の個別のラインバッファの介在無しに所定の画像処理を実行することが可能になる。
【０２３０】
＜画像処理済みデータの格納＞
図２８は、本発明に係る画像処理装置における画像処理済みデータの格納処理を説明する図であり、例えば変倍処理された矩形データを変倍処理ブロック（ＬＩＰ）２７からメインメモリ１００に転送する処理であり、一例として２５６画素×２５６画素の矩形データを７０％に縮小する場合、２５６画素×０．７＝１７９．２画素となり、数値計算上１７９．２画素×１７９．２画素の矩形データを作る必要があるが、少数点以下の数値を反映した画素データを生成することができないので、主走査方向、副走査方向に、１８０画素と１７９画素の出現確率を２：８にして、全体的に縮小倍率７０％相当の１７９．２画素を実現するものである。
【０２３１】
図２８では、矩形領域のサイズが領域Ｂ１１（ＸＡ１＝１８０画素）、Ｂ１２（ＸＡ２＝１７９画素）と主走査方向に異なり、Ｂ１１（ＹＡ１＝１８０画素）とＢ２１（ＹＡ２＝１７９画素）とでは副走査方向にそれぞれ矩形領域のサイズが異なっている。変倍処理の結果に応じてサイズが異なる矩形領域の出現確率は制御され、所定の変倍画像データを得ることができる。メインメモリ１００に対して、画像処理されたデータを戻すために、ＤＭＡを制御する信号は変倍処理ブロック（ＬＩＰ）２７からＩ／Ｐ制御ユニット７２に対して通知される（図２９）。
【０２３２】
図２９は、本発明に係る画像処理装置における要部構成を説明する図である。
【０２３３】
次に、図２６に示したステップＳ４０および図２７に示したステップＳ５５における格納処理について詳述する。
【０２３４】
図３０は、図２９に示した変倍処理ブロック（ＬＩＰ）２７からＩ／Ｐ制御ユニット７２との動作を説明するタイミングチャートであり、画像処理済みのデータをメインメモリ１００にＤＭＡ転送するために、変倍処理ブロック（ＬＩＰ）２７からＩ／Ｐ制御ユニット７２に送出されるデータ及び信号の関係を示すタイミングチャート例である。
【０２３５】
図３０に示すように、Ｉ／Ｐ制御ユニット７２は、矩形の主走査長、副走査長が未知の状態でＤＭＡ転送を開始する。変倍処理ブロック２７から１つの矩形内における主走査幅の最終データ（ＸＡ１、ＸＡ２）の転送時にライン・エンド信号が出力され、そのライン・エンド信号により矩形の主走査長が変倍処理ブロック２７からＩ／Ｐ制御ユニット７２に通知される。
【０２３６】
変倍処理ブロック２７から１つの矩形内の最終データ転送時にブロック・エンド信号がＩ／Ｐ制御ユニット７２に対して出力され、これによって副走査長を認識することができる。副走査方向ＹＡ１のデータがすべて出力されると、ＤＭＡ転送を領域Ｂ２１、Ｂ２２の列（図２８を参照）にシフトして、同様に主走査方向のデータＸＡを送出する。ＤＭＡはライン・エンド信号、ブロック・エンド信号により制御される。これにより、変倍処理ブロック２７の演算結果に応じて動的にＤＭＡの矩形領域を切り替えることができるようになる。
【０２３７】
上述のライン・エンド信号、ブロック・エンド信号、および点順次の画像データは、Ｉ／Ｐ制御ユニット７２のインタエース部７２ｃに入力され、このうち画像データはチャンネル（ｃｈ）７に格納される。ライン・エンド信号及びブロック・エンド信号は、チャンネル（ｃｈ）７に格納したデータをメインメモリ１００上に展開する際のアドレス情報として用いられ、第２書き込みデータＩ／Ｆ部７２ｄは、これらのアドレス情報に基づき、ｃｈ７のデータを読み出し、メインメモリ１００上にデータを格納する。
【０２３８】
図３１は、本発明に係る画像処理装置における画像データの展開処理例を説明する図であり、例えばライン・エンド信号及びブロック・エンド信号に従って、データをメインメモリ１００に展開した状態に対応する。
【０２３９】
図３１において、ＳＡはＤＭＡ転送のスタートアドレスを示し、このアドレスから主走査方向に点順次のＲＧＢデータを格納していく。ライン・エンド信号に基づき、ＤＭＡ転送のアドレスをオフセット情報（ＯＦＦ１Ａ）により切り替え、副走査方向に1画素（ライン）シフトしたアドレスから同様に主走査方向にデータを格納していく。
【０２４０】
そして、矩形領域（０，０）のブロック・エンド信号に基づき、次の矩形領域（１，０）に対するデータの格納に移行する。ＤＭＡ転送のアドレスはオフセット情報（ＯＦＦ２Ａ）により切り替えられる。この場合のＯＦＦ２Ａは、領域（０、０）に対して主走査方向に１画素シフトし、副走査方向１ライン目にジャンプしたアドレスとして切り替えられる。
【０２４１】
以下、同様に領域（２、０）、・・・・（ｎ−１，０）、（ｎ、０）とデータを格納していき、ｎ個分のブロックの格納が完了すると、オフセット情報（ＯＦＦ３）によりＤＭＡ転送のアドレスを切り替える。この場合のＯＦＦ３は、領域（０，０）の最終ラインの画素に対して副走査方向に１画素（ライン）シフトし、主走査方向１画素目にジャンプしたアドレスとして切り替えられる。
【０２４２】
以上、スキャナＩ／Ｆ部１０，スキャナ画像処理部２０、ＤＭＡＣ９１とバッファ調停部７７の制御の説明を行ったが、以下、プリンタ画像処理部３０、ＬＢＰＩ／Ｆ部４０、ＤＭＡＣ９１、バッファ調停部７８について説明を行う。ＤＭＡＣ９１の詳細な制御については既に説明を行ったので概要のみを示す。
【０２４３】
図９を参照してＤＭＡＣ９１、バッファ調停部７８、プリンタ画像処理部３０、ＬＢＰＩ／Ｆ部４０の接続状態を説明する。
【０２４４】
ＤＭＡＣ９１は、プリンタ画像処理部３０にデータを入力するＩ／Ｐ制御ユニット７４、プリンタ画像処理部３０からの出力画像データをメインメモリ１００にＤＭＡ転送するＩ／Ｏ制御ユニット７５，メインメモリ１００とＬＢＰＩ／Ｆ部４０との間でデータの授受を制御するＩ／Ｐ制御ユニット７６を含む。
【０２４５】
Ｉ／Ｏ制御ユニット７５とＩ／Ｐ制御ユニット７６間のデータ受け渡しはメインメモリ１００上の中間バッファを介して行われる。この中間バッファをリングバッファとして使用する場合、データの書き込みと、読み出しを調停するためのバッファ調停部７８が使用される。
【０２４６】
プリンタ画像処理部３０とＬＢＰＩ／Ｆ部４０は従来例の解像度変換部２５００に該当するブロックで、プリンタ画像処理部３０とＬＢＰＩ／Ｆ部４０の２つのブロックに分割されているのは、印字系としてBJプリンタ１７５もしくはＬＢＰ４５の双方に対応を行うためである。
【０２４７】
印字系にＬＢＰ４５を持つ装置ではプリンタ画像処理部３０の出力データをＬＢＰＩ／Ｆ４０経由でＬＢＰ４５に送信し印字出力するのに対して、ＢＪプリンタ１７５が印字系の場合はＵＳＢ１．１ＨＯＳＴ１５０を介して印字データはＢＪプリンタに送信、印字する。
【０２４８】
バッファ調停部７８はＬＢＰ記録計を備え、ＬＢＰＩ／Ｆ部４０を使用するときのみ使用される。
【０２４９】
また、ＬＢＰＩ／Ｆ部４０はｃｈ１，２の２つのブロックより構成される。それぞれのブロックは等価でＬＢＰの走査ビームに対応している。走査ビーム数が１の時にはＬＢＰＩ／Ｆ部４０のｃｈ１のみが使用され、走査ビーム数が２の時には、ＬＢＰＩ／Ｆ部４０のｃｈ１，ｃｈ２が各々のビームに対応付けられて使用される。ＬＢＰＩ／Ｆ部４０のｃｈ１はＩ／Ｐ制御ユニット７６のｃｈ１０に、ＬＢＰＩ／Ｆ部４０のｃｈ２はＩ／Ｐ制御ユニット７６のｃｈ１１に接続される。
【０２５０】
＜Ｉ／Ｏ制御ユニット７５の構成＞
Ｉ／Ｏ制御ユニット７５の構成は基本的にＩ／Ｏ制御ユニット７１の構成と同等である。
【０２５１】
異なるのはバッファチャンネルの数のみで、チャンネル数が１であるためにデータ調停ユニット７１ａに該当するユニットはない。
【０２５２】
図１０に示すように、バッファ調停部７７，７８の概略構成とＤＭＡＣ９１とは接続されており、バッファ調停部７８は制御レジスタ７８１、読み出し側ＤＭＡＣチャンネルからの転送完了信号Ｒｅａｄ＿ｅｎｄ信号を検出する読み出し更新検出部７８３、書き込み側ＤＭＡＣチャンネルからの転送完了信号Ｗｒｉｔｅ＿ｅｎｄ信号を検出する書き込み更新検出部７８２、中間バッファ１の滞留量をカウントする滞留カウンタ７８４、滞留ライン数に応じてＤＭＡＣ９１への制御信号を生成するＬＤＭＡＣ制御信号生成部７８５からなる。
【０２５３】
＜Ｉ／Ｐ制御ユニット７４，７６の構成＞
Ｉ／Ｏ制御ユニット７４，７６の構成は基本的にＩ／Ｐ制御ユニット７２の構成と同等である。
【０２５４】
異なるのはバッファチャンネルの数のみで、Ｉ／Ｏ制御ユニット７４のチャンネル数が「１」であるためにデータ調停ユニット７２ｂに該当するユニットはない。
【０２５５】
バッファ調停部７７，７８は、構成は全く同じで、接続されるＩ／Ｏ制御ユニット７６内のチャンネル数が１，Ｉ／Ｐ制御ユニット７６内のチャンネル数が２になっている点が異なっているだけである。転送終了信号はＩ／Ｏ制御ユニットではライン、Ｉ／Ｐ制御ユニット７６では２次元（以降タイルと記述する）の転送終了信号がバッファ調停部７８に接続されている。Ｉ／Ｐ制御ユニット７６のタイル転送終了信号を使用するのは同一ラインを重複して読み出すことで副走査方向の解像度変換を可能にするためである。
【０２５６】
図３２は、本発明に係る画像処理装置におけるモード設定例を説明する図であり、例えば記録モード毎のDEC_VALUE、TRIGGER_LINE、RING_LINEの設定例である。
【０２５７】
この設定及びＤＭＡＣ９１のＩ／Ｐ制御ユニット７６の設定は記録動作の開始前に行い、開始後に設定を変更しなくても、継続的にバッファの管理を行うことが出来る。
【０２５８】
図３３は、図１に示したＬＢＰＩ／Ｆ部４０へのデータ転送とＤＭＡＣ９１のチャンネル対応を示す図であり、メインメモリ上に確保される中間バッファ１００からデータを読み出してＬＢＰ４５へ出力するまでの流れに対応する。
【０２５９】
例えばＬＢＰ４５が１ビームプリンタで構成される場合は、図３３の（ａ）に示すように、ＤＭＡＣ９１のｃｈ１０、ＬＢＰＩ／Ｆ部４０のｃｈ１０のみを使用する。中間バッファに展開される印字イメージをライン順次にＬＢＰＩ／Ｆ部４０に転送し、ＬＢＰ４５で印字出力する。
【０２６０】
ＬＢＰ４５が２ビームプリンタで構成される場合は図３３の（ｂ）に示すように、ＤＭＡＣ９１のｃｈ１０、ＬＢＰＩ／Ｆ部４０のｃｈ１は中間バッファに展開される印字イメージの奇数ラインをライン順次にＬＢＰＩ／Ｆ部４０に転送し、ＬＢＰ４５で印字出力する。ＤＭＡＣ９１のｃｈ１１、ＬＢＰＩ／Ｆ部４０のｃｈ２は中間バッファに展開される印字イメージの偶数ラインをライン順次にＬＢＰＩ／Ｆ部４０に転送し、ＬＢＰ４５で印字出力する。
【０２６１】
DEC_VALUEはＬＢＰ４５のビーム数によって異なる。ビーム数が１の時には読み出し側のＩ／Ｐ制御ユニット７６のｃｈ１０のみを使用するので、転送完了信号Read_end一回の発生に対してライン数１だけ滞留数から減算する。ビーム数が２の時には読み出し側のＩ／Ｐ制御ユニット７６のｃｈ１０のみを使用するので、転送完了信号Read_end一回の発生に対してライン数２だけ滞留数から減算する。
【０２６２】
以上説明したとおり、ライン・エンド信号及びブロック・エンド信号により、オフセット情報（ＯＦＦ１Ａ、ＯＦＦ２Ａ、ＯＦＦ３）を動的に切り替えることにより、画像処理されたデータをメインメモリ１００の所定の領域にＤＭＡ転送し、格納することができる。
【０２６３】
＜他の実施形態＞
上記実施形態では、各種画像入出力機能を有する複合型の画像処理装置で、本発明を説明したが、本発明はこれに限るものではなく、単機能のスキャナ装置、プリンタ装置、あるいは他の装置に拡張接続するためのオプションカード等にも、適用可能である。また、本発明に関わる装置のユニット構成も限定するものではなく、例えば、ネットワークを介して接続された複数の装置により、達成されるように、本発明に関わる装置またはシステムを構成してもよい。
【０２６４】
上記各実施形態によれば、中間バッファを介して矩形形状を単位として入出力を行う画像ブロックを備えた画像処理装置において、ブロック間の中間バッファのサイズを処理内容と能力に応じて最適化できる。
【０２６５】
更に、上記中間バッファの制御に於いてソフトウエアのバッファ管理負荷を逓減させることが可能になる。
【０２６６】
また、画像処理モードに応じた矩形領域をメモリ上に設定し、この矩形領域の単位を切り替えることにより、各画像処理モードに応じた解像度、高精彩処理を実現することが可能になる。
【０２６７】
また、画像処理モードに応じて、所定ののり代量を含む矩形領域を設定し、この矩形領域単位に画像処理を行うことにより、各画像処理部の個別のラインバッファの介在無しに所定の画像処理を実行することが可能になる。
【０２６８】
以下、図３４に示すメモリマップを参照して本発明に係る印刷装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０２６９】
図３４は、本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０２７０】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０２７１】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０２７２】
本実施形態における図１７，図１８，図２６，図２７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０２７３】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０２７４】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２７５】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０２７６】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０２７７】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２７８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０２７９】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０２８０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２８１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０２８２】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０２８３】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０２８４】
尚、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【図面の簡単な説明】
【０２８５】
【図１】本発明の一実施形態を示す画像処理装置の概略的な構成を示すブロック図である。
【図２】図１に示したスキャナＩ／Ｆ部の概略的な構成を示すブロック図である。
【図３】図２に示したＣＣＤによる出力信号例を説明するタイミングチャートである。
【図４】図２に示したＣＩＳに対するＬＥＤの点灯制御に関するタイミングチャートである。
【図５】図４に示したタイミングチャートに従った、Ｒ、Ｇ、Ｂに対応するＬＥＤの点灯（（ａ）〜（ｄ））とその点灯時間内に蓄積されたＬＥＤの反射光により光電変換された出力（ｅ）との関係を示すタイミングチャートである。
【図６】図２に示したＬＥＤの点灯制御動作を説明するタイミングチャートである。
【図７】図２に示したＣＩＳが主走査方向に２チャンネル設けられた場合の出力例を示すタイミングチャートである。
【図８】図２に示したＡＦＥの構成を説明するブロック図である。
【図９】図１に示した画像処理ＤＭＡＣの概略的な構成を説明するブロック図である。
【図１０】図１に示したバッファ調停部の概略構成とＤＭＡＣとの接続関係を説明するブロック図である。
【図１１】図１０に示したバッファ調停部とＤＭＡＣとの動作を説明するためのタイミングチャートである。
【図１２】図１０に示したＩ／Ｏ制御ユニットがメインメモリ（ＳＤＲＡＭ）に１チャンネル分のデータを書き込む処理を説明する図である。
【図１３】図１に示した画像処理ＤＭＡＣによるＳＤＲＡＭに対するデータ格納処理を説明する図である。
【図１４】図１に示した画像処理ＤＭＡＣによるデータ書き込み処理例を説明する図である。
【図１５】図１に示したメインメモリを所定の矩形領域（ブロック）に分割した状態を示す図である。
【図１６】図１に示したメインメモリに必要となる容量を画像処理モード別に例示する図である。
【図１７】本発明に係る画像処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図１８】本発明に係る画像処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図１９】本発明に係る画像処理装置におけるデータ読み出し処理を説明する図である。
【図２０】本発明に係る画像処理装置における読み取りモード毎のDEC_VALUE、TRIGGER_LINE、RING_LINEの設定例を示す図である。
【図２１】本発明に係る画像処理装置におけるデータ処理例を説明する図である。
【図２２】本発明に係る画像処理装置における各画像処理に要する矩形領域のサイズを説明する模式図である。
【図２３】本発明に係る画像処理装置における画像処理領域を説明する図である。
【図２４】本発明に係る画像処理装置における画像処理モード別（カラーコピーモード、モノクロコピーモード、スキャナモード）ののり代を例示する図である。
【図２５】本発明に係る画像処理装置における矩形データのＤＭＡ転送処理状態を説明する図である。
【図２６】本発明に係る画像処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図２７】本発明に係る画像処理装置における第４のデータ処理手順の一例を示すフローチャートである。
【図２８】本発明に係る画像処理装置における画像処理済みデータの格納処理を説明する図である。
【図２９】本発明に係る画像処理装置における要部構成を説明する図である。
【図３０】図２９に示した変倍処理ブロック（ＬＩＰ）とＩ／Ｐ制御ユニットとの動作を説明するタイミングチャートである。
【図３１】本発明に係る画像処理装置における画像データの展開処理例を説明する図である。
【図３２】本発明に係る画像処理装置におけるモード設定例を説明する図である。
【図３３】図１に示したＬＢＰＩ／Ｆへのデータ転送とＤＭＡＣのチャンネル対応を示す図である。
【図３４】本発明に係る印刷装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【図３５】従来の画像処理装置におけるスキャナ画像処理回路・記録画像処理回路の構成を示すブロック図である。
【符号の説明】
【０２８６】
１５  ＡＦＥ
１７  ＣＣＤ
１８  ＣＩＳ
７７，７８  バッファ調停部
９１  画像処理ＤＭＡＣ
１００  メインメモリ
【図１】
2005124071.tif 000003
【図２】
2005124071.tif 000004
【図３】
2005124071.tif 000005
【図４】
2005124071.tif 000006
【図５】
2005124071.tif 000007
【図６】
2005124071.tif 000008
【図７】
2005124071.tif 000009
【図８】
2005124071.tif 000010
【図９】
2005124071.tif 000011
【図１０】
2005124071.tif 000012
【図１１】
2005124071.tif 000013
【図１２】
2005124071.tif 000014
【図１３】
2005124071.tif 000015
【図１４】
2005124071.tif 000016
【図１５】
2005124071.tif 000017
【図１６】
2005124071.tif 000018
【図１７】
2005124071.tif 000019
【図１８】
2005124071.tif 000020
【図１９】
2005124071.tif 000021
【図２０】
2005124071.tif 000022
【図２１】
2005124071.tif 000023
【図２２】
2005124071.tif 000024
【図２３】
2005124071.tif 000025
【図２４】
2005124071.tif 000026
【図２５】
2005124071.tif 000027
【図２６】
2005124071.tif 000028
【図２７】
2005124071.tif 000029
【図２８】
2005124071.tif 000030
【図２９】
2005124071.tif 000031
【図３０】
2005124071.tif 000032
【図３１】
2005124071.tif 000033
【図３２】
2005124071.tif 000034
【図３３】
2005124071.tif 000035
【図３４】
2005124071.tif 000036
【図３５】
2005124071.tif 000037