(57)【要約】【課題】データの転送制御を行い、スキャナ画像処理パスでのオーバーフローやプリント画像処理パスでのアンダーランを防止する画像処理装置を提供する。【解決手段】第１の転送バッファを含み画像読取部からの画像データを処理する第１の画像処理部と、第１の転送バッファから転送された画像データを記憶するメインメモリと、第２の転送バッファを含みメインメモリから読み出された画像データを処理して画像出力部に出力する第２の画像処理部と、第１、第２の転送バッファ内のデータ量を監視する監視部と、第１の転送バッフア内のデータ量が第１の閾値以上になったときに第１の転送バッフアからメインメモリへの転送回数を増やし、第２の転送バッフア内のデータ量が第２の閾値以下になったときにメインメモリから第２の転送バッフアへの転送回数を増やす調停部と、を備える。【選択図】図３
2015076691.tif 000002
【特許請求の範囲】
【請求項１】
第１の転送バッファを含み画像読取部で読み取った画像データを処理する第１の画像処理部と、
前記第１の転送バッファから転送された画像データを記憶するメインメモリと、
第２の転送バッファを含み前記メインメモリから読み出された画像データを処理して画像出力部に出力する第２の画像処理部と、
前記第１の転送バッファ内のデータ量、及び前記第２の転送バッファ内のデータ量を監視する監視部と、
前記第１の転送バッフア内のデータ量が予め設定した第１の閾値以上になったときに前記第１の転送バッフアから前記メインメモリへの転送回数を増やし、前記第２の転送バッフア内のデータ量が予め設定した第２の閾値以下になったときに前記メインメモリから前記第２の転送バッフアへの転送回数を増やすように調停する調停部と、
を備える画像処理装置。
【請求項２】
前記監視部は、前記第１の転送バッフアのライトポイントとリードポイントの差が前記第１の閾値以上になったときに第１の信号を出力し、第２の転送バッフアのライトポイントとリードポイントの差が前記第２の閾値以下になったときに第２の信号を出力し、
前記調停部は、前記第１の信号を受けたときに前記第１の転送バッフアから前記メインメモリへの転送回数を増やし、前記第２の信号を受けたときに前記メインメモリから前記第２の転送バッフアへの転送回数を増やすように調停する請求項１記載の画像処理装置。
【請求項３】
前記監視部は、前記第１の閾値及び前記第２閾値をプログラマブルに設定する請求項１記載の画像処理装置。
【請求項４】
前記調停部は、前記第１の画像処理部及び前記第２の画像処理部の処理を、第３の処理部の処理よりも優先的に行うように、予め設定したアルゴリズムにて調停を行い、前記転送回数を増やす際に、前記第１の画像処理部及び前記第２の画像処理部の処理が偏らないようにする請求項１記載の画像処理装置。
【請求項５】
前記第１の画像処理部は、前記画像読取部から前記第１の転送バッファに一定速度で画像データを入力し、
前記第２の画像処理部は、前記第２の転送バッファから前記画像出力部に一定速度で画像データを出力し、
一定速度で搬送される用紙に画像データを印刷する請求項１記載の画像処理装置。
【請求項６】
画像読取部で読み取った画像データをメインメモリに書込み、メインメモリから読み出した画像データを読み出して画像出力部に出力するデータ転送制御プログラムであって、コンピュータに、
前記画像読取部で読み取った画像データを順次第１の転送バッファに書込み、前記第１転送バッファからの画像データをメインメモリ転送する第１の転送機能と、
前記メインメモリから読み出された画像データを第２の転送バッファに順次に転送し、前記第２の転送バッファからの画像データを前記画像出力部に出力する第２の転送機能と、
前記第１の転送バッファ内のデータ量、及び前記第２の転送バッファ内のデータ量を監視する監視機能と、
前記第１の転送バッフア内のデータ量が予め設定した第１の閾値以上になったときに前記第１の転送バッフアから前記メインメモリへの転送回数を増やし、前記第２の転送バッフア内のデータ量が予め設定した第２の閾値以下になったときに前記メインメモリから前記第２の転送バッフアへの転送回数を増やすように調停する調停機能と、
を実現させるためのデータ転送制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、高速処理が可能なデジタル複合機等の画像処理装置と、データ転送制御プログラムに関する。
【背景技術】
【０００２】
従来、画像データやその他のデータを扱う電子写真方式の画像形成装置、例えばデジタル複合機(ＭＦＰ)では、スキャナやプリンタ等の複数のデバイス間のインタフェースにＰＣＩバス等のパラレル方式のバスが使用されている。また、スキャナからの画像データを処理するＡＳＩＣ、ＰＣ（Personal computer）からの印刷データを展開処理するＡＳＩＣ、プリンタへの画像データを処理するＡＳＩＣなど、機能毎のＡＳＩＣが用いられ、それぞれのＡＳＩＣにローカルメモリが接続されていた。
【０００３】
また各デバイス間で転送される大量のデータを絶え間なく管理するとともに、スキャナやプリンタなどの画像入出力装置の機能を果たすように各デバイスを制御する必要がある。しかしながら、高速処理の要求、即ちＣＰＵやメインメモリの高速化、大量の計算を必要とするアプリケーションのサポート、外部装置とのコネクティビティ(接続性)の向上などが要求される場合には、画像データや制御コマンドなどの種々のデータの流れの速度(転送帯域)も高速化していく必要がある。
【０００４】
特許文献１には、ＰＣＩeｘｐｒｅｓｓなどの高速シリアルバスを使用した画像処理システムが開示されている。高速シリアルバスを使用することで、データ転送帯域が広くなり、ローカルメモリを使用して処理されていたデータをメインメモリに集中させることが可能になる。結果として複数のメモリデバイスが不要となるので、低コスト化を図ることができる。
【０００５】
一方、データがメインメモリに集中するため、データ転送の調停に関しては難易度が上がるデメリットもある。特に、ＭＦＰでは、ＣＰＵが種々のアプリケーションをバックグラウンドで処理しながら、スキャナやプリンタ（原稿の読み取り／印刷）が動作を開始した場合、用紙は一定速度で搬送されるため、これに間に合うようにデータ処理をする必要がある。
【０００６】
特に、スキャナ画像処理パスでは、スキャナからの出力画像データをメインメモリに滞りなく書込む必要があり、プリンタ画像処理パスでは、メインメモリ上に展開されている印刷画像データを滞りなく読み出してプリンタエンジンへ出力する必要がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１７２７２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
発明が解決しようとする課題は、データの転送制御を行い、スキャナ画像処理パスでのオーバーフローやプリント画像処理パスでのアンダーランを防止する画像処理装置を提供することにある。
【課題を解決するための手段】
【０００９】
実施形態に係る画像処理装置は、第１の転送バッファを含み画像読取部で読み取った画像データを処理する第１の画像処理部と、前記第１の転送バッファから転送された画像データを記憶するメインメモリと、第２の転送バッファを含み前記メインメモリから読み出された画像データを処理して画像出力部に出力する第２の画像処理部と、前記第１の転送バッファ内のデータ量、及び前記第２の転送バッファ内のデータ量を監視する監視部と、前記第１の転送バッフア内のデータ量が予め設定した第１の閾値以上になったときに前記第１の転送バッフアから前記メインメモリへの転送回数を増やし、前記第２の転送バッフア内のデータ量が予め設定した第２の閾値以下になったときに前記メインメモリから前記第２の転送バッフアへの転送回数を増やすように調停する調停部と、を備える。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る画像処理装置を備えた画像形成装置の構成図。
【図２】一実施形態に係る画像形成装置の制御系であるシステムコントローラの構成を示すブロック図。
【図３】一実施形態に係る画像処理装置を簡略化して示すブロック図。
【図４】一実施形態における画像処理部Ｓに内蔵される転送バッファとその動作を示す説明図。
【図５】一実施形態における画像処理部Ｐに内蔵される転送バッファとその動作を示す説明図。
【図６】一実施形態における通常動作時の調停の動作を示す説明図。
【図７】一実施形態におけるNear FULL信号／Near EMPTY信号がアサートされたときの調停状態の一例を示す説明図。
【図８】一実施形態におけるNear FULL信号／Near EMPTY信号がアサートされたときの調停状態の他の例を示す説明図。
【発明を実施するための形態】
【００１１】
以下、発明を実施するための実施形態について、図面を参照して説明する。尚、各図において同一箇所については同一の符号を付す。
【００１２】
（第１の実施形態）
図１は、一実施形態に係る画像処理装置を備えた画像形成装置の構成図である。図１において、画像形成装置１０は例えば複合機であるＭＦＰ（Multi-Function Peripherals）や、プリンタ、複写機等である。以下の説明ではＭＦＰを例に説明する。画像形成装置（ＭＦＰ）１０の上部には、自動原稿送り装置（ＡＤＦ）１１、透過性の原稿載置台１２、及び操作パネル１３を備えている。またＭＦＰ１０の下部には複数の給紙装置１４を設け、ＭＦＰ１０の側面には、用紙を積載するトレイ１５を設けている。
【００１３】
またＭＦＰ１０は、ＡＤＦ１２の下部にスキャナ部２０とプリンタ部３０を備えている。スキャナ部２０は、原稿の画像を読み取るものであり、プリンタ部３０は、読み取った画像データをもとに用紙等の記録媒体に画像を形成する。以下の説明では、記録媒体として用紙Ｓを使用する例を述べる。
【００１４】
スキャナ部２０は画像読取部を構成し、キャリッジ２１、露光ランプ２２、反射ミラー２３、集光レンズ２４、ＣＣＤ（Charge Coupled Device）ラインセンサ２５、及びレーザユニット２６を含む。スキャナ部２０は、ＡＤＦ１１によって送られてくる原稿、又は原稿載置台１２に置かれた原稿をスキャンして読み取るため、キャリッジ２１に設けた露光ランプ２２からの光を原稿載置台１２の下方から原稿に照射する。そして原稿からの反射光を反射ミラー２３及び集光レンズ２４を介してＣＣＤラインセンサ２５に取り込む。
【００１５】
ＣＣＤラインセンサ２５は、受光面に青色、緑色、赤色の色フィルタを配置した３つのラインセンサと、各ラインセンサに対応して設けたシフトレジスタを含む。各ラインセンサに入射した光は、光電変換され画像情報を出力する。画像情報はアナログ信号として出力され、アナログ信号はデジタル信号に変換され、さらに画像処理されて画像データを生成する。画像データは、レーザユニット２６に供給され、レーザユニット２６からは、画像データに従ってレーザビームを生成する。
【００１６】
プリンタ部３０は画像出力部を構成し、回転可能な感光体ドラム３１を有する。感光体ドラム３１は像担持体であり、感光体ドラム３１の周囲には、回転方向に沿って帯電装置３２、現像装置３３、転写装置３４、クリーニング装置３５、除電ランプ３６を有する。レーザユニット２６からのレーザビームは、感光体ドラム３１に照射され、感光体ドラム３１の外周面には、原稿の画像情報に対応した静電潜像が形成される。
【００１７】
画像形成が始まると、帯電装置３２は所定の放電位置で放電し、回転する感光体ドラム３１の外周面に電荷を軸方向に均一に帯電させる。次に、感光体ドラム３１に対してレーザユニット２６からレーザビームが照射され、感光体ドラム３１の外周面に静電潜像が形成され、かつ保持される。
【００１８】
感光体ドラム３１の外周面には、現像装置３３から現像剤（例えばトナー）が提供され、静電潜像はトナー像に変換され現像される。また用紙Ｓは給紙装置１４から搬送路３７１を経由して一定速度で搬送され、感光体ドラム３１の外周面に形成されたトナー像が、転写装置３４によって用紙Ｓに静電的に転写される。感光体ドラム３１上に残った紙カス等の異物は、転写装置３４の後工程に配置したクリーニング装置３５によって除去する。除電ランプ３６は、感光体ドラム３１の外周面の残留電荷を除去する。
【００１９】
尚、図１では、画像形成部を簡略化して示しているが、カラー画像を形成する場合は、ブラック、マゼンタ、シアン、イエロー等のカラー画像形成部を有する。またＭＦＰ１０は、ＰＣ（Personal computer）等から入力されたプリントデータを処理してプリンタ部３０に出力し印刷することもできる。
【００２０】
プリンタ部３０によってトナー像が転写された用紙Ｓは、搬送路３７２を介して定着装置３８に搬送される。定着装置３８は、定着ローラと加圧ローラを対向して配置し、定着ローラと加圧ローラ間に用紙Ｓを搬送することで、用紙Ｓに転写されたトナー像を用紙Ｓに定着する。トナー像が定着され画像形成が完了した用紙Ｓは、排紙ローラ３９によってトレイ１５に排出する。
【００２１】
図２は、実施形態に係る画像形成装置（ＭＦＰ）１０の制御系であるシステムコントローラの構成を示すブロック図である。図２において、システムコントローラ１００は画像処理装置を構成し、ＡＳＩＣ（Application Specified IC）４０と、システムＬＳＩ５０を含む。
【００２２】
ＡＳＩＣ４０は、画像処理部４１、画像処理部４２、処理部４３，４４，４５、調停部４６、ＰＣＩｅコントローラ４７及びＰＨＹ（Physical Layer Device）４８を含む。画像処理部４１は、スキャナ部２０からの画像データを処理するものであり、以下の説明では画像処理部Ｓと呼ぶこともある。画像処理部４２は、プリンタ部３０に出力する画像データを処理するものであり、以下の説明では画像処理部Ｐと呼ぶこともある。処理部４３，４４，４５は、スキャナ部２０及びプリンタ部３０にてコピーやプリントを行っているときに、バックグラウンドで各種の処理（例えばＰＤＦ化等の処理）を行う。
【００２３】
調停部４６は、画像処理部４１からの画像データや、画像処理部４２に出力する画像データの通過を制御し、かつ処理部４３，４４，４５からのデータ及び処理部４３，４４，４５へのデータの通過を制御するものであり、データパスを確保してどのデータを通すかを調停する。ＰＨＹ４８は、論理信号と電気的な信号との変換を行うもので、ＰＣＩｅコントローラ４７と、後述するＰＣＩｅコントローラ６０間に接続し、ＡＳＩＣ４０とシステムＬＳＩ５０との間でデータのやりとりを行う。
【００２４】
システムＬＳＩ５０は、ＳｏＣ（System On Chip）と呼ばれるチップであり、コンピュータを構成する。システムＬＳＩ５０は、高速通信が可能な内部バス５１を含む。バス５１には、ＣＰＵ５２、ブリッジ５３、メモリコントローラ５４、Ｅｔｈｅｒｎｅｔ（登録商標）等のインタフェース５５、ＵＳＢコントローラ５６、ＳＡＴＡ（Serial Advanced Technology Attachment）コントローラ５７、ＬＣＤコントローラ５８、Ｉ／Ｏデバイス５９、ＰＣＩｅコントローラ６０が接続されている。
【００２５】
メモリコントローラ５４には、メインメモリ６１が接続され、ＳＡＴＡコントローラ５７には、画像データを記憶する記憶装置であるＨＤＤ６２が接続されている。またＩ／Ｏデバイス５９にはＲＡＭ６３及びＲＯＭ６４が接続されている。
【００２６】
また、Ｅｔｈｅｒｎｅｔ(登録商標)５５は、ネットワーク７１に接続されており、ネットワーク７１にはＰＣ（Personal computer）７２等の端末装置が接続されている。さらにＵＳＢコントローラ５６にはオプションデバイス７３が接続され、ＬＣＤコントローラ５８には表示部７４が接続され、Ｉ／Ｏデバイス５９には操作部７５が接続されている。
【００２７】
システムＬＳＩ５０のＣＰＵ５２は、ＭＦＰ１０の全体の動作を制御するものであり、ＣＰＵ５２は、ＲＯＭ６４に記憶された制御プログラムに基づいて各部を制御する。ＲＡＭ６３は、一時的にデータを記憶するものである。ブリッジ５３は、ＣＰＵ５２、メインメモリ６１、及びバス５１に接続されたデバイス（ＨＤＤ等）の相互間のデータの入出力を制御する。
【００２８】
メモリコントローラ５４は、ＣＰＵ５２の指示のもとにメインメモリ６１を制御して、メインメモリ６１への画像データの記憶、及び読出しを制御する。メインメモリ６１は、複数ページ分の画像情報を記憶できる領域を有し、例えばスキャナ部２０からの画像情報を１ページ分ごとに記憶可能である。
【００２９】
Ｅｔｈｅｒｎｅｔ(登録商標)５５は、ネットワーク７１を介して外部機器、例えばサーバや、ＰＣ７２（Personal Computer）に接続可能であり、例えばＰＣ７２からの画像データを取り込み、メインメモリ６１に記憶することができる。
【００３０】
ＵＳＢコントローラ５６は、オプションデバイス７３（例えばＵＳＢメモリ）からのデータの取り込みやデータの書込みを制御する。ＳＡＴＡコントローラ５７は、コンピュータとＨＤＤ６２等の記憶装置とを接続するもので、高速な転送速度でシリアル転送を行うものである。ＨＤＤ６２は、スキャナ部２０で読み取った画像データや、ＰＣ７２からの画像データ（文書データや描画イメージデータ等）を圧縮して記憶する。
【００３１】
ＬＣＤコントローラ５８は、液晶パネルでなる表示部７４に各種の情報を表示する。Ｉ／Ｏデバイス５９に接続された操作部７５は、印刷部数の指示等を行うテンキー等を含み、操作部７５からシステムＬＳＩ５０に対してユーザの指示を入力することができる。
【００３２】
ＰＣＩｅコントローラ６０は、ＡＳＩＣ４０からのデータを、ＰＣＩｅバス５１を介してシステムＬＳＩ５０に伝送し、またシステムＬＳＩ５０のデータを、ＰＣＩｅバス５１を介してＡＳＩＣ４０に伝送するように信号のやり取りを制御する。
【００３３】
スキャナ部２０は、イメージセンサ２５を駆動するＣＣＤドライバ等によって構成されている。ＣＣＤドライバは、イメージセンサ２５を駆動して原稿の画像を読み取り、画像データに変換する。プリンタ部３０は、レーザユニット２６のレーザを駆動するレーザドライバを含み、レーザユニット２６からは画像データに従ってレーザビームが照射される。
【００３４】
図２のシステムコントローラにおいて、スキャン動作時（スキャナ画像処理パス）とプリント動作時（プリンタ画像処理パス）のデータの流れを説明する。
【００３５】
先ずスキャン動作時には、スキャナ部２０から画像処理部Ｓ→調停部４６→ＰＣＩｅコントローラ４７→ＰＨＹ４８→ＰＣＩｅコントローラ６０→バス５１→ブリッジ５３→メモリコントローラ５４→メインメモリ６１へとデータが伝送され、メインメモリ６１にスキャナ部２０で読み取った画像データが記憶される。
【００３６】
またプリント動作時には、メインメモリ６１→メモリコントローラ５４→ブリッジ５３→バス５１→ＰＣＩｅコントローラ６０→ＰＨＹ４８→ＰＣＩｅコントローラ４７→調停部４６→画像処理部Ｐへとデータが伝送され、メインメモリ６１に記憶された画像データがプリンタ部３０に出力される。
【００３７】
尚、スキャン動作時には、スキャナ部２０から一定速度で画像データが入力され、プリンタ動作時には、画像処理部Ｐから一定速度でプリンタ部３０に画像データが出力される。つまりＭＦＰ１０は、スキャナ部２０によって原稿を読取ってコピーするとき、又はＰＣ７２からの画像データをプリントする場合、用紙は一定速度でＭＦＰ１０内に搬送される。
【００３８】
図３は、上記したデータの流れを説明するため、実施形態に係る画像処理装置（システムコントローラ１００）を簡略化して示すブロック図である。図３では、スキャナ部２０で読み取ったデータが画像処理部Ｓで処理され、調停部４６を介してメインメモリ６１に記憶される部分と、メインメモリ６１に記憶された画像データが読み出され、調停部４６を介して画像処理部Ｐで処理されプリンタ部３０に出力される部分を示し、ブリッジ５３、バス５１、ＰＣＩｅコントローラ６０、ＰＨＹ４８、ＰＣＩｅコントローラ４７の信号路は省略し矢印（ＰＣＩｅ）で示している。
【００３９】
画像処理部Ｓ及び画像処理部Ｐの制御、メモリコントローラ５４の制御、調停部４６の制御はＣＰＵ５２が行う。ＣＰＵ５２は、ＲＯＭ６４に記憶された制御プログラムに基づいて各部を制御し、スキャナ部２０で読み取った画像データをメインメモリ６１に書込み、メインメモリ６１から読み出した画像データを読み出してプリンタ部３０に出力するデータ転送制御を行う。図３において、「ＷＲ」はデータの書込み（ライト）を意味し、「ＲＤ」は読出し（リード）を意味する。
【００４０】
図４及び図５は、画像処理部Ｓと画像処理部Ｐにそれぞれ内蔵される転送バッファを示す図である。画像処理部４１は、転送バッファ４０１を有し、転送バッファ４０１は複数のバッファ（Sbuf １〜Sbuf n）を含む。同様に画像処理部４２は、転送バッファ４０２を有し、転送バッファ４０２は複数のバッファ（Pbuf １〜Pbuf n）を含む。
【００４１】
スキャン動作時には、スキャナ部２０から一定速度で画像データが入力され、順次に転送バッフア４０１に書込まれ、メインメモリ６１に転送される。またプリント動作時には、メインメモリ６１から読み出された画像データが転送バッフア４０２に転送され、転送バッフア４０２から読み出された画像データがプリンタ部３０に一定速度で出力される。
【００４２】
ところで、スキャン動作時には、スキャナ部２０から転送バッフア４０１へ一定速度で画像データが入力されるが、メインメモリ６１側のデータの転送が遅い、或いは待たされるとバッファ（Sbuf １〜Sbuf n）に順次にデータが貯まっていき、転送バッファ４０１がフル状態になってもなおスキャナ部２０からデータが入力されるとオーバーフローとなってしまう。
【００４３】
またプリント動作時には、転送バッフア４０２からプリンタ部３０に一定速度でデータが出力されるが、メインメモリ６１側のデータの転送が遅いと、バッファ（Pbuf １〜Pbuf n）に貯まったデータが無くなりアンダーランになる。このため、プリンタ部３０では、用紙が搬送されているにも拘わらずプリントデータが送られず印刷漏れを生じる。
【００４４】
画像形成装置１０では、スキャナ部２０やプリンタ部３０が動作（原稿の読み取り／印刷）を開始すると、用紙は一定速度で搬送されるため、これに間に合うようにデータ処理をする必要がある。しかしながら、画像形成装置１０では、ＣＰＵ５２が種々のアプリケーションをバックグラウンドで処理するため、処理部４３〜４５での処理などが割り込むことがあり、メインメモリ６１へのデータ書込みや、メインメモリ６１からのデータの読出しがスムーズにいかず支障を来すことがある。
【００４５】
本実施形態では、データ転送の速度差を吸収するため、ライトポインタとリードポインタの差から転送バッファ内のデータ量を監視し、格納されているデータ量が予め設定したスレッシュホルド値を超えた場合に検知信号を調停部に出力し、転送回数を調整することで転送バッファ内のデータ量を制御するものである。
【００４６】
即ち、図３において、画像処理部Ｓ及び画像処理部Ｐは、ＣＰＵ５２の制御のもとに動作する監視部を含み、監視部は、転送バッファ４０１、４０２のライトポインタとリードポインタの差から転送バッファ内のデータ量を算出し、格納されているデータ量が予め設定したスレッシュホルド値を超えた場合、画像処理部Ｓの監視部は、Near FULLの検知信号を調停部４６に送り、画像処理部Ｐの監視部は、Near EMPTY検知信号を調停部４６に送る。
【００４７】
例えば図４において、スキャナ部２０から転送バッフア４０１に画像データが書き込まれ、順次にメインメモリ６１に転送されればライトポイントとリードポイントの差はほぼ一定値になる。しかしながら、オーバーフローの状態ではライトポイントは高くなるのに対しリードポイントが低いためライトポイントとリードポイントの差は大きくなる。したがって、差が予め設定したスレッシュホルド値以上になったときに、画像処理部Ｓは第１の信号を出力する。即ち、第１の信号は、転送バッファ４０１がオーバーフロー状態に近いことを示すNear FULL信号である。
【００４８】
また図５において、メインメモリ６１から転送バッフア４０２に画像データが転送され、転送バッフア４０２から読み出されたデーが順次にプリンタ部３０に出力されればライトポイントとリードポイントの差はほぼ一定値になる。しかしながら、アンダーランの状態ではライトポイントが低くなり、かつリードポイントも低いためライトポイントとリードポイントの差が小さくなる。したがって、差が予め設定したスレッシュホルド値以下になったときに、画像処理部Ｐは第２の信号を出力する。即ち、第２の信号は、転送バッフア４０２がアンダーラン状態に近いことを示すNear EMPTY信号である。
【００４９】
調停部６２は、Near FULL信号又はNear EMPTY信号を受けると、転送バッファ４０１からメインメモリ６１へのデータの転送回数を強制的に増やし、またメインメモリ６１から転送バッファ４０２へのデータの転送回数を強制的に増やしてプリンタ部３０へ一定の速度でデータを出力する。つまり、スキャナ部２０からは一定速度でデータが転送バッファ４０１に入力されるが、Near FULL信号を受けることで調停部６２はメインメモリ６１にデータを書込む。またNear EMPTY信号を受けることで調停部４６はメインメモリ６１からのデータを読出し、転送バッファ４０２から一定速度でプリンタ部３０にデータが出力されるように制御する。以下、調停部６２の動作を説明する。
【００５０】
図６は、通常動作時の調停の様子を示しており、画像処理部Ｓ１と画像処理部Ｐ１をＨｉｇｈグループとし、それ以外の処理部４３，４４，４５をＬｏｗグループとしてラウンドロビンアルゴリズムで調停を行う。画像処理部Ｓ１はスキャンした画像を処理するため「Ｓ」の符号を記し、画像処理部Ｐ１はプリントする画像を処理するため「Ｐ」の符号を記す。また、処理部４３，４４，４５の処理をＡ，Ｂ，Ｃの符号で示す。
【００５１】
図６において、通常は、画像処理部Ｓ１→画像処理部Ｐ１→Ｌの順番で処理を行う。画像処理部Ｓ１の順番になると転送バッファ４０１からメインメモリ６１へデータが転送され、画像処理部Ｐ１の順番になるとメインメモリ６１から転送バッファ４０２へデータが転送さる。またＬの順番になると処理部Ａ，Ｂ，Ｃのいずれか１つとメインメモリ６１間の処理が行われる。バックグラウンドの処理（Ａ，Ｂ，Ｃ）が無い場合は、Ｌの処理はパスされる。
【００５２】
図７は、Near FULL信号／Near EMPTY信号がアサートされたときの調停状態を示す。図７の例では、通常の転送以外に追加で各１回（Ｓ２、Ｐ２）の転送を行うように調停する例を示す。
【００５３】
例えば、スキャン動作時にはスキャナ部２０から一定速度でデータが入力されるが、メインメモリ６１側の転送が遅いあるいは待たされると転送バッファ４０１にデータが貯まっていく。転送バッファ４０１がフル状態になってもなおスキャナ部２０からデータが入力されるとオーバーフローとなってしまう。したがって、この状態を避けるためにフルになりそうになる状態を検知するとNear FULL信号が調停部４６に送られ、Ｓ２の処理において強制的に転送回数を１回増やし、メインメモリ６１へデータを転送し、バッファ４０１内のデータ量を減らすように制御する。
【００５４】
またプリント動作時には、画像処理部４２から一定速度でデータが出力されるが、メインメモリ６１側のデータの転送が遅いと、転送バッファ４０２に貯まったデータが無くなりアンダーフローになる。このため、プリンタ部３０では、用紙が搬送されているにも拘わらずプリントできないことになる。したがって、この状態を避けるためにアンダーフローになりそうになる状態を検知するとNear EMPTY信号が調停部４６に送られ、Ｐ２の処理において強制的に転送回数を１回増やし、メインメモリ６１から転送バッファ４０２へデータを転送し、転送バッファ４０２内のデータ量を増やすように制御する。
【００５５】
図８は、Near FULL信号／Near EMPTY信号がアサートされたときに、追加で２回（Ｐ３、Ｓ２、Ｓ３、Ｐ２）の転送を行うように調停する例を示す。スキャナとプリンタの処理の優先順位はともにＨｉｇｈグループであり、スキャナとプリンタのどちらかに偏ると他方がエラー状態になる可能性があるため、敢えて順番をＳ１→Ｐ３→Ｓ２→Ｐ１→Ｓ３→Ｐ２（→Ｓ１に戻る）のように互い違いにしている。
【００５６】
また、Near FULL信号／Near EMPTY信号を検知するためのスレッシュホルド値は、一定の値にせず、プログラマブルにすれば、外部条件が変わっても対応可能となる。
【００５７】
以上説明した実施形態によれば、調停のやり方をダイナミックに変えてデータの転送制御を行うことにより、データ転送の破綻（スキャナ画像処理パスでのオーバーフローやプリント画像処理パスでのアンダーラン）を防止することができる。特に用紙を一定速度で搬送する電子写真方式の画像形成装置では、スムーズな印刷が可能となり、印刷ミスを低減することができる。
【００５８】
尚、プリンタ部３０の構成は、図１に示した例に限らず、他の方式、例えば中間転写ベルトを使用した方式などを用いることもできる。
【００５９】
また本実施の形態では、装置（ＭＦＰ１０）内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等のプログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は、装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００６０】
尚、本発明のいくつかの実施形態を述べたが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６１】
１０…画像形成装置（ＭＦＰ）
１１…画像形成装置本体
２０…スキャナ部（画像読取部）
３０…プリンタ部（画像出力部）
４０…ＡＳＩＣ
４１…画像処理部Ｓ
４２…画像処理部Ｐ
４６…調停部
４７，６０…ＰＣＩｅコントローラ
５０…システムＬＳＩ（ＳｏＣ）
５２…ＣＰＵ
５４…メモリコントローラ
６１…メインメモリ
６４…ＲＯＭ
【図１】
2015076691.tif 000003
【図２】
2015076691.tif 000004
【図３】
2015076691.tif 000005
【図４】
2015076691.tif 000006
【図５】
2015076691.tif 000007
【図６】
2015076691.tif 000008
【図７】
2015076691.tif 000009
【図８】
2015076691.tif 000010