(57)【要約】【課題】本発明は、複数のアプリケーションが動作する状態で適切なデータ転送を行うデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関する。【解決手段】複合装置１は、少なくとも画像データの主走査サイズが格納可能な複数のラインＦＩＦＯ３４ａ〜３４ｎの状態を監視して、リード要求制御回路５２が、データの格納されるメインメモリ８へのアクセス要求を調停するアービタに対するメモリリード要求の発行を、該ラインＦＩＦＯ３４ａ〜３４ｎの監視結果に基づいて制御している。【選択図】          図４
2012034254.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも画像データの主走査サイズが格納可能な複数のラインメモリと、
前記各ラインメモリの状態を監視するメモリ状態監視手段と、
データの格納されているメモリと、
前記メモリへのアクセス要求を調停するアービタと、
前記メモリからメモリリードしたデータを格納する１つ以上のバッファを有し、前記各メモリ状態監視手段の監視結果に基づいて、前記アービタに対する前記メモリリード要求の発行を制御するリード制御手段と、
を備えていることを特徴とするデータ転送装置。
【請求項２】
前記メモリ状態監視手段は、
前記各ラインメモリが空であるか否か、または、データによって満充填である否か、あるいは、満充填でないか否かを検出することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記メモリ状態監視手段は、
前記ラインメモリに対するデータの充填度合いを検出することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記リード制御手段は、
前記メモリ状態監視手段の監視結果に基づいて、メモリリード要求の発行数を決定する発行数決定手段を備え、該発行数決定手段の決定した発行数だけメモリリード要求の発行を行うことを特徴とする請求項１から請求項３のいずれかに記載のデータ転送装置。
【請求項５】
前記データ転送装置は、
前記ラインメモリの数、メモリリード要求の発行数の上限及び前記ラインメモリの充填度合いの評価基準が設定されるレジスタを備え、
前記メモリ状態監視手段は、前記レジスタに設定されたラインメモリの数だけ、該レジスタに設定されたラインメモリの充填度合いの評価基準に基づいてラインメモリの状態を監視し、
前記リード制御手段は、前記メモリ状態監視手段の監視結果に基づいて、前記レジスタに設定されるラインメモリの数とメモリリード要求の発行数の上限とに基づいて、メモリリード要求の発行を制御することを特徴とする請求項１から請求項４のいずれかに記載のデータ転送装置。
【請求項６】
少なくともメモリに格納された画像データをデータ転送部によって印刷手段に転送して、該印刷手段で画像形成する画像処理装置において、
前記データ転送部として、請求項１から請求項５のいずれかに記載のデータ転送装置を搭載していることを特徴とする画像形成装置。
【請求項７】
少なくとも画像データの主走査サイズが格納可能な複数のラインメモリの状態を監視するメモリ状態監視処理ステップと、
データの格納されるメモリへのアクセス要求を調停する調停処理ステップと、
データの格納されているメモリからメモリリードしたデータを格納する１つ以上のバッファを有し、前記各メモリ状態監視処理ステップによる監視結果に基づいて、前記調停処理ステップに対する前記メモリリード要求の発行を制御するリード制御処理ステップと、
を有していることを特徴とするデータ転送制御方法。
【請求項８】
コンピュータに、
少なくとも画像データの主走査サイズが格納可能な複数のラインメモリの状態を監視するメモリ状態監視処理と、
データの格納されるメモリへのアクセス要求を調停する調停処理と、
データの格納されているメモリからメモリリードしたデータを格納する１つ以上のバッファを有し、前記各メモリ状態監視処理による監視結果に基づいて、前記調停処理に対する前記メモリリード要求の発行を制御するリード制御処理と、
を実行させることを特徴とするデータ転送制御プログラム。
【請求項９】
請求項８記載のデータ転送制御プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関し、詳細には、複数のアプリケーションが動作する状態で適切なデータ転送を行うデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に関する。
【背景技術】
【０００２】
画像処理装置、例えば、複写装置、複合装置、ファクシミリ装置、スキャナ装置等においては、高速化、高機能化が図られ、それに伴ってスキャナ部での読み取り性能やプロッタ部での書き込み性能の高速化が要求される。また、スキャナ部での読み取り性能やプロッタ部での書き込み性能の向上に伴って、画像データを高速に処理できるコントローラが必要となってきている。例えば、プリンタ動作の場合、ラインずれ等の異常画像を出力させないためには、プロッタでの書き込み速度に合わせて印刷データをコントローラからプロッタ部に供給する必要があるが、従来、コントローラは、コントローラを構成するコントローラＡＳＩＣ（Application Specific Integrated Circuit）が、メインメモリ上に展開された印刷データを、コントローラＡＳＩＣ上のＤＭＡＣ（Direct Memory Access Controller ：ＤＭＡコントローラ）によって、リードしてプロッタ部に出力しており、このＤＭＡＣによるメインメモリ上の印刷データのリード処理をより高速に行うために、従来、複数のリード要求を発行する技術が知られている（特許文献１参照）。特に、特許文献１には、システム全体のパフォーマンスを向上させるために、優先順位の異なる複数のＤＭＡＣからの転送要求を調停する際に、優先順位の高いＤＭＡＣからの転送要求を適宜制限して、システム全体のパフォーマンスの向上を図る技術が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術にあっては、例えば、メインメモリから印刷データをリードする場合、ＤＭＡＣの転送において、ソフトウェアで設定されたリード要求数に従って、メインメモリから印刷データを高速にリードしているのみであったため、近年の複合装置等のようにマルチファンクション化が進んで複雑化すると、複数のアプリケーションが並列に動作を行うこととなる。例えば、スキャナアプリケーションで画像を取り込みながら、プリンタアプリケーションで印刷を行うような場合が発生する。このような場合、コントローラＡＳＩＣ内では、複数のＤＭＡＣが動作するが、一般的に印刷データをリードするＤＭＡＣは、ライン等時性を確保する必要があるため、メインメモリ上のアクセスの優先度が高くなっている。その結果、他のＤＭＡＣのメモリアクセスが遅くなり、次ページの印刷データの処理(回転や編集処理等)や他のアプリケーションのデータ処理が遅くなり生産性が悪化する。その結果、印刷データの出力におけるライン等時性の確保と他のアプリケーションにおける生産性の向上の両立を図ることが困難であるという問題があった。
【０００４】
そして、上記公報記載の従来技術にあっては、システム全体のパフォーマンスを向上させるために、優先順位の異なる複数のＤＭＡＣからの転送要求を調停する場合に、優先順位の高いＤＭＡＣからの転送要求を適宜制限しているのみであるため、なお、上記印刷データ出力におけるライン等時性の確保と他のアプリケーションにおける生産性の向上の両立を図ることができず、改良の必要があった。
【０００５】
そこで、本発明は、データの等時性と複数のアプリケーションの生産性の向上を図ることのできるデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明は、上記目的を達成するために、少なくとも画像データの主走査サイズが格納可能な複数のラインメモリの状態を監視して、データの格納されるメモリへのアクセス要求を調停するアービタに対するメモリリード要求の発行を、該ラインメモリの監視結果に基づいて制御することを特徴としている。
【０００７】
また、本発明は、前記ラインメモリのメモリ状態として、各ラインメモリが空であるか否か、または、データによって満充填である否か、あるいは、満充填でないか否か、または、該ラインメモリに対するデータの充填度合いを検出することを特徴としてもよい。
【０００８】
さらに、本発明は、前記ラインメモリの監視結果に基づいて、メモリリード要求の発行数を決定することを特徴としてもよい。
【発明の効果】
【０００９】
本発明によれば、データの等時性と複数のアプリケーションの生産性の向上を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図２】コントローラＡＳＩＣのブロック構成図。
【図３】ビデオ出力部のブロック構成図。
【図４】ラインＦＩＦＯ及びＤＭＡＣのブロック構成図。
【図５】コントローラＡＳＩＣでのデータリードにおいてラインシンク間でラインＦＩＦＯの充填動作が間に合う場合の各信号のタイミング図。
【図６】コントローラＡＳＩＣでのデータリードにおいてラインシンク間でラインＦＩＦＯの充填動作が間に合わない場合の各信号のタイミング図。
【発明を実施するための形態】
【００１１】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１２】
図１〜図６は、本発明のデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を示す図であり、図１は、本発明のデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体の一実施例を適用した複合装置１のブロック構成図である。
【００１３】
図１において、複合装置１は、スキャナ２、プロッタ３、画像処理ＡＳＩＣ４、コントローラＡＳＩＣ５、チップセット６、ＣＰＵ７、メインメモリ８及びＩ／Ｏ  ＡＳＩＣ９等を備えており、スキャナモード、コピーモード、プリンタモード、データ転送モード等の複数のアプリケーションモードを備えている。複合装置１は、後述するように、印刷データをメインメモリ８上からリードするＤＭＡＣ処理において、後段の出力ラインＦＩＦＯの状態を監視しながらパフォーマンス向上のための先読みリード要求の発行制御を行う。
【００１４】
スキャナ２は、例えば、ＣＣＤ（Charge Coupled Device ）、ＣＩＳ（Contact Image Sensor：密着イメージセンサ）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor ）等を用いたスキャナ等が用いられており、原稿の表面を主走査及び副走査して該原稿の表面の画像を読み取る。スキャナ２は、原稿の表面の画像を読み取ったアナログの画像データを図示しないＡ／Ｄ（アナログ／デジタル）変換器でデジタル変換して、デジタルの表面画像データを画像処理ＡＳＩＣ４に出力する。すなわち、スキャナ２は、プロッタ３で印刷出力する画像データや外部インターフェイスへ出力するための画像データを読み取って、画像処理ＡＳＩＣ４に出力する。
【００１５】
プロッタ３は、所定の画像形成方式、例えば、電子写真方式でカラー画像を用紙（印刷媒体）に印刷出力し、例えば、印刷部が電子写真方式の場合には、回転駆動される感光体を中心に、光書き込み部、現像部及び転写部、定着部、帯電部及びクリーニング部等が配設されている各色（例えば、ＣＭＹＫ色）の印刷ユニットが搬送路上に所定間隔空けて並んで配設されている。このような電子写真方式のプロッタ３は、その各色の印刷ユニットが、帯電部で一様に帯電された感光体上に、印刷部が画像処理ＡＳＩＣ４からの画像データに基づいて変調した書き込み光を照射して、静電潜像を形成する。各色の印刷ユニットは、この静電潜像の形成された感光体に現像部から該印刷ユニットに対応する色のトナー（現像剤）を供給して現像し、感光体上のトナー画像を転写部と感光体との間に給紙カセットから用紙搬送部によって搬送されてきた用紙に、各色の印刷ユニットで、各色のトナー画像を重ね合わせるように転写して、カラーのトナー画像の転写が完了した用紙を定着部に搬送して、定着部で定着させる。
【００１６】
画像処理ＡＳＩＣ４は、スキャナ２で読み取られた原稿の画像データに適宜の補正を行った画像データ及び原稿における文字部／写真部、有彩／無彩を判定した画像分離データを生成してコントローラ５に出力し、また、コントローラＡＳＩＣ５から送られてくる画像データをプロッタ３で印刷できるように画像処理したり、プロッタ３の印刷タイミングにあわせて画像データを送る。
【００１７】
コントローラＡＳＩＣ５は、チップセット６越しにメインメモリ８を使って複合装置１で扱う画像データの回転、編集等を行ったり、図示しないハードディスクに蓄積するために、画像処理ＡＳＩＣ４と画像データを送受信する。
【００１８】
チップセット６は、ＣＰＵ７とともに用いられ、ＣＰＵ７、コントローラＡＳＩＣ５及びＩ／Ｏ  ＡＳＩＣ９が、メインメモリ８へアクセスすることを制御する。
【００１９】
メインメモリ８は、ＣＰＵ７が複合装置１を制御するための基本プログラム、本発明のデータ転送制御プログラム及び必要なシステムデータが展開され、そのワーク領域として使用されるとともに、画像データ等の一時保管等を行う。
【００２０】
Ｉ／Ｏ  ＡＳＩＣ９は、複合装置１に付加機能を与えるための外部インターフェイス、例えば、ネットワークインターフェイス、ＵＳＢ（Universal Serial Bus）、ＳＤ（Secure Digital）カード、操作部、ＳＰＩ（Serial Peripheral Interface）、Ｉ２Ｃ（ＩスクウェアＣ）等のインターフェイスや画像処理を高速化するためのハードウェアアクセラレータ、暗号化処理回路等を追加することができる。
【００２１】
なお、複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤカード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明のデータ転送制御方法を実行するデータ転送制御プログラムを読み込んでメインメモリ８またはＲＯＭ（Read Only Memory）等に導入してメインメモリ８に展開することで、後述するデータの等時性と複数のアプリケーションの生産性の向上をさせるデータ転送制御方法を実行するデータ転送制御装置を搭載する複合装置１として構築されている。このデータ転送制御プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００２２】
そして、上記画像処理ＡＳＩＣ４とコントローラＡＳＩＣ５及びコントローラＡＳＩＣ５とチップセット６とは、要求と応答が分離され、応答を待たずに次の要求を発行できる高速のシリアルバスであるＰＣＩ（Peripheral Component Interconnect） Express（以下、ＰＣＩｅという。）で接続されている。
【００２３】
上記コントローラＡＳＩＣ５は、図２に示すようにブロック構成されており、ＰＣＩｅルートコンプレックス（以下、単に、ＰＣＩｅ Rootという。)１１、圧縮伸張器１２、１３、ＤＭＡＣ１２ａ、１２ｂ、１３ａ、１３ｂ、ビデオ入力部１４、ＤＭＡＣ１４ａ、ビデオ出力部１５、１６、１７、１８、ＤＭＡＣ１５ａ〜１５ｄ、１６ａ〜１６ｄ、１７ａ〜１７ｄ、１８ａ〜１８ｄ、アービタ１９、回転器２０、２１、ＤＭＡＣ２０ａ、２０ｂ、２１ａ、２１ｂ、編集器２２、ＤＭＡＣ２２ａ、２２ｂ、２２ｃ、ハードディスク（ＨＤＤ（Hard Disk Drive））制御部２３、ＤＭＡＣ２３ａ及びＰＣＩｅエンドポイント（以下、ＰＣＩｅ End Pointという。）２４等を備えている。
【００２４】
ＰＣＩｅ Root１１は、画像処理ＡＳＩＣ４と接続されているＰＣＩｅの制御を行い、画像処理ＡＳＩＣ４からのスキャナデータのライトの受け付けやプロッタデータのリードを受け付ける。
【００２５】
ＰＣＩｅ End Point２４は、チップセット６と接続されているＰＣＩｅの制御を行ない、アービタ１９でアビトレーションされたＤＭＡＣの要求に従って、メインメモリ８からデータをリードし、また、メインメモリ８にデータをライトする。また、ＰＣＩｅ End Point２４は、チップセット６越しのＣＰＵ７からコントローラＡＳＩＣ５内の各機能モジュール（圧縮伸長器１２、１３、ビデオ入力部１４、ビデオ出力部１５〜１８、回転器２０、２１、編集器２２及びハードディスク２３等）のレジスタのリード／ライト制御を行う。
【００２６】
圧縮伸長器１２、１３は、ＤＭＡＣ１２ａ、１３ａを使用して、メインメモリ８上の画像データを読み出して、圧縮または伸長して、ＤＭＡＣ１２ｂ、１３ｂを使用して、メインメモリ８上に書き戻す。
【００２７】
ビデオ入力部１４は、スキャナデータが画像処理ＡＳＩＣ４で処理された後、ＰＣＩｅ Root１１を経由して入力されると、このスキャナデータをＤＭＡＣ１４ａによってメインメモリ８上へライトする。
【００２８】
ビデオ出力部１５〜１８は、コントローラＡＳＩＣ５内の回転器２０、２１で回転されたり、編集器２２で編集等の処理の施された画像データを、ＰＣＩｅ Root１１を経由させて、画像処理ＡＳＩＣ４を介してプロッタ３へ出力する。また、ビデオ出力部１５〜１８は、圧縮伸長器１２、１３で圧縮された画像データを、ＤＭＡＣ１５ｂ、１６ｂ、１７ｂ、１８ｂによってメインメモリ８からリードし、内部の伸長器１２、１３で伸長してメインメモリ８を介さずに、ＰＣＩｅ Root１１を経由させてそのまま画像処理ＡＳＩＣ４へ出力、また、ＤＭＡＣ１５ｂ、１６ｂ、１７ｂ、１８ｂによってメインメモリ８上のスタンプ画像を元画像とともにリードして、スタンプ画像と元画像を合成して、ＰＣＩｅ Root１１を経由させて画像処理ＡＳＩＣ４に出力する。さらに、ビデオ出力部１５〜１８は、不正コピーガードを行うための地紋データ等を画像データに埋め込む機能を備えていてもよい。
【００２９】
アービタ１９は、全てのＤＭＡＣ１２ａ、１２ｂ、１３ａ、１３ｂ、１４ａ、１５ａから１５ｂ、１６ａ〜１６ｄ、１７ａ〜１７ｄ、１８ａ〜１８ｄ、２０ａ、２０ｂ、２１ａ、２１ｂ、２２ａ〜２２ｃ、２３ａと接続されており、各ＤＭＡＣ１２ａ、１２ｂ、１３ａ、１３ｂ、１４ａ、１５ａから１５ｂ、１６ａ〜１６ｄ、１７ａ〜１７ｄ、１８ａ〜１８ｄ、２０ａ、２０ｂ、２１ａ、２１ｂ、２２ａ〜２２ｃ、２３ａからのメインメモリ８へのアクセス要求をアビトレーション処理する（調停処理を行う）。アービタ１９は、通常は、スキャナデータやプロッタデータのライン等時性を確保するために、ビデオ入出力ＤＭＡＣ１４ａ、１５ａ〜１５ｄ、〜、１８ａ〜１８ｄからのアクセス要求を優先的に処理できるアビトレーションアルゴリズムとなっている。
【００３０】
回転器２０、２１は、ＤＭＡＣ２０ａ、２１ａによってメインメモリ８上の画像データをリードし、ＣＰＵ７によるレジスタ設定に従って、回転処理を行って、ＤＭＡＣ２０ｂ、２１ｂによってメインメモリ８へ書き戻す。
【００３１】
編集器２２は、ＤＭＡＣ２２ａ、２２ｂによって、２種類の画像データをメインメモリ８からリードして、ＣＰＵ７によるレジスタ設定に従って合成等の編集処理を行い、ＤＭＡＣ２２ｃによってメインメモリ８へ書き戻す。
【００３２】
ハードディスク制御部２３は、コントローラＡＳＩＣ５で扱う画像データを一時保存しておくために、メインメモリ８上の画像データを、ＤＭＡＣ２３ａによって、図示しないハードディスクへライトし、また、ハードディスクから画像データをリードしてメインメモリ８へライトする。
【００３３】
上記ビデオ出力部１５〜１８は、ビデオ出力部１５について、図３に示すようにブロック構成されており、以下、ビデオ出力部１５について説明するが、ビデオ出力部１６〜１８についても同様の構成である。
【００３４】
図３において、ビデオ出力部１５は、伸長器３１、伸長器Ｉ／Ｆ３２、合成器３３及びラインＦＩＦＯ（First-In First-Out）部３４等を備えており、ラインＦＩＦＯ部３４は、複数のラインＦＩＦＯ（ラインメモリ）３４ａ〜３４ｎを備えていて、例えば、Ａ０サイズの短手サイズの画像データを記憶する。
【００３５】
伸長器３１は、伸長器Ｉ／Ｆ３２を介して符号ＤＭＡＣ１５ａ、画像ＤＭＡＣ１５ｂ及びビデオ出力ＤＭＡＣ１５ｃに接続されており、合成器３３は、ビデオ出力ＤＭＡＣ１５ｃとスタンプＤＭＡＣ１５ｄに接続されているとともに、ラインＦＩＦＯ部３４に接続されている。
【００３６】
ビデオ出力部１５は、符号ＤＭＡＣ１５ａによって、圧縮伸張器１２、１３によって圧縮（符号化）されてメインメモリ８に格納されている圧縮画像データ（符号化画像データ）をリードし、伸長器Ｉ／Ｆ３２を介して圧縮画像データを取り込んで、複合化した後、画像ＤＭＡＣ１４ｂによってメインメモリ８に書き戻す。このとき、伸長器Ｉ／Ｆ３２の設定によって、画像ＤＭＡＣ１５ｂではなく、すなわち、メインメモリ８を介することなく、直接ビデオ出力ＤＭＡＣ１５ｃを介して、画像データを合成器３３に渡してもよい。
【００３７】
次に、ビデオ出力部１５ａは、合成器３３で合成した画像データを画像処理ＡＳＩＣ４へ出力する。すなわち、ビデオ出力部１５ａは、ビデオ出力ＤＭＡＣ１５ｃにより、メインメモリ８または伸長器Ｉ／Ｆ３２から画像データをリードし、合成器３３を介してラインＦＩＦＯ部３４へ画像データを転送する。このとき、スタンプＤＭＡＣ１５ｄによりメインメモリ８上のスタンプデータを元画像データと一緒にリードして、合成器３３で合成処理を行ってからラインＦＩＦＯ部３４へ転送してもよい。
【００３８】
ラインＦＩＦＯ部３４は、複数のラインＦＩＦＯ（ラインメモリ）３４ａ〜３４ｎを備えており、そのサイズとして、上述のように、例えば、Ａ０サイズの短手ラインデータ量までをサポートしている。
【００３９】
そして、ラインＦＩＦＯ部３４及びビデオ出力ＤＭＡＣ１５ｃとスタンプＤＭＡＣ１５ｄは、図４に示すようにブロック構成されている。ラインＦＩＦＯ部３４は、制御パラメータレジスタ４１、ＦＩＦＯ制御回路４２、入力制御部４３及び出力制御部４４等を備えている。また、ビデオＤＭＡＣ１５ｃ及びスタンプＤＭＡＣ１５ｄは、制御パラメータレジスタ５１、リード要求制御回路部５２、入力制御部５３、バッファ制御回路５４及び出力制御部５５等を備えており、バッファ制御回路５４は、複数のバッファ（Buffer）５４ａ〜５４ｎを備えている。
【００４０】
本実施例の複合装置１は、コントローラＡＳＩＣ５内のラインＦＩＦＯ部３４としては、２ライン分を使用する想定となっており、画像処理ＡＳＩＣ４がラインシンクのタイミングに合わせてコントローラＡＳＩＣ５から画像データをリードするが、このラインシンクの間でラインＦＩＦＯ３４ａ〜３４ｎの充填動作が間に合うように動作する。
【００４１】
制御パラメータレジスタ（レジスタ）４１は、ＣＰＵ７によって制御パラメータが設定され、ＦＩＦＯ制御回路４２内のラインＦＩＦＯ３４ａ〜３４ｎの段数設定、ラインＦＩＦＯ３４ａ〜３４ｎの主走査長設定、ＦＩＦＯ状態監視回路４５のモード設定等のＣＰＵ７によって設定された制御パラメータを保持する。
【００４２】
ＦＩＦＯ状態監視回路（メモリ状態監視手段）４５は、各ラインＦＩＦＯ３４ａ〜３４ｎの主走査長設定モードに対するデータの充填状態を、モード設定に応じて監視し、ＤＭＡＣ１５ｃ、１５ｄ内のリード要求制御回路５２へラインＦＩＦＯ３４ａ〜３４ｎの充填状態情報を通知する。このＦＩＦＯ状態監視回路４５からリード要求制御回路５２への情報提供形態としては、各ラインＦＩＦＯ３４ａ〜３４ｎが、データの充填度合いとして、空であるか、満充填であるか、あるいは、満充填ではないことを示す信号でもよいし、各ラインＦＩＦＯ３４ａ〜３４ｎの主走査長設定に対するデータの充填度合いを示す信号であってもよい。また、ＦＩＦＯ状態監視回路４５は、ラインＦＩＦＯ３４ａ〜３４ｎのデータの充填度合いの状態を自らが判断し、ＤＭＡＣ１５ｃ、１５ｄの先投げを許可する、または、許可しないを示す信号を充填状態情報としてリード要求制御回路５２に出力してもよい。
【００４３】
入力制御部４３は、ＤＭＡＣ１５ｃ、１５ｄからのデータ入力の制御を行ない、出力制御部４４は、後段の画像処理ＡＳＩＣ４へのデータの出力制御を行う。
【００４４】
ＤＭＡＣ１５ｃ、１５ｄの入力制御部５３は、アービタ１９からのリードデータ入力を制御し、出力制御部５５は、内部バッファ５４ａ〜５４ｎのデータをラインＦＩＦＯ部３４への出力制御を行う。
【００４５】
制御パラメータレジスタ５１は、リード要求の先投げ個数の設定、リード要求の先投げ個数に応じた内部バッファ５４ａ〜５４ｎの段数設定、その他起動制御等を行う。
【００４６】
バッファ制御回路５４は、複数のバッファ５４ａ〜５４ｎを備えており、これらのバッファ５４ａ〜５４ｎは、１回のリード要求サイズに応じたバッファサイズ(例えば、１２８バイト)を有しており、先投げ個数に合わせて段数が設定される。
【００４７】
リード要求制御回路（リード制御手段）５２は、ＣＰＵ７によって制御パラメータレジスタ５１に設定された先投げ個数を基準値として、バッファ制御回路５４のバッファ５４ａ〜５４ｎの空き具合に応じてアービタ１９に対してリード要求の発行を行う。また、リード要求制御回路５２は、ＦＩＦＯ状態監視回路４５から通知されるＦＩＦＯ３４ａ〜３４ｎのデータ充填状態情報に基づくリード要求の発行制御を行う。
【００４８】
なお、上記説明においては、ビデオ出力部１５について説明したが、他のビデオ出力部１６〜１８及びこれらのビデオ出力部１６〜１８に接続されているＤＭＡＣ１６ａ〜１６ｄ、〜、１８ａ〜１８ｄについても同様である。
【００４９】
次に、本実施例の作用について説明する。本実施例の複合装置１は、備えている複数のアプリケーションのうち複数のアプリケーションの動作している状態であっても、印刷データをリードするＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのアクセス優先度を高く設定するとともに、コントローラＡＳＩＣ５のビデオ出力部１５〜１８が備えているラインＦＩＦＯ３４ａ〜３４ｄのデータ充填度を監視して、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄによるビデオ出力部１５〜１８へデータを送り込むためのリード要求の発行制御を行うことでライン等時性を確保している。
【００５０】
複合装置１は、スキャナ２で読み取った原稿の画像データを画像処理部ＡＳＩＣ４で必要な画像処理を施して、一旦、コントローラＡＳＩＣ５によってメインメモリ８に格納し、このメインメモリ８の画像データをコントローラＡＳＩＣ５が読み出して、画像処理ＡＳＩＣ４を介してプロッタ３で用紙に印刷出力するコピーモード機能、スキャナ２で読み取った原稿の画像データを画像処理ＡＳＩＣ４で必要な画像処理を施して、コントローラＡＳＩＣ５から外部のコンピュータ等に転送するデータ転送モード機能、外部から送られてきた画像データを一旦メインメモリ８に保管した後、コントローラＡＳＩＣ５が読み出してプロッタ３で印刷出力するプリンタモード機能等の複数の機能動作を行う。
【００５１】
そして、複合装置１は、上記各モード動作処理を、単独のモード動作処理のみ、または、同時に複数のモード動作処理を実行する。複合装置１は、このモード動作処理において、印刷データをリードするＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのアクセス優先度を高く設定するとともに、コントローラＡＳＩＣ５のビデオ出力部１５〜１８が備えているラインＦＩＦＯ３４ａ〜３４ｄのデータ充填度を監視して、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄによるビデオ出力部１５〜１８へデータを送り込むためのリード要求の発行制御を行うことでライン等時性を確保している。
【００５２】
すなわち、複合装置１は、画像処理ＡＳＩＣ４が、後続に接続されているプロッタ３のラインシンクタイミングに合わせて、コントローラＡＳＩＣ５に対して１ライン分の画像データのリードを行う。
【００５３】
図５において、画像処理ＡＳＩＣラインシンクは、プロッタ３のラインシンクを元に画像処理ＡＳＩＣ４がコントローラＡＳＩＣ５へ１ライン分の画像データをリードするタイミングを生成する内部信号であり、ラインＦＩＦＯ充填動作は、ラインＦＩＦＯ部３４へデータを充填するためのリード動作状態を示している。画像処理ＡＳＩＣ４データリードは、画像処理ＡＳＩＣ４がコントローラＡＳＩＣ５へ1ライン分の画像データをリード動作を示している。ラインＦＩＦＯ充填状態は、２ライン分のラインＦＩＦＯ３４の充填状態を示しており、ＤＭＡＣリード要求は、アービタ１９に対する画像データのリード要求であって、１回の要求サイズは、内部のラインＦＩＦＯ３４ａ〜３４ｎのサイズによって決まる。ＤＭＡＣリード応答は、リード要求に対する応答である。
【００５４】
そして、本実施例の複合装置１は、コントローラＡＳＩＣ５内のラインＦＩＦＯ部３４は、２ライン分を使用する設定となっており、画像処理ＡＳＩＣ４がラインシンクのタイミングに合わせてコントローラＡＳＩＣ５から画像データをリードするが、まず、このラインシンクの間でラインＦＩＦＯ部３４の充填動作が間に合う場合について、図５に基づいて、説明する。
【００５５】
ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄは、制御パラメータレジスタ５１の設定によって、メインメモリ８上の印刷データの先投げ要求の個数が、例えば、「２個」と設定され、ＣＰＵ７は、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄの起動を行う。この起動をトリガとして、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄは、アービタ１９に対してリード要求を発行する。このとき、図５に示すように、初期状態ではラインＦＩＦＯ部３４は、ライン符号化・復号化３４ａ、３４ｂの２本とも空状態であるので、ＦＩＦＯ状態監視回路４５が、ラインＦＩＦＯ３４ａ、３４ｂともに空であることを示す信号を、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、リード要求制御回路５２は、受け取った信号から、ラインＦＩＦＯ３４が２本とも空であると判断して先投げ要求の個数設定の上限である２つのリード要求を発行する(先投げを実行する)。リード要求制御回路５２は、この先投げ状態を、ラインＦＩＦＯ３４ａが満充填されるまで実行する。
【００５６】
次に、ラインＦＩＦＯ３４ｂの画像データをリードする場合について説明する。この場合、ＦＩＦＯ状態監視回路４５が、ラインＦＩＦＯ３４ａが満充填、ラインＦＩＦＯ３４ｂが空であることを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、この通知を受け取ると、リード要求制御回路５２が、先投げを実行することなく、リード要求を発行する。
【００５７】
この後、画像処理ＡＳＩＣデータリードとして図５に示すように、画像処理ＡＳＩＣ４が、プロッタ３のラインシンクに従って、コントローラＡＳＩＣ５に対して画像データのリードを行う。このとき、ラインＦＩＦＯ３４ａのデータが抜き取られ、図５に非ハッチング状態として示すように、ラインＦＩＦＯ３４ａが空状態となる。なお、図５において、ラインＦＩＦＯ３４ａについては、ラインＦＩＦＯａ、ラインＦＩＦＯ３４ｂについては、ラインＦＩＦＯｂとそれぞれ記載している。
【００５８】
ＦＩＦＯ状態監視回路４５は、ラインＦＩＦＯ３４ａが空、ラインＦＩＦＯ３４ｂが満充填であることを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、この通知を受けたリード要求制御回路５２は、先投げを実行することなく、ラインＦＩＦＯ３４ａのためのリード要求を発行する。
【００５９】
複合装置１は、上記処理動作を繰り返し行って、画像処理ＡＳＩＣ４のデータリード動作に応じて、ラインＦＩＦＯ部３４の制御及びＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求先投げ制御を行う。
【００６０】
そして、複合装置１は、上述のように、コントローラＡＳＩＣ５内のラインＦＩＦＯ３４ａ〜３４ｎを２ライン分を使用する設定であって、画像処理ＡＳＩＣ４がラインシンクのタイミングに合わせてコントローラＡＳＩＣ５から画像データをリードするが、プロッタ３の性能が高いと、ラインシンクの間でラインＦＩＦＯ３４ａ〜３４ｄの充填動作が間に合わない場合が発生し、以下、このような場合について、図６に基づいて説明する。
【００６１】
図６において、先頭の２ライン分のラインＦＩＦＯ３４の充填動作までは、図５の場合と同様であり、画像処理ＡＳＩＣ４からコントローラＡＳＩＣ５へデータリードを開始するところから説明する。
【００６２】
画像処理ＡＳＩＣ４は、プロッタ３のラインシンクに従って、ラインＦＩＦＯ３４ａのデータのリードを行う。このとき、ラインＦＩＦＯ３４ａのデータが抜き取られ、図６にラインＦＩＦＯ充填状態として示すように、ラインＦＩＦＯ３４ａは空状態となる。
【００６３】
ＦＩＦＯ状態監視回路４５が、ラインＦＩＦＯ３４ａは空、ラインＦＩＦＯｂは満充填であることを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、この通知を受けたリード要求制御回路５２は、先投げを実行することなく、ラインＦＩＦＯ３４ａのためのリード要求を発行する。
【００６４】
いま、このラインＦＩＦＯ３４ａの充填動作が次のラインシンクまでに間に合わないため、充填動作の途中で画像処理ＡＳＩＣ４が次のラインシンクに従って、ラインＦＩＦＯ３４ｂのデータのリードを行う。
【００６５】
このとき、ＦＩＦＯ状態監視回路４５は、２本のラインＦＩＦＯ３４ａ、ラインＦＩＦＯ３４ｂがともに満充填でないことを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、この通知を受けたリード要求制御回路５２は、ラインＦＩＦＯ３４ａ、３４ｂが２本とも満充填でないと判断して、先投げ要求の個数設定の上限である２つのリード要求を発行する(先投げを実行する)。
【００６６】
ここで、ラインＦＩＦＯ３４ｂのデータの抜き取りよりも早くラインＦＩＦＯ３４ａの充填動作が完了した場合には、ＦＩＦＯ状態監視回路４５が、ラインＦＩＦＯ３４ａは満充填、ラインＦＩＦＯ３４ｂは満充填でないことを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知し、この通知を受けたリード要求制御回路５２は、先投げの実行を止めて、リード要求を発行する動作となる。
【００６７】
複合装置１は、上記動作を繰り返し行なって、画像処理ＡＳＩＣ４のデータリード動作に応じて、ラインＦＩＦＯ部３４の制御及びＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求先投げ制御を行う。
【００６８】
すなわち、複合装置１は、ＦＩＦＯ状態監視回路４５が、各ラインＦＩＦＯ３４の主走査長設定に対する充填度合いを示す信号をＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２へ通知する場合、図６では、ラインＦＩＦＯ３４ｂが満充填でなく、ラインＦＩＦＯ３４ａの充填動作が主走査長の５０％に達すると、リード要求の先投げ制御を止める動作となる。
【００６９】
また、ＦＩＦＯ状態監視回路４５が、自ら各ラインＦＩＦＯ３４が空か満充填かの状態を上述のように判断したり、主走査長の充填度合いを判断して、ＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄの先投げを許可する信号を提供してもよく、この場合、この信号を受けたＤＭＡＣ１５ａ〜１５ｄ、〜、１８ａ〜１８ｄのリード要求制御回路５２が、先投げ動作を制御する。
【００７０】
このように、本実施例の複合装置１は、少なくとも画像データの主走査サイズが格納可能な複数のラインメモリであるラインＦＩＦＯ３４ａ〜３４ｎの状態を監視して、データの格納されるメモリであるメインメモリ８へのアクセス要求を調停するアービタ１９に対するメモリリード要求の発行を、該ラインＦＩＦＯ３４ａ〜３４ｎの監視結果に基づいて制御している。
【００７１】
したがって、画像データをメインメモリ８上からリードするＤＭＡＣ１５ｃ、１５Ｄにおいて、後段のラインＦＩＦＯ部３４のラインＦＩＦＯ３４ａ〜３４ｎの状態を監視しながら、パフォーマンスを向上させるための先読みリード要求の発行制御を行うことができ、複合装置１が複数のアプリケーション処理をしている場合においても、印刷データにおける出力のライン等時性の確保と他のアプリケーションにおける生産性の向上を両立させることができる。
【００７２】
また、本実施例の複合装置１は、ＦＩＦＯ状態監視回路（メモリ状態監視手段）４５が、
各ラインＦＩＦＯ３４ａ〜３４ｎが空であるか否か、または、データによって満充填である否か、あるいは、満充填でないか否かを検出している。
【００７３】
したがって、ラインＦＩＦＯ３４ａ〜３４ｎの状態を簡単に検出して、リード要求の制御を行うことができ、安価にかつ適切に印刷データにおける出力のライン等時性の確保と他のアプリケーションにおける生産性の向上を両立させることができる。
【００７４】
さらに、本実施例の複合装置１は、ＦＩＦＯ状態監視回路４５が、ラインＦＩＦＯ３４ａ〜３４ｎに対するデータの充填度合いを検出してもよい。
【００７５】
このようにすると、より正確にラインＦＩＦＯ３４ａ〜３３４ｎのデータ状態に基づいてリード要求の発行を制御することができ、印刷データにおける出力のライン等時性の確保と他のアプリケーションの生産性における向上をより一層適切に両立させることができる。
【００７６】
また、本実施例の複合装置１は、リード要求制御回路（リード制御手段）が、ＦＩＦＯ状態監視回路４５の監視結果に基づいて、メモリリード要求の発行数を決定する発行数決定部を内蔵しており、該発行数決定部の決定した発行数だけメモリリード要求の発行を行ってもよい。
【００７７】
このようにすると、より一層適切な発行するだけメモリリード要求を発行することができ、印刷データにおける出力のライン等時性の確保と他のアプリケーションの生産性の向上をより一層適切に両立させることができる。
【００７８】
さらに、本実施例の複合装置１は、ＤＭＡＣ１５ｃ、１５ｄが、ラインＦＩＦＯ３４ａ〜３４ｎの数、メモリリード要求の発行数の上限及びラインＦＩＦＯ３４ａ〜３４ｎの充填度合いの評価基準が設定される制御パラメータレジスタ５１を備え、ＦＩＦＯ状態監視回路４５は、制御パラメータレジスタ５１に設定されたラインＦＩＦＯ３４ａ〜３４ｎの数だけ、該制御パラメータレジスタ５１に設定されたラインメモリの充填度合いの評価基準に基づいてラインメモリの状態を監視し、リード要求制御回路５２が、ＦＩＦＯ状態監視回路４５の監視結果に基づいて、制御パラメータレジスタ５１に設定されるラインＦＩＦＯ３４ａ〜３４ｎの数とメモリリード要求の発行数の上限とに基づいて、メモリリード要求の発行を制御している。
【００７９】
したがって、複合装置１の利用目的やプロッタ３の性能等に応じて、適切な発行するだけメモリリード要求を発行することができ、印刷データにおける出力のライン等時性の確保と他のアプリケーションの生産性における向上をより一層適切に両立させることができる。
【００８０】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８１】
本発明は、ライン等時性を必要とするデータの転送を行うデータ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体に利用することができる。
【符号の説明】
【００８２】
１  複合装置
２  スキャナ
３  プロッタ
４  画像処理ＡＳＩＣ
５  コントローラＡＳＩＣ
６  チップセット
７  ＣＰＵ
８  メインメモリ
９  Ｉ／Ｏ  ＡＳＩＣ
１１  ＰＣＩｅルートコンプレックス（ＰＣＩｅ Root)
１２、１３  圧縮伸張器
１２ａ、１２ｂ、１３ａ、１３ｂ  ＤＭＡＣ
１４  ビデオ入力部
１４ａ  ＤＭＡＣ
１５、１６、１７、１８  ビデオ出力部
１５ａ〜１５ｄ、１６ａ〜１６ｄ、１７ａ〜１７ｄ、１８ａ〜１８ｄ  ＤＭＡＣ
１９  アービタ
２０、２１  回転器
２０ａ、２０ｂ、２１ａ、２１ｂ  ＤＭＡＣ
２２  編集器
２２ａ、２２ｂ、２２ｃ  ＤＭＡＣ
２３  ハードディスク制御部
２３ａ  ＤＭＡＣ
２４  ＰＣＩｅエンドポイント（ＰＣＩｅ End Point）
３１  伸長器
３２  伸長器Ｉ／Ｆ
３３  合成器
３４  ラインＦＩＦＯ部
３４ａ〜３４ｎ  ラインＦＩＦＯ
４１  制御パラメータレジスタ
４２  ＦＩＦＯ制御回路
４３  入力制御部
４４  出力制御部
５１  制御パラメータレジスタ
５２  リード要求制御回路部
５３  入力制御部
５４  バッファ制御回路
５５  出力制御部
５４ａ〜５４ｎ  バッファ（Buffer）
【先行技術文献】
【特許文献】
【００８３】
【特許文献１】特開２００９−０９８７２９号公報
【図１】
2012034254.tif 000003
【図２】
2012034254.tif 000004
【図３】
2012034254.tif 000005
【図４】
2012034254.tif 000006
【図５】
2012034254.tif 000007
【図６】
2012034254.tif 000008