(57)【要約】【課題】  モジュール開発の手間を減らし、処理効率を向上させ、ハードウェア資源の有効に利用することが可能な画像形成装置、その画像形成装置製造方法を提供する。【解決手段】  画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う１つ以上のアプリケーションとを有する画像形成装置において、前記各アプリケーションが画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承手段と、前記各アプリケーションへ、画像形成に係る一連の処理を行うための前記画像処理継承手段のインタフェースを提供する転送シーケンス手段とを有する。【選択図】  図６
2005175595.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う１つ以上のアプリケーションとを有する画像形成装置において、
前記各アプリケーションが画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承手段と、
前記各アプリケーションへ、画像形成に係る一連の処理を行うための前記画像処理継承手段のインタフェースを提供する転送シーケンス手段と
を有することを特徴とする画像形成装置。
【請求項２】
前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記画像処理継承手段は、
前記画像を格納するためのメモリを確保するメモリ確保手段と、
前記確保したメモリを解放するメモリ解放手段と
を有することを特徴とする請求項１に記載の画像形成装置。
【請求項４】
前記メモリ確保手段並びにメモリ解放手段は、前記メモリを管理するメモリ管理手段を介してメモリの確保あるいは解放を行うことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記画像を保管するための不揮発性記憶手段を有し、
前記画像処理継承手段の要求により、前記不揮発性記憶手段に前記画像を格納する画像格納手段と、前記不揮発性記憶手段に保管された画像を読み込む画像読み込み手段と
を有することを特徴とする請求項１に記載の画像形成装置。
【請求項６】
前記画像処理継承手段は、
前記画像格納手段と、他の処理とを連携させながら実行させる連携格納手段を有することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記画像処理継承手段は、
前記画像読み込み手段と、他の処理とを連携させながら実行させる連携読み込み手段を有することを特徴とする請求項５に記載の画像形成装置。
【請求項８】
前記画像処理継承手段は、
前記ハードウェア資源に画像を出力、あるいは前記ハードウェア資源から画像を入力するための画像転送手段を有することを特徴とする請求項１に記載の画像形成装置。
【請求項９】
前記画像処理継承手段は、
前記画像転送手段と、他の処理とを連携させながら実行させる連携転送手段を有することを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記画像処理継承手段は、
前記画像転送手段に画像を転送させる転送手段を有することを特徴とする請求項８に記載の画像形成装置。
【請求項１１】
前記画像処理継承手段は、
前記画像処理が完了したことを通知する完了通知手段を有することを特徴とする請求項１に記載の画像形成装置。
【請求項１２】
前記アプリケーションは、プリンタ用のアプリケーションであるプリンタアプリと、コピー用アプリケーションであるコピーアプリと、ファックス用アプリケーションであるファックスアプリと、スキャナ用アプリケーションであるスキャナアプリのうちのいずれかのアプリケーションであることを特徴とする請求項１から１１のいずれか１項に記載の画像形成装置。
【請求項１３】
前記不揮発性記憶手段に保管される画像の形式は、無圧縮と、ＪＰＥＧと、ＴＩＦＦのうちのいずれかの形式であることを特徴とする請求項１から１１のいずれか１項に記載の画像形成装置。
【請求項１４】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承手段と、画像形成に係る一連の処理を行うための前記画像処理継承手段のインタフェースを提供する転送シーケンス手段とを有する画像形成装置において、
前記転送シーケンス手段が提供する前記インタフェースに適合し、前記画像形成に係る処理を行うアプリケーションと、
前記画像処理継承手段と汎化関係にあり、前記画像を保管する不揮発性記憶手段に前記画像を格納する画像格納手段と、前記不揮発性記憶手段に保管された画像を読み込む画像読み込み手段と、
前記画像処理継承手段と汎化関係にあり、前記画像処理継承手段が前記ハードウェア資源を利用するためのドライバと
を有することを特徴とする画像形成装置。
【請求項１５】
前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする請求項１４に記載の画像形成装置。
【請求項１６】
前記アプリケーションは、プリンタ用のアプリケーションであるプリンタアプリと、コピー用アプリケーションであるコピーアプリと、ファックス用アプリケーションであるファックスアプリと、スキャナ用アプリケーションであるスキャナアプリのうちのいずれかのアプリケーションであることを特徴とする請求項１４に記載の画像形成装置。
【請求項１７】
前記プリンタアプリは、前記画像処理継承手段を用いて印刷または画像の蓄積をすることを特徴とする請求項１６に記載の画像形成装置。
【請求項１８】
前記コピーアプリは、前記画像処理継承手段を用いて印刷または画像のスキャンをすることを特徴とする請求項１６に記載の画像形成装置。
【請求項１９】
前記不揮発性記憶手段に保管される画像の形式は、無圧縮と、ＪＰＥＧと、ＴＩＦＦのうちのいずれかの形式であることを特徴とする請求項１４に記載の画像形成装置。
【請求項２０】
前記ドライバは、前記ハードウェア資源からの画像の入力または前記ハードウェア資源への画像の出力を行うことを特徴とする請求項１４に記載の画像形成装置。
【請求項２１】
画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う１つ以上のアプリケーションと、前記各アプリケーションが画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承部と、前記各アプリケーションへ、画像形成に係る一連の処理を行うための前記画像処理継承部のインタフェースを提供する転送シーケンス部とを有する画像形成装置製造方法において、
前記転送シーケンス部が提供する前記インタフェースに適合させた前記アプリケーションのプログラムと、前記転送シーケンス部のプログラムとを関連付けるアプリケーションリンク段階と、
前記画像の蓄積または読み込みを行う画像プログラムと、前記画像処理継承部のプログラムとを関連付ける画像プログラムリンク段階と、
前記ハードウェア資源を利用するためのドライバと、前記画像処理継承部のプログラムとを関連付けるドライバリンク段階と
を有することを特徴とする画像形成装置製造方法。
【請求項２２】
前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする請求項２１に記載の画像形成装置製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成に係るソフトウェアの構造に関し、特に画像形成装置内で共通して行われる処理を一元化した構造を有する画像形成装置、並びにその画像形成装置製造方法に関する。
【背景技術】
【０００２】
近年、ファクシミリ、プリンタ、コピーおよびスキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、融合機という）が知られるようになった。この融合機は、１つの筐体内に表示部、印刷部および撮像部などを設けると共に、ファクシミリ、プリンタ、コピーおよびスキャナにそれぞれ対応する４種類のアプリケーションを設け、そのアプリケーションを切り替えることより、ファクシミリ、プリンタ、コピーおよびスキャナとして動作させるものである。
【０００３】
このように、複数のアプリケーションが搭載されている従来の融合機におけるソフトウェアの構造の例を図１５に示す。図１５は、例としてコピーとプリンタのアプリケーションからなるソフトウェアの構造を示すものである。
【０００４】
図に示されるように、コピー転送モジュールは、画像保管制御部と、メモリ管理部と、ドライバ制御部と、コピー転送順序制御部で構成される。また、プリンタ転送モジュールは、画像保管制御部と、メモリ管理部と、アプリ描画制御部と、プリンタ転送順序制御部で構成される。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これらの構成に示されるように、コピー転送モジュールとプリンタ転送モジュールには、画像転送のための共通の機能がある。このように同様の処理を有する場合、その機能を実行するプログラムを格納する領域は、重複する数だけ必要となるため、ハードウェア資源を無駄遣いすることになる。
【０００６】
また、上述したコピー転送モジュールやプリンタ転送モジュールのように、各モジュールで閉じた縦割り構造となっていると、例えば、メールで受信した内容をプリンタ転送モジュールで印刷することなど、柔軟な対応ができない。
【０００７】
その他の課題として、２つの異なるモジュールに対し、画像の保管形式を追加するなどの同様の機能拡張をする際に、二度手間になることが挙げられる。
【０００８】
以上説明したコピー転送モジュールとプリンタ転送モジュールは、同様の処理を含み、画像の保管形式によって異なる読み出しや蓄積する処理も、形式が異なる以外では同様の処理を含んでいる。このような同様の処理を含む複数のモジュールを、各処理ごとに設けることは、モジュール開発の手間がかかるばかりではなく、処理効率が低下し、ハードウェア資源の無駄遣いであり好ましくない。
【０００９】
本発明は、このような問題点に鑑み、モジュール開発の手間を減らし、処理効率を向上させ、ハードウェア資源の有効に利用することが可能な画像形成装置、その画像形成装置製造方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う１つ以上のアプリケーションとを有する画像形成装置において、前記各アプリケーションが画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承手段と、前記各アプリケーションへ、画像形成に係る一連の処理を行うための前記画像処理継承手段のインタフェースを提供する転送シーケンス手段とを有することを特徴とする。
【００１１】
また、上記課題を解決するために、本発明は、前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする。
【００１２】
また、上記課題を解決するために、本発明は、前記画像データ管理手段は、画像形成装置が起動する際に、前記記憶領域を取得することを特徴とする。
【００１３】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像を格納するためのメモリを確保するメモリ確保手段と、前記確保したメモリを解放するメモリ解放手段とを有することを特徴とする。
【００１４】
また、上記課題を解決するために、本発明は、前記メモリ確保手段並びにメモリ解放手段は、前記メモリを管理するメモリ管理手段を介してメモリの確保あるいは解放を行うことを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、前記画像を保管するための不揮発性記憶手段を有し、前記画像処理継承手段の要求により、前記不揮発性記憶手段に前記画像を格納する画像格納手段と、前記不揮発性記憶手段に保管された画像を読み込む画像読み込み手段とを有することを特徴とする。
【００１６】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像格納手段と、他の処理とを連携させながら実行させる連携格納手段を有することを特徴とする。
【００１７】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像読み込み手段と、他の処理とを連携させながら実行させる連携読み込み手段を有することを特徴とする。
【００１８】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記ハードウェア資源に画像を出力、あるいは前記ハードウェア資源から画像を入力するための画像転送手段を有することを特徴とする。
【００１９】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像転送手段と、他の処理とを連携させながら実行させる連携転送手段を有することを特徴とする。
【００２０】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像転送手段に画像を転送させる転送手段を有することを特徴とする。
【００２１】
また、上記課題を解決するために、本発明は、前記画像処理継承手段は、前記画像処理が完了したことを通知する完了通知手段を有することを特徴とする。
【００２２】
また、上記課題を解決するために、本発明は、前記アプリケーションは、プリンタ用のアプリケーションであるプリンタアプリと、コピー用アプリケーションであるコピーアプリと、ファックス用アプリケーションであるファックスアプリと、スキャナ用アプリケーションであるスキャナアプリのうちのいずれかのアプリケーションであることを特徴とする。
【００２３】
また、上記課題を解決するために、本発明は、前記不揮発性記憶手段に保管される画像の形式は、無圧縮と、ＪＰＥＧと、ＴＩＦＦのうちのいずれかの形式であることを特徴とする。
【００２４】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承手段と、画像形成に係る一連の処理を行うための前記画像処理継承手段のインタフェースを提供する転送シーケンス手段とを有する画像形成装置において、前記転送シーケンス手段が提供する前記インタフェースに適合し、前記画像形成に係る処理を行うアプリケーションと、前記画像処理継承手段と汎化関係にあり、前記画像を保管する不揮発性記憶手段に前記画像を格納する画像格納手段と、前記不揮発性記憶手段に保管された画像を読み込む画像読み込み手段と、前記画像処理継承手段と汎化関係にあり、前記画像処理継承手段が前記ハードウェア資源を利用するためのドライバとを有することを特徴とする。
【００２５】
また、上記課題を解決するために、本発明は、前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする。
【００２６】
また、上記課題を解決するために、本発明は、前記アプリケーションは、プリンタ用のアプリケーションであるプリンタアプリと、コピー用アプリケーションであるコピーアプリと、ファックス用アプリケーションであるファックスアプリと、スキャナ用アプリケーションであるスキャナアプリのうちのいずれかのアプリケーションであることを特徴とする。
【００２７】
また、上記課題を解決するために、本発明は、前記プリンタアプリは、前記画像処理継承手段を用いて印刷または画像の蓄積をすることを特徴とする。
【００２８】
また、上記課題を解決するために、本発明は、前記コピーアプリは、前記画像処理継承手段を用いて印刷または画像のスキャンをすることを特徴とする。
【００２９】
また、上記課題を解決するために、本発明は、前記不揮発性記憶手段に保管される画像の形式は、無圧縮と、ＪＰＥＧと、ＴＩＦＦのうちのいずれかの形式であることを特徴とする。
【００３０】
また、上記課題を解決するために、本発明は、前記ドライバは、前記ハードウェア資源からの画像の入力または前記ハードウェア資源への画像の出力を行うことを特徴とする。
【００３１】
また、上記課題を解決するために、本発明は、画像形成処理で使用されるハードウェア資源と、画像形成に係る処理を行う１つ以上のアプリケーションと、前記各アプリケーションが画像形成に係る処理を行う際に実行される前記画像形成装置内での画像の転送処理を含む画像処理を実行する画像処理継承部と、前記各アプリケーションへ、画像形成に係る一連の処理を行うための前記画像処理継承部のインタフェースを提供する転送シーケンス部とを有する画像形成装置の製造方法において、前記転送シーケンス部が提供する前記インタフェースに適合させた前記アプリケーションのプログラムと、前記転送シーケンス部のプログラムとを関連付けるアプリケーションリンク段階と、前記画像の蓄積または読み込みを行う画像プログラムと、前記画像処理継承部のプログラムとを関連付ける画像プログラムリンク段階と、前記ハードウェア資源を利用するためのドライバと、前記画像処理継承部のプログラムとを関連付けるドライバリンク段階とを有することを特徴とする。
【００３２】
また、上記課題を解決するために、本発明は、前記一連の処理は、画像の読み込み、印刷、保管のうちのいずれか２つ以上を組み合わせた処理であることを特徴とする。
【発明の効果】
【００３３】
以上説明したように、本発明によれば、モジュール開発の手間を減らし、処理効率を向上させ、ハードウェア資源の有効に利用することが可能な画像形成装置、その画像形成装置製造方法が得られる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施例を図面に基づいて説明する。
【実施例】
【００３５】
図１は、本発明によるＭＦＰの一実施例の構成図を示す。ＭＦＰ１は、ソフトウェア群２と、ＭＦＰ起動部３と、ハードウェア資源４とを含むように構成される。
【００３６】
ＭＦＰ起動部３はＭＦＰ１の電源投入時に最初に実行され、アプリケーション層５およびプラットホーム層６を起動する。例えばＭＦＰ起動部３は、アプリケーション層５およびプラットホーム層６のプログラムを、不揮発性記憶手段に対応するハードディスク装置（以下、ＨＤＤという）などから読み出し、読み出した各プログラムをメモリ領域に転送して起動する。ハードウェア資源４は、スキャナ２５と、プロッタ２６と、ＡＤＦ（Auto Document Feeder）などのハードウェアリソース２４とを含む。
【００３７】
また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのオペレーティングシステム（以下、ＯＳという）上に起動されているアプリケーション層５とプラットホーム層６とを含む。アプリケーション層５は、プリンタ、コピー、ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプログラムを含む。
【００３８】
アプリケーション層５は、プリンタ用のアプリケーションであるプリンタアプリ９と、コピー用アプリケーションであるコピーアプリ１０と、ファックス用アプリケーションであるファックスアプリ１１と、スキャナ用アプリケーションであるスキャナアプリ１２とを含む。
【００３９】
また、プラットホーム層６は、アプリケーション層５からの処理要求を解釈してハードウェア資源４の獲得要求を発生するコントロールサービス層７と、１つ以上のハードウェア資源４の管理を行ってコントロールサービス層７からの獲得要求を調停するシステムリソースマネージャ（以下、ＳＲＭという）２１と、ＳＲＭ２１からの獲得要求に応じてハードウェア資源４の管理を行うハンドラ層８とを含む。
【００４０】
コントロールサービス層７は、ネットワークコントロールサービス（以下、ＮＣＳという）１３、デリバリーコントロールサービス（以下、ＤＣＳという）１４、オペレーションパネルコントロールサービス（以下、ＯＣＳという）１５、ファックスコントロールサービス（以下、ＦＣＳという）１６、エンジンコントロールサービス（以下、ＥＣＳという）１７、メモリコントロールサービス（以下、ＭＣＳという）１８、ユーザコントロールサービス（以下、ＵＣＳという）１９、システムコントロールサービス（以下、ＳＣＳという）２０など、一つ以上のサービスモジュールを含むように構成されている。
【００４１】
なお、プラットホーム層６は予め定義されている関数により、アプリケーション層５からの処理要求を受信可能とするＡＰＩ２８を有するように構成されている。ＯＳは、アプリケーション層５およびプラットホーム層６の各ソフトウェアをプロセスとして並列実行する。
【００４２】
ＮＣＳ１３のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。
【００４３】
例えばＮＣＳ１３は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（HyperText Transfer Protocol Daemon）により、ＨＴＴＰ（HyperText Transfer Protocol）で制御する。
【００４４】
ＤＣＳ１４のプロセスは、文書の配信などのサービスを行う。ＯＣＳ１５のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。ＦＣＳ１６のプロセスは、アプリケーション層５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信、バックアップ用のメモリで管理されている各種ファックスデータの登録／引用、ファックス読み取り、ファックス受信印刷などを行うためのＡＰＩを提供する。
【００４５】
ＥＣＳ１７のプロセスは、スキャナ２５、プロッタ２６、その他のハードウェアリソース２４などのエンジン部の制御を行う。ＭＣＳ１８のプロセスは、メモリの取得および解放、ＨＤＤの利用などのメモリ制御を行う。ＵＣＳ１９は、ユーザに関する処理を行う。
【００４６】
ＳＣＳ２０のプロセスは、アプリケーション管理、操作部制御、システム画面表示、ＬＥＤ表示、ハードウェア資源管理、割り込みアプリケーション制御などの処理を行う。
【００４７】
ＳＲＭ２１のプロセスは、ＳＣＳ２０と共にシステムの制御およびハードウェア資源４の管理を行うものである。例えばＳＲＭ２１のプロセスは、スキャナ２５やプロッタ２６などのハードウェア資源４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４８】
具体的に、ＳＲＭ２１のプロセスは獲得要求されたハードウェア資源４が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源４が利用可能である旨を上位層に通知する。また、ＳＲＭ２１のプロセスは上位層からの獲得要求に対してハードウェア資源４を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４９】
また、ハンドラ層８は後述するファックスコントロールユニット（以下、ＦＣＵという）の管理を行うファックスコントロールユニットハンドラ（以下、ＦＣＵＨという）２２と、プロセスに対するメモリの割り振り及びプロセスに割り振ったメモリの管理を行うイメージメモリハンドラ（以下、ＩＭＨという）２３を含む。ＳＲＭ３９およびＦＣＵＨ２２は、予め定義されている関数によりハードウェア資源４に対する処理要求を送信可能とするエンジンＩ／Ｆ２７を利用して、ハードウェア資源４に対する処理要求を行う。
【００５０】
ＭＦＰ１は、各アプリケーションで共通的に必要な処理をプラットホーム層６で一元的に処理することができる。次に、ＭＦＰ１のハードウェア構成について説明する。
【００５１】
図２は、ＭＦＰ１の一実施例のハードウェア構成図を示している。ＭＦＰ１は、コントローラボード３０と、オペレーションパネル３９と、ＦＣＵ４０と、エンジン４３とを含む。また、ＦＣＵ４０は、Ｇ３規格対応ユニット５３と、Ｇ４規格対応ユニット５４とを有する。
【００５２】
また、コントローラボード３０は、ＣＰＵ３１と、ＡＳＩＣ３６と、ＨＤＤ３８と、システムメモリ（ＭＥＭ−Ｐ）３２と、ローカルメモリ（ＭＥＭ−Ｃ）３７と、ノースブリッジ（以下、ＮＢと記す）３３と、サウスブリッジ（以下、ＳＢと記す）３４と、ＮＩＣ５１（Network Interface Card）と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス５２とを含む。
【００５３】
オペレーションパネル３９は、コントローラボード３０のＡＳＩＣ３６に接続されている。また、ＳＢ３４と、ＮＩＣ５１と、ＵＳＢデバイス４１と、ＩＥＥＥ１３９４デバイス４２と、セントロニクスデバイス５２と、ＮＢ３３にＰＣＩバスで接続されている。
【００５４】
ＭＬＢ４５は、ＭＦＰ１にＰＣＩバスを介して接続する基板である。また、ＭＬＢ４５は、ＭＦＰ１から入力された画像データを変換し、変換された画像データあるいは符号化された画像データをＭＦＰ１に出力するものである。
【００５５】
また、ＦＣＵ４０と、エンジン４３は、コントローラボード５０のＡＳＩＣ３６にＰＣＩバスで接続されている。
【００５６】
なお、コントローラボード５０は、ＡＳＩＣ３６にローカルメモリ３７、ＨＤＤ３８などが接続されると共に、ＣＰＵ３１とＡＳＩＣ３６とがＣＰＵチップセットのＮＢ３３を介して接続されている。このように、ＮＢ３３を介してＣＰＵ３１とＡＳＩＣ３６とを接続すれば、ＣＰＵ３１のインタフェースが公開されていない場合に対応できる。
【００５７】
また、ＡＳＩＣ３６とＮＢ３３とはＰＣＩバスを介して接続されているのでなく、ＡＧＰ（Accelerated Graphics Port）６７を介して接続されている。このように、図２２のアプリケーション層５やプラットホーム層６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ３６とＮＢ３３とを低速のＰＣＩバスでなくＡＧＰ３５を介して接続し、パフォーマンスの低下を防いでいる。
【００５８】
ＣＰＵ３１は、ＭＦＰ１の全体制御を行うものである。ＣＰＵ３１は、ＮＣＳ１３、ＤＣＳ１４、ＯＣＳ１５、ＦＣＳ１６、ＥＣＳ１７、ＭＣＳ１８、ＵＣＳ１９、ＳＣＳ２０、ＳＲＭ２１、ＦＣＵＨ２２、ＩＭＨ２３、ＭＥＵ４４をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層５を形成するプリンタアプリ９、コピーアプリ１０、ファックスアプリ１１、スキャナアプリ１２を起動して実行させる。
【００５９】
ＮＢ３３は、ＣＰＵ３１、システムメモリ３２、ＳＢ３４およびＡＳＩＣ３６を接続するためのブリッジである。システムメモリ３２は、ＭＦＰ１の描画用メモリなどとして用いるメモリである。ＳＢ３４は、ＮＢ３３とＰＣＩバス、周辺デバイスとを接続するためのブリッジである。また、ローカルメモリ３７はコピー用画像バッファ、符号バッファとして用いるメモリである。
【００６０】
ＡＳＩＣ３６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ３８は、画像の蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積などを行うためのストレージである。また、オペレーションパネル３９は、ユーザからの入力操作を受け付けると共に、ユーザに向けた表示を行う操作部である。
【００６１】
次に、ＩＭＨ２３の詳細な説明をする。図３は、ＩＭＨ２３が転送先から転送された画像を保管する様子を示すものである。図３には、ＳＲＭ２１と、転送画像１０１と、ＩＭＨ２３と、画像転送器６１と、保管画像１０２と、メモリ６０とが示されている。転送画像１０１は、転送先からの画像である。保管画像１０２は、転送された画像を保管した画像である。メモリは、図２に示したシステムメモリ３２、ローカルメモリ３７のいずれでもよい。
【００６２】
この図３に示されるように、ＩＭＨ２３は、転送された画像をＳＲＭ２１から取得し、画像転送器６１により画像をメモリ６０に保管することを行う。
【００６３】
次に、図４について説明する。なお、図４に示される符号は、図３の符号と同一なので説明を省略する。図４は、ＩＭＨ２３が保管画像を転送先へ転送する様子を示すものである。
【００６４】
この図４に示されるように、ＩＭＨ２３は、転送された画像をメモリから取得し、画像転送器６１により画像をＳＲＭ２１に転送することも行う。
【００６５】
以上説明した図３、図４から、ＩＭＨ２３は、画像のメモリへの入出力の制御と保管を行う。なお、図３、図４において、画像はＳＲＭ２１を介して転送されているが、上述したアプリケーション層５に位置するアプリケーションから直接に画像の入出力が行われることがある。
【００６６】
次に、ＩＭＨ２３に係る周辺のブロック図を、図５を用いて説明する。図５には、アプリ７１と、ＡＰＩ２８と、コントロールサービス７０と、ＳＲＭ２１と、ＩＭＨ２３と、ドライバ群７２と、メモリ６０と、ＨＤＤ３８とが示されている。
【００６７】
アプリ７１は、図１のアプリケーション層５に位置するいずれかのアプリケーションである。コントロールサービス７０は、図１のコントロールサービス層７に位置するいずれかのコントロールサービスである。ドライバ群７２は、メモリ６０やＨＤＤ３８とやり取りするためのドライバである。
【００６８】
この図５に示されるように、アプリ７１は、コントロールサービス７０、ＳＲＭ２１を介して画像の入出力を行う場合と、直接にドライバ群７２のドライバを用いて入出力を行う場合がある。
【００６９】
次に、図６を用いて転送処理を行うためのフレームワークのクラス図を説明する。図６には、点線内のフレームワーク１５０と、点線外の部品とが示されており、それらはクラスで構成される。このうち、まずフレームワーク１５０について説明する。
【００７０】
フレームワーク１５０は、転送シーケンス１５１と、転送画像１５２と、ステップ１５３と、完了通知ステップ１５４と、合流ステップ１５５と、メモリ確保ステップ１５６と、メモリ解放ステップ１５７と、画像格納ステップ１５８と、画像読み込みステップ１５９と、転送ステップ１６０と、連携ステップ１６１と、連携格納ステップ１６２と、連携読み込みステップ１６３と、連携転送ステップ１６４と、ＩＭＨ用メモリの管理者１６５と、保管画像１６６と、画像転送器１６７のクラスで構成される。
【００７１】
このうち、転送シーケンス１５１は、転送シーケンス手段に対応する。ステップ１５３は、画像処理継承手段に対応する。メモリ確保ステップ１５６は、メモリ確保手段に対応する。メモリ解放ステップ１５７は、メモリ解放手段に対応する。ＩＭＨ用メモリの管理者１６５は、メモリ管理手段に対応する。画像格納ステップ１５８は、画像格納手段に対応する。画像読み込みステップ１５９は、画像読み込み手段に対応する。連携格納ステップ１６２は、連携格納手段に対応する。連携読み込みステップ１６３は、連携読み込み手段に対応する。連携転送ステップ１６４は、連携転送手段に対応する。転送ステップ１６０は、転送手段に対応する。画像転送器１６７は、画像転送手段に対応する。完了通知ステップ１５４は、完了通知手段に対応する。
【００７２】
また、部品は、コピースキャンシーケンス１８０と、コピー印刷シーケンス１８１と、プリンタ蓄積シーケンス１８２と、プリンタ印刷シーケンス１８３と、コピースキャン−印刷シーケンス１８４と、プリンタ蓄積・印刷連携シーケンス１８５と、無圧縮画像１８６と、ＪＰＥＧ画像１８７と、ＴＩＦＦ画像１８８と、画像入力器ドライバ１８９と、画像出力器ドライバ１９０と、アプリ描画制御部１９１のクラスで構成される。
【００７３】
図６に示されたクラスは、アイコンで示されており、そのアイコンは、上段、中段、下段の３つに仕切られている。上段は名前コンパートメントでクラス名やクラスの種別を示す。中段は属性コンパートメントで属性のリストを示す。下段はオペレーションコンパートメントでオペレーションのリストを示す。そのクラスで対応するものがない場合、その段は、空欄となる。
【００７４】
また、中段や下段に示されているものには、「＋」や「−」が付けられているものがあるが、これは他のクラスに公開または隠蔽しているかを示すもので、「＋」が付けられているものは公開され、「−」が付けられているものは隠蔽されている。
【００７５】
フレームワーク内のクラスについて説明する。転送シーケンス１５１は、属性として実行状態を有し、オペレーションとして実行と完了を有する。また、転送シーケンス１５１は、アプリケーションなどへ、ステップ１５３のインタフェースを提供する。ステップ１５３のインタフェースを提供することは、フレームワーク１５０のインタフェースを提供することになる。
【００７６】
転送画像１５２は、属性として高さと幅を有する。ステップ１５３は、属性として実行状態を有し、オペレーションとして実行と完了を有する。完了通知ステップ１５４は、オペレーションとして実行を有する。合流ステップ１５５は、属性として分岐数を有し、オペレーションとして実行を有する。メモリ確保ステップ１５６は、オペレーションとして実行を有する。メモリ解放ステップ１５７は、オペレーションとして実行を有する。画像格納ステップ１５８は、オペレーションとして実行を有する。画像読み込みステップ１５９は、オペレーションとして実行を有する。転送ステップ１６０は、オペレーションとして実行を有する。連携ステップ１６１は、属性としてステップ分割数を有し、オペレーションとして連携開始と、連携実行と、連携完了を有する。連携格納ステップ１６２は、オペレーションとして実行と、連携開始と、連携実行と、連携完了を有する。連携読み込みステップ１６３は、オペレーションとして実行と、連携開始と、連携実行と、連携完了を有する。連携転送ステップ１６４は、オペレーションとして実行と、連携開始と、連携実行と、連携完了を有する。ＩＭＨ用メモリの管理者１６５は、属性としてサイズを有し、オペレーションとして確保と解放を有する。保管画像１６６は、属性としてページＩＤを有し、オペレーションとして蓄積と読み込みを有する。画像転送器１６７は、属性として開始アドレスとデータ長を有し、オペレーションとして転送を有する。
【００７７】
次に、部品のクラスについて説明する。コピースキャンシーケンス１８０は、コピーにおいて、読み取りを行うクラスである。コピー・印刷シーケンス１８１は、コピーにおいて、印刷を行うクラスである。コピースキャン印刷シーケンス１８４は、コピーにおいて、読み取りと印刷を行うクラスである。プリンタ蓄積シーケンス１８２は、プリンタにおいて、画像の蓄積を行うクラスである。プリンタ印刷シーケンス１８３は、プリンタにおいて、印刷を行うクラスである。プリンタ蓄積・印刷シーケンス１８５は、プリンタにおいて蓄積と印刷を行うクラスである。これらのクラスにより、画像の読み込み、印刷、保管のうちいずれか２つを組み合わせた処理を行うことができる。
【００７８】
無圧縮画像１８６、ＪＰＥＧ画像１８７、ＴＩＦＦ画像１８８は、オペレーションとしてそれぞれ蓄積と読み込みを有する。画像入力器ドライバ１８９、画像出力器ドライバ１９０、アプリ描画制御部１９１は、オペレーションとして転送を有する。
【００７９】
これら無圧縮画像１８６、ＪＰＥＧ画像１８７、ＴＩＦＦ画像１８８、画像入力器ドライバ１８９、画像出力器ドライバ１９０のクラスは、図に示されるように、ステップ１５３と汎化関係にある。
【００８０】
次に、上述したフレームワークと部品との振る舞いについて説明する。以下の説明では、４つの処理における振る舞いをコラボレーション図を用いて説明をするが、コラボレーション図に示されるオブジェクトの名前で、図６に示したオブジェクトの名前と一致するものは、図６に示したオブジェクトのインスタンスである。
【００８１】
まず、図７に示されるコラボレーション図を用いて、フレームワークの一般的な振る舞いについて説明する。図７には、画像利用者２００と、転送シーケンス２０１と、転送ステップ２０４、２０５、２０６、２０７と、作業者４０１、４０２、４０３、４０４とが示されている。アクターである画像利用者２００として、例えばコピーアプリ１０などが挙げられる。また、アクターである作業者４０１、４０２、４０３、４０４は、例えばＩＭＨ用メモリの管理者１６５や、保管画像１６６などである。
【００８２】
次に、これらの振る舞いについて説明する。ステップＳ１０１で、画像利用者２００は、転送シーケンス２０１に実行要求を通知する。転送シーケンス２０１は、ステップＳ１０２で転送ステップ２０４へ実行要求を通知する。転送ステップ２０４は、ステップＳ１０３で、作業者２０３に実行要求を通知する。作業者２０３は、実行を完了すると、ステップＳ１０４で、転送ステップ２０４へ実行の完了を通知する。
【００８３】
完了が通知された転送ステップ２０４は、ステップＳ１０５で転送ステップ２０５へ実行要求を通知する。転送ステップ２０５は、ステップＳ１０６で、作業者２０３に実行要求を通知する。作業者２０３は、実行完了すると、ステップＳ１０７で、転送ステップ２０５へ実行の完了を通知する。
【００８４】
完了が通知された転送ステップ２０５は、ステップＳ１０８で転送ステップ２０６へ実行要求を通知する。転送ステップ２０６は、ステップＳ１０９で、作業者２０３に実行要求を通知する。作業者２０３は、実行を完了すると、ステップＳ１１０で、転送ステップ２０６へ実行の完了を通知する。
【００８５】
以下、上記ステップを適当な回数繰り返し、転送ステップ２０７は、ステップＳ１１１で、作業者２０３に実行要求を通知する。作業者２０３は、実行を完了すると、ステップＳ１１２で、転送ステップ２０７へ実行の完了を通知する。
【００８６】
完了が通知された転送ステップ２０７は、ステップＳ１１３で転送シーケンス２０１へ完了を通知する。
【００８７】
以上がフレームワークの一般的な振る舞いである。次に、具体的な振る舞いの例を挙げる。まず、図８を用いて画像のスキャンと蓄積をする場合の振る舞いについて説明する。図８には、画像利用者２００と、コピースキャンシーケンス２１０と、メモリ確保ステップ２１１と、転送ステップ２０４と、画像入力器ドライバ２１４と、ＩＭＨメモリ用の管理者２１３と、画像格納ステップ２０８と、ＴＩＦＦ画像２１２と、メモリ解放ステップ２０９と、完了通知ステップ２１５とが示されている。
【００８８】
スキャンと蓄積をする場合の部品は、図８に示されるように、コピースキャンシーケンス２１０と、ＴＩＦＦ画像２１２と、画像入力器ドライバ２１４と、転送シーケンスの初期ステップであるメモリ確保ステップ２１１である。
【００８９】
次に、これらの振る舞いについて説明する。ステップＳ２０１で、画像利用者２００は、コピースキャンシーケンス２１０に実行要求を通知する。ステップＳ２０２で、コピースキャンシーケンス２１０は、メモリ確保ステップ２１１に実行要求を通知する。メモリ確保ステップ２１１は、ステップＳ２０３で、ＩＭＨ用メモリの管理者２１３へメモリの確保要求を通知する。ＩＭＨ用メモリの管理者２１３は、ステップＳ２０４で、メモリ確保ステップ２１１にメモリの確保が完了したことを通知する。
【００９０】
メモリ確保ステップ２１１は、ステップＳ２０５で、転送ステップ２０４に実行要求を通知する。転送ステップ２０４は、ステップＳ２０６で、画像入力器ドライバ２１４に転送要求を通知する。画像入力器ドライバ２１４は、転送が完了すると、ステップＳ２０７で、転送ステップ２０４に転送の完了を通知する。
【００９１】
転送ステップ２０４は、ステップＳ２０８で画像格納ステップ２０８へ実行要求を通知する。画像格納ステップ２０８は、ステップＳ２０９で、ＴＩＦＦ画像２１２に蓄積要求を通知する。ＴＩＦＦ画像２１２は、蓄積が完了するとステップＳ２１０で、画像格納ステップ２０８へ蓄積の完了を通知する。
【００９２】
画像格納ステップ２０８は、ステップＳ２１１でメモリ解放ステップ２０９へ実行要求を通知する。メモリ解放ステップ２０９は、ステップＳ２１２で、ＩＭＨ用メモリの管理者２１３へ、先ほど確保したメモリの解放を要求する。ＩＭＨ用メモリの管理者２１３は、メモリの解放が完了すると、ステップＳ２１３で、メモリ解放ステップ２０９へ解放の完了を通知する。
【００９３】
メモリ解放ステップ２０９は、ステップＳ２１４で、完了通知ステップ２１５に、実行要求を通知する。完了通知ステップ２１５は、ステップＳ２１５で、画像利用者２００に実行の完了を通知する。完了通知ステップ２１５は、ステップＳ２１６で、自らに実行の完了を通知し、ステップＳ２１７で、コピースキャンシーケンス２１０へ完了を通知する。
【００９４】
このように、あるステップから次のステップへというように順次処理が行われる。このあるステップから次のステップを表す表を、図９を用いて説明する。
【００９５】
図９は、現在のステップから次のステップを表すものである。最初にメモリ確保が行われ、その次のステップが転送である。転送の次のステップは、画像格納である。画像格納の次のステップは、メモリ解放である。メモリ解放の次のステップは、完了通知である。完了通知の次は、「−」であるが、この「−」は、次のステップが存在しないことを示すものである。従って、完了通知で処理が終了する。
【００９６】
次の振る舞いの例である画像のスキャンと印刷の連携動作を、図１０を用いて説明する。スキャンと印刷の連携動作をする場合の部品は、図１０に示されるように、コピースキャン・印刷連携シーケンス２２０と、メモリ確保ステップ２１１と、連携転送ステップ２２１、２２２と、画像入力器ドライバ２１４と、画像出力器ドライバ２２３と、ＩＭＨメモリ用の管理者２１３と、メモリ解放ステップ２０９と、完了通知ステップ２１５と、合流ステップ２２４である。
【００９７】
次に、これらの振る舞いについて説明する。ステップＳ３０１で、画像利用者２００は、コピースキャン・印刷連携シーケンス２２０に実行要求を通知する。コピースキャン・印刷連携シーケンス２２０は、ステップＳ３０２で、メモリ確保ステップ２１１に実行要求を通知する。メモリ確保ステップ２１１は、ステップＳ３０３で、ＩＭＨ用メモリの管理者２１３へメモリの確保要求を通知する。ＩＭＨ用メモリの管理者２１３は、ステップＳ３０４で、メモリ確保ステップ２１１にメモリの確保が完了したことを通知する。メモリ確保ステップ２１１は、ステップＳ３０５で、連携転送ステップ２２１に実行要求を通知する。
【００９８】
連携転送ステップ２２１は、まずステップＳ３０６で、画像入力器ドライバ２１４に転送要求を通知する。それとともに、連携転送ステップ２２１は、ステップＳ３０７で、連携転送ステップ２２２に連携開始を通知する。
【００９９】
画像入力器ドライバ２１４は、連携転送ステップ２２１へ、ステップＳ３０８で完了を通知する。再び、連携転送ステップ２２１は、ステップＳ３０９で、画像入力器ドライバ２１４に転送要求を通知する。
【０１００】
また、連携転送ステップ２２１は、ステップＳ３１０で、連携転送ステップ２２２に連携実行を通知する。連携転送ステップ２２２は、ステップＳ３１１で、画像出力器ドライバ２２３に転送要求を通知する。
【０１０１】
画像入力器ドライバ２１４は、連携転送ステップ２２１へ、ステップＳ３１２で完了を通知する。連携転送ステップ２２１は、ステップＳ３１３で、画像入力器ドライバ２１４に転送要求を通知する。
【０１０２】
連携転送ステップ２２１は、ステップＳ３１４で、連携転送ステップ２２２に連携実行を通知する。画像出力器ドライバ２２３は、ステップＳ３１５で、連携転送ステップ２２２へ完了を通知する。連携転送ステップ２２２は、ステップＳ３１６で、画像出力器ドライバ２２３に転送要求を通知する。画像入力器ドライバ２１４は、連携転送ステップ２２１へ、ステップＳ３１７で完了を通知する。
【０１０３】
連携転送ステップ２２１は、ステップＳ３１８で、連携転送ステップ２２２に連携実行を通知する。その後、連携転送ステップ２２１は、ステップＳ３１９で、連携転送ステップ２２２に連携完了を通知する。ステップＳ３２０で、連携転送ステップ２２１は、完了通知ステップ２１５へ、実行要求を通知する。完了通知ステップ２１５は、ステップＳ３２１で、画像利用者２００へ完了を通知する。また、完了通知ステップ２１５は、ステップＳ３２２で、合流ステップ２２４へ実行要求を通知する。
【０１０４】
画像出力器ドライバ２２３は、ステップＳ３２３で連携転送ステップ２２２へ完了を通知する。連携転送ステップ２２２は、ステップＳ３２４で、画像出力器ドライバ２２３へ転送要求を通知する。画像出力器ドライバ２２３は、ステップＳ３２５で連携転送ステップ２２２へ完了を通知する。
【０１０５】
連携転送ステップ２２２は、ステップＳ３２６でメモリ解放ステップ２０９へ実行要求を通知する。メモリ解放ステップ２０９は、ステップＳ３２７で、ＩＭＨ用メモリの管理者２１３へメモリの解放要求を通知する。ＩＭＨ用メモリの管理者２１３は、メモリの解放が完了すると、ステップＳ３２８で、メモリ解放ステップ２０９へ解放の完了を通知する。メモリ解放ステップ２０９は、ステップＳ３２９で、合流ステップ２２４に、実行要求を通知する。合流ステップ２２４は、ステップＳ３３０で、自らに実行の完了を通知し、ステップＳ３３１で、コピースキャン・印刷連携シーケンス２２０へ完了を通知する。
【０１０６】
次に、先ほどと同様に、ステップから次のステップを表す表を、図１１を用いて説明する。なお、図１１の表は、新たに連携従事Ｓｔｅｐが加わっている。これは、連携転送ステップ２２１、２２２で連携が行なわれていることによる。
【０１０７】
最初にメモリ確保が行われ、その次のステップが連携転送である。連携転送の次のステップは、完了通知であり、さらに連携転送である。連携転送の次のステップは、メモリ解放である。また、完了通知の次のステップは、合流である。そして、メモリ解放の次のステップも合流である。この合流で処理は終了する。
【０１０８】
次に、図１２を用いてプリンタ蓄積画像の印刷をする場合の振る舞いについて説明する。プリンタ蓄積画像の印刷は、例えば１枚の印刷の場合、印刷する１枚分の画像が分割して保存され、印刷が行なわれるようになっている。そのため、例えば１枚の画像をｎで分割した場合、ｎ回の蓄積と印刷するための画像転送処理が行われる。図１２に示されるものは、画像をｎで分割した場合を示すものである。
図１２には、画像利用者２００と、プリンタ印刷シーケンス２５０と、メモリ確保ステップ２１１と、画像読み込みステップ２５１、２５２、２５３と、転送ステップ２５４、２５５、２５６と、ＩＭＨメモリ用の管理者２１３と、無圧縮画像２５７と、アプリ描画制御部２５８と、メモリ解放ステップ２０９と、完了通知ステップ２１５とが示されている。
【０１０９】
次に、これらの振る舞いについて説明する。ステップＳ４０１で、画像利用者２００は、プリンタ印刷シーケンス２５０に実行要求を通知する。プリンタ印刷シーケンス２５０は、ステップＳ４０２で、メモリ確保ステップ２１１に実行要求を通知する。メモリ確保ステップ２１１は、ステップＳ４０３で、ＩＭＨ用メモリの管理者２１３へメモリの確保要求を通知する。ＩＭＨ用メモリの管理者２１３は、ステップＳ４０４で、メモリ確保ステップ２１１にメモリの確保が完了したことを通知する。メモリ確保ステップ２１１は、ステップＳ４０５で、画像読み込みステップ２５１に実行要求を通知する。
【０１１０】
画像読み込みステップ２５１は、ステップＳ４０６で無圧縮画像２５７へ読み込み要求を通知する。無圧縮画像２５７は、ステップＳ４０７で画像読み込みステップ２５１へ完了を通知する。
【０１１１】
画像読み込みステップ２５１は、ステップＳ４０８で、転送ステップ２５４に実行要求を通知する。転送ステップ２５４は、ステップＳ４０９で、アプリ描画制御部２５８へ点要求を通知する。アプリ描画制御部２５８は、転送が完了すると、ステップＳ４１０で、転送ステップ２５４へ完了を通知する。
【０１１２】
転送ステップ２５４は、ステップＳ４１１で画像読み込みステップ２５１に実行要求を通知する。画像読み込みステップ２５１は、ステップＳ４１２で、無圧縮画像２５７へ読み込み要求を通知する。無圧縮画像２５７は、読み込みが完了すると、ステップＳ４１３で完了を通知する。画像読み込みステップ２５１は、ステップＳ４１４で、転送ステップ２５５へ実行要求を通知する。転送ステップ２５５は、ステップＳ４１５で、アプリ描画制御部２５８へ転送要求を通知する。アプリ描画制御部２５８は、転送が完了すると、ステップＳ４１６で、転送ステップ２５５に完了を通知する。
【０１１３】
画像読み込みステップ２５３は、ステップＳ４１７で、無圧縮画像２５７に読み込み要求を通知する。無圧縮画像２５７は、読み込みが終了すると、ステップＳ４１８で、画像読み込みステップ２５３へ完了を通知する。画像読み込みステップ２５３は、ステップＳ４１９で転送ステップ２５６へ実行要求を通知する。転送ステップ２５６は、ステップＳ４２０で、アプリ描画制御部２５８に転送要求を通知する。アプリ描画制御部２５８は、転送が完了すると、ステップＳ４２１で、転送ステップ２５６に完了を通知する。
【０１１４】
転送ステップ２５６は、ステップＳ４２２で、メモリ解放ステップ２０９へ実行要求を通知する。メモリ解放ステップ２０９は、ステップＳ４２３で、ＩＭＨ用メモリの管理者２１３に、メモリの解放要求を通知する。ＩＭＨ用メモリの管理者２１３は、解放が完了すると、ステップＳ４２４で、メモリ解放ステップ２０９へ実行要求を通知する。
【０１１５】
メモリ解放ステップ２０９は、ステップＳ４２５で、完了通知ステップ２１５に完了を通知する。完了通知ステップ２１５は、ステップＳ４２６で、画像利用者２００に実行完了を通知する。また、完了通知ステップ２１５は、ステップＳ４２７０で、自らに実行の完了を通知し、ステップＳ４２８で、プリンタ印刷シーケンス２５０に完了を通知する。
【０１１６】
次に、先ほどと同様に、ステップから次のステップを表す表を、図１３を用いて説明する。
【０１１７】
最初にメモリ確保が行われ、その次のステップが画像読み込みである。画像読み込みの次のステップは、転送である。転送の次のステップは、画像読み込みである。画像読み込みの次のステップは、転送である。転送の次のステップは画像読み込みである。以降、適当な回数、画像読み込みと転送が繰り返される。そして、最後のｎ回目の画像読み込みが行われ、その次のステップが転送である。転送の次のステップは、もはや、画像を読み込むメモリは不要となるため、メモリ解放となる。メモリ解放の次は、完了通知となる。
【０１１８】
以上説明したフレームワークを用いた実装例を、コピースキャンシーケンス１８０を例にし、図１４を用いて説明する。
【０１１９】
図１４は、コピースキャンシーケンス１８０の、実行（）の具体例を示すものである。まず、コード３００は、コピースキャンシーケンスクラスのメンバ関数であるexe()を示すものである。コード３０１は、ポインタthe_first_stepが０（ＮＵＬＬ）以外の場合、すなわちポインタthe_first_stepが実体を指す場合、この関数での処理は何も行われない。コード３０１は、ポインタthe_first_stepが０（ＮＵＬＬ）の場合、すなわちポインタthe_first_stepが実体を指さない場合、the_first_stepに実体を確保することが示されている。コード３０３は、the_first_stepのメンバ関数であるexec()を実行することが示されている。
【０１２０】
このようにして、インタフェースを適合させることで、フレームワーク１５０を利用することが可能となり、Ｃ＋＋言語で例えると、これらのコードをコンパイルしリンクすることでフレームワーク１５０を有する画像形成装置を製造することができる。なお、各種ドライバや、形式ごとに蓄積したり読み込む画像のクラスも同様にリンクさせることができる。
【図面の簡単な説明】
【０１２１】
【図１】本発明によるＭＦＰの一実施例の構成図である。
【図２】本発明によるＭＦＰの一実施例のハードウェア構成図である。
【図３】ＩＭＨが画像を保管する様子を示す図である。
【図４】ＩＭＨが画像を転送する様子を示す図である。
【図５】ＩＭＨに係る周辺のブロック図である。
【図６】フレームワークのクラス図である。
【図７】フレームワークの一般的な振る舞いを示すコラボレーション図である。
【図８】画像のスキャンと蓄積をする場合の振る舞いを示すコラボレーション図である。
【図９】次のステップを示す表である。
【図１０】画像のスキャンと印刷の連携動作を示すコラボレーション図である。
【図１１】次のステップ並びに連携従事ステップを示す表である。
【図１２】プリンタ蓄積画像の印刷をする場合の振る舞いを示すコラボレーション図である。
【図１３】次のステップを示す表である。
【図１４】実装例を示す図である。
【図１５】従来例を示す図である。
【符号の説明】
【０１２２】
１  ＭＦＰ
２  ソフトウェア群
３  ＭＦＰ起動部
４  ハードウェア資源
５  アプリケーション層
６  コントローラ層
７  コントロールサービス層
８  ハンドラ層
９  プリンタアプリ
１０  コピーアプリ
１１  ファックスアプリ
１２  スキャナアプリ
１３  ネットワークコントロールサービス（ＮＣＳ）
１４  デリバリーコントロールサービス（ＤＣＳ）
１５  オペレーションパネルコントロールサービス（ＯＣＳ）
１６  ファックスコントロールサービス（ＦＣＳ）
１７  エンジンコントロールサービス（ＥＣＳ）
１８  メモリコントロールサービス（ＭＣＳ）
１９  オンデマンドアップデートサービス（ＵＣＳ）
２０  システムコントロールサービス（ＳＣＳ）
２１  システムリソースマネージャ（ＳＲＭ）
２２  ファックスコントロールユニットハンドラ（ＦＣＵＨ）
２３  イメージメモリハンドラ（ＩＭＨ）
２４  その他のハードウェアリソース
２５  スキャナ
２６  プロッタ
２７  エンジンＩ／Ｆ（ＰＣＩ）
２８  アプリケーションプログラムインターフェース（ＡＰＩ）
３０  コントローラボード
３１  ＣＰＵ
３２  システムメモリ（ＭＥＭ−Ｐ）
３３  ノースブリッジ（ＮＢ）
３４  サウスブリッジ（ＳＢ）
３５  ＡＧＰ（Accelerated Graphics Port）
３６  ＡＳＩＣ
３７  ローカルメモリ（ＭＥＭ−Ｃ）
３８  ハードディスク装置（ＨＤＤ）
３９  オペレーションパネル
４０  ファックスコントロールユニット（ＦＣＵ）
４１  ＵＳＢデバイス
４２  ＩＥＥＥ１３９４デバイス
４３  エンジン部
５１  ＮＩＣ
５２  セントロニクスデバイス
６０  メモリ
６１  画像転送器
７０  コントロールサービス
７１  アプリ
７２  ドライバ群
１０１、１５２  転送画像
１０２  保管画像
１５０  フレームワーク
１５１  転送シーケンス
１５３  ステップ
１５４、２１５  完了通知ステップ
１５５、２２４  合流ステップ
１５６、２１１  メモリ確保ステップ
１５７、２０９  メモリ解放ステップ
１５８、２０８  画像格納ステップ
１５９、２５１、２５２、２５３  画像読み込みステップ
１６０、２０４、２０５、２０６、２０７、２５６  転送ステップ
１６１  連携ステップ
１６２  連携格納ステップ
１６３  連携読み込みステップ
１６４、２２１、２２２  連携転送ステップ
１６５、２１３  ＩＭＨ用メモリの管理者
１６６  保管画像
１６７  画像転送器
１８０、２１０  コピースキャンシーケンス
１８１  コピー印刷シーケンス
１８２、２５０  プリンタ蓄積シーケンス
１８３  プリンタ印刷シーケンス
１８４  コピースキャン−印刷シーケンス
１８５  プリンタ蓄積・印刷連携シーケンス
１８６  無圧縮画像
１８７  ＪＰＥＧ画像
１８８、２１２  ＴＩＦＦ画像
１８９、２１４  画像入力器ドライバ
１９０、２２３  画像出力器ドライバ
１９１、２５８  アプリ描画制御部
２００  画像利用者
２０１  転送シーケンス
２０３、４０１、４０２、４０３、４０４  作業者
２１０  コピースキャンシーケンス
２２０  コピースキャン印刷連携シーケンス
２５７  無圧縮画像
【図１】
2005175595.tif 000003
【図２】
2005175595.tif 000004
【図３】
2005175595.tif 000005
【図４】
2005175595.tif 000006
【図５】
2005175595.tif 000007
【図６】
2005175595.tif 000008
【図７】
2005175595.tif 000009
【図８】
2005175595.tif 000010
【図９】
2005175595.tif 000011
【図１０】
2005175595.tif 000012
【図１１】
2005175595.tif 000013
【図１２】
2005175595.tif 000014
【図１３】
2005175595.tif 000015
【図１４】
2005175595.tif 000016
【図１５】
2005175595.tif 000017