(57)【要約】【課題】制御ボード間において、画像データ以外のデータ量の多いデータを転送するときにかかる転送時間を短縮することができる画像形成装置、データ転送方法、及びデータ転送プログラムを提供する。【解決手段】画像形成装置１００は、画像形成処理を行う第１の制御ユニット４０と、機能を拡張する第２の制御ユニット５０とがデータ通信を行う装置であって、第２の制御ユニット５０において、入力データＰＤから第１の制御ユニット４０へ転送する転送データＲＣｂを抽出する抽出手段９１と、第１の制御ユニット４０において、単位時間あたりのデータ転送量が多い第１のインタフェース８１ａを、データ受信待ち状態へ移行する受信待ち状態移行手段９５と、第１のインタフェース８１ａがデータ受信待ち状態へ移行された場合に、第２の制御ユニット５０において、転送データＲＣｂを第１の制御ユニット４０へ転送する転送手段９３１とを有することを特徴とする。【選択図】図７
2009172828.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置であって、
前記第１の制御ユニットが、
前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手段を有し、
前記第２の制御ユニットが、
入力データから、前記第１の制御ユニットへ転送する転送データを抽出する抽出手段と、
前記抽出手段により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手段とを有し、
前記抽出手段により前記転送データが抽出されると、前記受信待ち状態移行手段が前記第１のインタフェースをデータ受信待ち状態へ移行し、
前記転送手段が、前記受信待ち状態移行手段によりデータ受信待ち状態へ移行された前記第１のインタフェースを介して、前記転送データを転送することを特徴とする画像形成装置。
【請求項２】
前記第２の制御ユニットが、
前記入力データを解析し、所定のデータ規則に基づいて、前記入力データに含まれる前記転送データのデータ範囲情報であるデータ開始・終了位置を取得するデータ範囲情報取得手段を有し、
前記抽出手段は、
前記データ範囲情報取得手段により取得される前記データ範囲情報に基づいて、前記入力データから前記転送データを抽出することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第２の制御ユニットが、
前記抽出手段により前記転送データが抽出された場合に、
単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行を前記第１の制御ユニットへ要求する要求手段を有し、
前記第１の制御ユニットが有する前記受信待ち状態移行手段は、
前記要求手段による移行要求に従って、前記第１のインタフェースをデータ受信待ち状態へ移行することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記第１の制御ユニットが、
前記受信待ち状態移行手段により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、
前記第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行が完了した旨を前記第２の制御ユニットへ応答する応答手段を有し、
前記第２の制御ユニットが有する前記転送手段は、
前記応答手段による移行完了応答に基づいて、前記第１のインタフェースを介して前記転送データを転送することを特徴とする請求項１ないし３のいずれか一項に記載の画像形成装置。
【請求項５】
画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置における前記制御ユニット間のデータ転送方法であって、
前記第２の制御ユニットにおいて、入力データから前記第１の制御ユニットへ転送する転送データを抽出する抽出手順と、
前記抽出手順により前記転送データが抽出された場合に、
前記第１の制御ユニットにおいて、前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手順と、
前記受信待ち状態移行手順により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、
前記第２の制御ユニットにおいて、前記抽出手順により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手順とを有することを特徴とするデータ転送方法。
【請求項６】
前記第２の制御ユニットにおいて、前記入力データを解析し、所定のデータ規則に基づいて、前記入力データに含まれる前記転送データのデータ範囲情報であるデータ開始・終了位置を取得するデータ範囲情報取得手順を有し、
前記抽出手順は、
前記データ範囲情報取得手順により取得される前記データ範囲情報に基づいて、前記入力データから前記転送データを抽出することを特徴とする請求項５に記載のデータ転送方法。
【請求項７】
前記第２の制御ユニットにおいて、前記抽出手順により前記転送データが抽出された場合に、
単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行を前記第１の制御ユニットへ要求する要求手順を有し、
前記第１の制御ユニットにおける前記受信待ち状態移行手順は、
前記要求手順による移行要求に従って、前記第１のインタフェースをデータ受信待ち状態へ移行することを特徴とする請求項５又は６に記載のデータ転送方法。
【請求項８】
前記第１の制御ユニットにおいて、前記受信待ち状態移行手順により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、
前記第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行が完了した旨を前記第２の制御ユニットへ応答する応答手順を有し、
前記第２の制御ユニットにおける前記転送手順は、
前記応答手順による移行完了応答に基づいて、前記第１のインタフェースを介して前記転送データを転送することを特徴とする請求項５ないし７のいずれか一項に記載のデータ転送方法。
【請求項９】
画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置における前記制御ユニット間のデータ転送プログラムであって、
前記第１の制御ユニットを、
前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手段として機能させ、
前記第２の制御ユニットを、
入力データから、前記第１の制御ユニットへ転送する転送データを抽出する抽出手段と、
前記抽出手段により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手段として機能させ、
前記第１の制御ユニットと前記第２の制御ユニットとを、
前記抽出手段により前記転送データが抽出されると、前記受信待ち状態移行手段が前記第１のインタフェースをデータ受信待ち状態へ移行し、
前記転送手段が、前記受信待ち状態移行手段によりデータ受信待ち状態へ移行された前記第１のインタフェースを介して、前記転送データを転送するように実行させるデータ転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡｉＯ機能を備える画像形成装置に関し、特に、複数の制御ユニットを搭載してＡｉＯ機能を実現する画像形成装置、制御ユニット間のデータ転送方法、及びデータ転送プログラムに関するものである。
【背景技術】
【０００２】
従来のプリンタは、プリンタが備える機械部品の制御や画像形成に係る画像処理などが１枚の制御ボードで実行され、画像形成動作を実現している。
【０００３】
上記制御ボードは、例えばモータなどの各種機械部品を駆動制御する駆動回路や、例えばエミュレーション処理などを行うコントロール回路、またプリンタのシーケンス制御を行うシーケンス回路などから構成され、これら複数の回路が１つの回路として１枚の基板上に形成されている。
【０００４】
このような１枚の基板上に１つの回路として形成された制御ボードでは、プリンタが有する機能に応じてコントロール回路に変更が生じるため、プリンタが有する機能に応じてその都度、制御ボードを取り替える必要がある。本来、取り替える必要があるのは、コントロール回路であるが、コントロール回路と他の回路が１枚の基板上に形成されているために、その他の回路を含む制御ボードごと取り替える必要がある。
【０００５】
そこで、今まで１つの回路として１枚の基板上に形成されていたコントロール回路と他の回路とを、それぞれ異なる基板に形成し、互いの基板をハーネス又はコネクタによって接続する構成とし、コントロール回路が形成された基板のみを取り替えることで、プリンタが有する機能に応じて対応可能なボード構成技術が提案されている。更に、特許文献１には、コントロール回路と他の回路とを異なる基板上に形成する構成において問題となる、コントロール回路の構成変更によるコネクタのピン数や配列の変更（連結部の構造変更）を考慮して、最小限の基板変更により対応可能な各種機能に対応させることができる制御装置の技術が提案されている。
【０００６】
このような技術により、現在のプリンタでは、画像形成動作を制御する第１の制御ボード（以下、「プリンタエンジン制御ボード」という。）に加えて、第２の制御ボード（以下、「アプリケーション制御ボード」という。）を増設することで、プリンタが有する機能以外のコピー、スキャナ、ＦＡＸなどの各種アプリケーション機能が拡張可能となり、簡便にＡｉＯ（All-in-One）機能を実現している。
【０００７】
その結果、プリンタなどの画像形成装置を製造するメーカーでは、既に市場投入された既存のプリンタにアプリケーション制御ボードを増設することで、製品導入後のユーザ環境の変化や使用用途の変化などに柔軟に対応することができる。
【特許文献１】特開平０５―００８５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記のようなボード構成では、アプリケーション制御ボードにおいて受信したデータが、プリンタエンジン制御ボードで解釈されるべきデータであった場合に、アプリケーション制御ボードからプリンタエンジン制御ボードへのデータ転送時間が問題となる。
【０００９】
アプリケーション制御ボードとプリンタエンジン制御ボードとで解釈可能なデータが異なる。例えば、画像形成装置が備えるプリンタエンジン（プロッタ）をメンテナンス（機器調整）するためのデータは、アプリケーション制御ボードでは解釈できず、メンテナンス用データをプリンタエンジン制御ボードへ直送（改変なくそのまま転送）しなければならない。すなわち、上記のようなボード構成では、制御ボード間のデータフローにおいて、下流に位置する制御ボードで解釈されるべきデータを上流の制御ボードで受信した場合、制御ボード間のインタフェース（Ｉ／Ｆ）を介して、受信データを下流の制御ボードに転送しなければならない。
【００１０】
アプリケーション制御ボードからプリンタエンジン制御ボードへのデータ転送経路には、ビデオＩ／Ｆ（Video I/F）を介してＣＭＹＫデータなどの１ページ分の画像データを転送する経路と、シリアルＩ／Ｆ（Serial I/F）を介して画像データ以外のデータ（例えば、画像形成動作の制御を行うための制御コマンド（印刷制御コマンド）など。）を転送する経路とがあり、転送するデータ種により使用される経路が異なる。なぜなら、画像データと画像データ以外のデータとでは、転送するデータ量が異なることから、転送するデータ量に応じて効率よくデータ転送を行うために、単位時間あたりの転送量の多い（bps（bit per sec）値が大きい）ビデオＩ／Ｆと、単位時間あたりの転送量が少ない（bps値が小さい）シリアルＩ／Ｆとを使い分けているためのである。
【００１１】
このようなことから、メンテナンス用データは、画像データ以外のデータであるため、通常、シリアルＩ／Ｆを介して転送されることになる。
【００１２】
その結果、メンテナンス用データのデータ量が多いと転送時間がかかってしまい、画像形成装置の性能に悪影響を及ぼすこととなる。
【００１３】
本発明では、上記従来技術の問題点に鑑み、制御ボード間において、画像データ以外のデータ量の多いデータを転送するときにかかる転送時間を短縮可能な画像形成装置、データ転送方法、及びデータ転送プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明の画像形成装置は、画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置であって、前記第１の制御ユニットが、前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手段を有し、前記第２の制御ユニットが、入力データから、前記第１の制御ユニットへ転送する転送データを抽出する抽出手段と、前記抽出手段により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手段とを有し、前記抽出手段により前記転送データが抽出されると、前記受信待ち状態移行手段が前記第１のインタフェースをデータ受信待ち状態へ移行し、前記転送手段が、前記受信待ち状態移行手段によりデータ受信待ち状態へ移行された前記第１のインタフェースを介して、前記転送データを転送することを特徴とする。
【００１５】
また、上記目的を達成するため、本発明の画像形成装置は、前記第２の制御ユニットが、前記入力データを解析し、所定のデータ規則に基づいて、前記入力データに含まれる前記転送データのデータ範囲情報であるデータ開始・終了位置を取得するデータ範囲情報取得手段を有し、前記抽出手段が、前記データ範囲情報取得手段により取得される前記データ範囲情報に基づいて、前記入力データから前記転送データを抽出することを特徴とする。
【００１６】
また、上記目的を達成するため、本発明の画像形成装置は、前記第２の制御ユニットが、前記抽出手段により前記転送データが抽出された場合に、単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行を前記第１の制御ユニットへ要求する要求手段を有し、前記第１の制御ユニットが有する前記受信待ち状態移行手段が、前記要求手段による移行要求に従って、前記第１のインタフェースをデータ受信待ち状態へ移行することを特徴とする。
【００１７】
また、上記目的を達成するため、本発明の画像形成装置は、前記第１の制御ユニットが、前記受信待ち状態移行手段により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、前記第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行が完了した旨を前記第２の制御ユニットへ応答する応答手段を有し、前記第２の制御ユニットが有する前記転送手段が、前記応答手段による移行完了応答に基づいて、前記第１のインタフェースを介して前記転送データを転送することを特徴とする。
【００１８】
このように、本発明の画像形成装置は、制御ユニット間においてデータ通信を行うときに使用する複数のインタフェースのうち、他のインタフェースに比べて、単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースのデータ受信モードを、データ受信待ち状態（データ受信可能な状態）へ移行するデータ受信待ち状態移行要求を、第２の制御ユニットから第１の制御ユニットに対して行い、移行要求に従い、第１の制御ユニットにおいて、第１のインタフェースのデータ受信モードがデータ受信待ち状態へ移行され、その結果、第２の制御ユニットに入力された入力データから抽出した第１の制御ユニットに転送する転送データを、データ受信待ち状態へ移行された第１のインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送する構成により、画像データ以外のデータ量の多いデータを、単位時間あたりのデータ転送量が多いインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送することができ、制御ボード間におけるデータ転送にかかる転送時間を短縮することができる。
【００１９】
上記目的を達成するため、本発明のデータ転送方法は、画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置における前記制御ユニット間のデータ転送方法であって、前記第２の制御ユニットにおいて、入力データから前記第１の制御ユニットへ転送する転送データを抽出する抽出手順と、前記抽出手順により前記転送データが抽出された場合に、前記第１の制御ユニットにおいて、前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手順と、前記受信待ち状態移行手順により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、前記第２の制御ユニットにおいて、前記抽出手順により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手順とを有することを特徴とする。
【００２０】
また、上記目的を達成するため、本発明のデータ転送方法は、前記第２の制御ユニットにおいて、前記入力データを解析し、所定のデータ規則に基づいて、前記入力データに含まれる前記転送データのデータ範囲情報であるデータ開始・終了位置を取得するデータ範囲情報取得手順を有し、前記抽出手順が、前記データ範囲情報取得手順により取得される前記データ範囲情報に基づいて、前記入力データから前記転送データを抽出することを特徴とする。
【００２１】
また、上記目的を達成するため、本発明のデータ転送方法は、前記第２の制御ユニットにおいて、前記抽出手順により前記転送データが抽出された場合に、単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行を前記第１の制御ユニットへ要求する要求手順を有し、前記第１の制御ユニットにおける前記受信待ち状態移行手順が、前記要求手順による移行要求に従って、前記第１のインタフェースをデータ受信待ち状態へ移行することを特徴とする。
【００２２】
また、上記目的を達成するため、本発明のデータ転送方法は、前記第１の制御ユニットにおいて、前記受信待ち状態移行手順により前記第１のインタフェースがデータ受信待ち状態へ移行された場合に、前記第２のインタフェースを介して、前記第１のインタフェースのデータ受信待ち状態への移行が完了した旨を前記第２の制御ユニットへ応答する応答手順を有し、前記第２の制御ユニットにおける前記転送手順が、前記応答手順による移行完了応答に基づいて、前記第１のインタフェースを介して前記転送データを転送することを特徴とする。
【００２３】
このように、本発明のデータ転送方法は、制御ユニット間においてデータ通信を行うときに使用する複数のインタフェースのうち、他のインタフェースに比べて、単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースのデータ受信モードを、データ受信待ち状態（データ受信可能な状態）へ移行するデータ受信待ち状態移行要求を、第２の制御ユニットから第１の制御ユニットに対して行い、移行要求に従い、第１の制御ユニットにおいて、第１のインタフェースのデータ受信モードがデータ受信待ち状態へ移行され、その結果、第２の制御ユニットに入力された入力データから抽出した第１の制御ユニットに転送する転送データを、データ受信待ち状態へ移行された第１のインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送することで、画像データ以外のデータ量の多いデータを、単位時間あたりのデータ転送量が多いインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送することができ、制御ボード間におけるデータ転送にかかる転送時間を短縮可能なデータ転送機能を実現することができる。
【００２４】
上記目的を達成するため、本発明のデータ転送プログラムは、画像形成処理を行う第１の制御ユニットと、前記第１の制御ユニットが行う処理機能を拡張する第２の制御ユニットとが、単位時間あたりのデータ転送量が異なる複数のインタフェースを介して接続され、前記制御ユニット間において、前記インタフェースを介したデータ通信を行うことで機能拡張を実現する画像形成装置における前記制御ユニット間のデータ転送プログラムであって、前記第１の制御ユニットを、前記複数のインタフェースのうち、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースを、データ受信待ち状態へ移行する受信待ち状態移行手段として機能させ、前記第２の制御ユニットを、入力データから、前記第１の制御ユニットへ転送する転送データを抽出する抽出手段と、前記抽出手段により抽出された前記転送データを前記第１の制御ユニットへ転送する転送手段として機能させ、前記第１の制御ユニットと前記第２の制御ユニットとを、前記抽出手段により前記転送データが抽出されると、前記受信待ち状態移行手段が前記第１のインタフェースをデータ受信待ち状態へ移行し、前記転送手段が、前記受信待ち状態移行手段によりデータ受信待ち状態へ移行された前記第１のインタフェースを介して、前記転送データを転送するように実行させる。
【００２５】
このように、本発明のデータ転送プログラムは、第１の制御ユニットと第２の制御ユニットとを、制御ユニット間においてデータ通信を行うときに使用する複数のインタフェースのうち、他のインタフェースに比べて、単位時間あたりのデータ転送量が相対的に少ない第２のインタフェースを介して、単位時間あたりのデータ転送量が相対的に多い第１のインタフェースのデータ受信モードを、データ受信待ち状態（データ受信可能な状態）へ移行するデータ受信待ち状態移行要求を、第２の制御ユニットから第１の制御ユニットに対して行い、移行要求に従い、第１の制御ユニットにおいて、第１のインタフェースのデータ受信モードがデータ受信待ち状態へ移行され、その結果、第２の制御ユニットに入力された入力データから抽出した第１の制御ユニットに転送する転送データを、データ受信待ち状態へ移行された第１のインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送するように機能させることができる。
【００２６】
よって、本発明のデータ転送プログラムは、画像データ以外のデータ量の多いデータを、単位時間あたりのデータ転送量が多いインタフェースを介して、第２の制御ユニットから第１の制御ユニットへ転送することができ、制御ボード間におけるデータ転送にかかる転送時間を短縮可能なデータ転送機能を実現することができる。
【発明の効果】
【００２７】
本発明によれば、制御ボード間において、画像データ以外のデータ量の多いデータを転送するときにかかる転送時間を短縮可能な画像形成装置、データ転送方法、及びデータ転送プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の好適な実施の形態（以下、「実施形態」という。）について、図面を用いて詳細に説明する。
【００２９】
［第１の実施形態］
＜ハードウェア構成＞
では、本実施形態に係る画像形成装置１００のハードウェア構成について、図１及び図２を用いて説明する。図１は、印刷（以下、「画像形成」という。）機能を、１つのＣＰＵ（Central Processing Unit）が搭載されたボード（以下、「１ＣＰＵボード」という。）で実現している画像形成装置２００のハードウェア構成の例を示し、図２は、図１に示すボード構成に拡張ボードを加え、ＡｉＯ機能を、１ＣＰＵボードを２枚搭載（以下、「２ＣＰＵボード」という。）して実現している本実施形態に係る画像形成装置１００のハードウェア構成の例を示している。
【００３０】
以下の説明では、本実施形態に係る画像形成装置１００のハードウェア構成を分かりやすく説明するため、まず、従来プリンタなどの１ＣＰＵボード構成による画像形成装置２００のハードウェア構成について、図１を用いて説明し、次に、本実施形態に係る２ＣＰＵボード構成による画像形成装置１００のハードウェア構成について、図２を用いて説明する。
【００３１】
（１ＣＰＵボード構成の画像形成装置）
図１に示すように、従来の画像形成装置２００は、画像形成機能を実現するため、主に、受信した印刷データ（ＰＤＬデータ：Page Description Language Data）を解釈し、所定の画像処理を行い、後述するプロッタ３０が出力可能な画像データであるラスタイメージ（以下、「プロッタ出力形式データ」という。）を生成するとともに、当該画像形成装置２００が備える各装置（メカ）を制御し、画像形成動作を実現するための各種画像処理及び制御処理を行うコントローラ１０と、コントローラ１０や後述するプロッタ３０などの当該画像形成装置２００が備える各装置に駆動電力を供給する電源供給装置であるＰＳＵ（Power Supply Unit）２０と、コントローラ１０によって所定の処理が行われ生成されたプロッタ出力形式データを受け付けると、例えば電子写真方式の場合、受け付けたプロッタ出力形式データを基に、帯電、露光、潜像、現像、転写、定着の各工程を経て、印刷用紙などの転写媒体へ画像形成する動作を行うプロッタ３０と、から構成され、それぞれ相互に接続されている。
【００３２】
更に、上記コントローラ１０について、より具体的なハードウェア構成を以下に説明する。コントローラ１０は、例えばＰＣ（Personal Computer）などの情報処理装置（非図示）からＬＡＮ（Local Are Network）やＷＡＮ（Wide Are Network）などのネットワーク（非図示）を介して送信される印刷データや印刷制御コマンド（以下、「ラスタコマンド」という。）を受信するなど、当該画像形成装置２００と他のデータ通信機能を有する機器との間でデータ通信を行うホストＩ／Ｆ１１と、ホストＩ／Ｆ１１により受信した印刷データに対して、例えば高速な画像処理を行うなど所定の画像処理を行う印刷制御用ＩＰ（画像処理用ＡＳＩＣ：Application Specific Integrated Circuit for Image Processing）１２と、ＲＯＭ（Read Only Memory）（非図示）などの所定の記憶領域に格納されている、例えばＰＤＬパーサなどの各種プログラム（以下、「ソフトウェア部品」という。）を実行することで、受信した印刷データの解釈や所定の画像処理、またデータ・コマンド処理などを行い、当該画像形成装置２００全体の動作を制御するＣＰＵ１３と、ＲＯＭなどに格納されているソフトウェア部品や画像データなどを一時保持するＲＡＭ（Random Access Memory）などのメモリ１４と、から構成され、それぞれがバス（非図示）により接続されている。
【００３３】
このように、従来の画像形成装置２００では、上記ハードウェア構成により、画像形成機能を１ＣＰＵボード構成により実現している。
【００３４】
（２ＣＰＵボード構成の画像形成装置）
そこで、本実施形態に係る画像形成装置１００では、図２に示すように、図１に示したコントローラ１０の１ＣＰＵボードを、プリンタエンジン制御ボード４０（第１の制御ユニット）として、機能拡張用のアプリケーション制御ボード５０（第２の制御ユニット）を新たに備える２ＣＰＵボード構成とし、これらの制御ボード４０及び５０と、ＰＳＵ２０とプロッタ３０とがそれぞれ相互に接続されている。以下の説明では、主に、図１に示した１ＣＰＵボード構成との違いについて説明する。
【００３５】
プリンタエンジン制御ボード４０は、印刷制御用ＩＰ１２、ＣＰＵ１３、及びメモリ１４に加えて、ホストＩ／Ｆ１１の替わりにアプリケーション制御ボード５０との間でデータ通信を行うためのアプリケーション制御Ｉ／Ｆ４１を有している。プリンタエンジン制御ボード４０では、同制御ボード上に備えられたＲＯＭ（非図示）に格納されているソフトウェア部品（制御プログラム）をメモリ１４に読み出し、ＣＰＵ１３で実行することにより、アプリケーション制御Ｉ／Ｆ４１を介して受信した各種データを基に、画像形成動作の制御を行う。より具体的には、印刷データを基にしたプロッタ出力形式データの生成動作や、給・排紙動作などの制御を行う。
【００３６】
また、アプリケーション制御ボード５０は、ホストＩ／Ｆ１１、ＣＰＵ１３、メモリ１４に加えて、プリンタエンジン制御ボード４０との間でデータ通信を行うためのプリンタエンジン制御Ｉ／Ｆ５１を有している。アプリケーション制御ボード５０では、同制御ボード上に備えられたＲＯＭ（非図示）に格納されているソフトウェア部品（制御プログラム）をメモリ１４に読み出し、ＣＰＵ１３で実行することにより、当該画像形成装置１００が有する各種機能により取り扱うデータに対して所定の処理を行うとともに、プリンタエンジン制御Ｉ／Ｆ４１を介して画像形成動作に必要な各種データを送信するなど、アプリケーション機能の実行と複数機能の制御を行う。より具体的には、印刷データの受信動作などの制御を行う。
【００３７】
このように、本実施形態に係る画像形成装置１００では、上記ハードウェア構成により、画像形成機能に加えて、コピー、スキャナ、ＦＡＸなどの複数のアプリケーション機能を、アプリケーション制御ボード５０とプリンタエンジン制御ボード４０との間でデータ通信を行う２ＣＰＵボード構成により実現している。また、このような２ＣＰＵボード構成により、例えば従来のプリンタが有するコントローラ１０に、拡張機能が動作するＣＰＵ１３を備えた制御ボード用のＩ／Ｆ（アプリケーション制御Ｉ／Ｆ４１）を備えることで、複合機（ＭＦＰ：Multifunction Peripheral）のプリンタエンジン制御ボード４０として使用することができ、制御ボード５０の増設による容易な機能拡張を実現することが可能となる。
【００３８】
なお、上記プロッタ３０により実現される画像形成動作について、電子写真方式を例に説明を行ったが、この方式に本発明が限定されるものではない。例えば、電子写真方式のほかに、インクジェット方式、ダイレクトサーマル方式、溶融型熱転写方式などであってもよく、画像処理関連のソフトウェア部品がＣＰＵ１３で実行されることにより生成された画像データを基に転写媒体に画像を形成する方式であれば、どのような画像形成方式であってもよい。
【００３９】
＜ソフトウェア構成＞
次に、本実施形態に係る画像形成装置１００のソフトウェア構成について、図３を用いて説明する。図３は、本発明の第１の実施形態に係る画像形成装置１００のソフトウェア構成の一例を示す図である。
【００４０】
本実施形態に係る画像形成装置１００は、主に、各種機器情報とともに、機器操作機能とユーザへ提供するＧＵＩ（Graphical User Interface）機能を実現するソフトウェア部品群が実装されるＵＩ層６１と、ＵＩ層６１を介してユーザから受け付けた動作指示や動作設定などの各種要求を管理するソフトウェア部品群が実装される要求管理層６２と、当該画像形成装置１００が有する各種アプリケーション機能を実現するソフトウェア部品群が実装されるアプリケーション層６３と、当該画像形成装置１００が有する画像処理機能に関するソフトウェア部品群が実装される画像関連ライブラリ層６４と、後述するプラットフォーム６６が提供する基本機能を、他の階層に位置する各種ソフトウェア部品群が、プラットフォーム６６のアーキテクチャに依存するソフトウェア部品群を使用するときの共通ソフトウェアインタフェースとして機能するソフトウェア部品群が実装されるプラットフォーム依存部吸収層６５と、画像形成装置１００が有する各ハードウェアリソースを制御するソフトウェア部品群であるデバイスドライバ６６１と、当該画像形成装置１００の動作を制御する基本ソフトウェアであるＯＳ（Operating System）６６２とから構成されるプラットフォーム６６と、からなるソフトウェア階層により構成されている。以下に、上記各ソフトウェア階層のうち、アプリケーション層６３、画像関連ライブラリ層６４、及びプラットフォーム依存部吸収層６５について、より具体的に説明する。
【００４１】
まず、アプリケーション層６３は、画像形成機能であるプリンタ機能６３１に関するソフトウェア部品群を有しており、機能拡張（拡張ボードの増設）により、コピー機能６３２、スキャンＴｏ機能６３３、及びＦＡＸ機能６３４などの各種アプリケーション機能を実現するソフトウェア部品群が実装可能である。
【００４２】
また、画像関連ライブラリ層６４は、プリンタ機能６３１やコピー機能６３２などの画像形成動作を実現するために所定の画像処理を行うソフトウェア部品群を有している。これらのソフトウェア部品群がプリンタデータパース６４１及び印刷６４２である。
【００４３】
プリンタデータパース６４１は、画像処理対象データに含まれるＰＪＬ（Printer Job Language）やラスタコマンドを解釈するソフトウェア部品群である。また、印刷６４２は、プリンタデータパース６４１によるデータ解釈結果からプロッタ出力形式データを生成し、生成された画像データを所定の方式（例えば、「電子写真方式」など。）に従って転写媒体へ画像を形成するように動作制御するソフトウェア部品である。
【００４４】
これによって、本実施形態に係る画像形成装置１００では、これらの画像形成動作に関するソフトウェア部品群により、ホストＩ／Ｆ１１を介して受信した印刷データを解釈し、プロッタ出力形式データを生成し、画像形成動作を実現している。
【００４５】
更に、画像関連ライブラリ層６４は、スキャンＴｏ機能６３３の画像読み取り動作を実現するために所定の画像処理を行うソフトウェア部品群であるスキャン６４３と、スキャンＴｏ機能６３３やＦＡＸ機能６３４などにより入力された画像データを他の機器へ送信するデータ送信動作に関するソフトウェア部品群であるデータ送信６４４と、ＦＡＸ機能６３４の画像データの送受信を行うソフトウェア部品群であるＦＡＸ送信６４５及びＦＡＸ受信６４６とを有し、アプリケーション層６３の各種アプリケーション機能を実現するために共通して必要なソフトウェア部品群が実装されている。
【００４６】
また、プラットフォーム依存部吸収層６５は、他の階層に位置する各種ソフトウェア部品群が共通して使用する共通ソフトウェアインタフェースとして機能するソフトウェア部品群を有している。例えば、本実施形態に係る画像形成装置１００のような２ＣＰＵボード構成の場合には、互いの制御ボード間においてデータ通信を行うためのアプリケーション制御Ｉ／Ｆ４１とプリンタエンジン制御Ｉ／Ｆ５１とを制御する、プラットフォーム６６のアーキテクチャに依存するデバイスドライバ６６１が存在し、他の階層に位置するソフトウェア部品が、これらのデバイスドライバ６６１を使用してアプリケーション制御Ｉ／Ｆ４１とプリンタエンジン制御Ｉ／Ｆ５１とを動作させるときのソフトウェアインタフェースが必要となる。そのため、プラットフォーム依存部吸収層６５は、それぞれの制御Ｉ／Ｆ４１及び５１のソフトウェアインタフェースに対応するプリンタエンジン制御Ｉ／Ｆ部６５１及びアプリケーション制御Ｉ／Ｆ部６５２とを有している。
【００４７】
このように、本実施形態に係る画像形成装置１００では、上記のようなソフトウェア構成により、プリンタエンジン制御ボード４０で実行される画像形成機能を、アプリケーション制御ボード５０で実行される拡張機能（例えば、「コピー」や「ＦＡＸ」など。）が使用可能となり、２ＣＰＵボード構成による複合機能を実現する。
【００４８】
＜２ＣＰＵボード構成におけるデータフロー＞
ここからは、上記に説明を行ったハードウェア構成及びソフトウェア構成を踏まえて、本実施形態に係る画像形成装置１００が有する制御ボード間のデータフローについて、図４から図６を用いて説明を行う。
【００４９】
＜＜データ経路とデータインタフェース構成＞＞
まずは、制御ボード間のデータフローを説明する前に、本実施形態に係る画像形成装置１００が有するデータの経路とデータインタフェースの構成について、図４を用いて説明する。図４は、本発明の第１の実施形態に係る各制御ボードが有するデータ経路とデータインタフェース構成の一例を示す図である。
【００５０】
本実施形態に係るアプリケーション制御ボード５０は、以下に挙げるデータ経路とデータインタフェースを有している。
（通信機能を有する外部機器とのデータ経路）
アプリケーション制御ボード５０は、例えばＵＳＢ（Universal Serial Bus）７１ａやネットワーク７１ｂなどの所定のデータ伝送路を介して、通信機能を有する外部機器である情報処理装置（ＰＣ）３００と当該画像形成装置１００との間で、印刷データなどのデータ通信を行うデータ経路を有している。
（プリンタエンジン制御ボードとのデータインタフェース）
アプリケーション制御ボード５０は、プリンタエンジン制御ボード４０との間でデータ通信を行うためのプリンタエンジン制御Ｉ／Ｆ４１を有しており、プリンタエンジン制御Ｉ／Ｆ４１は、例えばＣＭＹＫデータなどのアプリケション制御ボード５０が有するＰＤＬパーサにより印刷データから生成された画像データ（プロッタ出力形式データ）の転送に使用するビデオＩ／Ｆ（Video I/F）８１ａ（第１のインタフェース）と、例えば給紙開始要求・応答、印刷領域幅及び高さ指定・応答、印刷開始要求などの画像形成動作を制御するラスタコマンドの送受信に使用するシリアルＩ／Ｆ（Serial I/F）８１ｂ（第２のインタフェース）とから構成される。すなわち、画像データの転送に使用するビデオＩ／Ｆ８１ａと、画像データ以外のデータの転送に使用するシリアルＩ／Ｆ８１ｂとから構成される。
【００５１】
また、本実施形態に係るプリンタエンジン制御ボード４０は、以下に挙げるデータ経路とデータインタフェースを備えている。
（アプリケーション制御ボードとのデータインタフェース）
プリンタエンジン制御ボード４０は、アプリケーション制御ボード５０との間でデータ通信を行うためのアプリケーション制御Ｉ／Ｆ５１を有しており、アプリケーション制御Ｉ／Ｆ５１は、プリンタエンジン制御Ｉ／Ｆ４１と同様に、ビデオＩ／Ｆ８１ａとシリアルＩ／Ｆ８１ｂとから構成される。
（プロッタとのデータ経路）
プリンタエンジン制御ボード４０は、バス（ＢＵＳ）７２などの所定のデータ伝送路を介して、プロッタ３０へ、プロッタ出力形式データのデータ転送を行うデータ経路を有している。
【００５２】
＜＜データフロー＞＞
上記に説明を行ったデータ経路とデータインタフェース構成を踏まえて、本実施形態に係る画像形成装置１００のデータフローについて、図５を用いて説明する。図５は、本発明の第１の実施形態に係る画像形成装置１００のデータフローの一例を示す図である。
【００５３】
例えば、情報処理装置３００から画像形成装置１００へ送信するデータには、通常の印刷データのほかに、メンテナンス用データなど、異なるラスタコマンドにより記述されるデータ形式が考えられる。ここで言う「異なるラスタコマンド」とは、例えば、印刷データなどを構成する描画に関するラスタコマンドと、当該画像形成装置１００が有するプロッタ３０のメンテナンス用データなどを構成するプリンタエンジン調整に関するラスタコマンドとの違いのように、用途が異なるコマンド種を意味している。
【００５４】
すなわち、アプリケーション制御ボード５０によって解釈可能な、印刷データなどを構成する描画に関するラスタコマンド（便宜上以下、「ラスタコマンドＡ」という。）を含むデータ形式と、プリンタエンジン制御ボード４０によって解釈可能な、メンテナンス用データなどを構成するプリンタエンジン調整に関するラスタコマンド（便宜上以下、「ラスタコマンドＢ」という。）を含むデータ形式である。以降の説明では、説明を分かり易くするため、「ラスタコマンドＡ」を含むデータを「印刷データ」、また「ラスタコマンドＢ」を含むデータを「メンテナンス用データ」とする。図５には、ラスタコマンドＡを解釈可能なアプリケーション制御ボード５０と、ラスタコマンドＢを解釈可能なプリンタエンジン制御ボード４０とから構成される２ＣＰＵボード構成によるデータフローの一例が示されている。
【００５５】
（アプリケーション制御ボードにより解釈可能なラスタコマンドＡの場合）
本実施形態に係る画像形成装置１００では、図５（Ａ）に示すように、例えば情報処理装置３００から所定のデータ経路を介して送信されたラスタコマンドＡを含む印刷データＲＣａを受信すると、アプリケーション制御ボード５０により、受信した印刷データ（ラスタコマンドＡ）ＲＣａを解釈し、所定の画像処理を行った後に生成されたプロッタ出力形式データＭＤが、プリンタエンジン制御Ｉ／Ｆ５１のビデオＩ／Ｆ８１ａを介してプリンタエンジン制御ボード４０へ転送される。また、画像形成装置１００では、アプリケーション制御ボード５０により、画像形成動作開始を指示するコマンド（以下、「画像形成動作開始要求コマンド」という。）が、プリンタエンジン制御Ｉ／Ｆ５１のシリアルＩ／Ｆ８１ｂを介してプリンタエンジン制御ボード４０へ転送される。
【００５６】
その結果、画像形成装置１００では、プリンタエンジン制御ボード４０により、アプリケーション制御Ｉ／Ｆ４１のシリアルＩ／Ｆ８１ｂを介して受信した画像形成動作開始要求コマンドを解釈し、その解釈結果である画像形成動作開始の要求に従って、ビデオＩ／Ｆ８１ａを介して受信したプロッタ出力形式データＭＤを、バス７２を介してプロッタ３０に転送し、転写媒体への画像形成を行う。
【００５７】
（プリンタエンジン制御ボードにより解釈可能なラスタコマンドＢの場合）
それに対して、ラスタコマンドＢを含むメンテナンス用データＲＣｂを情報処理装置３００から画像形成装置１００に対して送信する場合には、例えばＰＪＬコマンドによりパッキングされたデータＰＤ（以下、「ＰＪＬパッキングデータＰＤ」という。）として送信する。ここで、上記ＰＪＬパッキングデータＰＤについて、図６を用いて説明する。
【００５８】
図６は、本発明の第１の実施形態に係るＰＪＬパッキングデータＰＤの一例を示す図である。上記ＰＪＬパッキングデータＰＤは、パッキングしたメンテナンス用データＲＣｂのデータ開始位置を指定するＰＪＬコマンドが記述されたデータ領域ＰＤａと、パッキングされたメンテナンス用データＲＣｂが記述されたデータ領域ＰＤｂとから構成されている。例えば図６に示すＰＪＬパッキングデータＰＤでは、データ領域ＰＤａに、"＠ＰＪＬ  ＥＮＧＩＮＥＴＨＲＯＵＧＨ  ＳＩＺＥ＝Ｎ"と言うＰＪＬコマンドが記述されており、ＰＪＬパッキングデータＰＤの先頭からＮバイト目以降に位置するデータ領域ＰＤｂに、ＪＯＢスタート・エンドコマンド、ＰＡＧＥスタート・エンドコマンド、及びページ単位の各表現色データ（Ｃ，Ｍ，Ｙ，Ｋデータ）などのラストコマンドＢを含むメンテナンス用データＲＣｂが記述されていることを示している。
【００５９】
本実施形態に係る画像形成装置１００では、図５（Ｂ）に示すように、上記に説明を行ったＰＪＬパッキングデータＰＤを情報処理装置３００から受信すると、アプリケーション制御ボード５０により、受信したＰＪＬパッキングデータＰＤに含まれる、メンテナンス用データＲＣｂのデータ開始位置を指定するＰＪＬコマンドを解釈し、解釈して得たデータ開始位置に従って抽出・取得したラスタコマンドＢを含むメンテナンス用データＲＣｂを、プリンタエンジン制御Ｉ／Ｆ５１を介してプリンタエンジン制御ボード４０へ転送する。
【００６０】
その結果、画像形成装置１００では、プリンタエンジン制御ボード４０により、アプリケーション制御Ｉ／Ｆ４１を介して受信したメンテナンス用データＲＣｂを解釈することにより、プリンタエンジン調整の動作指示や、解釈結果を基に生成されたメンテナンス用の画像データ（プロッタ出力形式データＭＤ）などを、バス７２を介してプロッタ３０に転送する。
【００６１】
このように、２ＣＰＵボード構成では、各制御ボードにおいて解釈可能なラスタコマンドが異なることから、データフローの中で上流に位置するアプリケーション制御ボード５０において、自らが解釈不可能なラスタコマンドＢを含むメンテナンス用データＲＣｂを、情報処理装置３００から受信した場合には、受信したメンテナンス用データＲＣｂそのものをプリンタエンジン制御ボード４０へ転送しなければならない。
【００６２】
このとき、アプリケーション制御ボード５０は、プリンタエンジン制御ボード４０へ転送するデータがＣＭＹＫデータなどの画像データでないことから、通常、プリンタエンジン制御Ｉ／Ｆ４１のシリアルＩ／Ｆ８１ｂを使用してデータ転送を行うこととなる。
【００６３】
そこで問題となるのが、シリアルＩ／Ｆ８１ｂの単位時間あたりのデータ転送量である。シリアルＩ／Ｆ８１ｂは、もともと、データ量の少ない画像形成動作を制御するラスタコマンドを送信するために使用されるインタフェースであるため、シリアルＩ／Ｆ８１ｂが想定している適正な転送データ量よりデータ量が多いメンテナンス用データＲＣｂなどのデータを転送した場合、長時間にわたりデータ転送を行うこととなる。例えば、本実施形態に係るシリアルＩ／Ｆ８１ｂの単位時間あたりのデータ転送量が１９２００（bps）で、シリアルＩ／Ｆ８１ｂ使用して転送するメンテナンス用データＲＣｂのデータ量が２（Mbytes）の場合では、全てのデータを転送するまでの転送時間が約２９（分）もかかってしまうことになる。
【００６４】
このように、２ＣＰＵボード構成では、画像データ以外のデータ量が多いデータを、アプリケーション制御ボード５０からプリンタエンジン制御ボード４０へ転送する場合、単位時間あたりのデータ転送量が異なるビデオＩ／Ｆ８１ａ及びシリアルＩ／Ｆ８１ｂのうち、データ転送量が相対的に多いビデオＩ／Ｆ８１ａを介してデータを転送した方が転送効率がよいことが分かる。
【００６５】
そこで、本実施形態に係る画像形成装置１００では、上記に説明を行ったような、制御ボード間における画像データ以外のデータ量の多いデータ（大量のラスタコマンドを含むデータ）転送するときの転送時間の問題を解決し、転送効率がよい「データ転送機能」を実現している。
【００６６】
＜データ転送機能＞
では、これまで説明を行ってきたハードウェア及びソフトウェア構成を踏まえ、本実施形態に係る画像形成装置１００が有する「データ転送機能」について、図７から図９を用いて説明する。
【００６７】
＜＜機能構成の概要＞＞
図７は、本発明の第１の実施形態に係るデータ転送機能の機能構成の一例を示す図である。本実施形態に係る画像形成装置１００は、主に、ＰＪＬコマンドを解釈し、その解釈結果に基づいて、ＰＪＬパッキングデータＰＤからラスタコマンドＢ（プリンタエンジン制御ボード４０が解釈可能なラスタコマンド）を含むメンテナンス用データＲＣｂを抽出するデータ抽出部９１と、メンテナンス用データＲＣｂを記述するラスタコマンドＢを解釈するコマンド解釈部９２と、アプリケーション制御ボード５０とプリンタエンジン制御ボード４０との間で、ビデオＩ／Ｆ８１ａを介してデータの送受信を行うビデオＩ／Ｆデータ送信部９３１及びビデオＩ／Ｆデータ受信部９３２と、アプリケーション制御ボード５０とプリンタエンジン制御ボード４０との間で、シリアルＩ／Ｆ８１ｂを介してデータの送受信を行うシリアルＩ／Ｆコマンド送信部９４１及びシリアルＩ／Ｆコマンド受信部９４２と、アプリケーション制御ボード５０から転送されるデータを、ビデオＩ／Ｆ８１ａを介してプリンタエンジン制御ボード４０が受信可能な状態へ移行するなど、プリンタエンジン制御ボード４０が有するアプリケーション制御Ｉ／Ｆ４１のデータ受信モードを制御する受信モード制御部９５とから構成されている。
【００６８】
上記各機能部のうち、データ抽出部９１は、アプリケーション制御ボード５０が備えるＲＯＭ（非図示）に格納されているプリンタデータパース６４１のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される機能である。また、コマンド解釈部９２は、プリンタエンジン制御ボード４０が備えるＲＯＭ（非図示）に格納されているプリンタデータパース６４１のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される機能である。
【００６９】
さらに、ビデオＩ／Ｆデータ送信部９３１は、アプリケーション制御ボード５０が備えるＲＯＭ（非図示）に格納されているプリンタエンジン制御Ｉ／Ｆ部６５１のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される。また、ビデオＩ／Ｆデータ受信部９３２及び受信モード制御部９５は、プリンタエンジン制御ボード４０が備えるＲＯＭ（非図示）に格納されているアプリケーション制御Ｉ／Ｆ部６５２のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される。
【００７０】
また、上記各機能部のうち、シリアルＩ／Ｆコマンド送信部９４１及びシリアルＩ／Ｆコマンド受信部９４２は、プリンタエンジン制御ボード４０が有するアプリケーション制御Ｉ／Ｆ４１及びアプリケーション制御ボード５０が有するプリンタエンジン制御Ｉ／Ｆ５１それぞれにおいて機能する。すなわち、プリンタエンジン制御ボード４０で機能するシリアルＩ／Ｆコマンド送信部９４１及びシリアルＩ／Ｆコマンド受信部９４２は、プリンタエンジン制御ボード４０が備えるＲＯＭ（非図示）に格納されているアプリケーション制御Ｉ／Ｆ部６５２のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される。また、アプリケーション制御ボード５０で機能するシリアルＩ／Ｆコマンド送信部９４１及びシリアルＩ／Ｆコマンド受信部９４２は、アプリケーション制御ボード５０が備えるＲＯＭ（非図示）に格納されているプリンタエンジン制御Ｉ／Ｆ部６５１のソフトウェア部品がメモリ１４上に読み出され、ＣＰＵ１３で実行されることで実現される。
【００７１】
＜＜機能動作の概要＞＞
次に、上記各機能部による本実施形態に係る「データ転送機能」の動作について、ホストＩ／Ｆ１１を介してメンテナンス用データＲＣｂを受信した場合の動作例を基に、図８を用いて説明する。図８は、本発明の第１の実施形態に係るデータ転送機能の基本処理手順の一例を示すシーケンス図である。
【００７２】
（１）ＰＪＬパッキングデータの解析：アプリケーション制御ボード側
まず、アプリケーション制御ボード５０は、ホストＩ／Ｆ１１を介して情報処理装置３００から送信されたＰＪＬパッキングデータＰＤ（入力データ）を受信する（ステップＳ１０１）。アプリケーション制御ボード５０は、データ抽出部９１により、受信したデータに含まれるＰＪＬコマンドを解析する。例えば受信したＰＪＬパッキングデータＰＤが、図６に示すデータであった場合に、データ抽出部９１は、ＰＪＬパーサなどによりＰＪＬパッキングデータＰＤ内に含まれるＰＪＬコマンド"＠ＰＪＬ  ＥＮＧＩＮＥＴＨＲＯＵＧＨ  ＳＩＺＥ＝Ｎ"（所定のデータ規則）を解釈する。すなわち、データ抽出部９１（データ範囲情報取得手段）は、解釈したＰＪＬコマンドの変数名"ＳＩＺＥ"に設定されている値（整数値）'Ｎ'を基に、ＰＪＬパッキングデータＰＤの先頭からＮバイト目以降に、ラスタコマンドＢを含むメンテナンス用データＲＣｂがパッキングされていると言う解釈結果（データ範囲情報）を得る（ステップＳ１０２）。
【００７３】
（２）メンテナンス用データの取得：アプリケーション制御ボード側
次いで、データ抽出部９１（抽出手段）は、その解釈結果に基づいて、ＰＪＬパッキングデータＰＤの先頭からＮバイト目（データ'＜'の後：データ開始位置）から、データ"＞［＜ＥＳＣ＞％−１２３４５Ｘ］"に含まれる'＞'の前（データ終了位置）までのデータ領域ＰＤｂのデータ（データ'＜'から'＞'までの間のデータ）を抽出する。その結果、アプリケーション制御ボード５０は、データ抽出部９１により、受信したＰＪＬパッキングデータＰＤからＰＪＬで記述されたデータ部分（例えば、「ＰＪＬコマンド」など。）を取り除き、ラスタデータＢを含むメンテナンス用データＲＣｂ（転送データ）だけを抽出し取得する。取得されたメンテナンス用データＲＣｂは、メモリ１４上に一時保持される（ステップＳ１０３）。
【００７４】
（３）データ転送開始（前処理）：制御ボード間
アプリケーション制御ボード５０は、データ抽出部９１によりメンテナンス用データＲＣｂを取得すると、取得したメンテナンス用データＲＣｂを、プリンタエンジン制御Ｉ／Ｆ５１を介してプリンタエンジン制御ボード４０へ転送するように、プリンタエンジン制御Ｉ／Ｆ部６５１に要求する（ステップＳ１０４）。
【００７５】
プリンタエンジン制御Ｉ／Ｆ部６５１は、要求を受け付けると、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１（要求手段）により、転送先であるプリンタエンジン制御ボード４０へ、ビデオＩ／Ｆ８１ａを介したデータ受信の前処理を要求する要求コマンド（以下、「前処理開始要求コマンド」という。）が発行され、シリアルＩ／Ｆ８１ｂを介して、発行された要求コマンドがプリンタエンジン制御ボード４０へ送信される（ステップＳ１０５）。
【００７６】
プリンタエンジン制御ボード４０は、アプリケーション制御ボード５０から送信された前処理開始要求コマンドを、同制御ボード上で機能するシリアルＩ／Ｆコマンド受信部９４２により受信すると、受信したコマンド（移行要求）に基づいて、受信モード制御部９５（受信待ち状態移行手段）によって、アプリケーション制御Ｉ／Ｆ４１のデータ受信モードを制御し、アプリケーション制御ボード５０から転送されるデータをビデオＩ／Ｆ８１ａを介して受信可能な状態（受信待ち状態）となるように所定の前処理を行う（ステップＳ１０６）。ここで言う「所定の前処理」とは、本実施形態の場合、ビデオＩ／Ｆ８１ａを介してデータ受信可能な状態へデータ受信モードを移行することを意味している。
【００７７】
その後、プリンタエンジン制御ボード４０は、受信モード制御部９５によりビデオＩ／Ｆ８１ａを介したデータ受信の前処理が正常に完了したことを受けて、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１（応答手段）により、転送元であるアプリケーション制御ボード５０へ、要求された前処理が完了した旨を通知する通知コマンド（以下、「前処理完了通知コマンド」という。）が発行され、シリアルＩ／Ｆ８１ｂを介して、発行された通知コマンドがアプリケーション制御ボード５０へ送信される（ステップＳ１０７）。
【００７８】
（４）データ転送：アプリケーション制御ボード側
アプリケーション制御ボード５０は、プリンタエンジン制御ボード４０から送信された前処理完了通知コマンドを、同制御ボード上で機能するシリアルＩ／Ｆコマンド受信部９４２により受信すると、受信したコマンド（移行完了応答）に基づいて、データ抽出部９１からビデオＩ／Ｆデータ送信部９３１に、抽出されたメンテナンス用データＲＣｂが渡され、ビデオＩ／Ｆデータ送信部９３１（転送手段）によって、ビデオＩ／Ｆ８１ａを介して、プリンタエンジン制御ボード４０へ、メンテナンス用データＲＣｂが転送される（ステップＳ１０８）。このとき、ビデオＩ／Ｆデータ送信部９３１は、画像データの転送時と同様の方法によって、メンテナンス用データＲＣｂを処理する。すなわち、１ページ分のライン数を基準として、１ラインごとにメンテナンス用データＲＣｂを書き込むことにより、ビデオＩ／Ｆ８１ａを介してデータ転送を行っている（ステップＳ１０８１〜Ｓ１０８ｎ）。
【００７９】
（５）データ受信：プリンタエンジン制御ボード側
プリンタエンジン制御ボード４０は、ビデオＩ／Ｆ８１ａを介して、アプリケーション制御ボード５０から転送されたメンテナンス用データＲＣｂを、ビデオＩ／Ｆデータ受信部９３２により受信する（ステップＳ１０９）。このとき、ビデオＩ／Ｆデータ受信部９３２は、上記（４）において説明を行ったような方法でデータが転送されてくることから、同じように、１ラインごとのデータ量でメンテナンス用データＲＣｂを受信する（ステップＳ１０９１〜Ｓ１０９ｎ）。
【００８０】
このようにして、受信したメンテナンス用データＲＣｂは、ビデオＩ／Ｆデータ受信部９３２からコマンド解釈部９２へ渡され解釈される。
【００８１】
（６）データ転送終了（後処理）：制御ボード間
アプリケーション制御ボード５０は、ビデオＩ／Ｆデータ送信部９３１によって、メンテナンス用データＲＣｂ全てを、プリンタエンジン制御ボード４０へ転送し終えると、同制御ボード上で機能するシリアルＩ／Ｆ送信部９４１によって、ビデオＩ／Ｆ８１ａを介したデータ転送が終了した旨を通知する通知コマンド（以下、「転送終了通知コマンド」という。）が発行され、シリアルＩ／Ｆ８１ｂを介して、発行された転送終了通知コマンドがプリンタエンジン制御ボード４０へ送信される（ステップＳ１１０）。
【００８２】
プリンタエンジン制御ボード４０は、アプリケーション制御ボード５０から送信された転送終了通知コマンドを、同制御ボード上で機能するシリアルＩ／Ｆコマンド受信部９４２により受信する。
【００８３】
その結果、プリンタエンジン制御ボード４０は、受信したコマンドに基づいて、受信モード制御部９５により、アプリケーション制御Ｉ／Ｆ４１のデータ受信モードを制御し、デフォルトの受信モードとなるように所定の後処理を行う（ステップＳ１１１）。ここで言う「所定の後処理」とは、本実施形態の場合、データ受信モードをデフォルトモード（すなわちステップＳ１０６で受信可能な状態へ移行する前の受信モード）へ移行することを意味している。
【００８４】
その後、プリンタエンジン制御ボード４０は、受信モード制御部９５によりデフォルトの受信モードへの移行が正常に完了したことを受けて、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１により、ビデオＩ／Ｆ８１ａを介したデータ受信が完了した旨を通知する通知コマンド（以下、「受信完了通知コマンド」という。）が発行され、シリアルＩ／Ｆ８１ｂを介して、発行された要求コマンドがアプリケーション制御ボード５０へ送信される（ステップＳ１１２）。
【００８５】
このように、本実施形態に係る画像形成装置１００では、制御ボード間において、情報処理装置３００から受信したデータが、２つの制御ボードのうち、データフローで下流に位置する制御ボード（プリンタエンジン制御ボード４０）で解釈可能なラスタコマンドＢを含むデータ（ＰＪＬパッキングデータＰＤ）であった場合に、制御ボード間でシリアルＩ／Ｆ８１ｂ経由で上記に説明を行ったビデオＩ／Ｆ８１ａのデータ受信モードを制御するコマンド処理を行い、ビデオＩ／Ｆ８１ａをデータ受信可能な状態へ移行させ、画像データ以外のデータ量の多いデータであっても、シリアルＩ／Ｆ８１ｂに比べて単位時間あたりのデータ転送量が相対的に多いビデオＩ／Ｆ８１ａを介してデータ転送を行うことができる。
【００８６】
その結果、例えば、本実施形態に係るビデオＩ／Ｆ８１ａの単位時間あたりのデータ転送量が３０（Ｍbps）で、ビデオＩ／Ｆ８１ｂを使用して転送するメンテナンス用データＲＣｂのデータ量が２（Mbytes）の場合では、データ転送量が１９２００（bps）のシリアルＩ／Ｆ８１ａを使用した場合に約２９（分）かかった転送時間が約０．５（秒）となり、同じデータ量の転送データにおいて転送時間が短縮される。
【００８７】
＜＜制御ボード間におけるコマンド処理＞＞
上記に説明を行ったように、（４）から（５）のデータ転送処理は、制御ボード間におけるコマンド処理（（３）から（６）の処理）によって実現される。これらのコマンド処理について、図９を用いてより具体的に説明する。図９は、本発明の第１の実施形態に係る制御ボード間におけるコマンド処理の処理手順の一例を示すシーケンス図である。
【００８８】
以下の説明では、特に、上記「（３）データ転送開始（前処理）」及び「（６）データ転送終了（後処理）」において制御ボード間で行うシリアルＩ／Ｆ８１ｂを介したそれぞれのコマンド処理（その１）及び（その２）について説明する。また、図９に示すステップＳ２０５１〜Ｓ２０５ｎについては、図８のステップＳ１０８１〜Ｓ１０８ｎの処理手順と同じであるため、その説明を省略する。
【００８９】
［シリアルＩ／Ｆ経由のコマンド処理（その１：データ転送開始（前処理）に対応）］
（３−１）シリアルＩ／Ｆ経由のコマンド処理：アプリケーション制御ボード側
アプリケーション制御ボード５０上で機能するプリンタエンジン制御Ｉ／Ｆ部６５１は、転送先であるプリンタエンジン制御ボード４０へデータ受信モードの移行（ビデオデータ受信モードへの移行）を要求する要求コマンド（以下、「受信モード移行要求コマンド」という。）や、転送データ量（バイト数）などの転送時に必要な各種パラメータ値を通知する通知コマンド（以下、「転送パラメータ通知コマンド」という。）などの前処理開始要求コマンドを発行及び送信するように、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１に指示する。これを受けて、シリアルＩ／Ｆコマンド送信部９４１から、受信モード移行要求コマンドや転送パラメータ通知コマンドなどの前処理開始要求コマンドが発行され、シリアルＩ／Ｆ８１ｂを介して、発行された要求コマンドがプリンタエンジン制御ボード４０へ送信される。より具体的には、シリアルＩ／Ｆコマンド送信部９４１により、例えば、受信モード移行要求コマンドとしてシリアルで'０ｘ４０'が発行・送信され、転送パラメータ通知コマンドとしてシリアルで'０ｘ４１＋転送データ量（バイト数）'が発行・送信される（ステップＳ２０１及びＳ２０２）。
【００９０】
（３−２）受信モードの移行処理：プリンタエンジン制御ボード側
プリンタエンジン制御ボード４０は、アプリケーション制御ボード５０から送信された受信モード移行要求コマンドと、転送パラメータ通知コマンドとを、同制御ボード上で機能するシリアルＩ／Ｆコマンド受信部９４２により受信する。
【００９１】
その結果、プリンタエンジン制御ボード４０は、受信した各コマンドに基づいて、受信モード制御部９５により、転送データ量などのパラメータ値を認識し、データを受信したときにビデオＩ／Ｆ８１ａが動作するようにアプリケーション制御Ｉ／Ｆ４１を制御し、アプリケーション制御Ｉ／Ｆ４１のデータ受信モードを、アプリケーション制御ボード５０から転送されるデータをビデオＩ／Ｆ８１ａを介して受信可能な状態へ移行する（ビデオデータ受信モードへ移行する）（ステップＳ２０３）。
【００９２】
（３−３）シリアルＩ／Ｆ経由のコマンド処理：プリンタエンジン制御ボード側
プリンタエンジン制御ボード４０は、受信モード制御部９５によりビデオデータ受信モードへの移行が正常に完了すると、転送元であるアプリケーション制御ボード５０へビデオデータ受信の転送を要求する要求コマンド（以下、「転送開始要求コマンド」という。）を前処理完了通知コマンドとして発行及び送信するように、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１に指示する。これを受けて、シリアルＩ／Ｆコマンド送信部９４１から、前処理完了通知コマンドである転送開始要求コマンドが発行され、シリアルＩ／Ｆ８１ｂを介して、発行された要求コマンドがアプリケーション制御ボード５０へ送信される。より具体的には、シリアルＩ／Ｆコマンド送信部９４１により、例えば、転送開始要求コマンドとしてシリアルで'０ｘ４２'が発行・送信される（ステップＳ２０４）。
【００９３】
［シリアルＩ／Ｆ経由のコマンド処理（その２：データ転送終了（後処理）に対応）］
（６−１）シリアルＩ／Ｆ経由のコマンド処理：アプリケーション制御ボード側
アプリケーション制御ボード５０は、ビデオＩ／Ｆデータ送信部９３１によって、メンテナンス用データＲＣｂ全てを、プリンタエンジン制御ボード４０へ転送し終えると、同制御ボード上で機能するシリアルＩ／Ｆ送信部９４１により転送終了通知コマンドが発行され、シリアルＩ／Ｆ８１ｂを介して、発行された通知コマンドがプリンタエンジン制御ボード４０へ送信される。より具体的には、シリアルＩ／Ｆコマンド送信部９４１により、例えば、転送終了通知コマンドとしてシリアルで'０ｘ４３'が発行・送信される（ステップＳ２０６）。
【００９４】
（６−２）受信モードの移行処理：プリンタエンジン制御ボード側
プリンタエンジン制御ボード４０は、アプリケーション制御ボード５０から送信された転送終了通知コマンドを、同制御ボード上で機能するシリアルＩ／Ｆコマンド受信部９４２により受信する。
【００９５】
その結果、プリンタエンジン制御ボード４０は、受信したコマンドに基づいて、受信モード制御部９５により、受信データ量を認識し、ビデオＩ／Ｆ８１ａが停止するように、アプリケーション制御Ｉ／Ｆ４１を制御し、移行したアプリケーション制御Ｉ／Ｆ４１のデータ受信モードを解除する（デフォルトの受信モード（受信待ち状態から受信不可の待機状態）へ移行する）（ステップＳ２０７）。
【００９６】
（６−３）シリアルＩ／Ｆ経由のコマンド処理：プリンタエンジン制御ボード側
プリンタエンジン制御ボード４０は、受信モード制御部９５によりデフォルトの受信モードへの移行が正常に完了したことを受けて、同制御ボード上で機能するシリアルＩ／Ｆコマンド送信部９４１により受信完了通知コマンドが発行され、シリアルＩ／Ｆ８１ｂを介して、発行された要求コマンドがアプリケーション制御ボード５０へ送信される（ステップＳ２０８）。
【００９７】
本実施形態に係る画像形成装置１００では、上記に説明を行ったコマンド処理によって、制御ボード間におけるビデオＩ／Ｆ８１ａを介したデータ経路を確立し、画像データ以外のデータ量の多いデータを転送するときにかかる転送時間を短縮することができる「データ転送機能」を実現している。
【００９８】
＜まとめ＞
以上のように、本発明の第１の実施形態によれば、本実施形態に係る画像形成装置１００は、制御ボード間において、情報処理装置３００から受信したデータが、２つの制御ボードのうち、データフローで下流に位置する制御ボード（プリンタエンジン制御ボード４０）で解釈可能なラスタコマンドＢを含むデータ（ＰＪＬパッキングデータＰＤ）であった場合に、制御ボード間でシリアルＩ／Ｆ８１ｂ経由で上記に説明を行ったビデオＩ／Ｆ８１ａのデータ受信モードを制御するコマンド処理を行い、ビデオＩ／Ｆ８１ａをデータ受信可能な状態へ移行する。
【００９９】
これによって、本実施形態に係る画像形成装置１００は、画像データ以外のデータ量の多いデータであっても、シリアルＩ／Ｆ８１ｂに比べて単位時間あたりのデータ転送量が相対的に多いビデオＩ／Ｆ８１ａを介してデータ転送を行うことが可能となり、制御ボード間において、画像データ以外のデータ量の多いデータを転送するときにかかる転送時間を短縮することができる「データ転送機能」を提供することができる。
【０１００】
ここまで、上記第１の実施形態に基づき本発明の説明を行ってきたが、本発明の各実施形態に係る画像形成装置１００が有する「データ転送機能」は、図８及び図９に示した処理手順を含む本実施形態に係るデータ転送プログラム（ソフトウェア部品）を、画像形成装置１００が有するアプリケーション制御ボード５０及びプリンタエンジン制御ボード４０それぞれに配置されたＣＰＵ１３で実行することで実現できる。よって、本発明の第１の実施形態に係る画像形成装置１００が有するデータ転送プログラムは、画像形成装置１００が読み取り可能な記録媒体（非図示）に格納することができる。
【０１０１】
各実施形態に係るデータ転送プログラムは、フロッピー（登録商標）ディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）などの記録媒体に記憶させることによって、これらの記録媒体を読み取り可能なドライブ装置（非図示）を有する記憶メディアＩ／Ｆ（非図示）を介して、記録媒体から画像形成装置１００にインストールすることができる。また、画像形成装置１００は、インタフェース装置（非図示）を有するホストＩ／Ｆ１１を備えていることから、インターネットなどの電気通信回線を用いてデータ転送プログラムをダウンロードし、インストールすることも可能である。
【０１０２】
また、上記実施形態では、制御ボード間においてデータ通信を行うインタフェースとして、ビデオＩ／Ｆ８１ａとシリアルＩ／Ｆ８１ｂとを例に説明を行ったが、これらのインタフェースに本発明が限定されるものではない。制御ボード間のインタフェースが、単位時間あたりのデータ転送量が異なる複数のインタフェースであればよい。
【０１０３】
また、上記実施形態では、データ抽出部９１により転送データを抽出するときの元データとして、ＰＪＬパッキングデータＰＤを例に説明を行ったが、このデータ形式に本発明が限定されるものではない。データ抽出部９１が解析可能なデータ規則によって、転送データが埋め込まれた（パッキングされた）データ形式であればよい。
【０１０４】
最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【図面の簡単な説明】
【０１０５】
【図１】１ＣＰＵボードを搭載した画像形成装置のハードウェア構成の一例を示す図である。
【図２】本発明の第１の実施形態に係る２ＣＰＵボードを搭載した画像形成装置のハードウェア構成の一例を示す図である。
【図３】本発明の第１の実施形態に係る画像形成装置のソフトウェア構成の一例を示す図である。
【図４】本発明の第１の実施形態に係る各制御ボードが有するデータ経路とデータインタフェース構成の一例を示す図である。
【図５】本発明の第１の実施形態に係る画像形成装置のデータフローの一例を示す図である。
【図６】本発明の第１の実施形態に係るＰＪＬパッキングデータの一例を示す図である。
【図７】本発明の第１の実施形態に係るデータ転送機能の機能構成の一例を示す図である。
【図８】本発明の第１の実施形態に係るデータ転送機能の基本処理手順の一例を示すシーケンス図である。
【図９】本発明の第１の実施形態に係る制御ボード間におけるコマンド処理の処理手順の一例を示すシーケンス図である。
【符号の説明】
【０１０６】
１０  コントローラ
１１  ホストＩ／Ｆ
１２  印刷制御用ＩＰ
１３  ＣＰＵ
１４  メモリ（例えばＲＡＭなど）
２０  ＰＳＵ
３０  プロッタ
４０  プリンタエンジン制御ボード
４１  アプリケーション制御Ｉ／Ｆ
５０  アプリケーション制御ボード
５１  プリンタエンジン制御Ｉ／Ｆ
６１  ＵＩ層
６２  要求管理層
６３  アプリケーション層
６３１  プリンタ機能
６３２  コピー機能
６３３  スキャンＴｏ機能
６３４  ＦＡＸ機能
６４  画像関連ライブラリ層
６４１  プリンタデータパース
６４２  印刷
６４３  スキャン
６４４  データ送信
６４５  ＦＡＸ送信
６４６  ＦＡＸ受信
６５  プラットフォーム依存部吸収層
６５１  プリンタエンジン制御Ｉ／Ｆ部
６５２  アプリケーション制御Ｉ／Ｆ部
６６  プラットフォーム
６６１  デバイスドライバ
６６２  ＯＳ
７１ａ  ＵＳＢ
７１ｂ  ネットワーク（例えばＬＡＮなど）
７２  バス
８１ａ  ビデオＩ／Ｆ
８１ｂ  シリアルＩ／Ｆ
９１  データ抽出部
９２  コマンド解釈部
９３１  ビデオＩ／Ｆデータ送信部
９３２  ビデオＩ／Ｆデータ受信部
９４１  シリアルＩ／Ｆコマンド送信部
９４２  シリアルＩ／Ｆコマンド受信部
９５  受信モード制御部
１００  画像形成装置（本実施形態に係る２ＣＰＵボード搭載機）
２００  画像形成装置（１ＣＰＵボード搭載機：従来のプリンタ）
３００  情報処理装置（例えばＰＣなど）
ＲＣａ  ラスタコマンドＡを含むデータ（印刷データ）
ＲＣｂ  ラスタコマンドＢを含むデータ（メンテナンス用データ）
ＭＤ  メカ出力形式データ（ラスタイメージ）
ＰＤ  ＰＪＬパッキングデータ
【図１】
2009172828.tif 000003
【図２】
2009172828.tif 000004
【図３】
2009172828.tif 000005
【図４】
2009172828.tif 000006
【図５】
2009172828.tif 000007
【図６】
2009172828.tif 000008
【図７】
2009172828.tif 000009
【図８】
2009172828.tif 000010
【図９】
2009172828.tif 000011