(57)【要約】【課題】２つの画像読取部を備える画像処理装置において、原稿の表面画像データの画像処理と、裏面画像データの画像処理と、１つの画像処理回路で順次処理することが可能な画像処理装置を提供する。【解決手段】読取原稿の第一面の画像データを第一のリングバッファに転送し、第二面の画像データを第二のリングバッファに転送するとともに、第一面の画像データまたは第二面の画像データのいずれかの画像データを画像処理手段に転送するかを所定単位毎に切り替えて転送する。【選択図】図５
2019129404.tif 000002
【特許請求の範囲】
【請求項１】
第１の原稿面を読み取る第１の読取手段と、
第２の原稿面を読み取る第２の読取手段と、
前記第１の読取手段により読み取られた前記第１の原稿面の第１の画像データを、第１の所定単位ごとに、第１の一時的記憶手段に転送する第１のデータ転送手段と、
前記第２の読取手段により読み取られた前記第２の原稿面の第２の画像データを、第２の所定単位ごとに、第２の一時的記憶手段に転送する第２のデータ転送手段と、
前記第１の一時的記憶手段に転送された前記第１の画像データと、前記第２の一時的記憶手段に転送された前記第２の画像データとを、それぞれ、第３の所定単位ごとに、画像処理手段に転送する第３のデータ転送手段と、
前記第１の画像データと前記第２の画像データのいずれか一方の転送を優先するかを示す優先信号を保持する優先決定手段と、
を有する画像処理装置であって、
前記第３のデータ転送手段は、前記優先信号に基づいて、前記第１の画像データと前記第２の画像データのいずれか一方を優先して前記画像処理手段に転送すること
を特徴とする画像処理装置。
【請求項２】
前記第１の原稿面は原稿の表面であり、前記第２の原稿面は原稿の裏面であること
を特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の読取手段による前記第１の原稿面の読み取りと、前記第２の読取手段による前記第２の原稿面の読み取りとが、略同時に実行されること
を特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記第１の一時的記憶手段は第１のリングバッファであり、前記第２の一時的記憶手段は第２のリングバッファであること
を特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記優先決定手段は、前記第３のデータ転送手段による前記第３の所定単位ごとの前記第１の画像データまたは前記第２の画像データの転送が完了すると、前記優先信号を切り替えること
を特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第３のデータ転送手段は、前記第１の画像データと前記第２の画像データとのいずれかを前記画像処理手段に転送したことを示す表裏指示信号を前記画像処理手段に出力すること
を特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
前記第３のデータ転送手段は、第１の一時的記憶手段に記憶されたデータ量を計数する第１の計数手段と、第２の一時的記憶手段に記憶されたデータ量を計数する第２の計数手段とを有すること
を特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記第１のデータ転送手段は、前記第１の画像データを前記第１の所定単位ごとに前記第１の一時的記憶手段に転送すると、前記第１の計数手段をインクリメントし、
前記第２のデータ転送手段は、前記第２の画像データを、前記第２の所定単位ごとに、前記第２の一時的記憶手段に転送すると、前記第２の計数手段をインクリメントすること
を特徴とする請求項７項に記載の画像処理装置。
【請求項９】
前記第３のデータ転送手段が前記第１の画像データを前記第３の所定単位ごとに前記画像処理手段に転送すると、前記第１のデータ転送手段は、前記第１の計数手段をデクリメントし、
前記第３のデータ転送手段が前記第２の画像データを前記第３の所定単位ごとに前記画像処理手段に転送すると、前記第１のデータ転送手段は、前記第２の計数手段をデクリメントすること
を特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記第３のデータ転送手段は、
前記第１の計数手段の値が前記第３の所定単位以上であり、かつ、前記第２の計数手段の値が前記第３の所定単位未満であるとき、前記画像処理手段に、前記第１の画像データを転送し、
前記第１の計数手段の値が前記第３の所定単位未満であり、かつ、前記第２の計数手段の値が前記第３の所定単位以上であるとき、前記画像処理手段に、前記第２の画像データを転送し、
前記第１の計数手段の値が前記第３の所定単位以上であり、かつ、前記第２の計数手段の値も前記第３の所定単位以上であるとき、前記画像処理手段に、前記優先信号に基づいて、前記第１の画像データと、前記第２の画像データと、のいずれかを前記画像処理手段に転送すること
を特徴とする請求項７から９のいずれか１項に記載の画像処理装置。
【請求項１１】
第１の原稿面を読み取る第１の読取工程と、
第２の原稿面を読み取る第２の読取工程と、
前記第１の読取手段により読み取られた前記第１の原稿面の第１の画像データを、第１の所定単位ごとに、第１の一時的記憶手段に転送する第１のデータ転送工程と、
前記第２の読取工程により読み取られた前記第２の原稿面の第２の画像データを、第２の所定単位ごとに、第２の一時的記憶手段に転送する第２のデータ転送工程と、
前記第１の一時的記憶手段に転送された前記第１の画像データと、前記第２の一時的記憶手段に転送された前記第２の画像データとを、それぞれ、第３の所定単位ごとに、画像処理手段に転送する第３のデータ転送工程と、
前記第１の画像データと前記第２の画像データのいずれか一方の転送を優先するかを示す優先信号を保持する優先決定工程と、
を有する画像処理装置の制御方法であって、
前記第３のデータ転送工程では、前記優先信号に基づいて、前記第１の画像データと前記第２の画像データのいずれか一方を優先して前記画像処理手段に転送すること
を特徴とする画像処理装置の制御方法。
【請求項１２】
請求項１１の画像処理装置の制御方法をコンピュータにより実行するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿の表面と裏面を一回の読み取り動作で読み取り可能な画像処理装置および制御方法に関する。
【背景技術】
【０００２】
従来から、自動原稿給送装置から給送された１枚の原稿の表面と裏面を一回の読み取り動作で読み取るための２つの画像読取部を備える画像読取装置が知られている。表面と裏面とが読み取られて生成された画像データは、外部のホストコンピュータや、印刷用紙等の記録媒体上に画像を形成する画像形成部に送られる。
【０００３】
表面と裏面それぞれの画像データを、それぞれの画像処理回路を用いて処理すると、回路規模が大きくなってしまう。特許文献１では、表面画像データの画像処理を行っている一方で、裏面画像データを一旦画像メモリに格納し、表面画像データの画像処理が終了した後、同じ画像処理回路を用いて、裏面画像データに対する画像処理を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２２６５１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に示される表面画像データの処理と、裏面画像データの処理を時系列に順に処理する方法では、裏面の画像データ１ページ分を格納するためのメモリ容量が必要となる。これにより、コストアップにつながってしまう。
【０００６】
また、表面と裏面の読み取り動作を連続して複数ページにわたって実施する場合、裏面画像データの処理を完了してから、次の表面の画像の読み取りを開始する必要がある。このため、原稿の読み取りをする際にページごとの時間間隔を大きく取る必要があり、読み取り性能の低下につながる可能性がある。
【課題を解決するための手段】
【０００７】
本発明は、第１の原稿面を読み取る第１の読取手段と、第２の原稿面を読み取る第２の読取手段と、前記第１の読取手段により読み取られた前記第１の原稿面の第１の画像データを、第１の所定単位ごとに、第１の一時的記憶手段に転送する第１のデータ転送手段と、前記第２の読取手段により読み取られた前記第２の原稿面の第２の画像データを、第２の所定単位ごとに、第２の一時的記憶手段に転送する第２のデータ転送手段と、前記第１の一時的記憶手段に転送された前記第１の画像データと、前記第２の一時的記憶手段に転送された前記第２の画像データと、のいずれかを、第３の所定単位ごとに、画像処理手段に転送する第３のデータ転送手段と、前記第１の画像データおよび前記第２の画像データのいずれかの転送を優先するかを示す優先信号を保持する優先決定手段と、を有する画像処理装置であって、前記第３のデータ転送手段は、前記優先信号に基づいて、前記第１の画像データと、前記第２の画像データと、のいずれかを前記画像処理手段に転送すること
を特徴とする。
【発明の効果】
【０００８】
原稿の表面と裏面を一回の読み取り動作で読み取る際に、裏面画像データの１ページ分のメモリがなくとも、表面画像データの画像処理と裏面画像データの画像処理とを、１つの画像処理回路で順次処理することを実現することができる。
【図面の簡単な説明】
【０００９】
【図１】複合機の構成図
【図２】自動原稿給送装置（ＡＤＦ）の断面図
【図３】ＤＭＡＣのバス・信号の接続関係図
【図４】画像メモリ内にリングバッファ領域を指定する方法の説明図
【図５】ＤＭＡＣの動作を示すフローチャート
【図６】ＤＭＡＣの動作のうち、１バンドＤＭＡ動作を示すフローチャート
【図７】画像データのＤＭＡ転送とリングバッファカウンタとの関係の説明図
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。
【００１１】
図１は、本発明の実施形態の画像読取装置の一例である複合機の構成を示すブロック図である。
本実施形態では、画像読取装置として、例えば、コピー機能、スキャン機能、プリンタ機能、ファクシミリ機能等の複数の機能が一体化された複合機（ＭＦＰ：Multiple Function peripheral）が用いられる。複合機１は、外部Ｉ／Ｆ部１０１を介してネットワークに接続され、ネットワークを利用してプリント指示や装置情報のやり取りが可能である。
【００１２】
第一面画像読取部１０９と第二面画像読取部１１０はそれぞれ、第一の原稿面（表面、Ｂｏｏｋ面とも言う）と第二の原稿面（裏面、ＡＤＦ面とも言う）をイメージセンサユニットにより光学的に読み取り、所定密度（例えば６００ｄｐｉ）の画像データを得る。イメージセンサユニットは、原稿に光を照射する光源や、原稿からの反射光を読み取る光電変換素子を配列したイメージセンサを含む。
【００１３】
複合機１は、両面原稿の両面を第一面画像読取部１０９および第二面画像読取部１１０により、１回の用紙搬送で、実質的にほぼ同時に原稿を読み取ることができる。片面原稿および両面原稿の第一面は、第一面画像読取部１０９で読み取られ、両面原稿の第二面は、第二面画像読取部１１０で読み取られる。このように、両面原稿の両面を１回用紙搬送で略同時に読み取ることにより、両面原稿の読み取り時間を短縮することができる。
【００１４】
第一面画像読取部１０９と第二面画像読取部１１０の各種読み取り制御は、コントローラ１００によって実現される。
コントローラ１００は、第一面リーダーＩ／Ｆ部１１２および第二面リーダーＩ／Ｆ部１１３を有する。第一面画像読取部１０９が読み取った第一面の画像データは、第一面リーダーＩ／Ｆ部１１２を介してコントローラ１００に入力される。そして、第一面ＤＭＡＣ（Direct Memory Access Controller）１１６により、画像メモリ１０４に転送される。
同様に、第二面画像読取部１１０が読み取った第二面の画像データは、第二面リーダーＩ／Ｆ部１１３を介してコントローラ１００に入力され、第二面ＤＭＡＣ１１７により、画像メモリ１０４に転送される。
また、第一面リーダーＩ／Ｆ部１１２は、第一面画像読取部１０９との間で送受信される信号の入出力部を構成し、第一面画像読取部１０９との間の通信制御を行う。同様に、第二面リーダーＩ／Ｆ部１１３は、第二面画像読取部１１０との間で送受信される信号の入出力部を構成し、第二面画像読取部１１０との間の通信制御を行う。
【００１５】
画像処理部１１４は、ＤＭＡＣ１１８により、画像メモリ１０４に転送された第一面の画像データおよび第二面の画像データを所定ラインのバンド毎に順次読み出し、各種画像処理を行う。第一面、第二面の各画像データを順次読み出し、１つの画像処理部により２つの画像読取部からコントローラ１００に入力される画像データを処理することにより、回路規模を小さくすることができ、コストを削減することができる。
画像処理部１１４が画像処理を行った画像データは、ＤＭＡＣ１１９により再び画像メモリ１０４に転送される。画像処理部１１４は、各種画像処理として、下地除去処理や、画像形成時のための色空間変換処理や、符号化処理および復号化処理、擬似階調処理などを行う。
擬似階調処理が行われ、画像メモリ１０４に格納された画像データは、プリンタ用ＤＭＡＣ１２０により読み出され、プリンタＩ／Ｆ部１１５を介して、画像形成部１１１に転送される。
【００１６】
複合機１への操作者の指示は、複合機１に装備された操作部１０３から行われ、これらの一連の指示はコントローラ１００が制御する。操作部１０３からの入力によるモード設定等の各種指示は、操作部Ｉ／Ｆ部１０２を介して入力される。操作部Ｉ／Ｆ部１０２は、操作部１０３とＣＰＵ１０６との間のインターフェースを構成する。
【００１７】
ＣＰＵ１０６は、操作部１０３から外部Ｉ／Ｆ部１０２を介して入力される指示に応じて、各ブロックに対する制御を行う。この制御はＲＯＭ１０７に格納されている制御プログラムに基づき実行される。ＣＰＵ１０６による実行処理の作業領域としてＲＡＭ１０５が使用される。ＣＰＵ１０６を含む各ブロックはシステムバス１０８に接続されている。
図２は、自動原稿給送装置（ＡＤＦ：Auto Document Feeder）の原稿の搬送パス（搬送路）の概略断面図である。同図を用いて、複合機１の自動原稿給送装置の動作を説明する。
原稿積載部２０１は、原稿を積載するための積載トレイである。自動原稿給送装置を用いて読み取りを行う場合、まず、給紙ローラ２０３により、原稿積載部２０１の最上位の原稿２０２を自動原稿給送装置内へ給紙する。原稿２０２は、搬送パスに沿って搬送ローラ２０４により搬送され、原稿の先端が第１面読取位置２１４に到達すると、読み取りが開始される。読み取り開始後、原稿２０２の搬送とともに読み取りが行われる（いわゆる、流し読み）。原稿の後端まで読み取りが行われるか、または所定枚数の原稿の読み取りが行われた後、読み取りは終了する。
読み取り終了後の原稿２０２は、排紙ローラ２０５により原稿排紙部２０６に排紙される。
【００１８】
ここでは、原稿の先端から読み取りを開始し、原稿の終端まで読み取りを行う構成について説明した。これに限られず、原稿の先端から予め定められた分量について先に読み取りを開始したり、原稿の後端から予め定められた分量を後に読み取りする構成としてもよい。
【００１９】
第一面画像読取部２０９は、第一の原稿面を読み取るためのイメージセンサユニットであり、図１の第一面画像読取部１０９に対応する。原稿の第一面は、原稿積載部２０１に積載された原稿２０２の上向きの面（Ｂｏｏｋ面）に対応する。第一面画像読取部２０９は、図中の矢印２１１の方向に移動可能であり、読み取り動作中以外は、待機位置２１２に位置する。
自動原稿給送装置を用いた読み取りの場合、第一面画像読取部２０９は、第１面読取位置２１４に停止し、搬送パスに沿って搬送される第一の原稿面を読み取る。
【００２０】
第２面画像読取部２１０は、第二の原稿面を読み取るためのイメージセンサユニットであり、図１の第二面画像読取部１１０に対応する。第二面画像読取部２１０は、自動原稿給送装置の第二面読取位置２１７に固定され、搬送パスに沿って搬送される第二の原稿面を読み取る。第二の原稿面は、原稿積載部２０１に積載された原稿２０２の下向きの面（ＡＤＦ面）に対応する。
【００２１】
第一面画像読取部２０９と第二面の第二面画像読取部２１０は、読取部間距離２１８だけ離れているので、同時両面読み取りを行う場合、読み取り画像における第一面原稿画像位置と第二面原稿画像位置は、読取部間距離２１８だけ離れる。
ここでは、第二面画像読取部２１０が自動原稿給送装置に固定されている構成を説明したが、第二面画像読取部２１０を移動可能にして、第二面読取位置２１７を調整する構成としてもよい。なお、同時両面読み取りとは、２つの画像読取部を用いて１回の用紙搬送で、第一面（表面）と第二面（裏面）の画像を読み取る処理を指す。
【００２２】
原稿センサ２０７は、原稿積載部２０１上の原稿の有無を検知するためのセンサである。原稿先端センサ２０８は、搬送ローラ２０４で搬送される原稿２０２の先端位置を検知するためのセンサである。
搬送ローラ２０４で搬送される原稿２０２の先端が原稿先端センサ２０８に達した時にセンサの値が変化することで、原稿２０２の先端が原稿先端センサ２０８の位置２１５にあることが検知される。また、原稿先端センサ２０８は、原稿２０２の後端が原稿先端センサ２０８を通過した時にセンサの値が変化することで、原稿２０２の後端の位置が原稿先端センサ２０８の位置２１５にあることが検知される。
【００２３】
検知された原稿２０２の先端位置と後端位置に基づいて、読み取りの開始と終了が行われる。原稿２０２の読み取り開始のタイミングは、原稿先端センサ２０８が原稿の先端位置を検知した時点から予め定められた搬送量（読み取り開始の搬送量）分、原稿を搬送した後の時点とされる。原稿２０２の読み取り終了のタイミングは、原稿先端センサ２０８で原稿の後端位置を検知した時点から予め定められた搬送量（読み取り終了の搬送量）分、原稿を搬送した後の時点とされる。原稿先端センサ２０８は、読み取りの開始と終了のタイミングを決めるための、搬送路上の基準位置の役割を果たす。
【００２４】
第一面画像読取部２０９は、自動原稿給送装置を用いた読み取りだけでなく、原稿固定の読み取りでも使用される。原稿固定の読み取りでは、第一面画像読取部２０９は、固定原稿読取面２１３の方向に移動しながら、固定原稿読取面２１３に置かれた原稿を読み取る。
【００２５】
図３は、ＤＭＡＣ１１８に接続されるバスや信号について説明する図である。
本実施形態では、第一面の画像データを転送する第一面ＤＭＡＣ１１６と、第二面の画像データを転送する第二面ＤＭＡＣ１１７と、画像処理部１１４に画像データを転送するＤＭＡＣ１１８が、画像メモリ１０４を一時的記憶手段であるリングバッファとして使用する。
【００２６】
第一面ＤＭＡＣ１１６による第一面の画像データ転送は１ライン単位で行われ、第二面ＤＭＡＣ１１７による第二面の画像データ転送も１ライン単位で行われる。また、ＤＭＡＣ１１８による画像データの読み出し転送は３２ラインを１バンドとする、バンド単位で行われる。
また、リングバッファとして９６ラインを、第一面の画像転送データと第二面の画像データの転送用として、画像メモリ１０４内に確保する。第一面の画像転送用のリングバッファを第一面リングバッファ、第二面の画像転送用のリングバッファを第二面リングバッファと呼ぶ。（それぞれ、リングバッファＢｏｏｋ、リングバッファＡＤＦと呼ぶこともある。）
【００２７】
第一面ＤＭＡＣ１１６、第二面ＤＭＡＣ１１７、ＤＭＡＣ１１８、ＤＭＡＣ１１９に対するＣＰＵ１０６からの指示は、システムバス１０８を介して、各ＤＭＡＣが保持するレジスタ（不図示）に適切な値を書き込むことで行われる。
本実施形態では、ＤＭＡＣ１１８による画像データの読み出し転送を行う所定単位を１バンド（３２ライン）単位としたが、１ライン単位として行ってもよい。
【００２８】
画像メモリ１０４内に確保された第一面リングバッファおよび第二面リングバッファに一時的に蓄えられる画像データの量は、各ＤＭＡＣが内蔵する計数手段であるリングバッファカウンタにより参照される。これにより、ＤＭＡＣ間において、画像メモリ１０４をリングバッファとして利用しデータ転送することができる。
第一面の画像データを転送する第一面ＤＭＡＣ１１６は、第一面リーダーＩ／Ｆ部１１２を介して入力される画像データの１ライン分を第一面リングバッファに転送完了すると、インクリメント指示をＤＭＡＣ１１８に通知する。インクリメント指示を受信したＤＭＡＣ１１８は、第一面リングバッファカウンタ３０１をカウントアップする。
一方、ＤＭＡＣ１１８は、第一面リングバッファから画像データの１バンド分の読み出しを完了すると、第一面リングバッファカウンタ３０１をデクリメントするとともに、デクリメント指示を第一面ＤＭＡＣ１１６に通知する。
ＤＭＡＣ１１８は、第一面リングバッファカウンタ３０１を参照して、第一面リングバッファの状態に基づいてデータ転送動作を行う。これにより、画像データの存在しない領域からの読み出しを行うことなく、ＤＭＡＣ１１６からＤＭＡＣ１１８へのデータ転送が可能となる。
【００２９】
同様に、第二面の画像データを転送する第二面ＤＭＡＣ１１７は、リーダーＩ／Ｆ部１１３を介して入力される画像データの１ライン分を第二面リングバッファに転送完了すると、インクリメント指示をＤＭＡＣ１１８に通知する。インクリメント指示を受信したＤＭＡＣ１１８は、第二面リングバッファカウンタ３０２をカウントアップする。
一方、ＤＭＡＣ１１８は、第二面リングバッファから、画像データの１バンド分の読み出しを完了すると、第二面リングバッファカウンタ３０２をデクリメントするとともに、デクリメント指示を第二面ＤＭＡＣ１１７に通知する。
ＤＭＡＣ１１８は、第一面リングバッファカウンタ３０１を参照して、第二面リングバッファの状態に基づいてデータ転送動作を行う。これにより、画像データの存在しない領域からの読み出しを行うことなく、ＤＭＡＣ１１７からＤＭＡＣ１１８へのデータ転送が可能となる。
【００３０】
さらに、本実施形態では、ＤＭＡＣ１１８は、画像データとともに表裏指示信号３１０を画像処理部１１４に対して出力する。表裏指示信号３１０は、画像データが、第一面リングバッファから読み出されたのか、第二面リングバッファから読み出されたのかを示す。
これにより、画像処理部１１４は、表裏指示信号３１０に基づいて、第一面用の動作を行うべきか、第二面用の動作を行うべきかを、判断することが可能となる。
また、表裏指示信号３１０は、画像処理部１１４で使用された後、表裏指示信号３１１としてＤＭＡＣ１１９に入力される。ＤＭＡＣ１１９は、表裏指示信号３１１に基づいて、第一面の画像データと第二面の画像データとをそれぞれ異なるメモリ領域に転送することも可能となる。
【００３１】
図４は、画像メモリ１０４内に確保されるリングバッファ領域をＤＭＡＣ１１８に指定する方法について説明するための図である。
【００３２】
ＤＭＡＣ１１８のレジスタ部（不図示）には、第一面の画像転送用のリングバッファ領域である第一面リングバッファの下限アドレス４０１、第一面リングバッファの上限アドレス４０２が設けられる。また、ＤＭＡＣ１１８のレジスタ部（不図示）には、第二面の画像転送用のリングバッファ領域である第二面リングバッファの下限アドレス４０３、第二面リングバッファの上限アドレス４０４が設けられる。
さらに、ＤＭＡＣ１１８のレジスタ部（不図示）には、第一面リングバッファおよび第二面リングバッファ上の画像データの隣り合うラインのアドレスのラインオフセット４０５が設けられる。
【００３３】
また、ＤＭＡＣ１１８のレジスタ部（不図示）には、ＤＭＡＣ１１８が転送する画像データの１ページのライン数４０６が設けられる。
ここでは、ラインオフセット４０５および１ページのライン数４０６を、第一面用と第二面用とで共通レジスタとして説明したが、個別のレジスタを設けても構わない。
また、ＤＭＡＣ１１８は、ＣＰＵ１０６が、上述したレジスタを含む設定を完了した後に、ＤＭＡ動作を開始させるための起動レジスタ（不図示）を持つ。
【００３４】
次に、図５と図６を用いて、ＤＭＡＣ１１８の動作を説明する。図５と図６は、ＣＰＵ１０６の指示に基づきＤＭＡＣ１１８が行う動作のフローチャートである。
【００３５】
ＣＰＵ１０６の指示によりＤＭＡ動作が開始されると、Ｓ５０１において、ＤＭＡＣ１１８はまず初期化処理を行う。
初期化処理では、リングバッファに一時的に蓄えられるデータ量である画像データのライン数を示す第一面リングバッファカウンタ３０１と第二面リングバッファカウンタ３０２を初期化する。
また、第一面の画像データ転送の完了を示す転送完了信号（doneBook）と第二面の画像データ転送の完了を示す転送完了信号（doneADF）を初期化する。（なお、片面原稿を読み込む場合は、doneBook を初期化する。）
また、第一面の画像データ転送と、第二面の画像データ転送のいずれかを優先するかを示す優先信号を、第一面優先を示すＢｏｏｋで初期化して、優先決定手段に保持する。
【００３６】
Ｓ５０２では、ＤＭＡＣ１１８は、第一面リングバッファカウンタ３０１の状態を確認し、次の処理ステップを切り替える。
第一面リングバッファカウンタ３０１が第一面の１バンドのライン数（thBook。ここでは、３２）以上である場合、第一面ＤＭＡＣ１１６が第一面リングバッファに１バンド（３２ライン）以上のデータ転送を完了していると判断し、Ｓ５０３へ移行する。
【００３７】
Ｓ５０３では、ＤＭＡＣ１１８は、第二面リングバッファカウンタ３０２の状態を確認し、次の処理ステップを切り替える。
第二面リングバッファカウンタ３０２が第二面の１バンドのライン数（thADF。ここでは、３２）以上である場合、第二面ＤＭＡＣ１１７が第二面リングバッファに１バンド（３２ライン）以上のデータ転送を完了していると判断し、Ｓ５０４へ移行する。
【００３８】
Ｓ５０２およびＳ５０３において、第一面リングバッファカウンタ３０１と第二面リングバッファカウンタ３０２に、ともに、１バンドのライン数（thBook、thADF）以上の画像データが蓄積されている場合、優先信号に基づいて処理を切り替える。優先信号がＢｏｏｋである場合、Ｓ５１０へ移行する。
【００３９】
Ｓ５０３において、第二面リングバッファカウンタ３０２が第二面の１バンドのライン数（thADF）に満たない場合も、Ｓ５１０へ移行する。これは、第一面の画像データのみが１バンド分蓄積されているとＤＭＡＣ１１８が判断したためであり、優先信号を確認する必要はない。
【００４０】
一方、Ｓ５０２において、第一面リングバッファカウンタ３０１が第一面の１バンドのライン数（thBook）に満たない場合、Ｓ５０５へ移行する。
Ｓ５０５においても、Ｓ５０３と同様に、第二面リングバッファカウンタ３０２の状態を確認する。
Ｓ５０５において、第二面リングバッファカウンタ３０２が第二面の１バンドのライン数（thADF）以上である場合、第二面ＤＭＡＣ１１７が第二面リングバッファカウンタ３０２に１バンド以上のデータ転送を完了していると判断し、Ｓ５２０へ移行する。これは、第二面の画像データのみが１バンド分蓄積されているとＤＭＡＣ１１８が判断したためであり、優先信号を確認する必要はない。
【００４１】
また、Ｓ５０５において、第二面リングバッファカウンタ３０２が第二面の１バンドのライン数（thADF）に満たない場合、第一面の画像データおよび第二面の画像データともに、１バンドのライン数分だけ蓄積されていないとＤＭＡＣ１１８は判断する。そして、Ｓ５０２に戻る。
【００４２】
Ｓ５１０では、ＤＭＡＣ１１８は、第一面の画像データを１バンド分のＤＭＡ転送処理するために、ＤＭＡＣ１１８の第一面の画像データ転送に関わる状態を読み込む。
まず、データ転送ライン数（ycnt）に、第一面のデータ転送ライン数（ycntBook）を代入する。また、読み出しアドレス（addr）に、第一面の読み出しアドレス（addrBook）を代入する。第一面のデータ転送ライン数（ycntBook）および第一面の読み出しアドレス（addrBook）は、ともに、ＤＭＡ１１８が持つレジスタ（不図示）である。
本実施形態において、第一面のデータ転送ライン数（ycntBook）の初期値は０であり、第一面の読み出しアドレス（addrBook）の初期値は第一面リングバッファの下限アドレスである。また、ここで読み込む状態は、後述するＳ５１４で保存した状態である。
【００４３】
さらに、Ｓ５１１において、ＤＭＡＣ１１８は、１バンドのＤＭＡ転送処理するために必要となる信号に、第一面のリングバッファに関わるレジスタ値を読み込む。
ここでは、下限アドレス（lowerAddr）に第一面リングバッファの下限アドレスを、上限アドレス（upperAddr）に第一面リングバッファの上限アドレス、それぞれ、代入する。また、１バンドのライン数（th）に第一面の１バンドのライン数（thBook）を代入する。
【００４４】
Ｓ５１２では、ＤＭＡＣ１１８は、データ転送ライン数（ycnt）、読み出しアドレス（addr）、下限アドレス（lowerAddr）、上限アドレス（upperAddr）、１バンドのライン数（th）に基づき、１バンド分のリード要求を伴うＤＭＡ転送を行う。
Ｓ５１２の１バンド分のＤＭＡ転送におけるＤＭＡＣ１１８の動作については、図６を用いて説明する。
【００４５】
Ｓ６０１では、ＤＭＡＣ１１８は、１バンドのＤＭＡ転送において完了したデータ転送ライン数（ycntBand）を初期化する。
Ｓ６０２では、読み出しアドレス（addr）から１ライン分の読み出し要求を伴うＤＭＡ転送を行う。
Ｓ６０３では、完了したデータ転送ライン数（ycnt）および１バンドのＤＭＡ転送において完了したデータ転送ライン数（ycntBand）をインクリメントする。また、読み出しアドレス（addr）をラインオフセット分だけインクリメントする。
【００４６】
Ｓ６０４では、ＤＭＡＣ１１８は、読み出しアドレス（addr）が上限アドレス（upperAddr）を超えているか、すなわちリングアバッファ領域の上限を超えているか否かを判断する。
超えている場合、Ｓ６０５へ移行する。越えていない場合、Ｓ６０６へ移行する。
Ｓ６０５では、読み出しアドレス（addr）をリングバッファの下限アドレス（lowerAddr）に設定することで、次の読み出しアドレス（addr）をリングバッファ内のアドレスに変更する。
【００４７】
Ｓ６０６では、ＤＭＡＣ１１８は、１バンド転送における転送ライン数が１バンドのライン数（th）に達しているか否かを判断する。達していない場合、Ｓ６０７へ移行する。
Ｓ６０７では、Ｓ６０６の判断に加え、データ転送ライン数（ycnt）が、１ページ分の転送ライン数４０６に達しているかを判断する。達していない場合、Ｓ６０２に戻り、ＤＭＡ転送を継続する。
一方、Ｓ６０６において、ＤＭＡＣ１１８は、１バンド分だけの転送に達しているか、Ｓ６０７において１ページ分の転送に達していると判断した場合、１バンド分のＤＭＡ転送を終了する。
【００４８】
１バンド分のＤＭＡ転送処理を終えると、図５のＳ５１３に戻る。
Ｓ５１３では、ＤＭＡＣ１１８は、第一面リングバッファカウンタ３０１を１バンド分のライン数（th）で減算処理するとともに、第一面ＤＭＡＣ１１６に対してデクリメント指示を行う。この指示により、第一面ＤＭＡＣ１１６は、リングバッファから１バンド分のライン数（th）分のデータ転送が完了したことを認識できる。
【００４９】
次に、Ｓ５１４では、ＤＭＡＣ１１８は、第一面のデータ転送ライン数（ycntBook）をデータ転送ライン数（ycnt）で、第一面の読み出しアドレス（addrBook）を読み出しアドレス（addr）で更新する。そして、これらをＤＭＡ１１８が持つレジスタ（不図示）に格納する。
さらに、Ｓ５１５において、優先信号をＡＤＦに変更する。これにより、ＤＭＡＣ１１８は、次の画像データ転送では、第二面が優先されるようにする。
【００５０】
Ｓ５１６では、ＤＭＡＣ１１８は、第一面の画像データ転送が１ページ分完了したかを確認する。
データ転送ライン数（ycnt）が１ページ分のライン数以上である場合、１ページ分の転送が完了したと判断し、Ｓ５１７へ移行する。データ転送ライン数（ycnt）が１ページ分のライン数４０６に満たない場合、Ｓ５０２へ戻り、ＤＭＡ処理を継続する。
【００５１】
Ｓ５２０では、ＤＭＡＣ１１８は、第二面の画像データを１バンド分のＤＭＡ転送処理するために、ＤＭＡＣ１１８の第二面の画像データ転送に関わる状態を読み込む。
まず、データ転送ライン数（ycnt）に、第二面のデータ転送ライン数（ycntADF）を代入する。また、読み出しアドレス（addr）に、第二面の読み出しアドレス（addrADF）を代入する。第二面のデータ転送ライン数（ycntADF）および第二面の読み出しアドレス（addrADF）は、ともに、ＤＭＡ１１８が持つレジスタ（不図示）である。
本実施形態において、第二面のデータ転送ライン数（ycntADF）の初期値は０であり、第二面の読み出しアドレス（addrADF）の初期値は第二面リングバッファの下限アドレスである。また、ここで書き込む状態は、後述するＳ５２４で保存した状態である。
【００５２】
さらに、Ｓ５２１において、ＤＭＡＣ１１８は、１バンドのＤＭＡ転送処理するために必要となる信号に、第二面のリングバッファに関わるレジスタ値を読み込む。
ここでは、下限アドレス（lowerAddr）に第二面リングバッファの下限アドレスを、上限アドレス（upperAddr）に第二面リングバッファの上限アドレスを、それぞれ、代入する。そして、１バンドのライン数（th）に第二面の１バンドのライン数（thADF）を代入する。
【００５３】
Ｓ５２２では、ＤＭＡＣ１１８は、データ転送ライン数（ycnt）、読み出しアドレス（addr）、下限アドレス（lowerAddr）、上限アドレス（upperAddr）、１バンドのライン数（th）に基づき、１バンド分のリード要求を伴うＤＭＡ転送を行う。なお、Ｓ５２２における処理は、Ｓ５１２における処理と同様である。
【００５４】
１バンド分のＤＭＡ転送処理を終えると、Ｓ５２３では、ＤＭＡＣ１１８は、第二面リングバッファカウンタ３０２を１バンド分のライン数（th）で減算処理するとともに、第二面ＤＭＡＣ１１７に対してデクリメント指示を行う。この指示により、第二面ＤＭＡＣ１１７は、リングバッファから１バンド分のライン数（th）分のデータ転送が完了したことを認識できる。
【００５５】
次に、Ｓ５２４では、ＤＭＡＣ１１８は、第二面のデータ転送ライン数（ynctADF）をデータ転送ライン数（ycnt）で、第二面の読み出しアドレス（addrADF）を読み出しアドレス（addr）で更新する。そして、これらをＤＭＡ１１８が持つレジスタ（不図示）に格納する。
さらに、Ｓ５２５において、優先信号をＢｏｏｋに変更する。これにより、ＤＭＡＣ１１８は、次の画像データ転送では、第一面が優先されるようにする。
【００５６】
Ｓ５２６では、ＤＭＡＣ１１８は、第二面の画像データ転送が１ページ分完了したかを確認する。
データ転送ライン数（ycnt）が１ページ分のライン数以上である場合、１ページ分の転送が完了したと判断し、Ｓ５２７へ移行する。データ転送ライン数（ycnt）が１ページのライン数に満たない場合、Ｓ５０２へ戻り、ＤＭＡ処理を継続する。
【００５７】
上述のとおり、Ｓ５１０、Ｓ５１１および、Ｓ５２０、Ｓ５２１において、ＤＭＡＣ１１８は、第一面または第二面の状態およびレジスタを読み込み、Ｓ５１４、Ｓ５２４において、ＤＭＡＣ１１８の状態を保存する。これにより、１バンドのＤＭＡ動作を行う画像処理回路を複数用意することなく、表面と裏面の両面の画像データの画像処理を実行することが可能となる。
【００５８】
これらのステップＳ５０２からＳ５０５、Ｓ５１０からＳ５１６、Ｓ５２０からＳ５２６を繰り返した後、Ｓ５１６において第一面の画像データ転送が１ページ分完了したかが確認された場合、Ｓ５１７に進む。
Ｓ５１７では、ＤＭＡＣ１１８は、第一面の画像データ転送の完了を示す転送完了信号（doneBook）をＹＥＳに設定する。このとき、ＤＭＡＣ１１８はＣＰＵ１０６に第一面の画像データ転送が完了したことを示す割り込み（不図示）を通知してもよい。
一方、Ｓ５２６において第二面の画像データ転送が１ページ分完了したかが確認された場合、Ｓ５２７に進む。
Ｓ５２７では、ＤＭＡＣ１１８は、第二面の画像データ転送の完了を示す転送完了信号（doneADF）をＹＥＳに設定する。このとき、ＤＭＡＣ１１８はＣＰＵ１０６に第二面の画像データ転送が完了したことを示す割り込み（不図示）を通知してもよい。
【００５９】
Ｓ５３０では、ＤＭＡＣ１１８は、第一面の画像データおよび第二面の画像データの転送がともに完了しているか否かを確認する。
一方しか完了していない場合は、Ｓ５０２に戻り、もう一方のデータ転送が完了するまで、処理ステップを繰り返す。
第一面の画像データおよび第二面の画像データの転送がともに完了している場合、ＤＭＡＣ１１８は、ＤＭＡ動作を終了する。このとき、ＤＭＡＣ１１８はＣＰＵ１０６に第一面の画像データ転送および第二面の画像データ転送が完了したことを示す割り込み（不図示）を通知する。ＣＰＵ１０６はこの割り込みを検出することで、ＤＭＡが終了したことを検知することができる。
【００６０】
図７は、図５および図６で示した処理フローで実施されるＤＭＡ動作と、画像データの転送タイミングと、リングバッファカウンタの値の変化を示している。
横軸は時間ｔである。第一面リーダーＩ／Ｆ部１１２から第一面の画像データの入力が開始した時間を０としている。
【００６１】
図７（ａ）は、第一面の画像データが、第一面リーダーＩ／Ｆ部１１２から第一面ＤＭＡＣ１１６に入力されている様子を示している。図７（ｂ）は、第二面の画像データが、第二面リーダーＩ／Ｆ部１１３から第二面ＤＭＡＣ１１７に入力されている様子を示している。なお、第一面と第二面の画像データの入力タイミングの違いは、図２で説明したようにイメージセンサユニットの位置に依存する。
【００６２】
図７（ｃ）は、ＤＭＡＣ１１８が内蔵する第一面リングバッファカウンタ３０１の値の変化を示している。図７（ｄ）は、ＤＭＡＣ１１８が内蔵する第二面リングバッファカウンタ３０２の値の変化を示している。
まず、第一面の画像データを、第一面ＤＭＡＣ１１６が１ラインごとにデータ転送するとともに、ＤＭＡＣ１１８に対してインクリメント指示が行われる。
インクリメント指示を受信したＤＭＡＣ１１８は、受信する毎に第一面リングバッファカウンタ３０１をカウントアップ処理する。第一面リングバッファカウンタ３０１が第一面の１バンドのライン数（thBook）を超えると、ＤＭＡＣ１１８は第一面の画像データに対する１バンド分のＤＭＡ動作（図６）を開始する。
【００６３】
図７（ｅ）は、ＤＭＡＣ１１８が第一面または第二面の画像データを画像処理部１１４に転送している様子を示している。
ここで、第一面の画像データの最初の１バンド分の画像データをＩｂ０、以降のバンドの画像データをＩｂ１、Ｉｂ２、…と表している。また、第二面の画像データの最初の１バンド分の画像データをＩａ０、以降のバンドの画像データをＩａ１、Ｉａ２、…と表している。
第一面の画像データの最初の１バンド分の画像データＩｂ０の転送を完了すると、第一面リングバッファカウンタ３０１を１バンド分デクリメントする。以降も、１ページ分のデータ転送が完了するまで、第一面リングバッファカウンタ３０１は、増減を繰り返す。
【００６４】
一方で、第二面の画像データが入力され始めると、第二面ＤＭＡＣ１１７が１ラインごとにデータ転送するとともに、ＤＭＡＣ１１８に対してインクリメント指示が行われる。インクリメント指示を受信したＤＭＡＣ１１８は、受信する毎に第二面リングバッファカウンタ３０２をカウントアップする。
第二面リングバッファカウンタが第二面の１バンドのライン数（thADF）を超えると、ＤＭＡＣ１１８は第二面の画像データに対する１バンド分のＤＭＡ動作（図６）を開始する。
【００６５】
図７（ｆ）は、ＤＭＡＣ１１８が第二面の画像データを画像処理部１１４に転送しているとき、画像データとともに、第一面の画像データか第二面の画像データかを示す表裏指示信号３１０を転送している様子を示している。
第二面の画像データの最初の１バンド分の画像データＩａ０の転送を完了すると、第二面リングバッファカウンタ３０２を１バンド分デクリメントする。以降も、１ページ分のデータ転送が完了するまで、第二面リングバッファカウンタ３０２は、増減を繰り返す。
【００６６】
ＤＭＡＣ１１８は、動作が正常である場合では、第一面リングバッファカウンタ３０１と第二面リングバッファカウンタ３０２の値を参照することで、画像データが画像メモリ１０４内のリングバッファに蓄積される毎に、バンド単位でのＤＭＡ転送を行う。
しかし、画像処理部１１４が一時的に画像データを受信できない場合や、システムバス１０８の帯域不足によりＤＭＡＣ１１８の転送が停滞する場合など、正常な動作が行われない場合もある。このような場合、第一面と第二面ともに、画像データが１バンドのライン数（thBook や thADF）を超えて蓄積される状況が起こり得る。
【００６７】
図７（ｇ）では、その一例として、画像処理部１１４が一時的に画像データを受け取れない場合をストール状態として表している。
このとき、第一面の画像データの画像処理部１１４への転送は滞っているが、第一面ＤＭＡＣ１１６および第二面ＤＭＡＣ１１７による画像データの蓄積は継続され、第一面リングバッファカウンタ３０１および第二面リングバッファカウンタ３０２の値は上昇する。そして、第一面の画像データＩｂ５が完了したとき、第一面リングバッファカウンタ３０１が第一面の１バンドのライン数（thBook）を超え、同時に、第二面リングバッファカウンタ３０２が第二面の１バンドのライン数（thADF）を超える状況があり得る。
このような状況では、ＤＭＡＣ１１８は、Ｓ５０４において、第一面の画像データと第二面の画像データの、いずれの画像データの転送を優先するかを判断する。ここでは、第二面の画像データＩａ３を優先して転送している。
【００６８】
上述の処理フローを行うことにより、表面の画像データの画像処理と裏面の画像データの画像処理とを、１つの画像処理回路で順次処理することを実現することができる。
【００６９】
（その他の実施形態）
本発明は、上述の実施形態の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００７０】
１      複合機
１００  コントローラ
１０４  画像メモリ
１１４  画像処理部
１１８  ＤＭＡＣ
３０１  第一面リングバッファカウンタ
３０２  第二面リングバッファカウンタ
【図１】
2019129404.tif 000003
【図２】
2019129404.tif 000004
【図３】
2019129404.tif 000005
【図４】
2019129404.tif 000006
【図５】
2019129404.tif 000007
【図６】
2019129404.tif 000008
【図７】
2019129404.tif 000009