(57)【特許請求の範囲】
【請求項１】
第１の外部装置から、画像情報と、当該画像情報の出力先を示すアドレスと、を受信可能な第１のインターフェースと、
第１のインターフェースより低い通信速度で、第２の外部装置に画像情報を送信する第２のインターフェースと、
前記第１のインターフェースと、前記第２のインターフェースとを接続し、データの送受信を行う通信経路と、
前記通信経路上に備えられたＦＩＦＯメモリと、
第３の外部装置に前記画像情報を送信する第３のインターフェースと、
前記第１のインターフェースが前記アドレスを受信した場合に、当該アドレスに基づいて、前記第１のインターフェースが受信する前記画像情報の送信先を、前記第２のインターフェースと前記第３のインターフェースとのいずれかに特定する特定部と、
前記第２のインターフェースが送信先として特定された場合、前記通信経路及び前記ＦＩＦＯメモリを介して前記画像情報を前記第２のインターフェースに送信する送信部と、
を備えることを特徴とする画像処理コントローラ。
【請求項２】
前記第１のインターフェースは、さらに、前記第１の外部装置に対して画像情報を送信可能とし、
前記第３のインターフェースは、さらに、前記第３の外部装置から画像情報を受信し、
前記第３のインターフェースが受信した前記画像情報の送信先を、前記第１のインターフェースと前記第２のインターフェースとのいずれかを選択する選択部を、さらに備えること、
を特徴とする請求項１に記載の画像処理コントローラ。
【請求項３】
前記送信部は、さらに、前記画像情報の出力先を示すアドレスを送信し、
前記送信部から前記通信経路を介して送信された前記アドレスを、前記第２のインターフェースで利用されるアドレス空間上のアドレスに変換するアドレス変換部を、さらに備えること、
を特徴とする請求項１又は２に記載の画像処理コントローラ。
【請求項４】
前記第１のインターフェースは、前記第１の外部装置が一回の画像処理で出力されるデータ量単位で、前記画像情報を受信し、
前記ＦＩＦＯメモリは、前記データ量単位の画像情報を格納する記憶容量を有していること、
を特徴とする請求項１乃至３のいずれか一つに記載の画像処理コントローラ。
【請求項５】
前記第２のインターフェースは、さらに、前記第２の外部装置から画像情報を受信し、
前記第１のインターフェースは、前記通信経路及び前記ＦＩＦＯメモリを介して受信した画像情報を、前記第１の外部装置に送信し、
前記通信経路を介して前記第１のインターフェース側に配置され、前記第２のインターフェースが受信した前記画像情報を、前記ＦＩＦＯメモリに格納するように前記第２のインターフェースに対して指示した後、前記ＦＩＦＯメモリに対して、前記第１の外部装置が一回の画像処理に必要なデータ量単位で、前記画像情報を送信するよう指示する指示部を、さらに備えること、
を特徴とする請求項４に記載の画像処理コントローラ。
【請求項６】
画像処理を行う画像処理エンジンと、
前記画像処理エンジンより画像処理能力が低い画像処理部と、
画像データを格納する画像記憶部と、
前記画像処理エンジンから、画像情報と、当該画像情報の出力先を示すアドレスと、を受信可能な第１のインターフェースと、第１のインターフェースより低い通信速度で、前記画像処理部に画像情報を送信する第２のインターフェースと、前記第１のインターフェースと、前記第２のインターフェースとを接続し、データの送受信を行う通信経路と、
前記通信経路上に備えられたＦＩＦＯメモリと、前記画像記憶部に前記画像情報を送信する第３のインターフェースと、前記第１のインターフェースが前記アドレスを受信した場合に、当該アドレスに基づいて、前記第１のインターフェースが受信する前記画像情報の送信先を、前記第２のインターフェースと前記第３のインターフェースとのいずれかに特定する特定部と、前記第２のインターフェースが送信先として特定された場合、前記通信経路及び前記ＦＩＦＯメモリを介して前記画像情報を前記第２のインターフェースに送信する送信部と、を有する画像処理コントローラと、
を備えることを特徴とする画像処理装置。
【請求項７】
前記画像処理コントローラは、
前記送信部が、さらに、前記画像情報の出力先を示すアドレスを送信し、
前記送信部から前記通信経路を介して送信された前記アドレスを、前記第２のインターフェースで利用されるアドレス空間上のアドレスに変換するアドレス変換部を、さらに有すること、
を特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記画像処理コントローラは、
前記第１のインターフェースが、前記第１の外部装置から、通信規格で定められた一度に送信可能な所定のデータ量単位で、前記画像情報を受信し、
前記ＦＩＦＯメモリは、前記データ量単位の画像情報を格納する記憶容量を有していること、
を特徴とする請求項６又は７に記載の画像処理装置。
【請求項９】
前記画像処理コントローラは、
前記第２のインターフェースが、さらに、前記第２の外部装置から画像情報を受信し、
前記第１のインターフェースが、前記通信経路及び前記ＦＩＦＯメモリを介して受信した画像情報を、前記第１の外部装置に送信し、
前記通信経路を介して前記第１のインターフェース側に配置され、前記第２のインターフェースが受信した前記画像情報を、前記ＦＩＦＯメモリに格納するように前記第２のインターフェースに対して指示した後、前記ＦＩＦＯメモリに対して、前記第１の外部装置から前記所定のデータ量単位で、前記画像情報を送信するよう指示する指示部を、さらに有すること、
を特徴とする請求項８に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、規格が異なる複数のインターフェースを備える画像処理コントローラ及び画像処理装置の技術に関するものである。
【背景技術】
【０００２】
従来、画像形成装置における、画像処理コントローラに搭載されるエンジンＩ／Ｆは、ＰＣＩ等の比較的低速なインターフェースで、画像データを転送していた。当該画像形成装置における、画像処理コントローラと、ＣＰＵのチップセットと間のインターフェースは、ＰＣＩでは転送容量が不足するため、旧来、ＡＧＰ（Ｉｎｔｅｌ社が提案した、ビデオカードとメインメモリ間のデータ転送路規格）が使用されていた。
【０００３】
このように、画像形成装置には、ＰＣＩとＡＧＰなど、複数のインターフェースが利用されることが多い。そこで、特許文献１のように複数のインターフェースを切り替える技術が提案されることになった。このような技術を用いることで、データの転送量が多い通信路では、高速転送を行うことが可能となった。
【０００４】
また、近年、コンピュータ業界においては、ＰＣＩより高速のデータ転送規格であるＰＣＩExpress（以下、ＰＣＩｅと表す）が提案された。このＰＣＩｅはＰＣＩとソフトウェアレベルで互換性を備えている。
【０００５】
一方で、データ通信のスループットの向上のために、画像処理コントローラにも、このＰＣＩｅのような高速なエンジンＩ／Ｆを搭載することが要求される傾向にあった。
【０００６】
また、画像形成装置の画像処理コントローラにＰＣＩｅインターフェースを搭載する場合であっても、画像形成装置に搭載するデバイスの関係から、ＰＣＩインターフェースも必要とされている。
【０００７】
そして、ＰＣＩｅは、ＡＧＰより高速転送が可能である。このため、画像処理コントローラにＰＣＩｅのインターフェースを搭載する場合、ＡＧＰをＰＣＩｅに置き換えが可能となり、インターフェースをＰＣＩとソフトウェアレベルで互換性を有するように統一することが可能となった。
【０００８】
【特許文献１】特開２００３−３３３２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載された技術においては、ＰＣＩ又はＰＣＩとソフトウェアレベルで互換性を有するように統一することについて考慮されていない。
【００１０】
また、単純にＰＣＩとＰＣＩｅと画像形成装置に搭載する場合、単にＰＣＩとＰＣＩｅとを搭載すると、ＰＣＩとＰＣＩｅとの間で変換を行うスイッチやブリッジ等が必要となり、コストが増大する課題がある。
【００１１】
そこで、本発明では、インターフェースを変換するスイッチ等を不用とし、生産コストが低減された画像処理コントローラ及び画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、請求項１に記載の発明は、第１の外部装置から、画像情報と、当該画像情報の出力先を示すアドレスと、を受信可能な第１のインターフェースと、第１のインターフェースより低い通信速度で、第２の外部装置に画像情報を送信する第２のインターフェースと、前記第１のインターフェースと、前記第２のインターフェースとを接続し、データの送受信を行う通信経路と、前記通信経路上に備えられたＦＩＦＯメモリと、第３の外部装置に前記画像情報を送信する第３のインターフェースと、前記第１のインターフェースが前記アドレスを受信した場合に、当該アドレスに基づいて、前記第１のインターフェースが受信する前記画像情報の送信先を、前記第２のインターフェースと前記第３のインターフェースとのいずれかに特定する特定部と、前記第２のインターフェースが送信先として特定された場合、前記通信経路及び前記ＦＩＦＯメモリを介して前記画像情報を前記第２のインターフェースに送信する送信部と、を備えることを特徴とする。
【００１３】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記第１のインターフェースは、さらに、前記第１の外部装置に対して画像情報を送信可能とし、前記第３のインターフェースは、さらに、前記第３の外部装置から画像情報を受信し、前記第３のインターフェースが受信した前記画像情報の送信先を、前記第１のインターフェースと前記第２のインターフェースとのいずれかを選択する選択部を、さらに備えること、を特徴とする。
【００１４】
また、請求項３にかかる発明は、請求項１又は２にかかる発明において、前記送信部は、さらに、前記画像情報の出力先を示すアドレスを送信し、前記送信部から前記通信経路を介して送信された前記アドレスを、前記第２のインターフェースで利用されるアドレス空間上のアドレスに変換するアドレス変換部を、さらに備えること、を特徴とする。
【００１５】
また、請求項４にかかる発明は、請求項１乃至３のいずれか一つにかかる発明において、前記第１のインターフェースは、前記第１の外部装置が一回の画像処理で出力されるデータ量単位で、前記画像情報を受信し、前記ＦＩＦＯメモリは、前記データ量単位の画像情報を格納する記憶容量を有していること、を特徴とする。
【００１６】
また、請求項５にかかる発明は、請求項４にかかる発明において、前記第２のインターフェースは、さらに、前記第２の外部装置から画像情報を受信し、前記第１のインターフェースは、前記通信経路及び前記ＦＩＦＯメモリを介して受信した画像情報を、前記第１の外部装置に送信し、前記通信経路を介して前記第１のインターフェース側に配置され、前記第２のインターフェースが受信した前記画像情報を、前記ＦＩＦＯメモリに格納するように前記第２のインターフェースに対して指示した後、前記ＦＩＦＯメモリに対して、前記第１の外部装置が一回の画像処理に必要なデータ量単位で、前記画像情報を送信するよう指示する指示部を、さらに備えること、を特徴とする。
【００１７】
また、請求項６にかかる発明は、画像処理を行う画像処理エンジンと、前記画像処理エンジンより画像処理能力が低い画像処理部と、画像データを格納する画像記憶部と、前記画像処理エンジンから、画像情報と、当該画像情報の出力先を示すアドレスと、を受信可能な第１のインターフェースと、第１のインターフェースより低い通信速度で、前記画像処理部に画像情報を送信する第２のインターフェースと、前記第１のインターフェースと、前記第２のインターフェースとを接続し、データの送受信を行う通信経路と、前記通信経路上に備えられたＦＩＦＯメモリと、前記画像記憶部に前記画像情報を送信する第３のインターフェースと、前記第１のインターフェースが前記アドレスを受信した場合に、当該アドレスに基づいて、前記第１のインターフェースが受信する前記画像情報の送信先を、前記第２のインターフェースと前記第３のインターフェースとのいずれかに特定する特定部と、前記第２のインターフェースが送信先として特定された場合、前記通信経路及び前記ＦＩＦＯメモリを介して前記画像情報を前記第２のインターフェースに送信する送信部と、を有する画像処理コントローラと、を備えることを特徴とする。
【００１８】
また、請求項７にかかる発明は、請求項６にかかる発明において、前記画像処理コントローラは、前記送信部が、さらに、前記画像情報の出力先を示すアドレスを送信し、前記送信部から前記通信経路を介して送信された前記アドレスを、前記第２のインターフェースで利用されるアドレス空間上のアドレスに変換するアドレス変換部を、さらに有すること、を特徴とする。
【００１９】
また、請求項８にかかる発明は、請求項６又は７にかかる発明において、前記画像処理コントローラは、前記第１のインターフェースが、前記第１の外部装置から、通信規格で定められた一度に送信可能な所定のデータ量単位で、前記画像情報を受信し、前記ＦＩＦＯメモリは、前記データ量単位の画像情報を格納する記憶容量を有していること、を特徴とする。
【００２０】
また、請求項９にかかる発明は、請求項８にかかる発明において、前記画像処理コントローラは、前記第２のインターフェースが、さらに、前記第２の外部装置から画像情報を受信し、前記第１のインターフェースが、前記通信経路及び前記ＦＩＦＯメモリを介して受信した画像情報を、前記第１の外部装置に送信し、前記通信経路を介して前記第１のインターフェース側に配置され、前記第２のインターフェースが受信した前記画像情報を、前記ＦＩＦＯメモリに格納するように前記第２のインターフェースに対して指示した後、前記ＦＩＦＯメモリに対して、前記第１の外部装置から前記所定のデータ量単位で、前記画像情報を送信するよう指示する指示部を、さらに有すること、を特徴とする。
【発明の効果】
【００２１】
本発明によれば、第１のインターフェースと第２のインターフェースとを通信路で接続した上で、これらインターフェース間の速度差を吸収するＦＩＦＯメモリを具備しているため、バスの規格を変更するスイッチやブリッジを不用とし、生産コストの低減を図ることができるという効果を奏する。
【００２２】
また、請求項３にかかる発明によれば、画像データの出力先を、切替部で切り替えることができるので、２種類の画像処理コントローラの役割を担うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、本発明にかかる画像処理コントローラ、及び画像処理装置を適用した画像形成装置の最良な実施の形態を詳細に説明する。なお、以下に示す実施の形態は、画像処理コントローラを画像形成装置に搭載することに制限するものではなく、画像処理を行う様々な装置に搭載することができる。
【００２４】
（第１の実施の形態）
図１は、第１の実施の形態にかかる画像処理コントローラ及び周辺デバイスの概略を示した図である。図１を参照すると、プロッタ・スキャナを有するエンジンと接続する第１のインターフェース（１０１）を具備し、別のエンジン、オプションの画像処理コントローラのほか、オプションデバイスを接続する第２のインターフェース（１０２）を具備し、メモリ、ＨＤＤのインターフェース（１０３、１０４）をそれぞれ具備する画像処理コントローラ（１００）において、第１のインターフェースと第２のインターフェースがＦＩＦＯメモリ（１０５）とアドレスコンバータ（１０６）を介して直接通信することを特徴とする画像処理コントローラが示されている。また、画像処理コントローラ１００内の、インターフェース（１０１、１０２）と、アービタ１１０と、の間は信号線（１０７ａ、１０７ｂ）で接続されている。
【００２５】
図１に示すように、画像処理コントローラ１００は、第３のインターフェース（１０３）がChipSet１５１、ＣＰＵ１５２及びメモリ１５３と通信可能としている。さらに、画像処理コントローラ１００は、ＨＤＤ用インターフェースモジュール１０４がＨＤＤ（Hard  Disk  Drive）１５４と通信可能としている。
【００２６】
図２は、画像処理コントローラを備える画像形成装置３００のハードウェア構成を示した図である。図２を参照すると、第１のインターフェースを持つ画像処理エンジン（３０１）、第２のインターフェースを持つ外部コントローラ（３０３）及びオプションボード（３０４）を画像処理コントローラ１００に接続する場合、画像処理コントローラ（１００）が第１、第２のインターフェースの両方を具備し、両インターフェースの速度差を吸収するＦＩＦＯメモリ等を具備しているため、インターフェースを変換するスイッチやブリッジが必要ない。
【００２７】
画像処理エンジン３０１は、スキャナエンジン機能と、プロッタ出力エンジン機能と、の二つの機能を備えている。
【００２８】
画像処理エンジン３０１のスキャナエンジン機能は、ＣＣＤセンサーが読み取ったカラーＲＧＢ画像データに対して、画像処理を施し、各色８bitのCMYK画像を生成し、画像処理コントローラ１００に出力する。スキャナエンジン機能が行う画像処理としては、例えば、画像データの文字領域のエッジ強調、又は非文字領域（絵柄領域）の平滑化処理などがある。
【００２９】
画像処理エンジン３０１のプロッタ出力エンジン機能は、画像処理コントローラ１００から受け取った画像データに対して、２値化処理を実施し、プロッタへ出力する。
【００３０】
ここで、図１に示した画像処理コントローラが、かかる構成を備えるに至った経緯について、図１０および図１１を用いて説明する。まず、従来の画像処理コントローラに関する構成について説明する。従来は、画像処理コントローラに搭載されるエンジンＩＦにおいて、比較的低速なＰＣＩ等のインターフェースを利用して画像データを転送していた。図１０は、ＰＣＩインターフェースを利用して画像データを転送していた画像処理コントローラと周辺デバイスを示した説明図である。図１０に示すように、画像処理エンジン１２０２と画像処理コントローラ１２０１とは、ＰＣＩバスインターフェースモジュール１２１１を使用して接続され、画像処理コントローラ１２０１とメモリ１２０３とは、ＡＧＰバスインターフェースモジュール１２１２を使用して接続されている。ＡＧＰ（Accelerated  Graphics  Port）を使用したのは、ＡＧＰを使用しているChipSet及びメモリ間が、ＣＰＵからメインメモリへのアクセスパスであり、ＰＣＩでは転送不足だったためである。そして、画像データは、ＰＣＩバス及びＡＧＰバス等を含む通信経路１２５１〜１２５３上を辿ることになる。
【００３１】
そして、データ通信のスループット向上のために、ＰＣＩｅ等のより高速なエンジンインターフェースを備える画像処理コントローラが必要となった。
【００３２】
図１１は、ＰＣＩｅインターフェースとスイッチデバイスとを備えた画像処理コントローラと周辺デバイスを示した説明図である。図１１に示す構成では、画像処理コントローラ１３０１と画像処理エンジン１３０２との間のインターフェースが、ＰＣＩからＰＣＩｅに変更されている。また、ＰＣＩｅは、ＡＧＰより高速転送が可能なため、ＰＣＩｅエンドポイント１３１１を備えることで、ChipSet１３０４及びメモリ１３０３間もＰＣＩｅに変更できる。これによりＰＣＩとソフトウェア的に互換性のある規格に統一することが可能となった。そして、画像データは、ＰＣＩｅ―ＰＣＩスイッチデバイス１３０５の切替に応じて、通信経路１３５１〜１３５３上を辿ることになる。
【００３３】
このように、ＦＡＸコントロールユニットなどのＰＣＩバスを利用するデバイスと接続するためには、ＰＣＩｅ―ＰＣＩスイッチデバイス１３０５が必要となり、生産コストが増大していた。
【００３４】
さらに、画像形成装置の製造メーカが、製造コストが高いが高速転送可能な画像形成装置と、製造コストが低いが低速な転送のみ可能な画像形成装置と、を製造する場合がある。この場合、図１１に示した高速転送可能な画像処理コントローラの他に、ＰＣＩｅを利用しない低速用の画像処理コントローラも必要となる。このような場合には、製造メーカは、機能は共通でも高速転送用の画像処理コントローラ、及び低速転送用の画像処理コントローラという２種類の画像処理コントローラを開発しなければならず、開発負担が増大していた。これによる、開発費も増加する傾向にあった。
【００３５】
そこで、本実施の形態にかかる画像処理コントローラは、図１に示した構成を備えることとした。次に、図１の構成を詳細に示した図３を用いて具体的に説明する。図３に示す例では、画像処理コントローラ１００は、第１のインターフェース（１０１）に画像処理エンジン３０１が接続され、第２のインターフェース（１０２）にオプションボード３０４が接続された例とする。なお、オプションボード３０４は、どのようなデバイスでも良いが、例えばＦＡＸコントロールユニットなどが考えられる。
【００３６】
図３は、第１の実施の形態にかかる画像処理コントローラ及び周辺デバイスの詳細な構成を示すブロック図である。
【００３７】
そして、図３に示す画像処理コントローラ１００は、ＰＣＩｅバスインターフェースモジュール２０１と、ＰＣＩバスインターフェースモジュール２０２と、ＦＩＦＯ(First  Input  First  Out)メモリ１０５と、アドレスコンバータ１０６と、セレクタ１０８と、アービタ１１０と、ＰＣＩｅエンドポイント２０３と、ＨＤＤ用インターフェースモジュール１０４と、ＤＭＡＣ（Direct  Memory  Access  Control）２０４と、ビデオ出力モジュール１０９と、ＤＭＡＣ２３２ａ〜ｄと、ＦＩＦＯメモリ２３１ａ〜ｄと、を備える。
【００３８】
図３に示すように、画像処理コントローラ１００は、第１のインターフェースとして、エンジン側の第１ＰＣＩｅバスインターフェース１０１を備え、第２のインターフェースとして、ＰＣＩバスインターフェース１０２を備える。
【００３９】
また、画像処理コントローラ１００は、第３のインターフェースとして、ChipSet側に第２ＰＣＩｅバスインターフェース１０３を備える。そして、画像処理コントローラ１００は、第２ＰＣＩｅバスインターフェース１０３がメモリ１５３及びＣＰＵ１５２と接続可能としている。
【００４０】
そして、ＰＣＩｅバスインターフェースモジュール２０１と、ＰＣＩバスインターフェースモジュール２０２との間は、ＦＩＦＯメモリ１０５及びアドレスコンバータ１０６を介して、第１の信号線２１０で接続されている。
【００４１】
さらに、ＰＣＩｅバスインターフェースモジュール２０１と、アービタ１１０との間は第２信号線１０７ａで接続され、ＰＣＩバスインターフェースモジュール２０２と、アービタ１１０との間は第３信号線１０７ｂで接続されている。
【００４２】
ＰＣＩｅバスインターフェースモジュール２０１は、第１ＰＣＩｅバスインターフェース１０１と、特定部２１１と、第１指示部２１２と、第１送受信部２１３と、記憶部２１４と、を備え、ＰＣＩｅエンドポイント２０３を含むツリー構造のルート・コンプレックスとして機能する。さらに、ＰＣＩｅバスインターフェースモジュール２０１は、画像処理エンジン３０１、ＰＣＩバスインターフェースモジュール２０２、及びＰＣＩｅエンドポイント２０３との間でデータの送受信を行う。
【００４３】
第１ＰＣＩｅバスインターフェース１０１は、ＰＣＩｅバスインターフェースモジュール２０１による制御により、ＰＣＩｅバスで接続された画像処理エンジン３０１との間でデータの送受信を可能とする。送受信するデータとしては、例えば画像データ、及びアドレス情報を含むコマンドなどとする。
【００４４】
特定部２１１は、第１ＰＣＩｅバスインターフェース１０１が画像処理エンジン３０１等からコマンドを受信した場合に、受信したコマンド（Write  or  Read）に付随するアドレスを検出し、検出したアドレスに従って当該コマンドのアクセス先を特定する。
【００４５】
特定されるアクセス先は、書込命令の場合、メモリ１５３等と接続された第２ＰＣＩｅバスインターフェース１０３、及びＰＣＩバスインターフェースモジュール２０２内のＰＣＩバスインターフェース１０２とする。また、読込命令の場合、上記２箇所のアクセス先の他に加えて、ビデオ出力モジュール１０９がある。
【００４６】
また、当該コマンドが画像データの書き込み命令の場合、特定部２１１は、画像処理エンジン３０１から送信される画像データの書き込み先（送信先）を特定することになる。
【００４７】
記憶部２１４は、コマンドに含まれているアドレスと、当該コマンドによるアクセス先と、を予め対応付けて記憶している。なお、当該アドレスとアクセス先の対応関係は、ＰＣＩｅバスインターフェースモジュール２０１を構成するプログラムに予め組み込んでも良い。
【００４８】
これにより、ＰＣＩｅバスインターフェースモジュール２０１が画像処理エンジン３０１からコマンドを受信した場合に、特定部２１１は、記憶部２１４を参照することで、当該コマンド内のアドレスから、当該コマンドのアクセス先を特定できる。
【００４９】
第１指示部２１２は、ＰＣＩｅバスインターフェースモジュール２０１内部（第１信号線２１０を介して第１ＰＣＩｅバスインターフェース１０１側）に配置され、ＦＩＦＯ１０５、ＰＣＩバスインターフェースモジュール２０２、ビデオ出力モジュール１０９、ＰＣＩｅエンドポイント２０３（第２ＰＣＩｅバスインターフェース１０３）及び第１送受信部２１３等の接続された各構成に対して、データの読み込みや書き込みなどの指示を行う。また、ＰＣＩｅエンドポイント２０３を介して接続されたメモリ１５３などに対して、書き込み又は読み込みの指示を行ってもよい。
【００５０】
例えば、第１指示部２１２は、画像処理エンジン３０１から受信したコマンドが、ＰＣＩバスインターフェース１０２に対する画像データの読込命令だった場合に、ＰＣＩバスインターフェース１０２が受信した画像データを、ＦＩＦＯメモリ１０５に書き込むようにＰＣＩバスインターフェースモジュール２０２に対して指示した後、第１送受信部２１３に対して、ＦＩＦＯメモリ１０５から、画像処理エンジン３０１が使用する所定のデータ量毎に画像データを読み込むよう指示する。なお、所定のデータ量は、例えば、ＰＣＩｅのパケットサイズなどが考えられる。なお、所定のデータ量は、ＰＣＩｅのパケットサイズに制限するものではなく、一度の転送に必要なデータ量、換言すれば通信規格で定められた一度に送信可能なデータ量であればよい。
【００５１】
第１送受信部２１３は、ＦＩＦＯメモリ１０５と、アドレスコンバータ１０６と、第１信号線２１０とを介して接続されたＰＣＩバスインターフェースモジュール２０２との間で、データの送受信を行う。
【００５２】
第１の信号線２１０は、ＰＣＩｅバスインターフェースモジュール２０１とＰＣＩバスインターフェースモジュール２０２との間を接続し、データの送受信を行う通信経路となる。
【００５３】
ＦＩＦＯ(First  Input  First  Out)メモリ１０５は、第１の信号線２１０上に備えられ、第１の信号線２１０を介して接続されたＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２の間でデータ転送が行われる場合に、転送対象であるデータを一時的に格納する。
【００５４】
つまり、第１送受信部２１３は、特定部２１１により書込命令の書込先がＰＣＩバスインターフェース１０２に特定された場合、当該書込命令の書込対象である画像データを、第１信号線２１０に送信することになる。この場合に、第１信号線２１０に送信された画像データは、ＦＩＦＯメモリ１０５に一時格納された後、ＰＣＩバスインターフェースモジュール２０２が受信する。
【００５５】
このＦＩＦＯメモリ１０５が格納可能な記憶量は、ＰＣＩｅとＰＣＩとの速度の違い、及びＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２との間で送受信される画像データの量に基づいて定めるものとする。
【００５６】
具体的な例としては、ＰＣＩバスインターフェース１０２から接続されているオプションボード３０４は、例えばＦＡＸデータの転送など比較的データ量が少ない画像データのみ処理を行うものとする。そして、画像処理エンジン３０４のスキャナエンジン機能は、画像データの読み込み処理を行い、画像処理エンジン３０４は読み込んだ画像データから、ＰＣＩｅのパケット毎に送信する。この送信された画像データはＦＩＦＯメモリ１０５に蓄積される。つまり、ＦＩＦＯメモリ１０５は、最低限度としてＰＣＩｅのパケットサイズ分の記憶容量を確保する必要がある。
【００５７】
そして、画像処理エンジン３０４が次の画像データを送信するまでの間に、ＰＣＩバスインターフェース１０２がＦＩＦＯメモリ１０５に蓄積された画像データを、オプションボード３０４に対して送信可能であれば、ＦＩＦＯメモリ１０５の記憶容量はＰＣＩｅのパケットサイズ分で充分となり、速度が異なるＰＣＩｅとＰＣＩとの間で画像データの送受信が可能となる。もし、画像データが送信されるまでの間に、オプションボード３０４に対して画像データを送信可能でなければ、速度差に応じてＦＩＦＯメモリ１０５の記憶容量を増加させる必要がある。しかしながら、ＦＡＸの場合、転送速度はそれほど求められないので、ＦＩＦＯメモリ１０５は、最低限度、パケットサイズ分確保すれば足りる。
【００５８】
なお、画像処理エンジン３０４から送信される画像データの送信間隔は、画像処理エンジン３０１が備えるスキャナエンジン機能による機械的な画像データの読込間隔などが考えられる。この場合、画像処理コントローラ１００は、ＰＣＩｅとＰＣＩの速度の違いを考慮せずとも、ＰＣＩｅバスインターフェースモジュール２０１から、ＰＣＩバスインターフェースモジュール２０２に対して直接、画像データの転送が可能となる。
【００５９】
ところで、ＰＣＩバスインターフェースモジュール２０２では、ＰＣＩｅバスインターフェースモジュール２０１、ＰＣＩｅエンドポイント２０３、セレクタ１０８を介してビデオ出力モジュール１０９から転送された画像データを、ＰＣＩバスに接続されている各オプション（例えばオプションボード３０４）に転送する。当該転送を行うためには、データの転送先となるオプションに応じて、ＰＣＩアドレスを生成する必要がある。そこで、本実施の形態では、アドレスコンバータ１０６を備える。
【００６０】
アドレスコンバータ１０６は、ＰＣＩｅバスインターフェースモジュール２０１で利用するアドレス空間と、ＰＣＩバスインターフェースモジュール２０２で利用するアドレス空間と、を変換する処理を行う。当該変換処理により、例えば、ＰＣＩｅバスインターフェースモジュール２０１から転送された書込先のアドレスを、ＰＣＩバスインターフェースモジュール２０２が書込先として利用するアドレスに変換できる。
【００６１】
このアドレスコンバータ１０６の例としては、ＤＭＡコントローラなどが考えられる。当該ＤＭＡコントローラにより、アクセス先のオプションに応じて、ＰＣＩアドレスを生成し、生成されたＰＣＩアドレスに従って、ＰＣＩバスインターフェースモジュール２０２がアクセス制御を行うことになる。なお、各オプションへのアドレスマップの配置は、レジスタ設定できるものとする。
【００６２】
さらに、アドレスコンバータ１０６は、ＰＣＩバスに接続された各オプションから転送されてくるコマンドに含まれるアドレスを検出し、検出されたアドレスから、当該コマンドによるアクセス先を特定する機能を備えている。当該機能により、後述するＰＣＩバスインターフェースモジュール２０２は、オプションから転送されたコマンドに基づいてアクセス先にアクセスすることが可能となる。
【００６３】
ＰＣＩバスインターフェースモジュール２０２は、アドレスコンバータ１０６の他に、第２送受信部２２２と、ＰＣＩバスインターフェース１０２と、第２指示部２２１と、を備え、ＰＣＩバスを介して接続されたオプションボード３０４等の周辺デバイス、ＰＣＩｅバスインターフェースモジュール２０１、及びＰＣＩｅエンドポイント２０３との間でデータの送受信を行う。
【００６４】
第２送受信部２２２は、ＦＩＦＯメモリ１０５と、アドレスコンバータ１０６と、第１信号線２１０とを介して接続されたＰＣＩｅバスインターフェースモジュール２０１との間で、データの送受信を行う。
【００６５】
ＰＣＩバスインターフェース１０２は、ＰＣＩバスインターフェースモジュール２０２による制御で、ＰＣＩバスを介して接続されたオプションボード３０４等の周辺デバイスとの間でデータを送受信する。送受信するデータとしては、画像データ、及びアドレスを含むコマンドなどとする。また、ＰＣＩバスインターフェース１０２は、ＰＣＩｅバスインターフェース１０１より低い通信速度で、データの送受信を行う。
【００６６】
第２指示部２２１は、ＰＣＩバスインターフェースモジュール２０２内部（第１信号線２１０を介してＰＣＩバスインターフェース１０２側）に配置され、ビデオ出力モジュール１０９、ＰＣＩｅエンドポイント２０３及びＰＣＩバスを介して接続された周辺デバイス等に対して、データの読み込みや書き込みなどの指示を行う。また、ＰＣＩｅエンドポイント２０３を介して接続されたメモリ１５３などに対して、書き込み又は読み込みの指示を行ってもよい。
【００６７】
そして、ＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２は、第１の信号線２１０で接続されているために、直接データを転送することを可能としている。ＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２の間のデータの転送方式は、どのような手法を用いても良いが、例えばＤＭＡによりデータを転送することが考えられる。
【００６８】
つまり、従来の画像処理コントローラにおいては、ＰＣＩｅバスインターフェースモジュールから受信した画像データを一度メモリに格納した後、当該メモリからＰＣＩバスインターフェースモジュールに画像データを転送する必要があった。このため、ＰＣＩｅバスインターフェースモジュールとメモリ間、及びメモリとＰＣＩバスインターフェースモジュールとの間の帯域を使用することになり、他のデータの転送の妨げになっていた。
【００６９】
これに対して、本実施の形態にかかる画像処理コントローラ１００では、ＰＣＩｅバスインターフェースモジュール２０１から直接データをＰＣＩバスインターフェースモジュール２０２に転送しているため、それぞれのモジュール（２０１、２０２）とメモリ１５３との間の帯域を使用することがなくなり、これら帯域を利用する他のデータの転送処理が容易になる。つまり、画像処理コントローラ１００では、処理速度が向上する。
【００７０】
アービタ１１０は、バスの使用の調停を行う。
【００７１】
ＰＣＩｅエンドポイント２０３は、第２ＰＣＩｅバスインターフェース１０３を備え、ＰＣＩｅバスを介して接続されたメモリ１５３やＣＰＵ１５２等の周辺デバイス、ＰＣＩｅバスインターフェースモジュール２０１、及びＰＣＩバスインターフェースモジュール２０２との間でデータの送受信を行う。
【００７２】
第２ＰＣＩｅバスインターフェース１０３は、ＰＣＩｅエンドポイント２０３による制御で、ＰＣＩｅバスを介して接続されたメモリ１５３又はＣＰＵ１５２等のデバイスとの間でデータを送受信する。送受信するデータとしては、画像データ、及びアドレスを含むコマンドなどとする。
【００７３】
ＨＤＤ用インターフェースモジュール１０４は、ＨＤＤ１５４と接続するインターフェースを備え、当該インターフェースを制御することで、ＨＤＤ１５４と接続との間でデータの送受信を行う。
【００７４】
ＤＭＡＣ２０４は、ＰＣＩバスインターフェースモジュール２０２、ビデオ出力モジュール１０９、及びＰＣＩｅバスインターフェースモジュール２０１等との間をＤＭＡ転送方式でデータを転送するコントローラとする。
【００７５】
ＤＭＡＣ２３２ａ〜ｄは、メモリ１５３上の画像データを、ビデオ出力モジュール１０９に転送する処理を行う。
【００７６】
ビデオ出力モジュール１０９は、ＤＭＡＣ２３２ａ〜ｄから転送された画像データを、Ｃ版、Ｍ版、Ｙ版、Ｋ版の色ごとにＦＩＦＯメモリ２３１ａ〜ｄを介して、画像処理エンジン３０１に出力する。そして、出力された画像データは、画像処理エンジン３０１に搭載されるプロッタ出力エンジン機能に転送される。
【００７７】
ＦＩＦＯメモリ２３１ａ〜ｄは、Ｃ版、Ｍ版、Ｙ版、Ｋ版の色ごとにビデオ出力モジュール１０９から出力された画像データを一時格納する。その後、セレクタ１０８で選択された出力先に画像データが送信されることになる。
【００７８】
セレクタ１０８は、レジスタ設定により、ビデオ出力モジュール１０９から出力される画像データの出力先として、ＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２のいずれかの選択を受け付ける。そして、セレクタ１０８は、受け付けた選択に従って、ＰＣＩｅバスインターフェースモジュール２０１及びＰＣＩバスインターフェースモジュール２０２のいずれかに画像データを出力する。
【００７９】
このように、画像処理コントローラ１００では、セレクタ１０８を備えたことで、ＰＣＩ及びＰＣＩｅなどの速度が異なる第１及び第２のインターフェースのいずれかを画像データの出力先として選択できる。これにより、第１及び第２のインターフェースのどちら側に画像処理エンジンが備えられていたとしても、画像処理コントローラ１００は、画像処理エンジンに対して画像データを適切に出力することができる。
【００８０】
つまり、本実施の形態にかかる画像処理コントローラ１００は、第１のインターフェース（例えばＰＣＩｅ）と接続可能な画像処理エンジン用の画像処理コントローラ、及び第２のインターフェース（例えばＰＣＩ）と接続可能な画像処理エンジン用の画像処理コントローラ、の両方の機能を有していることになる。このように、本実施の形態にかかる画像処理コントローラ１００は、速度が異なる２種類の画像処理コントローラの役割を担うことができる。したがって、第１のインターフェース及び第２のインターフェースというインターフェース毎の画像処理コントローラが不要となるため、開発負担の軽減及び開発コストの削減を行うことが可能となる。
【００８１】
本実施の形態にかかる画像処理コントローラ１００は、第１のインターフェース（１０１）と第２のインターフェース（１０２）との間で速度差を吸収するＦＩＦＯメモリ１０５を接続したことで、両インターフェース間でデータを直接送受信することが可能となる。
【００８２】
また、画像処理コントローラ１００のＰＣＩｅバスインターフェースモジュール２０１においては、画像処理エンジン３０１から転送されるコマンド内のアドレスに基づいて、アクセス先を第２のインターフェース（１０２）か、メモリ１５３が選択することが可能となる。したがって、画像処理コントローラ１００を利用することで、ＰＣＩｅ及びＰＣＩなどの異なるインターフェースを接続するためのスイッチデバイスが不要となる。これにより、当該画像処理コントローラ１００を利用した画像形成装置の生産が容易になると共に、生産コストを削減することができる。
【００８３】
さらに、画像処理コントローラ１００では、第１のインターフェース（１０１）及び第２のインターフェース（１０２）との間のデータ転送を、メモリ１５３を介さずに行うことができるため、各インターフェース（１０１、１０２）とメモリ１５３との間の帯域を確保することが容易となり、当該帯域を利用した処理の高速化を図ることができる。
【００８４】
本実施の形態にかかる画像形成装置３００では、画像処理エンジン３０１からのスキャナデータ、オプションコントローラからのプロッタデータの通信ともにＦＩＦＯメモリ１０５とアドレスコンバータ１０６を介して行う。画像処理エンジン３０１からのスキャナデータはＦＩＦＯメモリ１０５とアドレスコンバータ１０６の状況によってメモリ調停機（アービタ１１０）を介してメモリ１５３に一旦格納した後オプションコントローラに転送する方法もとることができる。また、オプションボード３０４はメモリ調停器（アービタ１１０）を介してメモリ１５３との通信を行う。
【００８５】
そして、上述した画像処理コントローラ１００において、セレクタ１０８による出力先を第１ＰＣＩｅバスインターフェース１０１に設定した場合について説明する。図４は、セレクタ１０８による出力先を第１ＰＣＩｅバスインターフェース１０１に設定した場合の画像処理コントローラ１００及び周辺デバイスの概念を示した図である。
【００８６】
図４に示した概念においては、画像処理エンジン３０１からのスキャナデータはメモリ調停器１１０を介してメモリ１５３へ格納する。画像処理コントローラ１００にて形成するプロッタデータはセレクタ１０８にてＰＣＩ−Ｅｘｐｒｅｓｓ側（第１ＰＣＩｅバスインターフェース１０１側）に出力する。また、オプションボード３０４はメモリ調停器１１０を介してメモリ１５３と通信を行う。
【００８７】
次に、図４に示すような構成を備えている場合のデータの通信経路について説明する。図５は、画像処理エンジン３０１のスキャナエンジン機能からメモリ１５３、メモリ１５３からＨＤＤ１５４、及びメモリ１５３から画像処理エンジン３０１のプロッタ出力エンジン機能まで画像データの転送する転送経路を示した図である。
【００８８】
図５の転送経路（１）は、画像処理エンジン３０１のスキャナエンジン機能から、メモリ１５３まで画像データを転送する経路とする。画像処理エンジン３０１は、所定のアドレスに対して画像データの書き込み命令を出す。そして、第１ＰＣＩｅバスインターフェース１０１が、当該書き込み命令を受信した場合、特定部２１１が、当該書き込み命令に含まれるアドレスに基づいて、書込先を特定する。図５の通信経理（１）に示す例では、書込先がメモリ１５３に特定されたものとする。そして、ＰＣＩｅバスインターフェースモジュール２０１の第１指示部２１２は、ＰＣＩｅエンドポイント２０３（第３のインターフェース）を介して、メモリ１５３への書き込み命令を出力する。そして、メモリ１５３には、当該書き込み命令に従って、画像データが格納される。
【００８９】
図５の転送経路（２）は、メモリ１５３とＨＤＤ１５４との間で送受信される画像データの転送経路とする。画像処理コントローラ１００は、ＨＤＤ用インターフェースモジュール１０４が備えるＤＭＡＣ２０４を用いて、メモリ１５３上の画像データを、ＨＤＤ１５４に格納する。また、画像処理コントローラ１００は、ＨＤＤ用インターフェースモジュール１０４が備えるＤＭＡＣ２０４を用いて、ＨＤＤ１５４上の画像データを、メモリ１５３に展開する。
【００９０】
なお、図示していないが、画像処理コントローラ１００が備える画像処理を行う機能は、当該機能ごとのＤＭＡを用いてメモリ１５３上の画像データに対して、回転、圧縮、伸長、編集などの処理を行うことができる。
【００９１】
図５の転送経路（３）は、メモリ１５３から、画像処理エンジン３０１のプロッタ出力エンジン機能まで画像データを転送する経路とする。画像処理エンジン３０１は、所定のアドレスに対して画像データの読み込み命令を出す。そして、第１ＰＣＩｅバスインターフェース１０１が、当該読み込み命令を受信した場合、特定部２１１が、当該読み込み命令に含まれるアドレスに基づいて、読込先を特定する。図５に示す例では、読込先がビデオ出力モジュール１０９に特定されたものとする。そして、ＰＣＩｅバスインターフェースモジュール２０１の第１指示部２１２は、ビデオ出力モジュール１０９に対して、読み込み命令を出力する。そして、ビデオ出力モジュール１０９は、当該読み込み命令に応答して、ＰＣＩｅエンドポイント２０３を介して、メモリ１５３から各色の画像データを受信し、ＦＩＦＯメモリ２３１ａ〜ｄを介してＰＣＩｅバスインターフェースモジュール２０１に転送する。そして、ＰＣＩｅバスインターフェースモジュール２０１は、受信した各色の画像データを、画像処理エンジン３０１のプロッタ出力エンジン機能に出力する。
【００９２】
図６は、画像処理エンジン３０１及びオプションボード３０４の間、オプションボード３０４及びメモリ１５３の間で、画像データの転送する転送経路を示した図である。
【００９３】
図６の転送経路（４）は、画像処理エンジン３０１のスキャナエンジン機能から入力される画像データを、直接オプションボード３０４（ＦＡＸコントロールユニット）に転送する経路とする。画像処理エンジン３０１は、マスタ（主）、スレーブ（マスタに対する従属）関係におけるマスタとして動作する。
【００９４】
具体的には、画像処理エンジン３０１は、画像処理コントローラ１００に対して、所定のアドレスに対する画像データの書き込み命令を出力する。ＰＣＩｅバスインターフェースモジュール２０１の第１ＰＣＩｅバスインターフェース１０１が、当該書き込み命令を受け取った場合、特定部２１１が書き込み命令に含まれるアドレスに基づいて、書込先をオプションボード３０４（ＦＡＸコントロールユニット）と特定する。そして、第１送受信部２１３は、第１信号線２１０を介して、ＰＣＩバスインターフェースモジュール２０２に対して、書き込み命令を出力する。
【００９５】
そして、ＰＣＩバスインターフェースモジュール２０２が、この書き込み命令を受け付けた場合、アドレスコンバータ１０６が、書き込み命令に含まれているアドレスの変換処理を行う。そして、第２指示部２２１は、変換されたアドレスに従って、ＰＣＩバスインターフェース１０２からオプションボード３０４に対して、書き込み命令を出力する。これにより、画像処理エンジン３０１からオプションボード３０４に対して画像データの転送及び書き込みが行われることになる。
【００９６】
当該転送処理では、上述したようにＦＩＦＯメモリ１０５を介することで、ＰＣＩｅとＰＣＩの速度差を吸収することができる。なお、上述したように画像処理エンジン３０１がマスタとして動作した場合に、オプションボード（ＦＡＸコントロールユニット）３０４はスレーブとして動作する。
【００９７】
図６の転送経路（５）は、オプションボード（ＦＡＸコントロールユニット）３０４が入力処理した画像データを、画像処理エンジン３０１のプロッタ出力エンジン機能に転送する経路とする。転送経路（５）による転送処理においても、画像処理エンジン３０１がマスタとして動作する。
【００９８】
具体的には、画像処理エンジン３０１は、画像処理コントローラ１００に対して、所定のアドレスに対する画像データの読み込み命令を出力する。ＰＣＩｅバスインターフェースモジュール２０１の第１ＰＣＩｅバスインターフェース１０１が、当該読み込み命令を受け取った場合、特定部２１１が読み込み命令に含まれるアドレスに基づいて、読込先をオプションボード３０４（ＦＡＸコントロールユニット）と特定する。そして、第１送受信部２１３は、第１信号線２１０を介して、ＰＣＩバスインターフェースモジュール２０２に対して、読み込み命令を出力する。
【００９９】
そして、ＰＣＩバスインターフェースモジュール２０２が、読み込み命令を受け付けた場合、アドレスコンバータ１０６が、読み込み命令に含まれているアドレスの変換処理を行う。そして、第２指示部２２１は、変換されたアドレスに従って、ＰＣＩバスインターフェース１０２からオプションボード３０４に対して、読み込み命令を出力する。これにより、オプションボード３０４から画像処理エンジン３０１に対して画像データの転送が行われることになる。転送経路（５）で示した処理においても、画像処理エンジン３０１がマスタとして動作し、オプションボード（ＦＡＸコントロールユニット）３０４がスレーブとして動作することになる。
【０１００】
転送経路（５）で示した処理では、オプションボード（ＦＡＸコントローラユニット）３０４から画像処理エンジン３０１へのデータ転送は、ChipSet１５１及びメモリ１５３を介さずに行うことが可能となっている。このような処理の実現は、ＰＣＩｅバスインターフェースモジュール２０１と、ＰＣＩバスインターフェースモジュール２０２との間にＦＩＦＯメモリ１０５を設けることで可能としている。
【０１０１】
つまり、複写時には、画像処理エンジン３０１は、マスタとしてChipSet１５１側のメモリ１５３に対して画像データの読み込み命令を出力することで、処理が行われる。
【０１０２】
通信経路（５）では、画像処理エンジン３０１はマスタとして、ＦＡＸコントロールユニット３０４に対して動作を要求する。そして、画像処理エンジン３０１は、コピー時にカラー画像データ（多値の画像データ）の処理が可能であるのに対し、ＦＡＸコントロールユニット３０４からはモノクロ画像データ（２値の画像データ）が転送されてくる。このため、画像処理エンジン３０１の転送速度は、ＦＡＸコントロールユニット３０４の転送速度に対応するために十分な転送速度を備えている。
【０１０３】
そして、ＰＣＩバスインターフェースモジュール２０２が、読み込み命令に従って、ＦＡＸコントロールユニット３０４から転送されたモノクロ画像データを一時ＦＩＦＯメモリ１０５に格納する。その後、画像処理エンジン３０１が、ＰＣＩｅバスインターフェースモジュール２０１に読み込み命令を出力し、ＰＣＩｅバスインターフェースモジュール２０１が、当該読み込み命令に従って、ＦＩＦＯメモリ１０５に格納されたモノクロ画像データを、画像処理エンジン３０１に転送する処理を行う。
【０１０４】
当該処理により、画像処理エンジン３０１のプロッタ出力エンジン機能から印刷するために必要なデータ量以上の画像データを一時的にＦＩＦＯメモリ１０５に蓄積し、ＰＣＩｅバスインターフェースモジュール２０１が、ＦＩＦＯメモリ１０５から、当該データ量の画像データを取得することができる。これにより、ＰＣＩｅバスインターフェースモジュール２０１は、ＰＣＩバスインターフェースモジュール２０２の処理の遅延等に影響を受けることなく、確実に画像データを画像処理エンジン３０１に受け渡すことができる。なお、印刷するために必要なデータ量として、ＦＩＦＯメモリ１０５は、上述したようにＰＣＩｅ１パケット以上の記憶容量を有しても良く、例えば印刷時における主走査方向一ライン分の画像データを記憶しても良い。
【０１０５】
さらに、ＰＣＩｅバスインターフェースモジュール２０１は、読み込み先がＦＩＦＯメモリ１０５の場合、読み込み先がＦＡＸコントロールユニット３０４の場合と比べて転送経路が短くなるので、読み込み時間を短縮することができる。
【０１０６】
図６の転送経路（６）は、オプションボード（ＦＡＸコントロールユニット）３０４が入力処理した画像データを、メモリ１５３に転送する経路とする。転送経路（６）による転送処理においては、ＦＡＸコントロールユニット３０４がマスタとして動作する。
【０１０７】
ＦＡＸコントロールユニット３０４は、所定のメモリアドレスに対する画像データの書き込み命令を出力する。ＰＣＩバスインターフェースモジュール２０２のアドレスコンバータ１０６は、書き込み命令に含まれるメモリアドレスからアクセス先を特定する。そして、特定されたアクセス先は、メモリ１５３とする。この場合、第２指示部２２１は、第２送受信部２２２を介して、アクセス先であるメモリ１５３に対して、書き込み命令を出力する。当該書き込み命令により、入力された画像データが、メモリ１５３に書き込まれることになる。
【０１０８】
さらに、ＦＡＸコントロールユニット３０４が、マスタとして、所定のメモリアドレスに対する画像データの読み込み命令を出力した場合、アドレスコンバータ１０６が、読み込み命令に含まれるメモリアドレスからアクセス先を特定する。そして、特定されたアクセス先がメモリ１５３の場合、第２指示部２２１は、第２送受信部２２２を介して、アクセス先であるメモリ１５３に対して、読み込み命令を出力する。当該読み込み命令により、メモリ１５３から画像データが読み込まれることになる。
【０１０９】
上述したように、図６の転送経路（６）においては、ＦＡＸコントロールユニット３０４と、メモリ１５３との間の双方向でデータの転送が可能となる。
【０１１０】
（第２の実施の形態）
第１の実施の形態にかかる画像形成装置３００では、画像処理コントローラ１００のＰＣＩｅバスを介して画像処理エンジン３０１が接続された例について説明した。しかしながら、画像処理コントローラ１００は、セレクタ１０８の出力先を変更することで、画像処理エンジンをＰＣＩバス側に接続することができる。そこで、第２の実施の形態にかかる画像処理装置では、画像処理コントローラ１００のＰＣＩバス側に画像処理エンジンを接続した例について説明する。以下の説明では、上述した第１の実施の形態と同一の構成要素には同一の符号を付してその説明を省略している。
【０１１１】
図７は、第２の実施の形態にかかる画像形成装置７００の構成を示すブロック図である。図７に示すように、本実施の形態にかかる画像形成装置７００では、画像処理コントローラ１００のＰＣＩバス側に画像処理エンジン７０１及びオプションコントローラ７０２が配置されている。
【０１１２】
図８は、第２の実施の形態にかかる画像処理コントローラ１００の機能的な概念を示した説明図である。図８に示すように、セレクタ１０８で出力先がＰＣＩバスインターフェース１０２に設定され、第１ＰＣＩｅバスインターフェース１０１が利用されないため、低速で画像処理を行うための画像処理コントローラ１００として機能していることが確認できる。
【０１１３】
図８に示す概念では、画像処理エンジン７０１からのスキャナデータはメモリ調停器１１０を介してメモリ１５３へ格納する。画像処理コントローラ１００にて形成するプロッタデータはセレクタ１０８にてＰＣＩ側に出力する。また、オプションボード３０４もスキャナデータと同様にメモリ調停器１１０を介してメモリ１５３と通信を行う。
【０１１４】
さらに、図８に示す概念では、画像処理エンジン７０１からのスキャナデータ、及びオプションコントローラ７０２からのプロッタデータの通信は、ＰＣＩバスを介して行われる。オプションコントローラ７０２は、メモリ調停器１１０、メモリ１５３を介してＨＤＤ１５４にアクセスする。また、オプションボード３０４はメモリ調停器１１０を介してメモリ１５３と通信を行う。
【０１１５】
図９は、ＰＣＩ側に画像処理エンジン７０１を接続した場合に画像処理コントローラ１００を用いて転送される画像データの転送経路を示した図である。
【０１１６】
図９の転送経路（７）は、画像処理エンジン７０１のスキャナエンジン機能から入力される画像データを、メモリ１５３に転送する経路とする。この場合、画像処理エンジン７０１は、マスタとして動作し、所定のアドレスに対して画像データの書き込み命令を出力する。そして、ＰＣＩバスインターフェースモジュール２０２のアドレスコンバータ１０６は、書き込み命令に含まれるメモリアドレスからアクセス先を特定する。そして、特定されたアクセス先は、メモリ１５３とする。この場合、第２指示部２２１は、第２送受信部２２２を介して、アクセス先であるメモリ１５３に対して、書き込み命令を出力する。当該書き込み命令により、入力された画像データが、メモリ１５３に書き込まれることになる。
【０１１７】
図６の転送経路（８）は、メモリ１５３とＨＤＤ１５４との間で送受信される画像データの転送経路であり、図５の転送経路（２）と同様の処理が行われることとして、説明を省略する。
【０１１８】
図６の転送経路（９）は、メモリ１５３に格納された画像データを、画像処理エンジン７０１のプロッタ出力エンジン機能まで転送する経路とする。この場合、画像処理エンジン７０１は、マスタとして動作し、所定のアドレスに対して画像データの読み込み命令を出力する。そして、ＰＣＩバスインターフェースモジュール２０２のアドレスコンバータ１０６は、読み込み命令に含まれるメモリアドレスからアクセス先を特定する。そして、特定されたアクセス先は、ビデオ出力モジュール１０９とする。そして、第２指示部２２１は、ビデオ出力モジュール１０９に対して、読み込み命令を出力する。そして、ビデオ出力モジュール１０９は、当該読み込み命令に応答して、ＰＣＩｅエンドポイント２０３を介して、メモリ１５３から各色の画像データを受信する。そして、ビデオ出力モジュール１０９は、受信した画像データをセレクタ１０８に出力する。本実施の形態ではセレクタ１０８の出力先にＰＣＩバスインターフェースモジュール２０２が選択されているので、画像データは、ＰＣＩバスインターフェースモジュール２０２に転送されることになる。そして、ＰＣＩバスインターフェースモジュール２０２は、受信した各色の画像データを、画像処理エンジン７０１のプロッタ出力エンジン機能に出力する。
【０１１９】
上述した実施の形態にかかる画像処理コントローラ１００を用いることにより、ＰＣＩ−Ｅｘｐｒｅｓｓインターフェースの画像処理エンジンと、従来のＰＣＩインターフェースのオプションコントローラ、オプションボードを搭載した画像処理装置を、スイッチやＰＣＩ−Ｅｘｐｒｅｓｓ−ＰＣＩブリッジを用いずに実現可能であるため、コスト削減につながる。
【０１２０】
また、画像処理コントローラ１００では、ＰＣＩ−ＥｘｐｒｅｓｓインターフェースのほかにＰＣＩインターフェースを備えるため、従来のＰＣＩボードを有効利用できるため、コスト削減につながる。
【０１２１】
本実施の形態にかかる画像処理コントローラ１００では、ＰＣＩバスインターフェース１０２及び第１ＰＣＩｅバスインターフェース１０１を備え、ビデオ出力モジュール１０９からの画像データの出力先をセレクタ１０８で選択可能としたので、当該セレクタ１０８による出力先の選択で２種類の画像処理コントローラの役割を果たすことが可能となる。
【０１２２】
そして、画像処理コントローラ１００は、ＰＣＩ−Ｅｘｐｒｅｓｓインターフェースの画像処理エンジンを用いた画像処理装置とＰＣＩインターフェースのエンジンを用いた画像処理装置の両方で、用いることができる。つまり、従来通りの構成であれば、機能は共通でも高速転送用、低速転送用の２種類のエンジンインターフェース毎に画像処理コントローラを開発する必要があったため、開発費等のコストに無駄が生じていた。これに対して、本実施の形態にかかる画像処理コントローラ１００を用いることで、それぞれのインターフェース毎の画像処理コントローラを作る必要がなく、コスト削減につながる。
【０１２３】
なお、上述する各実施の形態は、本発明の好適な実施の形態であり、本発明の要旨を逸脱しない範囲内において種々変更実施が可能である。例えば、画像処理コントローラの機能を実現するためのプログラムを装置に読込ませて実行することにより装置の機能を実現する処理を行ってもよい。
【０１２４】
さらに、そのプログラムは、コンピュータ読み取り可能な記録媒体である、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭまたはＤＶＤなどの光磁気ディスクなどを介して提供しても良い。または、上記のプログラムを、伝送媒体であるインターネット、電話回線などを介して伝送波により他のコンピュータシステムに伝送されてもよい。さらに、本実施形態の画像処理コントローラ１００で実行される画像処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【０１２５】
本実施の形態の画像処理コントローラ１００で実行される画像処理プログラムは、上述した処理を行う各構成を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから画像処理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各構成が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１２６】
以上のように、本発明にかかる画像処理コントローラ及び画像処理装置は、データの転送処理技術に有用であり、特に、複数の速度が異なるインターフェースを内部で備える画像処理装置に適している。
【図面の簡単な説明】
【０１２７】
【図１】第１の実施の形態にかかる画像処理コントローラ及び周辺デバイスの概略を示した図である。
【図２】画像処理コントローラを備える画像形成装置のハードウェア構成を示した図である。
【図３】第１の実施の形態にかかる画像処理コントローラ及び周辺デバイスの詳細な構成を示すブロック図である。
【図４】セレクタによる出力先をＰＣＩｅバスインターフェースに設定した場合の画像処理コントローラ及び周辺デバイスの概念を示した図である。
【図５】画像処理エンジンのスキャナエンジン機能からメモリ、メモリからＨＤＤ、及びメモリから画像処理エンジンのプロッタ出力エンジン機能まで画像データの転送する転送経路を示した図である。
【図６】画像処理エンジン及びオプションボードの間、オプションボード及びメモリの間で、画像データの転送する転送経路を示した図である。
【図７】第２の実施の形態にかかる画像形成装置の構成を示すブロック図である。
【図８】第２の実施の形態にかかる画像処理コントローラの機能的な概念を示した説明図である。
【図９】ＰＣＩ側に画像処理エンジンを接続した場合に画像処理コントローラを用いて転送される画像データの転送経路を示した図である。
【図１０】ＰＣＩインターフェースを利用して画像データを転送していた画像処理コントローラと周辺デバイスを示した説明図である。
【図１１】ＰＣＩｅインターフェースとスイッチデバイスとを備えた画像処理コントローラと周辺デバイスを示した説明図である。
【符号の説明】
【０１２８】
１００  画像処理コントローラ
１０１  第１ＰＣＩｅバスインターフェース
１０２  ＰＣＩバスインターフェース
１０３  第２ＰＣＩｅバスインターフェース
１０４  ＨＤＤ用インターフェースモジュール
１０５  ＦＩＦＯメモリ
１０６  アドレスコンバータ
１０７  信号線
１０８  セレクタ
１０９  ビデオ出力モジュール
１１０  アービタ（メモリ調停器）
１５１  ChipSet
１５２  ＣＰＵ
１５３  メモリ
２０１  ＰＣＩｅバスインターフェースモジュール
２０２  ＰＣＩバスインターフェースモジュール
２０３  ＰＣＩｅエンドポイント
２０４  ＤＭＡＣ
２１０  信号線
２１１  特定部
２１２  第１指示部
２１３  第１送受信部
２１４  記憶部
２２１  第２指示部
２２２  第２送受信部
２３１ａ〜ｄ  ＦＩＦＯメモリ
２３２ａ〜ｄ  ＤＭＡＣ
３００、７００  画像形成装置
３０１、７０１  画像処理エンジン
３０３  外部コントローラ
３０４  オプションボード（ＦＡＸコントロールユニット）
７０２  オプションコントローラ
１２０１  画像処理コントローラ
１２０２  画像処理エンジン
１２０３  メモリ
１２１１  ＰＣＩバスインターフェースモジュール
１２１２  ＡＧＰバスインターフェースモジュール
１３０１  画像処理コントローラ
１３０２  画像処理エンジン
１３０３  メモリ
１３０４  ChipSet
１３０５  ＰＣＩｅ―ＰＣＩスイッチデバイス
【図１】
0004902570.tif 000002
【図２】
0004902570.tif 000003
【図３】
0004902570.tif 000004
【図４】
0004902570.tif 000005
【図５】
0004902570.tif 000006
【図６】
0004902570.tif 000007
【図７】
0004902570.tif 000008
【図８】
0004902570.tif 000009
【図９】
0004902570.tif 000010
【図１０】
0004902570.tif 000011
【図１１】
0004902570.tif 000012