(57)【特許請求の範囲】
【請求項１】
画像形成処理に係る各ユーザーサービスにそれぞれ固有の処理をおこなうアプリケーションを複数搭載可能とし、前記アプリケーションとハードウエア資源との間に介在し、前記ユーザーサービスを提供する際に前記アプリケーションの少なくとも２つが共通的に必要とする前記ハードウエア資源の管理、実行制御並びに画像形成処理をおこなうプラットホームを備えた画像形成装置であって、
前記アプリケーションは、前記画像形成装置で実行可能なスクリプト言語で作成され、前記画像形成装置はｆｔｐサーバの機能を有し、ｆｔｐにより転送された前記アプリケーションを受け付け、
ｆｔｐによるファイル転送の後、ユーザがログアウトすると、対象ディレクトリを検索し、有効なファイルがある場合には操作部に表示するメニューに前記有効なファイルに関する表示を追加することを特徴とする画像形成装置。
【請求項２】
さらに、ｆｔｐによるファイル転送の後、ユーザがログアウトすると、対象ディレクトリを検索し、操作部に表示するメニューからファイルが存在しないメニューを削除することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
画像形成処理に係る各ユーザーサービスにそれぞれ固有の処理をおこなうアプリケーションを複数搭載可能とし、前記アプリケーションとハードウエア資源との間に介在し、前記ユーザーサービスを提供する際に前記アプリケーションの少なくとも２つが共通的に必要とする前記ハードウエア資源の管理、実行制御並びに画像形成処理をおこなうプラットホームを備えた画像形成装置であって、
前記アプリケーションは、前記画像形成装置で実行可能なスクリプト言語で作成され、前記画像処理装置はウエブサーバの機能を有し、前記アプリケーションの転送をおこなう際に、ウエブ形式による特定のページでテキスト入力画面を用意し、このテキスト入力画面へ前記アプリケーションのテキストを入力することによって新たなアプリケーションの受付けを行なうことを特徴とする画像形成装置。
【請求項４】
さらに、前記テキスト入力画面において、入力されたテキストを削除を受け付けた場合に、前記アプリケーションの削除を行なうことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
さらに、前記アプリケーションの内容および所定のコマンドの記述を本文に有するとともに前記画像形成装置を宛先に指定した単一のメールを受信した場合に、前記アプリケーションの追加または削除を行うことを特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
さらに、前記アプリケーションの追加結果を、受信したメールに対する返信メールで送信することを特徴とする請求項５に記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像形成処理に係る各ユーザーサービスにそれぞれ固有の処理をおこなうアプリケーションを複数搭載可能とし、アプリケーションとハードウエア資源との間に介在し、ユーザーサービスを提供する際にアプリケーションの少なくとも２つが共通的に必要とするハードウエア資源の管理、実行制御並びに画像形成処理をおこなうプラットホームを備えた画像形成装置に関する。
【０００２】
【従来の技術】
従来、プリンタ、コピー、ファクシミリなどの機能を１つの筐体内に収納した画像形成装置（以下「複合機」と言う）が知られており、この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクリミリ装置にそれぞれ対応する３種類のソフトウエアを設け、ソフトウエアの切り替えによって、該装置をプリンタ、コピーまたはファクリミリ装置として動作させていた。
【０００３】
ところが、かかる複合機内にプリンタ、コピーおよびファクリミリ装置に対応するソフトウエア（専用ＯＳを含む）をそれぞれ別個に設けることとしたのでは、各ソフトウエアの開発に多大の時間を要する。このため、最近の複合機の中には、プリンタアプリ、コピーアプリ、ファックスアプリの共通処理部分をプラットホームとして括りだし、このプラットホーム上で各アプリケーションを実行する複合機も登場してきている。
【０００４】
【発明が解決しようとする課題】
しかしながら、かかるプラットホームを有する複合機を用いたとしても、コピーアプリに新機能を追加するソフトウエアの改修などを頻繁におこなったのでは、結果的にコピーアプリが肥大化し、ソフトウエアの開発効率が低下するという問題がある。この問題は、コピーアプリ以外の他のアプリケーションにも共通する問題である。
【０００５】
たとえば、最近の複写機の中には、たとえばＡ４サイズの原稿やページ記述言語で記述されたＡ４サイズの印刷データを４枚のＡ４サイズの大きさに拡大し、これを４枚のＡ４サイズの印刷用紙に分割して印刷するいわゆる拡大連写機能と呼ばれる機能を持つものがある。しかし、入力対象が原稿やページ記述言語で記述された印刷データに限定されているので、従来の複写機では簡単に文字列を拡大連写することはできず、簡単な文字列であってもプリンタで一旦印刷した後にこれを拡大連写するという煩雑な処理を要する。かかる場合に、コピーアプリを改修して文字列の拡大連写に対応しようとすると、コピーアプリの改修に多大の時間を要する結果となる。
【０００６】
同様に、文字列のエッジのみを印刷しない場合や、カレンダーを印刷したいような場合に、コピーアプリ等のアプリケーションをその都度改修するのは効率的ではない。
【０００７】
本発明は、上記従来技術による課題を解決するためになされたものであって、ソフトウエアのプラットホームを有する画像形成装置上で動作する新たなアプリケーションを提供し、もって既存アプリケーションの改修に伴う労力を軽減する画像形成装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、画像形成処理に係る各ユーザーサービスにそれぞれ固有の処理をおこなうアプリケーションを複数搭載可能とし、前記アプリケーションとハードウエア資源との間に介在し、前記ユーザーサービスを提供する際に前記アプリケーションの少なくとも２つが共通的に必要とする前記ハードウエア資源の管理、実行制御並びに画像形成処理をおこなうプラットホームを備えた画像形成装置であって、前記アプリケーションは、前記画像形成装置で実行可能なスクリプト言語で作成され、前記画像形成装置はｆｔｐサーバの機能を有し、ｆｔｐにより転送された前記アプリケーションを受け付け、ｆｔｐによるファイル転送の後、ユーザがログアウトすると、対象ディレクトリを検索し、有効なファイルがある場合には操作部に表示するメニューに前記有効なファイルに関する表示を追加することを特徴とする。
【００１０】
また、請求項２に係る発明は、請求項１に記載の画像形成装置において、さらに、ｆｔｐによるファイル転送の後、ユーザがログアウトすると、対象ディレクトリを検索し、操作部に表示するメニューからファイルが存在しないメニューを削除することを特徴とする。
【００１１】
また、請求項３に係る発明は、画像形成処理に係る各ユーザーサービスにそれぞれ固有の処理をおこなうアプリケーションを複数搭載可能とし、前記アプリケーションとハードウエア資源との間に介在し、前記ユーザーサービスを提供する際に前記アプリケーションの少なくとも２つが共通的に必要とする前記ハードウエア資源の管理、実行制御並びに画像形成処理をおこなうプラットホームを備えた画像形成装置であって、前記アプリケーションは、前記画像形成装置で実行可能なスクリプト言語で作成され、前記画像処理装置はウエブサーバの機能を有し、前記アプリケーションの転送をおこなう際に、ウエブ形式による特定のページでテキスト入力画面を用意し、このテキスト入力画面へ前記アプリケーションのテキストを入力することによって新たなアプリケーションの受付けを行なうことを特徴とする。
【００１２】
また、請求項４に係る発明は、請求項３に記載の画像形成装置において、さらに、前記テキスト入力画面において、入力されたテキストを削除を受け付けた場合に、前記アプリケーションの削除を行なうことを特徴とする。
【００１３】
また、請求項５に係る発明は、請求項１〜４のいずれか一つに記載の画像形成装置において、さらに、前記アプリケーションの内容および所定のコマンドの記述を本文に有するとともに前記画像形成装置を宛先に指定した単一のメールを受信した場合に、前記アプリケーションの追加または削除を行うことを特徴とする。
【００１４】
また、請求項６に係る発明は、請求項５に記載の画像形成装置において、さらに、前記アプリケーションの追加結果を、受信したメールに対する返信メールで送信することを特徴とする。
【００２２】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る画像形成装置の好適な実施の形態を詳細に説明する。なお、本実施の形態では、プリンタサービス、コピーサービス、ファクシミリサービスなどを提供する複合機に本発明を適用した場合を示すこととする。
【００２３】
（複合機のハードウエア構成および動作について）
図１は、本実施の形態に係る複合機の全体構成を示す図である。同図に示すように、この複合機は、コントローラ１０１とエンジン部１１０とをＰＣＩ１０９で接続した構成となる。コントローラ１０１は、プリンタ全体の制御と描画、通信、操作部１１１からの入力を制御するコントローラである。エンジン部１１０は、ＰＣＩバスに接続可能なプリンタエンジンやスキャナエンジンなどであり、たとえば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。このエンジン部１１０には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００２４】
コントローラ１０１は、ＣＰＵ１０２と、ノースブリッジ（ＮＢ）１０３と、システムメモリ（ＭＥＭ−Ｐ）１０４と、サウスブリッジ（ＳＢ）１０５と、ローカルメモリ（ＭＥＭ−Ｃ）１０７と、ＡＳＩＣ１０８と、操作部１１１と、ハードディスクドライブ（ＨＤＤ）１１２とを有し、ノースブリッジ（ＮＢ）１０３とＡＳＩＣ１０８との間をＡＧＰ（Accelerated Graphics Port）１０６で接続した構成となる。
【００２５】
ＣＰＵ１０２は、プリンタの全体制御をおこなうものであり、ＮＢ１０３、ＭＥＭ−Ｐ１０４およびＳＢ１０５からなるチップセットを有する。ここで、このＣＰＵのインターフェースは公開されておらず、チップセットを介して他の機器を接続するものとする。
【００２６】
ＮＢ１０３は、ＣＰＵ１０２とＭＥＭ−Ｐ１０４、ＳＢ１０５、ＡＧＰ１０６とを接続するためのブリッジであり、ＭＥＭ−Ｐ１０４は、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＳＢ１０５は、ＮＢ１０３とＲＯＭ、ＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。
【００２７】
ＭＥＭ−Ｃ１０７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＡＳＩＣ１０８は、画像処理用のハードウエア要素を有する画像処理用途向けのＩＣであり、ＡＧＰ１０６、ＰＣＩ１０９、ＨＤＤ１１２およびＭＥＭ−Ｃ１０７をそれぞれ接続するブリッジの役割も有する。
【００２８】
操作部１１１は、ユーザからの入力操作の受け付け並びにユーザに向けた表示をおこなう操作部であり、ＨＤＤ１１２は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
【００２９】
ＡＧＰ１０６は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、システムメモリに高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
【００３０】
このＡＧＰ１０６は、本来は３Ｄ（三次元）画像をスムーズにディスプレイに表示する際に用いられるものであるが、本実施の形態では、このＡＧＰ１０６を介してＮＢ１０３とＡＳＩＣ１０８を接続している。すなわち、低速なＰＣＩバスを用いて両者を接続したのではパフォーマンスが低下するため、ここではＡＧＰ１０６を拡張利用しているのである。
【００３１】
次に、図１に示したＡＳＩＣ１０８の構成について説明する。図２は、図１に示したＡＳＩＣ１０８の構成を示すブロック図である。同図に示すように、このＡＳＩＣ１０８は、ＡＧＰユニット２０１と、コンフィグ（CONFIG）レジスタ２０２と、マスタ（MASTER）ユニット２０３と、ターゲット（TARGET）ユニット２０４と、内部レジスタ２０５と、ＤＭＡコントローラ（DMAC）２０６と、ＲＡＭコントローラ（RAMC）２０７と、コンフィグ（CONFIG）レジスタ２０９と、マスタ（MASTER）ユニット２１０と、ターゲット（TARGET）ユニット２１１と、ＰＣＩユニット２１２とを有する。
【００３２】
ＡＧＰユニット２０１は、ＮＢ１０３と接続するＡＧＰバス１０６のバスプロトコルを実行するユニット（チップセットインターフェース部）であり、CONFIG２０２は、ＡＧＰバス１０６のためのＰＣＩのコンフィグレジスタである。マスタ２０３は、ＡＧＰバス１０６のバスマスタ機能を実行するユニットであり、ターゲット２０４は、ＡＧＰバス１０６に包含されるＰＣＩのターゲット機能を実行するユニットである。
【００３３】
内部レジスタ２０５は、ＡＳＩＣ１０８の各部が機能を発揮する際に必要となるレジスタであり、ＤＭＡコントローラ２０６は、ローカルメモリＭＥＭ−Ｃ１０７に対してＤＭＡ転送するためのＤＭＡコントローラである。
【００３４】
ＲＡＭコントローラ２０７は、ローカルメモリＭＥＭ−Ｃ１０７を制御するメモリコントローラであり、コンフィグ２０９は、ＰＣＩバス１０９のためのＰＣＩのコンフィグレジスタであり、マスタ２１０は、ＰＣＩ１０９のバスマスタ機能を実行するユニットであり、ターゲット２０４は、ＰＣＩ１０９に包含されるＰＣＩのターゲット機能を実行するユニットである。ＰＣＩユニット２１２は、ＰＣＩ１０９のバスプロトコルを実行するユニット（エンジンインターフェース部）である。
【００３５】
次に、図２に示したコンフィグ（CONFIG）２０２の内部構造について説明する。図３は、図２に示したコンフィグ２０２の内部構造を説明するための説明図である。同図に示すように、ＡＳＩＣ１０８がもっているＡＧＰバス１０６側のコンフィグレジスタであるコンフィグ２０２は、ＢＡＲ２０２ａとＢＡＲ２０２ｂという２つのベースアドレスレジスタを有する。
【００３６】
ＢＡＲ２０２ａは、ローカルメモリＭＥＭ−Ｃ１０７をマッピングするためのベースアドレスレジスタであり、ＢＡＲ２０２ｂは、内部レジスタ２０５、ＰＣＩのメモリ空間、ＰＣＩのＩ／Ｏ空間をマッピングするためのベースアドレスレジスタである。
【００３７】
次に、図２に示す内部レジスタ２０５上に設けられるＤＭＡＣ用の空間ベースレジスタについて説明する。図４は、図２に示す内部レジスタ２０５上に設けられるＤＭＡＣ用の空間ベースレジスタを説明するための説明図である。
【００３８】
同図に示すように、この内部レジスタ２０５の中には、AGPMEMBASEレジスタ２０５ａと、LOCALMEMBASEレジスタ２０５ｂとが存在する。このAGPMEMBASEレジスタ２０５ａは、ＮＢ１０３のＡＧＰ空間がマッピングされているベースアドレスを設定するレジスタであり、DMAC２０６にアクセス先を知らせるために設けられている。LOCALMEMBASEレジスタ２０５ｂは、ＡＳＩＣ１０８のメモリ空間がマッピングされているベースアドレスを設定するレジスタであり、DMAC２０６にアクセス先を知らせるために設けられている。
【００３９】
次に、ＰＣＩ１０９、ＡＳＩＣ１０８およびＣＰＵ１０２のメモリマップの相互関係について説明する。図５は、ＰＣＩ１０９、ＡＳＩＣ１０８およびＣＰＵ１０２のメモリマップの相互関係を説明するための説明図である。
【００４０】
同図に示すＰＣＩＩ／Ｏ空間５０１は、ＣＰＵ１０２に見えるＡＳＩＣ１０８のＰＣＩＩ／Ｏ空間であり、ＰＣＩＭＥＭ空間５０２は、ＣＰＵ１０２に見えるＡＳＩＣ１０８のＰＣＩＭＥＭ空間であり、内部レジスタ空間５０３は、ＣＰＵ１０２に見えるＡＳＩＣ１０８の内部レジスタ空間である。また、ＡＧＰ５０４は、ＮＢ１０３内で管理されているＡＧＰバスプロトコルでアクセス可能なメモリ空間であり、ＭＥＭ−Ｐ５０５は、ＮＢ１０３に管理されているメモリ空間である。
【００４１】
また、ＰＣＩＩ／Ｏ空間５０６は、ＡＳＩＣ１０８のＰＣＩＩ／Ｏ空間であり、ＰＣＩＭＥＭ空間５０７は、ＡＳＩＣ１０８のＰＣＩＭＥＭ空間であり、内部レジスタ空間５０８は、ＡＳＩＣ１０８の内部レジスタ空間である。また、ＡＧＰ５０９は、ＡＳＩＣ１０８からＡＧＰバスプロトコルでアクセス可能なメモリ空間であり、ＭＥＭ−Ｃ５１０は、ＡＳＩＣ１０８が管理しているメモリ空間である。なお、ベース５１１は、ＭＥＭ−Ｃ５１０の先頭アドレスであり、ベース５１２は、ＡＧＰ空間の先頭アドレスである。
【００４２】
さらに、ＭＥＭ−Ｃ５１３は、エンジン部１１０からアクセス可能なＭＥＭ−Ｃ１０７のメモリ空間であり、ＡＧＰ５１４は、エンジン部１１０からアクセス可能なＡＧＰ空間であり、ＰＣＩＭＥＭ空間５１５は、ＣＰＵ１０２がＡＳＩＣ１０８を経由して、実際にアクセスするＰＣＩＭＥＭ空間であり、ＰＣＩＩ／Ｏ空間５１６は、ＣＰＵ１０２がＡＳＩＣ１０８を経由して、実際にアクセスするＰＣＩＩ／Ｏ空間である。
【００４３】
同図に示すように、ＰＣＩＩ／Ｏ空間５１６、ＰＣＩＩ／Ｏ空間５０６およびＰＣＩＩ／Ｏ空間５０１が相互に対応づけられ、ＰＣＩＭＥＭ空間５１５、ＰＣＩＭＥＭ空間５０７、ＰＣＩＭＥＭ空間５０２が相互に対応づけられる。また、内部レジスタ空間５０８および内部レジスタ空間５０３が相互に対応づけられる。
【００４４】
さらに、ＡＧＰ５１４、ＡＧＰ５０９、ＡＧＰ５０４が相互に対応づけられ、ＭＥＭ−Ｃ５１３、ＭＥＭ−Ｃ５１０、ＭＥＭ−Ｐ５０５が相互に対応付けられる。なお、マッピングの詳細な説明については後述する。
【００４５】
次に、図１に示した複合機の基本動作である（１）初期化動作、（２）プリンタ動作、（３）コピー動作についてそれぞれ説明する。
【００４６】
（１）初期化動作について
複合機の電源が投入されると、ＣＰＵ１０２は、図示しないＳＢ１０５の先のＢＩＯＳから起動を開始して、ＮＢ１０３の初期化およびＳＢ１０５の初期化をおこなう。そして、この初期化の最中にＡＧＰ１０６を介してＡＳＩＣ１０８のコンフィグ２０２をアクセスし、図３に示したＢＡＲ２０２ａおよびＢＡＲ２０２ｂを設定し、ＡＳＩＣ１０８のＡＧＰデバイスとしての初期化を完了する。
【００４７】
このようにして、ＡＳＩＣ１０８のＡＧＰデバイスとしての初期化が完了すると、ＡＳＩＣ１０８の内部レジスタ２０５をアクセスすることができる。具体的には、この内部レジスタ２０５のAGPMEMBASEレジスタ２０５ａには、ＡＧＰ空間がＡＳＩＣ１０８内のどのアドレスにマッピングされるかが設定され、LOCALMEMBASEレジスタ２０５ｂには、ＡＳＩＣ１０８が直接管理しているローカルメモリＭＥＭ−Ｃ１０７をどこにマッピングするかが設定される。
【００４８】
すなわち、図４に示すAGPMEMBASEレジスタ２０５ａにはベース５１２のアドレスが設定され、LOCALMEMBASEレジスタ２０５ｂにはベース５１１のアドレスが設定される。そしてマッピングをおこなうと、図５に示すメモリマップが得られる。
【００４９】
これにより、ＣＰＵ１０２から見た場合、システムメモリはＭＥＭ−Ｐ５０５の位置に存在し、その上にＡＧＰ空間５０４がマッピングされる。ＡＧＰ空間５０４の設定はＮＢ１０３のレジスタに設定する。したがって、上位のアドレスにはＰＣＩ空間にマッピングされたレジスタが見える。
【００５０】
内部レジスタ空間５０３、ＰＣＩＭＥＭ空間５０２およびＰＣＩＩ／Ｏ空間５０１は、ＰＣＩのCONFIG２０２のＢＡＲ２０２ａで設定される。ＡＳＩＣ１０８の管理下にあるメモリＭＥＭ−Ｃ１０７ＢＡＲ２０２ｂで設定され、ＣＰＵ１０２からＰＣＩ経由でアクセスすることができる。
【００５１】
ＢＡＲ２０２ａに設定されるベースアドレスは内部レジスタ５０８の先頭を意味しており、ＰＣＩＭＥＭ空間５０７とＰＣＩＩ／Ｏ空間５０６は、ベースアドレスに対するオフセットで固定的に定義される。
【００５２】
ＰＣＩＭＥＭ空間５０７をＣＰＵ１０２がアクセスするとそのライトアクセスはポストされ、ＣＰＵ１０２は解放されて、次の仕事にかかることができる。そのライトアクセスはＰＣＩ１０９の同じアドレスのＰＣＩＭＥＭ空間５１５にライトされる。ＰＣＩＩ／Ｏ空間５０６に対するライトアクセスも同様にＰＣＩ１０９のＰＣＩＩ／Ｏ空間１６に対してライトされる。
【００５３】
また、ＣＰＵ１０２がＰＣＩＭＥＭ空間５０２をリードアクセスすると、そのアクセスはＮＢ１０３でＡＧＰアクセスに変換され、ＡＳＩＣ１０８のＰＣＩＭＥＭ空間５０７をリードアクセスする。
【００５４】
ＡＳＩＣ１０８は、ＰＣＩ１０９のＰＣＩＭＥＭ空間５１５をアクセスするがデータをリードするまでには時間がかかるので、いったん、ＣＰＵ１０２からのＡＧＰアクセスに対して、リトライを返す。ＮＢ１０３は、リトライ信号を受け取ると、リードアクセスを繰り返す。ＡＳＩＣ１０８がＰＣＩ１０９からデータをリードして、データが用意できると、データをＮＢ１０３に返す。ＮＢ１０３はＣＰＵ１０２でデータを渡して、そのトランザクションは完了する。
【００５５】
ＰＣＩ１０９に接続されるエンジン部１１０にはコンフィグレジスタが存在し、そのベースアドレスをＰＣＩＭＥＭ空間５１５内のどこかにマッピングすることで、図６に示すエンジン部１１０のエンジンＰＣＩレジスタ６０２をアクセスできるようになる。なお、同図に示すＰＣＩＭＥＭ空間６０１は、ＣＰＵ１０２がＡＳＩＣ１０８を経由してアクセスできるＰＣＩＭＥＭ空間であり、エンジンＰＣＩ６０２は、ＣＰＵ１０２がＡＳＩＣを経由してアクセスできるＰＣＩＭＥＭ空間にマッピングされたエンジンＰＣＩレジスタである。
【００５６】
エンジン部１１０からアクセスするために、ＡＳＩＣ１０８のＰＣＩ１０９側にもコンフィグレジスタ２０９が存在する。具体的には、ＮＢ１０３のＡＧＰ空間５０４をアクセスするためのベースレジスタ、ＡＳＩＣ１０８の管理下のメモリＭＥＭ−Ｃ５１０をアクセスするためのベースレジスタ、ＡＳＩＣ１０８の画像入力用DMACの入力アドレスを設定するためのベースレジスタ、ＡＳＩＣ１０８の画像出力用DMACの出力アドレスを設定するためのベースレジスタなどがある。かかる作業は、すべて初期化のプロセスでおこなわれる。
【００５７】
マッピングが終了すると図５に示すようなメモリマップとなるので、ＣＰＵ１０２はこのメモリマップに従ってアクセスすることができるようなる。また、エンジン部１１０は、図６に示すようなメモリマップに従って、メモリをアクセスすることができるようになる。このエンジン部１１０も、電源投入後に自己診断などをおこない、ＣＰＵ１０２によるマッピングを待っている。このため、初期化終了とともにエンジン部１１０もＣＰＵ１０２と通信することが可能になる。
【００５８】
コントローラ１０１は、ソフトウエアの初期化を完了すると、操作部１１１に対してプリント可能である旨のメッセージを通知し、ホストからのデータ受信に備えて待機状態となる。
【００５９】
（２）プリンタ動作について
ＡＳＩＣ１０８は、ネットワーク、ＩＥＥＥ１３９４、ＵＳＢなどのホストと接続するためのインターフェースを保有し、データの受信が始まると送信データを順次解釈し、ＭＥＭ−Ｐ１０４上に描画を開始する。そして、描画が完了するとエンジン部１１０にコマンドを送信して、描画した絵を取りにくるように指示を出す。
【００６０】
ＣＰＵ１０２は、ＭＥＭ−Ｐ１０４のデータをＡＧＰ５０４の空間に見せるためにＮＢ１０３の内部レジスタを操作し、メモリ上のテーブルを書き換えて、エンジン部１１０からＡＧＰ空間５１４に見えるように設定する。エンジン部１１０は描画された絵があるバッファの先頭アドレスをもらい、エンジン部１１０内部のDMACに起動をかけて、ＡＧＰ５１４を通してＭＥＭ−Ｐ５０５の絵を読み出す。このとき、ＡＳＩＣ１０８は、ＰＣＩ１０９に対してはターゲット動作をし、ＡＧＰ１０６を対してはマスターの動作をする。エンジン部１１０は、内部で生成されるタイミングによって絵を読み出す。
【００６１】
ここで、図１に示したエンジン部１１０の動作タイミングを図７を用いて説明する。同図に示す用紙サイズ７０１は、主走査および副走査で決まる用紙サイズであり、ＦＧＡＴＥ７０２は、用紙の副走査の有効範囲を示す信号であり、ＬＧＡＴＥ７０３は、用紙の主走査の有効範囲を示す信号であり、ＬＳＹＮＣ７０４は、主走査の先頭でアサートされる同期信号である。
【００６２】
このように、エンジン部１１０は、出力する用紙サイズ７０１に応じて、副走査方向の有効領域ＦＧＡＴＥ７０２と、主走査方向の有効領域ＬＧＡＴＥ７０３と、各主走査ラインの先頭でラインの開始をあらわすＬＳＹＮＣ７０４とを用意する。
【００６３】
そして、エンジン部１１０が印字指令を受けると、紙を搬送すると同時にＦＧＡＴＥ７０２を作り出して、このＦＧＡＴＥ７０２がアサートされる数ＬＳＹＮＣ７０４時間前に絵を内部に持っているバッファに読み込むために転送を開始する。
【００６４】
図８は、ＰＣＩ転送の基本タイミング信号を説明するための説明図である。同図において、ＬＳＹＮＣ８０１はラインシンクであり、ＤＲＥＱ８０２はデータリクエストであり、ＤＡＴＡ８０３は１ライン分のデータ転送であり、ＸＲＥＱ８０４はＰＣＩバスのバスリクエスト信号であり、ＸＧＮＴ８０５はＰＣＩバスのバスグラント信号であり、ＴＲＡＮＺ８０６はＰＣＩバスのバストランザクションである。
【００６５】
また、ＰＣＩＣＬＫ８０７はＰＣＩの基本クロックであり、ＸＦＲＡＭＥ８０８はＰＣＩのＦＲＡＭＥ信号であり、ＸＤＥＶＳＥＬ８０９はＰＣＩのＤＥＶＳＥＬ信号であり、ＸＩＲＤＹ８１０はＰＣＩのＩＲＤＹ信号であり、ＸＴＲＤＹ８１１はＰＣＩのＴＲＤＹ信号であり、ＡＤ［３１：０］８１２はＰＣＩのアドレス／データバス信号であり、ＣＢＥ［３：０］８１３はＰＣＩのコマンド／バイトイネーブル信号である。
【００６６】
同図に示すように、ＬＳＹＮＣ８０１の立ち上がりのタイミングでデータ転送要求ＤＲＥＱ８０２をアサートし、１ライン分のＤＡＴＡ８０３の転送を完了する。各ＬＳＹＮＣ８０１に同期して１ライン分のデータ転送がおこなわれる。
【００６７】
ＰＣＩ１０９上ではＸＲＥＱ８０４がアサートされ、バスの使用が許可されるとＸＧＮＴ８０５がアサートされ、ＰＣＩの１トランザクション８０６がおこなわれる。ＰＣＩのトランザクションを繰り返して１ライン分のデータ転送が完了する。ＰＣＩのトランザクション８０６はバースト転送である。
【００６８】
ＰＣＩの信号はＰＣＩＣＬＫ８０７の立ち上がりに同期している。バスの使用許可がもらえるとバスマスターであるエンジン部１１０はＸＦＲＡＭＥ８０８をアサートし、同時にアドレスＡＤ［３１：０］８１２とコマンドＣＢＥ［３：０］８１３を発行する。ＡＳＩＣ１０８は、自分のCONFIGのベースアドレスレジスタにエンジン部１１０が出したアドレスＡＤ［３１：０］８１２がヒットするとＸＤＥＶＳＥＬ８０９をアサートする。
【００６９】
もし、エンジン部１１０がデータを受け取ることが可能であれば、ＸＤＥＶＳＥＬ８０９のアサートを確認してから、ＸＩＲＤＹ８１０をアサートし、データの受け取りが可能なことをターゲットであるＡＳＩＣ１０８に教える。ＡＳＩＣ１０８は、コマンドＣＢＥ［３：０］８１３に対してデータが用意できていれば、ＸＴＲＤＹ８１１をアサートしてデータをバスに乗せる。
【００７０】
その後、ＰＣＩＣＬＫ８０７に同期して、データがあれば１クロックあたり１データを連続で転送する。最後のデータの１クロック前にバスマスターであるエンジン部１１０はＸＦＲＡＭＥ８０８をネゲートし、次のデータがこのトランザクションの最後のデータであることを示す。データ転送完了後、ＡＳＩＣ１０８はＸＤＥＶＳＥＬ８０９とＸＴＲＤＹ８１１をネゲートする。エンジン部１１０はＸＴＲＤＹ８１１をネゲートして、トランザクションを完了する。
【００７１】
（３）コピー動作について
図１に示した複合機がコピー動作をおこなう場合には、原稿画像を読み取るために、まず、ユーザは原稿を複合機のエンジン部１１０のスキャナ部にセットする。
【００７２】
そして、操作部１１１から、コピー条件の指示をしてスタートキーを押下すると、スキャン動作が開始される。コピー開始の指示を受けたコントローラ１０１は、ＰＣＩ１０９を経由してエンジン部１１０のスキャナ部にスキャンを開始するように指示する。
【００７３】
ここで、エンジン部１１０について説明する。図９は、図１のエンジン部１１０の構成を示す機能ブロック図である。同図に示すように、このエンジン部１１０は、ＣＣＤ９０１、画像処理ユニット９０２、画像シフトユニット９０３、変倍ユニット９０４、符号器９０５、ＰＣＩユニット９０６、描画ユニット９０７、画像処理ユニット９０８、画像シフトユニット９０９、復号器９１０からなる。
【００７４】
ＣＣＤ９０１は、画像を読みとるための光学的デバイスであり、  画像処理ユニット９０２は、ＣＣＤ９０１から読み込まれたアナログ信号をデジタルに変換し、シェーディング補正、ＭＴＦ補正、γ補正などをおこなうユニットである。画像シフトユニット９０３は、画像のシフトや切り出しをおこなうユニットであり、変倍ユニット９０４は、画像の拡大／縮小をおこなうユニットであり、符号器９０５は、多値画像を符号に変換するユニットである。これらのＣＣＤ９０１、画像処理ユニット９０２、画像シフトユニット９０３、変倍ユニット９０４および符号器９０５が上記スキャナ部に対応する。
【００７５】
ＰＣＩユニット９０６は、ＰＣＩのバスプロトコルを実行する部分とＤＭＡＣからなり、画像データをコントローラ１０１に転送するとともに、コントローラ１０１からのコマンドをエンジン部１１０内の各ユニットに伝えるユニットである。描画ユニット９０７は、レーザーを発光してドラムに描画するユニットであり、画像処理ユニット９０８は、出力用のγ補正などをおこなうユニットであり、画像シフトユニット９０９は、画像出力時に画像をシフトするユニットであり、復号器９１０は、符号を復号して元の画像データに戻すユニットである。なお、紙搬送機構などは省略している。
【００７６】
そして、原稿の画像をＣＣＤ９０１で読み取り、読み取ったアナログ信号レベルをＡ／Ｄ変換してから、入力用の画像処理ユニット１２０２を経由して、画像シフトユニット９０３で主走査方向のシフト処理をおこない、ユーザに指定された倍率で変倍処理をおこなう変倍処理ユニット９０４を経由して、符号器９０５で符号に変換され、ＰＣＩユニット９０６により、コントローラ１０１のＡＳＩＣ１０８を経由して、ＭＥＭ−Ｃ１０７に保存される。
【００７７】
また、プリントをおこなう場合には、ＭＥＭ−Ｃ１０７への画像の読み込みが終了すると、コントローラ１０１がはエンジン１１０に出力する指示を発行する。エンジン１１０は、この指示にしたがってＰＣＩユニット１２０６がＰＣＩバス１０９を経由して、コントローラ１０１から画像データの読み込みをおこなう。
【００７８】
具体的には、エンジン１１０は、ＰＣＩのリードトランザクションを発生し、ＡＳＩＣ１０９に対してリード要求を出す。ＡＳＩＣ１０９は、このリード要求に応じてＭＥＭ−Ｃ１０７から画像データを読み出してエンジン１１０に渡す。
【００７９】
エンジン１１０のＰＣＩユニット９０６がコントローラ１０１から画像データを受け取ると、復号器９１０で符号を伸長し、画像シフトユニット９０９で画像出力のためのシフト処理をおこない、出力用の画像処理ユニット９０８を経て描画ユニット９０７に画像データに出力され、感光体に描画するためのレーザードライバボードへ最終段の画像データを渡し、転写、現像、定着され、用紙に印字されて排出トレイに出力される。
【００８０】
（複合機のソフトウエア構成について）
次に、上記複合機のソフトウエア構成について説明する。図１０は、本実施の形態に係る複合機のソフトウエア構成を示す機能ブロック図である。同図に示すように、この複合機１０００は、白黒ラインプリンタ（B&W LP）１００１、カラーラインプリンタ（Color LP）１００２、その他ハードウエアリソース１００３などを有するとともに、ソフトウエア群１０１０は、プラットホーム１０２０およびアプリケーション１０３０からなる。
【００８１】
プラットホーム１０２０は、アプリケーション１０３０からの処理要求を解釈して、ハードウエア資源の獲得要求を発生させる下記に示すコントロールサービスと、一または複数のハードウエア資源の管理をおこない、コントロールサービスからの獲得要求を調停するシステムリソースマネージャー（ＳＲＭ（System Resource Manager）１０２３）と、汎用ＯＳ１０２１とを有する。
【００８２】
このコントロールサービスは、複数のサービスモジュールにより形成され、具体的には、ＳＣＳ（System Control Service）１０２２と、ＥＣＳ（Engine Control Service）１０２４と、ＭＣＳ（Memory Control Service）１０２５と、ＯＣＳ（Operation panel Control Service）１０２６と、ＦＣＳ（FAX Control Service）１０２７と、ＮＣＳ（Network Control Service）１０２８とがある。なお、このプラットホーム１０２０は、あらかじめ定義された関数により前記アプリケーションからの処理要求を受信可能とするアプリケーションプログラムインターフェースを有する。
【００８３】
汎用ＯＳ１０２１は、ＵＮＩＸなどの汎用オペレーティングシステムであり、プラットホーム１０２０並びにアプリケーション１０３０の各ソフトウエアをそれぞれプロセスとして並列実行する。オープンソースのＵＮＩＸを用いることにより、プログラムの安全性を確保できるとともに、ネットワーク対応可能となり、ソースコードの入手も容易となる。さらに、ＯＳ、ＴＣＰ／ＩＰのロイヤリティが不要であり、アウトソーシングも容易となる。
【００８４】
ＳＲＭ１０２３は、ＳＣＳ１０２２とともにシステムの制御およびリソースの管理をおこなうものであり、スキャナやプロッタなどのエンジン部、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４Ｉ／Ｆ、ＲＳ２３２ＣＩ／Ｆなど）のハードウエア資源を利用する上位層からの要求にしたがって調停をおこない、実行制御する。
【００８５】
具体的には、このＳＲＭ１０２３は、要求されたハードウエア資源が利用可能であるかどうか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウエア資源が利用可能である旨を上位層に伝える。また、上位層からの要求に対してハードウエア資源の利用スケジューリングをおこない、要求内容（たとえば、プリンタエンジンによる紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施するようにしてもよい。
【００８６】
ＳＣＳ１０２２は、（１）アプリ管理、（２）操作部制御、（３）システム画面表示（ジョブリスト画面、カウンタ表示画面など）、（４）ＬＥＤ表示、（５）リソース管理、（６）割り込みアプリ制御をおこなう。具体的には、（１）アプリ管理では、アプリの登録と、その情報を他のアプリに通知する処理をおこなう。登録されたアプリに対しては、システムの設定やアプリからの要求設定に応じてエンジン部の状態を通知する。また、登録済みのアプリに対しては、電力モード移行の問い合わせ、割り込みモードなど、システムの状態遷移のための可否問い合わせをおこなう。
【００８７】
また、（２）操作部制御では、アプリの操作部使用権の排他制御をおこなう。そして、操作部の使用権を持つアプリへ操作部ドライバ（ＯＣＳ）からのキー情報を排他的に通知する。このキー情報は、アプリ切替中などのシステムの状態遷移に応じて一時的に通知を停止するマスク制御をおこなう。
【００８８】
また、（３）システム画面表示では、操作部使用権を持つアプリからの要求内容に応じて、エンジン部の状態に対応する警告画面の表示をおこなう。これらのなかには、利用者制限画面などアプリの状態に応じて警告表示をオン／オフするものもある。エンジン部の状態以外では、ジョブの予約・実行状況を表示するためのジョブリスト画面、トータルカウンタ類を表示するためのカウンタ画面、ＣＳＳの通報中を示す画面の表示制御をおこなう。これらのシステム画面表示に関しては、アプリへ操作部使用権の解放を要求せず、アプリ画面を覆うシステム画面として描画をおこなう。
【００８９】
また、（４）ＬＥＤ表示では、警告ＬＥＤ、アプリキーなどのシステムＬＥＤの表示制御をおこなう。アプリ固有のＬＥＤについては、アプリが直接表示用ドライバを使用して制御する。
【００９０】
また、（５）リソース管理では、アプリ（ＥＣＳ）がジョブを実行するにあたって、排他しなければならないエンジンリソース（スキャナ、ステープルなど）の排他制御のためのサービスをおこない、（６）割り込みアプリ制御では、特定のアプリを優先動作せさるための制御・サービスをおこなう。
【００９１】
ＥＣＳ１０２４は、白黒ラインプリンタ（B&W LP）１００１、カラーラインプリンタ（Color LP）１００２、その他ハードウエアリソース１００３などのエンジン部を制御するものであり、画像読み込みと印刷動作、状態通知、ジャムリカバリなどをおこなう。
【００９２】
具体的には、アプリケーション１０３０から受け取ったジョブモードの指定にしたがい、印刷要求をＳＲＭ１０２３に順次発行していくことで、一連のコピー／スキャン／印刷動作を実現する。このＥＣＳ１０２４が取り扱う対象のジョブは、画像入力デバイスにスキャナ（SCANNER）が指定されているか、または、画像出力デバイスにプロッタ（PLOTTER）が指定されているものとする。
【００９３】
たとえば、コピー動作の場合には「SCANNER → PLOTTER」と指定され、ファイル蓄積の場合には「SCANNER → MEMORY」と指定され、ファクシミリ送信の場合には「SCANNER → FAX-IN」と指定される。また、蓄積ファイル印刷またはプリンタアプリ１２１１からの印刷の場合には「MEMORY → PLOTTER」と指定され、ファクシミリ受信の場合には「FAX-OUT → PLOTTER」と指定される。
【００９４】
なお、ジョブの定義はアプリケーションによって異なるが、ここでは利用者が取り扱う１セットの画像群に対する処理動作を１ジョブと定義する。たとえば、コピーのＡＤＦ（Automatic Document Feeder）モードの場合は、原稿台に置かれた１セットの原稿を読み取る動作が１ジョブとなり、圧板モードは最終原稿が確定するまでの読み取り動作が１ジョブとなる。また、コピーアプリ１０１２の場合には、一束の原稿をコピーする動作が１ジョブとなり、ファックスアプリ１０１３の場合には、１文書の送信動作または１文書の受信動作が１ジョブとなり、プリンタアプリの場合には、１文書の印刷動作が１ジョブとなる。
【００９５】
ＭＣＳ１０５は、メモリ制御をおこなうものであり、具体的には、画像メモリの取得および開放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などをおこなう。
【００９６】
ここで、ハードディスク装置に蓄積される画像データファイルとして必要な情報を管理するために必要な機能としては、（１）ファイルアクセス（生成／削除／オープン／クローズ）機能（排他処理を含む）、（２）ファイル名称／ＩＤ管理（ファイル／ユーザ）／パスワード管理／蓄積時刻管理／ページ数／データフォーマット（圧縮方式など）／アクセス制限／作成アプリ／印刷条件管理などの各種ファイル属性管理（物理的なページ単位の画像データのファイルとしての管理）、（３）ファイル単位およびページ単位での結合／挿入／切断機能、（４）ファイルソート機能（蓄積時刻順／ユーザＩＤ順など）、（５）全ファイル情報の通知（表示／検索用）、（６）リカバリ機能（破損ファイルのファイル／ページ破棄）、（７）ファイルの自動削除機能などがある。
【００９７】
また、ＲＡＭなどのメモリへ画像データを保持しアクセスするための機能としては、（１）アプリケーション１２３０からのファイルおよびページ／バンド属性情報を取得する機能、（２）アプリケーション１０３０からの画像データ領域の確保、解放、リード（Read）、ライト（Write）機能などがある。
【００９８】
ＯＣＳ１０２６は、オペレータと本体制御間の情報伝達手段となる操作パネルを制御するモジュールであり、オペレータのキー操作イベントを本体制御に通知する処理、各アプリがＧＵＩを構築するためのライブラリ関数を提供する処理、構築されたＧＵＩ情報をアプリ別に管理する処理、操作パネル上への表示反映処理などをおこなう。
【００９９】
このＯＣＳ１０２６は、（１）ＧＵＩ構築のためのライブラリの提供機能、（２）操作部ハードウエア資源管理機能、（３）ＶＲＡＭ描画／ＬＣＤ表示機能（ハードウエア表示、表示アプリ切替、表示言語切替、ウインドウ暗色表示、メッセージ／アイコンブリンク表示、メッセージの連結表示）、（４）ハードキー入力検出機能、（５）タッチパネルキー入力検出機能、（６）ＬＥＤ出力機能、（７）ブザー出力機能などを有する。
【０１００】
ＦＣＳ１０２７は、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を使ったファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信をおこなうためのＡＰＩを提供するものである。
【０１０１】
具体的には、このＦＣＳ１０２７は、（１）アプリ層から送信依頼されたドキュメントをＰＳＴＮ／ＩＳＤＮ網を使ってファクシミリ受信機に送信をおこなう送信機能、（２）ＰＳＴＮ／ＩＳＤＮ網から受信したファクシミリ受信画面、各種レポート類を各アプリ層に転送、印刷をおこなう受信機能、（３）ファックスボードに記憶されている電話帳、グループ情報などのファクシミリ管理項目の引用や登録をおこなう電話帳引用・登録機能、（４）ファックスボードに搭載されているＢＫＭに記憶されている送受信結果履歴情報などを必要としているアプリに通知するファックスログ通知機能、（５）ファックスボードの状態変化があったときにＦＣＳに登録してあるアプリに変化のあったイベントを通知するイベント通知機能などを有する。
【０１０２】
ＮＣＳ１０２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのモジュール群であり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介をおこなう。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有する。
【０１０３】
アプリケーション１０３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１０１１と、コピー用アプリケーションであるコピーアプリ１０１２と、ファクシミリ用アプリケーションであるファックスアプリ１０１３と、スキャナ用アプリケーションであるスキャナアプリ１０１４と、ネットファイル用アプリケーションであるネットファイルアプリ１０１５と、工程検査用アプリケーションである工程検査アプリ１０１６とを有する。
【０１０４】
各アプリケーション１０１１〜１０１６は、プラットホーム１０２０上の各プロセスを利用して動作実行し得るため、画面制御、キー操作制御およびジョブ生成などをおこなう画面表示制御プログラムがその主体となる。なお、ＮＣＳ１０２８により接続されたネットワークを介して新たなアプリケーションをネットワーク経由で搭載することもできる。また、各アプリケーションはアプリケーションごとに追加または削除することができる。
【０１０５】
このように、この複合機１０００は、従来の複合機のようにプリンタ、コピー、ファクシミリといった機能ごとにコントローラボードを設けたものではなく、プリンタアプリ、コピーアプリ、ファクシミリアプリを単純に共通ＯＳ上で動作させるものでもない。すなわち、この複合機１０００は、各アプリで共通的に必要となる処理をプラットホーム１０２０で一元的に処理することにより、各アプリの開発効率を向上させるとともに、装置全体の生産性を高めるものである。
【０１０６】
ところで、上記説明においては、複合機１０００の基本的にアプリケーションのみを示すこととしたが、かかる複合機１０００は、共通的な処理をプラットホーム１０２０に担わせているため、新たなアプリケーションの開発が容易になる。そこで、本実施の形態では、かかる新たなアプリケーションを生成することにより、既存アプリケーションの改修に伴う開発コストの増大を防止している。
【０１０７】
（新たなアプリケーションについて）
以下、新たなアプリケーションとして、文字拡大連写アプリ、エッジ印刷アプリ、濃度設定アプリ、カレンダー印刷アプリおよびカレンダー拡大連写アプリについてそれぞれ説明する。なお、すなわち既存のアプリケーションと別個にアプリを形成するという基本的なアプリの考え方や、アプリケーションの入力操作などはそれぞれ同様のものとなるので、この点については文字拡大連写アプリを例にして詳細に説明することとする。
【０１０８】
（１）文字拡大連写アプリについて
この文字拡大連写アプリとは、操作部から入力された文字列を拡大するとともに、該拡大した文字列について一部を重ならせつつ複数の要素に分割し、該分割した各要素を複数枚の印刷用紙にそれぞれ印刷するアプリケーションである。この文字拡大連写アプリは、従来の拡大連写と異なり、単に原稿を拡大連写するのではなく文字列の拡大連写を可能とするものである。
【０１０９】
この文字拡大連写をおこなう際には、ユーザが操作部１１１に表示する図１１に示すメニューの中からユーザメニュー１１０１を選び、ボタン１１０２を押下すると、図１２に示すように文字拡大連写を選択可能なサブメニュー１２０１が表示される。なお、このボタン１１０２には、サブメニュー１２０１がある旨を表示すべく、下三角丸１１０３が表示されている。
【０１１０】
そして、このサブメニュー１２０１から文字拡大連写を選択すると、文字拡大連写の対象となる文字列を入力するための画面が表示されるので、ユーザが任意の文字列（たとえば「運動会」）を入力する。また、出力サイズのパラメータについても指定するが、この出力サイズはＡ４の用紙４枚に１文字というように決めておく。
【０１１１】
図１３は、「運動会」という文字列を文字拡大複写した印刷結果を示す図である。同図に示す各文字はそれぞれＡ４用紙４枚からなり、図１４に示すように、文字「運」を４枚の用紙で形成する場合には、上下のりしろ部分１４０１と左右のりしろ部分１４０２には重なりを考慮して文字の一部を印字している。
【０１１２】
図１５は、文字「運」を４枚のＡ４用紙に印刷する場合の各用紙の印字結果を示したものである。同図に示すように、文字「運」の左上部分の用紙１５０１には、右上部分の用紙１５０２および左下部分の用紙１５０３との重なりを考慮して端面ぎりぎりまで印字している。また、右上部分の用紙１５０２には、左上の用紙をその上に貼りつける関係から左側にのりしろを持たせ、下側は端面ぎりぎりまで印字している。
【０１１３】
また、左下部分の用紙１４０３には、用紙１５０１を上側から張りつけられるので上部にのりしろを持たせ、右側は端面ぎりぎりまで印字している。さらに、右下部分の用紙１５０４には、用紙１５０２および１５０３を上から貼りつけられるので、左側および上側にのりしろを持たせている。
【０１１４】
このように、この文字拡大連写アプリを用いることにより、文字列を形成する各文字の拡大連写をおこなうことができる。特に、コピーアプリやプリンタアプリなどの既存のアプリケーションとは別個に文字拡大連写アプリを設けることとしたので、既存アプリの改修をおこなう必要がなくなるので、アプリケーションの開発効率を高めることができる。
【０１１５】
（２）その他のアプリケーションについて
まず、エッジ印刷アプリとは、操作部から入力された文字列のエッジを抽出し、抽出したエッジを印刷するアプリケーションである。すなわち、印刷出力した用紙の用途によっては後から色を塗りたい場合がある。たとえば、幼稚園で園児に作業を手伝わせ、工作の時間を設ける場合などである。このときは内部を黒にしてしまうと色が塗れないのでエッジのみを印字することが望ましいので、このエッジ印刷アプリでは、図１６（ａ）に示すように、文字のエッジのみを印刷することとしている。
【０１１６】
なお、このエッジの印刷濃度を変更できれば、さらに印刷結果を有効に利用できる場合がある。たとえば、線で色を仕切らない色分け模様を形成したいような場合である。このため、エッジ印刷アプリにより印刷するエッジの濃度を設定する濃度設定アプリをさらに設け、図１６（ｂ）に示すようにエッジ濃度を薄くすることもできる。
【０１１７】
次に、カレンダー印刷アプリとは、操作部から入力された年月のカレンダーを印刷するアプリケーションである。すなわち、このカレンダー印刷アプリは、一般に良く使われる月単位のカレンダーをメニューから選ぶことにより、図１７に示すような月ごとのカレンダーを出力できるようにしたものである。具体的には、図１１に示したユーザメニュー１１０１のボタン１１０２を押下して、図１２に示したサブメニュー１２０１を表示させ、カレンダーを指定することにより、かかるカレンダー印刷アプリを実行することができる。なお、カラー出力可能な複合機の場合には、土曜日を青くし日曜日を赤くするようユーザが選べるようにすることもできる。また、このカレンダー印刷アプリに拡大連写機能を設けることによって、カレンダー拡大連写アプリを形成することもできる。
【０１１８】
このように、本実施の形態によれば、文字拡大連写アプリなどの各種アプリケーションを提供するわけであるが、これらのアプリケーションをジャバ（Ｊａｖａ）やベーシック（Ｂａｓｉｃ）言語などの複合機で実行可能なスクリプト言語で作成し、ネットワークを使ったｆｔｐ（file transfer protocol）により転送することができる。この場合は、複合機がftpサーバーとしての機能を持っていることが前提となる。
【０１１９】
ここで、ｆｔｐによるファイルの転送後、ユーザがログアウトすると複合機は対象ディレクトリをサーチして有効なファイルがあれば、メニューに自動追加するよう構成することもできる。また、ユーザがログアウト後、複合機が対象ディレクトリをサーチしてファイルがなければ該当のメニューを削除するよう構成することもできる。
【０１２０】
たとえば、図１８に示す基本タブ１８０１と応用タブ１８０２を有するデフォルトメニューの基本タブが表示されている場合に、カレンダー印刷アプリを追加すると、図１１および図１２に示す表示内容に変更される。
【０１２１】
また、アプリケーションの転送をおこなう際に、ｆｔｐを用いるのではなく、ウエブ形式にして特定のページでテキスト入力画面を用意しておき、そのウインドウへアプリケーションのテキストを流し込むこともできる。機能を削除する場合は、同じようにその機能のページを開いて、テキストを流し込んだウインドウの中のテキストを削除すればよい。この場合、複合機がウエブサーバーの機能をもっていることが前提となる。
【０１２２】
アプリケーションの内容を本文にもつメールを複合機宛てに送ることにより、機能を追加することができるようにする。この場合に、たとえば、"USERFUNCTION_0001"というように、あらかじめ決められた所定の名前がメールのタイトルである場合に、アプリケーションの追加をおこなうようにする。また、機能を削除する場合は、本文に"delete"や"remove"というようなコマンドを書いて送信することになる。
【０１２３】
アプリケーションすなわち機能の追加結果はメールで返信することができる。この返信メールの内容は、「USERFUNCTION_0001の追加は完了しました。」、「USERFUNCTION_0001の追加に失敗しました。エラー内容は文法エラーです。」などとすることができる。この場合には、複写機がメールサーバーの機能を持つかネットワークで接続される別のメールサーバへ定期的にメールの到着がないか聞きにいく機能を有することが前提となる。ユーザからのメールの送信は汎用のツールを用いる。アプリケーション自体が巨大なファイルになってしまうと、この方法は適切ではないので、メールのサイズで８Ｋバイト以下程度の場合におこなうことが望ましい。また、メールの場合は同報通信が可能なので、ワークグループ内の複数の複合機に同じ機能を追加するのに1通のメールでおこなうことができる。
【０１２４】
追加する機能もその複合機を保有するワークグループ共通のメニューへの追加と個人のメニューへの追加とをすることが可能で、個人のメニューへはＩＤの入力を要求し、ＩＤに照合したユーザメニューを表示するようにすると、メニューが煩雑にならず、ユーザにとって利用しやすくなる。個人メニューに関しては、使用されずに一定時間（たとえば１分）たつと画面から消えるようにしておくと、次のユーザが個人メニューを開くときに開きやすくなる。
【０１２５】
機能の追加自体をどのユーザでも可能にすると機能追加の競合が発生する。そのため、個人メニューを設けて回避する。メールであれば発信もとのユーザ名で管理することができる。ｆｔｐの場合はログイン名で区別がつく。ウエブブラウザで追加する場合には、ログイン画面を設けて、個人を区別することができる。
【０１２６】
（アプリケーションの交換について）
ところで、上記説明では複合機上で動作する新たなアプリケーションについて説明したが、これらのアプリケーションをインターネットを介して交換できれば、アプリケーションがさらに有効利用できることになる。そこで、以下ではアプリケーションの交換について説明する。
【０１２７】
上記アプリケーションプログラムをフリーソフトまたはシェアウエアソフトとして、インターネットを使ってユーザ同士が交換するウエブサイトを、複合機を利用しているユーザのみが使えるようにユーザＩＤとパスワードを発行し、ユーザ同士のアプリケーションの交換の場を設けることにより、ユーザによる機能の開発を促進し業務の改善を図ることができる。この場合、ユーザＩＤを発行は、複合機を販売した会社あるいは管理を委託された会社がおこなうことになる。
【０１２８】
ここで、シェアウエアソフトとする場合に、複合機にメニューを追加するだけでは料金は発生せず、ある期間あるいはある枚数試用すると課金する旨を表示し、ユーザが承知したら、コピー1枚ごとあるいは1ジョブに対して付加価値何円と言う形でサービス料金を課金する。ユーザが拒絶した場合は、メニューから削除される。シェアウエアソフトであるアプリケーションの作成者には複合機を販売した会社あるいは管理を委託された会社から回収されたシェアウエアソフトの使用料が払い込まれる。
【０１２９】
作成者が、アプリケーションをフリーソフトとするかシェアウエアソフトとするかを選択すると、一定の審査を経て登録され固有の番号がつけられる。この場合、シェアウエアソフトはソースを公開せず暗号化されたテキストで表現されることが望ましい。ただし、複合機が暗号を複合する機能を有することが前提となる。複合機では、番号をもつシェアウエアソフトが管理され、一度インストールされると課金時期になったかどうかが判断され記録に残る。課金問い合わせに対して拒絶した場合でもその情報は保存され、機能削除後に再度機能追加した場合は、次にそのメニューが選ばれたときに、試用期間が終了していることを伝え、課金しても良いか否かをユーザに報知する。
【０１３０】
上述してきたように、本実施の形態によれば、プラットホーム１０２０を有する複合機上で動作するアプリケーションとして、既存のプリンタアプリ１０１１、コピーアプリ１０１２などを改修することなく、文字拡大連写アプリなどを別途追加できるようにしたので、アプリの開発効率を高めることができる。
【０１３１】
なお、本実施の形態では、説明の便宜上ＳＣＳ１０２２、ＳＲＭ１０２３、ＥＣＳ１０２４、ＭＣＳ１０２５、ＯＣＳ１０２６、ＦＣＳ１０２７、ＮＣＳ１０２８によりプラットホーム１０２０を形成し、プリンタアプリ１０１１、コピーアプリ１０１２、ファックスアプリ１０１３、スキャナアプリ１０１４、ネットファイルアプリ１０１５、工程検査アプリ１０１６により既存のアプリケーション１０３０を形成した場合を示したが、本発明はこれに限定されるものではない。
【０１３２】
以上説明したように、本発明によれば、アプリケーションは、画像形成装置で実行可能なスクリプト言語で作成され、画像形成装置はｆｔｐサーバの機能を有し、ｆｔｐにより転送されたアプリケーションを受け付けることとしたので、新たなアプリケーションをネットワークを介して授受することが可能な画像形成装置が得られるという効果を奏する。
【０１３３】
また、本発明によれば、アプリケーションは、画像形成装置で実行可能なスクリプト言語で作成され、画像処理装置はウエブサーバの機能を有し、アプリケーションの転送をおこなう際に、ウエブ形式による特定のページでテキスト入力画面を用意し、このテキスト入力画面へアプリケーションのテキストを入力することによって新たなアプリケーションの受付けを行なうこととしたので、新たなアプリケーションをネットワークを介して授受することが可能な画像形成装置が得られるという効果を奏する。
【図面の簡単な説明】
【図１】この発明の実施の形態に係るプリンタの全体構成を示す図である。
【図２】図１に示したＡＳＩＣの構成を示すブロック図である。
【図３】図２に示したCONFIGの内部構造を説明するための説明図である。
【図４】図２に示す内部レジスタ上に設けられるＤＭＡＣ用の空間ベースレジスタを説明するための説明図である。
【図５】ＰＣＩ、ＡＳＩＣおよびＣＰＵのメモリマップの相互関係を説明するための説明図である。
【図６】エンジン部のＰＣＩＭＥＭ空間を説明するための説明図である。
【図７】図１に示したエンジン部の動作タイミングを説明するための説明図である。
【図８】ＰＣＩ転送の基本タイミング信号を説明するための説明図である。
【図９】図１に示したエンジン部の構成を示すブロック図である。
【図１０】本実施の形態に係る複合機のソフトウエア構成を示す機能ブロック図である。
【図１１】操作部に表示されるメニューの一例を示す図である。
【図１２】文字拡大連写を選択可能なサブメニューの一例を示す図である。
【図１３】運動会という文字列の文字拡大連写結果を示す図である。
【図１４】運動会の文字「運」を４枚の用紙に文字拡大連写する場合の説明図である。
【図１５】運動会の文字「運」を４枚の用紙に文字拡大連写する場合の各用紙の印刷結果を示す図である。
【図１６】エッジ印刷アプリにより文字列のエッジのみを印刷する出力結果を説明するための説明図である。
【図１７】カレンダー印刷アプリにより印刷したカレンダーの一例を示す図である。
【図１８】操作部に表示する基本メニューの一例を示す図である。
【符号の説明】
１０１    コントローラ
１０２    ＣＰＵ
１０３    ＮＢ（ノースブリッジ）
１０４    ＭＥＭ−Ｐ（システムメモリ）
１０５    ＳＢ（サウスブリッジ）
１０６    ＡＧＰ
１０７    ＭＥＭ−Ｃ（ローカルメモリ）
１０８    ＡＳＩＣ
１０９    ＰＣＩ
１１０    エンジン部
１０００  複合機
１００１  Ｂ＆Ｗ  ＬＰ
１００２  color  ＬＰ
１００３  その他ハードウエアリソース
１０１０  ソフトウエア群
１０１１  プリンタアプリ
１０１２  コピーアプリ
１０１３  ファックスアプリ
１０１４  スキャナアプリ
１０１５  ネットファイルアプリ
１０１６  工程検査アプリ
１０２０  プラットホーム
１０２１  汎用ＯＳ
１０２２  ＳＣＳ
１０２３  ＳＲＭ
１０２４  ＥＣＳ
１０２５  ＭＣＳ
１０２６  ＯＣＳ
１０２７  ＦＣＳ
１０２８  ＮＣＳ
１０３０  アプリケーション
【図１】
0003938857.tif 000002
【図２】
0003938857.tif 000003
【図３】
0003938857.tif 000004
【図４】
0003938857.tif 000005
【図５】
0003938857.tif 000006
【図６】
0003938857.tif 000007
【図７】
0003938857.tif 000008
【図８】
0003938857.tif 000009
【図９】
0003938857.tif 000010
【図１０】
0003938857.tif 000011
【図１１】
0003938857.tif 000012
【図１２】
0003938857.tif 000013
【図１３】
0003938857.tif 000014
【図１４】
0003938857.tif 000015
【図１５】
0003938857.tif 000016
【図１６】
0003938857.tif 000017
【図１７】
0003938857.tif 000018
【図１８】
0003938857.tif 000019