(57)【要約】【課題】標準ファームウェアの構成を変更せずに、外部機器３０の動作モードに応じた処理を実行させること。【解決手段】インストールサービス３３０により、外部機器接続部２０によるプラグアンドプレイ機能による判断に基づき、第１の外部記憶媒体に記憶されているデバイスドライバー３５０と、第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとがインストールされ、標準機能サービス３２０により、外部機器３０の動作モードに対応する動作モード対応アプリケーションが実行されるようにした。【選択図】図２
2016012862.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、
該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、
該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームと、
標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させるインストールサービスと、
外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部とを備え、
前記外部機器接続部は、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行い、
前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、
前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させる
ことを特徴とする画像形成装置。
【請求項２】
前記機器制御プラットフォームは、
該機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供するプラットフォームサービスインターフェイス部と、
前記ハードウェア資源を制御するためのサービスを提供する複数の制御サービス提供手段を有する各部制御用サービスとを含み、
前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
ハードウェア資源を備えた画像形成装置による画像形成方法であって、
機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、
標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、
拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程と、
インストールサービスにより、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させる工程と、
外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部により、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行う工程とを有し、
前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、
前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させる
ことを特徴とする画像形成方法。
【請求項４】
前記機器制御プラットフォームは、
プラットフォームサービスインターフェイス部により、前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、
複数の制御サービス提供手段を有する各部制御用サービスにより、前記ハードウェア資源を制御するためのサービスを提供する工程とを有し、
前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す
ことを特徴とする請求項３に記載の画像形成方法。
【請求項５】
画像形成を行う画像形成装置を制御するためのコンピューターで実行される画像形成プログラムであって、
機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、
標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、
拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程と、
インストールサービスにより、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させる工程と、
外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部により、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行う工程とを前記コンピューターに実行させ、
前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、
前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させる
ことを特徴とする画像形成プログラム。
【請求項６】
前記機器制御プラットフォームは、
プラットフォームサービスインターフェイス部により、前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、
複数の制御サービス提供手段を有する各部制御用サービスにより、前記ハードウェア資源を制御するためのサービスを提供する工程とを有し、
前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出す
ことを特徴とする請求項５に記載の画像形成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成方法及び画像形成プログラムに係り、特に、外部機器からの画像データの処理に適した画像形成装置、画像形成方法及び画像形成プログラムに関する。
【背景技術】
【０００２】
従来より、文書や画像を印刷可能な複合機（Ｍｕｌｔｉｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ，ＭＦＰ）やプリンター等の画像形成装置においては、様々なアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ）をインストールし実行することが可能なものが存在する。
なお、アプリケーションには、ＰＤＦ作成、名刺管理、帳簿管理等の機能をもたらすものがある。
【０００３】
ところで、このような画像形成装置においては、スキャナーやデジタルカメラ等の外部機器との連携をもたらす機能の追加も可能である。
この場合、パーソナルコンピュータ等で用いられているＵＳＢ（ユニバーサルシリアルバス）やＩＥＥＥ１３９４などのインタフェースを画像形成装置に搭載することが考えられる。
なお、ＵＳＢは高速データ転送とプラグアンドプレイと呼ばれる機能を有しており、この機能により、接続しようとする外部機器の電源をオフにすることなく、単に接続するだけで自動的に外部機器を認識することができる。
このようなプラグアンドプレイ機能を利用し、外部機器の動作モードに応じて、予め登録されているソフトウェアを自動的に起動させるようにしたものとして、特許文献１に示されている画像入力システムが知られている。
この画像入力システムは、複数の動作モードを有する画像入力装置（デジタルカメラ）と、画像入力装置の複数の動作モードに対応する複数のソフトウェアを有するパーソナルコンピュータとを具備し、画像入力装置とパーソナルコンピュータとを接続したとき、又は接続してから画像入力装置の電源をオンにしたとき、又は接続した状態で画像入力装置を別の動作モードに変更したときに、画像入力装置の動作モードに対応したパーソナルコンピュータ内のソフトウェアを自動的に起動させるようにしたものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−０９９６９７
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した画像入力システムでは、画像入力装置の動作モードに対応するソフトウェアが自動的に起動するため、ＰＣ（パーソナルコンピュータ）操作に不慣れなユーザにも使いやすいシステムとなっている。
【０００６】
ところで、このようなプラグアンドプレイ機能を利用したシステムを、上述した複合機やプリンター等の画像形成装置に適用しようとすると、画像形成装置に搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）には外部機器であるスキャナーやデジタルカメラ等との連携をもたらすためのデバイスドライバーが用意されていないため、標準ファームウェアの変更が必要となってしまうという問題があった。
【０００７】
本発明は、このような状況に鑑みてなされたものであって、上述の問題点を解消することを課題とする。
【課題を解決するための手段】
【０００８】
本発明の画像形成装置は、オペレーティングシステム上でハードウェア資源を管理する機器制御プラットフォームと、該機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する標準アプリケーション実行部と、該標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる拡張アプリケーション管理部を含む拡張アプリケーションプラットフォームと、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させるインストールサービスと、外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部とを備え、前記外部機器接続部は、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行い、前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させることを特徴とする。
また、前記機器制御プラットフォームは、該機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供するプラットフォームサービスインターフェイス部と、前記ハードウェア資源を制御するためのサービスを提供する複数の制御サービス提供手段を有する各部制御用サービスとを含み、前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出すことを特徴とする。
本発明の画像形成方法は、ハードウェア資源を備えた画像形成装置による画像形成方法であって、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程と、インストールサービスにより、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させる工程と、外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部により、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行う工程とを有し、前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させることを特徴とする。
また、前記機器制御プラットフォームは、プラットフォームサービスインターフェイス部により、前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、複数の制御サービス提供手段を有する各部制御用サービスにより、前記ハードウェア資源を制御するためのサービスを提供する工程とを有し、前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出すことを特徴とする。
本発明の画像形成プログラムは、画像形成を行う画像形成装置を制御するためのコンピューターで実行される画像形成プログラムであって、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源を管理する工程と、標準アプリケーション実行部により前記機器制御プラットフォームで管理された前記ハードウェア資源を利用する標準アプリケーションを実行する工程と、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、前記標準アプリケーション実行部により実行される前記標準アプリケーションの機能を利用させる標準機能サービス、前記ハードウェア資源を利用させる拡張機能サービス、及び前記標準機能サービス並びに前記拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションを管理し実行させる工程と、インストールサービスにより、標準ファームウェアの構成を変更せずに、前記標準機能サービスでは提供していない機能に対応したインターフェイスを前記拡張機能サービスに追加し、前記拡張アプリケーションプラットフォームから利用させる工程と、外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部により、前記外部機器の機種及び動作モードの判断と、前記第１の外部記憶媒体及び前記第２の外部記憶媒体のアプリケーションの内容の判断とを行う工程とを前記コンピューターに実行させ、前記インストールサービスは、前記外部機器接続部による判断に基づき、前記第１の外部記憶媒体に記憶されているデバイスドライバーと、前記第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとをインストールし、前記標準機能サービスは、前記外部機器の動作モードに対応する前記動作モード対応アプリケーションを実行させることを特徴とする。
また、前記機器制御プラットフォームは、プラットフォームサービスインターフェイス部により、前記機器制御プラットフォームの外部から前記ハードウェア資源を利用するためのインターフェイスを提供する工程と、複数の制御サービス提供手段を有する各部制御用サービスにより、前記ハードウェア資源を制御するためのサービスを提供する工程とを有し、前記プラットフォームサービスインターフェイス部は、前記標準アプリケーションからの前記動作モード対応アプリケーションの要求を判断し、該要求に対応する前記各部制御用サービスの制御サービス提供手段を呼び出すことを特徴とする。
本発明の画像形成装置、画像形成方法及び画像形成プログラムは、機器制御プラットフォームによりオペレーティングシステム上でハードウェア資源が管理され、標準アプリケーション実行部により機器制御プラットフォームで管理されたハードウェア資源を利用する標準アプリケーションが実行され、拡張アプリケーションプラットフォームに含まれる拡張アプリケーション管理部により、標準アプリケーション実行部により実行される標準アプリケーションの機能を利用させる標準機能サービス、ハードウェア資源を利用させる拡張機能サービス、及び標準機能サービス並びに拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーションが管理されて実行され、インストールサービスにより、標準ファームウェアの構成を変更せずに、標準機能サービスでは提供していない機能に対応したインターフェイスが拡張機能サービスに追加され、拡張アプリケーションプラットフォームから利用され、外部機器又は該外部機器に対応したデバイスドライバーを記憶している第１の外部記憶媒体又は該外部機器の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部により、外部機器の機種及び動作モードの判断と、第１の外部記憶媒体及び第２の外部記憶媒体のアプリケーションの内容の判断とが行われる。
そして、インストールサービスにより、外部機器接続部による判断に基づき、第１の外部記憶媒体に記憶されているデバイスドライバーと、第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとがインストールされ、標準機能サービスにより、外部機器の動作モードに対応する動作モード対応アプリケーションが実行される。
【発明の効果】
【０００９】
本発明の画像形成装置、画像形成方法及び画像形成プログラムによれば、インストールサービスにより、外部機器接続部による判断に基づき、第１の外部記憶媒体に記憶されているデバイスドライバーと、第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとがインストールされ、標準機能サービスにより、外部機器の動作モードに対応する動作モード対応アプリケーションが実行されるので、標準ファームウェアの構成を変更せずに、外部機器の動作モードに応じた処理を実行させることができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る画像形成装置のシステム構成を示すブロック図である
【図２】図１に示す画像形成装置の制御構成を示すブロック図である。
【図３】図１の画像形成装置におけるデバイスドライバー又はアプリのインストール処理を説明するためのフローチャートである。
【図４】図１の画像形成装置における外部機器の動作モードに対応した処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
＜実施の形態＞
〔画像形成装置１のシステム構成〕
次に、図１により、画像形成装置１のシステム構成について説明する。なお、以下の説明において、アプリとはアプリケーション（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ）のことである。画像形成装置１は、画像処理部１１、原稿読取部１２、原稿給送部１３、搬送部１４、ネットワーク送受信部１５、操作パネル部１６、画像形成部１７、ＦＡＸ送受信部１８、記憶部１９、及び外部機器接続部２０等が、制御部１０に接続されている。各部は、制御部１０によって動作制御される。
【００１２】
制御部１０は、ＧＰＰ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｐｒｏｃｅｓｓｏｒ）、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｐｒｏｃｅｓｓｏｒ、特定用途向けプロセッサー）等の情報処理部である。
制御部１０は、記憶部１９のＲＯＭやＨＤＤに記憶されている制御プログラムを読み出して、この制御プログラムをＲＡＭに展開させて実行することで、後述する機能ブロックの各部として動作させられる。また、制御部１０は、図示しない外部の端末や操作パネル部１６から入力された指示情報に応じて、装置全体の制御を行う。
【００１３】
画像処理部１１は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御演算部である。画像処理部１１は、各種の画像データに対して特定の画像処理を実行する。画像処理部１１は、例えば、拡大縮小、濃度調整、階調調整、画像改善等の各種画像処理を行う。
画像処理部１１は、原稿読取部１２で読み取られた画像を、記憶部１９に印刷データとして記憶する。この際、画像処理部１１は、印刷データをＰＤＦやＴＩＦＦ等のフォーマットのファイル単位に変換することも可能である。
【００１４】
原稿読取部１２は、セットされた原稿を読み取る（スキャン）。
原稿給送部１３は、原稿読取部１２で読み取られる原稿を搬送する。
搬送部１４は、給紙カセットから記録紙を搬送し、画像形成部１７で画像形成させ、その後にスタックトレイへ搬送する。
画像形成部１７は、ユーザーの出力指示により、記憶部１９に記憶され、原稿読取部１２で読み取られ、又は外部の端末から取得されたデータから記録紙への画像形成を行わせる。
【００１５】
ネットワーク送受信部１５は、ＬＡＮ、無線ＬＡＮ、ＷＡＮ、携帯電話網等の外部ネットワークに接続するためのＬＡＮボードや無線送受信機等を含むネットワーク接続部である。
ネットワーク送受信部１５は、データ通信用の回線ではデータを送受信し、音声電話回線では音声信号を送受信する。
ネットワーク送受信部１５は、ネットワークを介して、図示しないＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やスマートフォンやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）や携帯電話等の外部の端末、サーバー等に接続されていてもよい。
【００１６】
操作パネル部１６は、ＬＣＤ等の表示部と、テンキー、スタート、キャンセル、コピー（複写）、ＦＡＸ送信、スキャナー等の動作モードの切り換えのボタンと、選択された文書の印刷、送信、保存、記録等に関するジョブの実行に係る指示を行うためのボタン若しくはタッチパネル等の入力部とを備えている。
操作パネル部１６は、ユーザーの指示を取得する。このユーザーの指示は、後述する拡張アプリ４００（図２）（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｏｆｔｗａｒｅ、アプリケーション）のインストールや使用の指示を含む。また、ユーザーの指示により、各ユーザーの情報を入力、変更することも可能である。このため、操作パネル部１６は、専用の制御部とＲＯＭやＲＡＭ等の記憶媒体を備えて、制御部１０と連携してＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の制御を行ってもよい。拡張アプリ４００のインストールや使用時の操作パネル部１６の制御の詳細については後述する。
【００１７】
ＦＡＸ送受信部１８は、ファクシミリの送受信を行うＦＡＸボード等である。
ＦＡＸ送受信部１８は、原稿読取部１２で読み取られた画像データやネットワーク送受信部１５から受信したファイル等を描画してファクシミリ送信する。また、ＦＡＸ送受信部１８は、記憶部１９に記憶され、ファクシミリ受信された画像データを画像形成部１７で画像形成させ、ネットワーク送受信部１５から外部の端末へ送信する。
【００１８】
記憶部１９は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、フラッシュメモリー等の半導体メモリーやＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の記憶媒体と、このコントローラー等を含む。
記憶部１９のＲＯＭやフラッシュメモリーやＨＤＤには、画像形成装置１の動作制御を行うための制御プログラム及びデータが記憶されている。これらの制御プログラム及びデータは、ファームウェアのような形式で提供されていてもよい。また、このファームウェアは、画像形成装置１の既存の構成における各種制御プログラムとデータがセットになった標準ファームウェアを含んでいてもよい。また、これらの制御プログラムとデータとは、実行時にＲＡＭ等に展開されて、制御部１０により実行される。
また、記憶部１９は、各種ジョブデータ、原稿読取部１２でスキャンされた画像データ、画像処理部１１で画像処理された画像データ、他の端末（図示せず）から送信された印刷文書等のファイル、接続された記憶媒体から読み出された各種ファイル、サムネイル画像のデータ等を記憶してもよい。
また、記憶部１９は、ユーザーのアカウント設定も記憶してもよい。また、記憶部１９には、ユーザー毎の文書ボックスの領域が含まれていてもよい。
【００１９】
外部機器接続部２０は、スキャナーやデジタルカメラ等の外部機器３０やＵＳＢメモリー３１が接続されるインターフェイスである。外部機器接続部２０は、例えば、プラグアンドプレイと呼ばれる機能を有したＵＳＢインターフェイスで構成されている。
【００２０】
なお、画像形成装置１において、制御部１０及び画像処理部１１は、ＧＰＵ内蔵ＣＰＵ等やチップ・オン・モジュールパッケージのように、一体的に形成されていてもよい。
また、制御部１０及び画像処理部１１は、ＲＡＭやＲＯＭやフラッシュメモリー等を内蔵していてもよい。
【００２１】
〔画像形成装置１の制御構成〕
次に、図２により、画像形成装置１の制御構成について説明する。
画像形成装置１は、三つの階層的なブロック構造として、標準アプリ実行部１００（標準アプリケーション実行部）、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００（拡張アプリケーションプラットフォーム）がある。制御部１０が本発明の制御プログラムを実行することにより、標準アプリ実行部１００、機器制御プラットフォーム２００、拡張アプリプラットフォーム３００が実現される。更に、制御部１０は、図２に示す制御構成に基づいて、拡張アプリ４００、標準アプリ１２０、汎用ＯＳ２３０を実行することができる。また、制御部１０は、図２に示す制御構成に基づいて、拡張アプリプラットフォーム３００上で拡張アプリ４００が実行される構成となっている。
【００２２】
標準アプリ実行部１００は、機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリ１２０を実行する。標準アプリ実行部１００は、機器制御プラットフォーム２００上にインストールされた標準アプリ１２０と、この標準アプリ１２０に対応するサービスを備えている。
【００２３】
機器制御プラットフォーム２００は、汎用ＯＳ２３０（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、オペレーティングシステム）上で、画像形成装置１全体のハードウェア資源を管理し、機能単位で各部を制御する。
機器制御プラットフォーム２００は、標準アプリ１２０の実行基盤となるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）やミドルウェアやランタイムやリンカー等（以下、「ＡＰＩ等」という。）、汎用ＯＳ２３０上のサービス（Ｓｅｒｖｉｃｅ、Ｄａｅｍｏｎ、以下「サービス等」という。）、スクリプト言語や中間言語の翻訳や実行を行うインタプリター（Ｉｎｔｅｒｐｒｅｔｅｒ）やＪＩＴ（Ｊｕｓｔ  Ｉｎ  Ｔｉｍｅ  ｃｏｍｐｉｌｅｒ）やバーチャルマシン等（以下、「バーチャルマシン等」という。）を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、汎用ＯＳ２３０上で動作している。
【００２４】
拡張アプリプラットフォーム３００は、標準アプリ１２０を呼び出して機能を利用し、機器制御プラットフォーム２００を呼び出してハードウェア資源を利用し、拡張アプリ４００を管理し実行させる。
拡張アプリプラットフォーム３００は、拡張アプリ４００の実行基盤となるＡＰＩ等やサービス等やバーチャルマシン等を含むプログラムやデータである。また、拡張アプリプラットフォーム３００自体も、汎用ＯＳ２３０上で動作している。
【００２５】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で各種処理を行うアプリのプログラム及びデータである。拡張アプリ４００には、外部機器３０である例えばスキャナーの動作モードに対応したアプリａ、アプリｂなどが含まれている。
ここで、動作モードとは、例えばスキャナー側で操作された印刷指示やＯＣＲ処理などを示すものである。
これらのアプリａとアプリｂは、後述のインストールサービス３３０により、インストールされたものである。また、アプリａとアプリｂは、後述のデバイスドライバー３５０からの要求を受け付けるインターフェースを備えている。
アプリａは、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ、光学文字認識）処理、文字を抽出してサーバー（図示せず）に送る処理などを示すプログラムである。なお、文字の抽出とは、印刷に好ましくない文字（「企業秘」など）を抽出することである。このような文字（「企業秘」など）が抽出された場合、アプリａは印刷などを行わず、上述した操作パネル部１６などに印刷不可能であることを表示させたりする。
アプリｂは、ＯＣＲ処理、読み取り原稿内のＱＲコード（登録商標）を読み取り、ＱＲ（ｑｕｉｃｋ  ｒｅｓｐｏｎｓｅ）コード（登録商標）内の情報で示したサイトから画像を取得する処理などを示すプログラムである。
なお、ここでは、例えばスキャナーの動作モードに対応したものとして、アプリａとアプリｂの２つとしているが、これらのアプリａとアプリｂを１つに集約してもよいし、３つ以上に分割してもよい。
また、拡張アプリ４００には、外部機器３０である例えばデジタルカメラの動作モードに対応したアプリｃなどが含まれている。
ここで、動作モードとは、例えばデジタルカメラ側で操作された印刷指示などの処理を示すものである。
アプリｃは、例えばデジタルカメラ内の画像を表示し、任意に選択された画像を印刷する処理などを示すプログラムである。
【００２６】
より詳しく説明すると、標準アプリ実行部１００は、標準アプリ１２０、及び標準アプリサービスＩＦ部１１０（標準アプリケーションサービスインターフェイス部）を備えている。
【００２７】
標準アプリ１２０は、機器制御プラットフォーム２００上で各種処理を行うアプリのプログラム及びデータである。
標準アプリ１２０は、ユーザーの指示を取得し、このユーザーの指示により画像形成装置の各種機能を利用する。また、標準アプリ１２０は、例えば、Ｊａｖａ（登録商標）等の中間言語のアプリや、各種スクリプト言語等で記載されていてもよい。
【００２８】
標準アプリ１２０は、例えば、コピーアプリ１２１、プリンターアプリ１２２、ＦＡＸアプリ１２３、各種標準アプリ１２４等が、工場出荷状態で既にインストールされていてもよい。
コピーアプリ１２１は、操作パネル部１６からのユーザーによるコピーの指示を取得すると、原稿読取部１２から原稿を読み取って、画像形成部１７により画像形成させる。
プリンターアプリ１２２は、外部の端末（図示せず）からの指示等により、ネットワーク送受信部１５で受信したＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等のファイルを描画して、画像形成部１７により画像形成させる。また、プリンターアプリ１２２は、操作パネル部１６によるユーザーの指示により、記憶部１９の文書ボックス内のファイル等を描画して、画像形成部１７により画像形成させてもよい。
ＦＡＸアプリ１２３は、ユーザーの操作パネル部１６からのファクシミリ送信の指示を取得すると、原稿読取部１２から原稿を読み取って、ＦＡＸ送受信部１８によりファクシミリ送信する。また、ＦＡＸアプリ１２３は、外部の端末から受信したファイル等を描画して、ＦＡＸ送受信部１８により送信してもよい。また、ＦＡＸアプリ１２３は、ＦＡＸ送受信部１８により受信されたファクシミリの画像データを、画像形成部１７により画像形成させる。また、ＦＡＸアプリ１２３は、受信されたファクシミリの画像データを記憶部１９の文書ボックスに記憶してもよい。
各種標準アプリ１２４は、後述の送信アプリ等を含んでいる。この送信アプリは、ネットワーク送受信部１５を介して画像データ等を送信したりするものである。
なお、画像形成装置１の使用開始後に標準アプリ１２０がインストールされてもよい。つまり、例えば、ＦＡＸ送受信部のＦＡＸボードが取り付けられた際に、ＦＡＸアプリ１２３がインストールされる等の処理が行われてもよい。
また、ハードウェアの構成に関わらず、独自の標準アプリ１２０をユーザーがインストールすることも可能である。
【００２９】
標準アプリサービスＩＦ部１１０は、アプリ実行部の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する。
標準アプリサービスＩＦ部１１０は、例えば、Ｊａｖａ（登録商標）等のクラス、Ｊａｖａ（登録商標）言語上のインターフェイス、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０毎に異なるインターフェイスを提供していてもよい。
また、標準アプリサービスＩＦ部１１０は、標準アプリ１２０の実行、インストール、設定の変更、削除等を行うことも可能である。
【００３０】
機器制御プラットフォーム２００は、プラットフォームサービスＩＦ部２１０（プラットフォームサービスインターフェイス部）、各部制御用サービス２２０、及び汎用ＯＳ２３０を備えている。
【００３１】
プラットフォームサービスＩＦ部２１０は、機器制御プラットフォーム２００の外部からハードウェア資源を利用するためのインターフェイスを提供する。
プラットフォームサービスＩＦ部２１０は、各部制御用サービス２２０を呼び出して、画像形成装置１の各部のハードウェア資源を利用させる。プラットフォームサービスＩＦ部２１０は、例えば、ＡＰＩ等、又は汎用ＯＳ２３０上のサービス等として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、Ｃ言語の構造体、Ｃ＋＋言語のクラス、その他のオブジェクト、ルーチン、関数、ヘッダーファイル、オブジェクト、ライブラリー等（以下、「クラス等」という。）として提供されていてもよい。また、プラットフォームサービスＩＦ部２１０は、例えば、Ｊａｖａ（登録商標）等の中間言語で提供されていてもよい。
【００３２】
各部制御用サービス２２０は、画像形成装置１の機能に対応する各部を適切な方式で制御するサービス等である。
各部制御用サービス２２０は、例えば、プラットフォームサービスＩＦ部２１０からの呼び出しに対応して、画像処理部１１、操作パネル部１６、ネットワーク送受信部１５等を操作する。また、各部制御用サービス２２０は、コピー機能、ネットワークスキャン機能、文書ボックス機能等を呼び出すことができる。
また、各部制御用サービス２２０は、製品系列別に、異なるサービス等、ＡＰＩ等、クラス等を組み合わせたものがファームウェアに含まれていてもよい。
【００３３】
各部制御用サービス２２０は、画像処理サービス２２１、デバイス操作サービス２２２、ネットワーク通信サービス２２３を含んでいる。
【００３４】
画像処理サービス２２１は、画像処理のデータの作成や変換や出力に関するサービスを提供する。画像処理サービス２２１は、例えば、原稿読取部１２で解像度や色等を設定して原稿読取した画像データを記憶部１９に記憶させ、画像処理部１１に記憶部１９の画像データや文書データ（図示せず）を画像処理させる。また、画像処理サービス２２１は、ファイル等から、画像形成部１７で画像形成する画像データを描画する。
【００３５】
デバイス操作サービス２２２は、各部のデバイスを制御するためのサービス等を提供する。デバイス操作サービス２２２は、例えば、原稿読取部１２から取得した画像データを記憶部１９に記憶し、操作パネル部１６の表示部に表示されるブラウザー上に画像を描画し、描画された画像データを画像形成部１７に送信して画像形成させ、記憶部１９に記憶された画像データをＦＡＸ送受信部１８でファクシミリ送信させる。また、デバイス操作サービス２２２は、例えば搬送部のモーターの一つを駆動させるといった、より機器のハードウェアの構成に近い制御を行ってもよい。
【００３６】
ネットワーク通信サービス２２３は、ネットワークの送受信に関するサービス等を提供する。ネットワーク通信サービス２２３は、例えば、ネットワーク送受信部１５（図１）から、ＴＣＰ／ＩＰやＵＤＰの各種プロトコルにより、他の画像形成装置（図示せず）やサーバーや端末等の間でファイル等の送受信を行う。たとえば、ネットワーク通信サービス２２３は、スキャンした画像データ、文書ボックスのファイル等を送受信することも可能である。なお、ネットワーク通信サービス２２３は、ＦＡＸ送受信部１８によるファクシミリ送受信の画像データの送受信、ユーザー認証部が存在した場合はユーザー認証結果、デジタルカメラが存在した場合は映像データの送受信等を行うことも可能である。また、ネットワーク通信サービス２２３は、画像形成装置１の各部の状態、各部の機能の呼び出しの結果等についても、送受信可能である。
【００３７】
汎用ＯＳ２３０は、画像形成装置１の各部を制御する。汎用ＯＳ２３０としては、例えば、Ｌｉｎｕｘ（登録商標）等の汎用ＯＳ、組み込み（Ｅｍｂｅｄｄｅｄ）向けの汎用ＯＳ、リアルタイム汎用ＯＳ等を使用することができる。また、汎用ＯＳ２３０のカーネルやコア等のスケジュール管理や基本ハードウェアを管理するプログラムやデータ等はファームウェアに含まれていてもよい。
【００３８】
拡張アプリプラットフォーム３００は、標準機能サービス３１０、拡張機能サービス３２０、インストールサービス３３０（インストールサービス）、拡張アプリ管理部３４０（拡張アプリケーション管理部）、デバイスドライバー３５０を備えている。
【００３９】
標準機能サービス３１０は、標準アプリサービスＩＦ部１１０に対応した標準アプリ１２０の機能を利用させるサービス等である。
標準機能サービス３１０は、拡張アプリ４００からの各標準アプリ１２０の各機能を指定した呼び出しを受け、標準アプリサービスＩＦ部１１０に送信して、当該標準アプリ１２０の当該機能を実行させる。
【００４０】
拡張機能サービス３２０は、プラットフォームサービスＩＦ部２１０に対応したハードウェア資源を利用させるサービス等である。
拡張機能サービス３２０は、拡張アプリ４００からの画像形成装置１の各部の機能を指定した呼び出しを受け、プラットフォームサービスＩＦ部２１０に送信して、当該各部の当該機能を実行させる。
【００４１】
拡張アプリ管理部３４０は、標準機能サービス３１０及び拡張機能サービス３２０を呼び出し可能な拡張アプリ４００を管理し実行する。
拡張アプリ管理部３４０は、拡張アプリ４００のインストール、画像形成装置１から使用可能な状態とするアクティベーション、実行、実行終了、アンインストール等を拡張アプリプラットフォーム３００のＡＰＩにより管理する（以下、これらの処理を拡張アプリ４００の「ライフサイクル」の管理という。）。
また、拡張アプリ管理部３４０は、操作パネル部１６等から認証情報を取得した場合、拡張アプリ４００をアクティベーションして、使用可能な状態としてもよい。
【００４２】
インストールサービス３３０は、記憶部１９に記憶された標準ファームウェアの構成を変更せずに、標準機能サービス３１０では提供していない機能を拡張アプリプラットフォーム３００や汎用ＯＳ２３０等に追加するサービス等である。
インストールサービス３３０は、デバイスドライバー３５０をインストールする。このデバイスドライバー３５０は、外部機器３０である例えばスキャナー又はデジタルカメラのいずれから対応するものである。ここでは、説明の都合上、スキャナーに対応させたものとする。よって、デジタルカメラに対応するデバイスドライバー３５０が必要な場合は、別途、デジタルカメラに対応するデバイスドライバー３５０がインストールされることになる。
また、このデバイスドライバー３５０は、ＵＳＢメモリー３１などの記憶媒体からインストールされたものである。
また、インストールサービス３３０は、上述したアプリａ〜アプリｃをインストールする。これらのアプリａ〜ｃは、例えばＵＳＢメモリー３１などの記憶媒体からインストールされたものである。
【００４３】
また、インストールサービス３３０は、汎用ＯＳ２３０及び拡張アプリプラットフォーム３００に対応したデバイスドライバー３５０やスクリプト等の制御プログラムをインストールする。この場合、インストールサービス３３０は、ＲＯＭやフラッシュメモリー等に記憶された標準ファームウェアは変更せず、追加的な変更を行う。
また、インストールサービス３３０は、汎用ＯＳ２３０の設定ファイルの内容を変更することも可能である。この場合、インストールサービス３３０は、例えば、「ｖａｒ」等のディレクトリーに保存されたファイルを作成、変更、削除等したり、レジストリー等のデータベースを変更したりしてもよい。
また、インストールサービス３３０は、ファームウェア自体の一部又は全体を変更又はアップデート等することも可能である。
【００４４】
デバイスドライバー３５０は、上述したスキャナーやデジタルカメラ等の外部機器３０との連携をもたらすためのものであり、外部機器３０が上述した外部機器接続部２０に接続されると、上述したアプリａ、アプリｂ、アプリｃに対して外部機器３０の種別や動作モードなどを含む要求を出す。
【００４５】
拡張アプリ４００は、拡張アプリプラットフォーム３００上で実行されるアプリケーションのプログラム及びデータである。拡張アプリ４００は、標準機能サービス３１０を呼び出して標準アプリ１２０の機能を利用し、拡張機能サービス３２０を呼び出して画像形成装置１の各部の機能を利用し、又はインストールサービス３３０を呼び出して汎用ＯＳ２３０への追加の機能をインストールする等の処理を実行することが可能である。このため、拡張アプリ４００により、画像形成装置１単体では使用できない各種処理を行わせることが可能となる。
また、拡張アプリ４００は、拡張アプリプラットフォーム３００上で動作する実行ファイルと、クラス情報を含む各種データとを含んで構成されてもよい。この場合、拡張アプリ４００の実行ファイルは、例えば、各種スクリプト言語のファイルや、Ｊａｖａ（登録商標）アプリの中間言語のファイルや、「ネイティブ」の実行ファイル等からなるアプリのバイナリのファイルであってもよい。拡張アプリ４００は、処理スピードや必要メモリー容量等のリソースの制限が少ない場合はスクリプト言語のファイルや中間言語のファイルで記載されていてもよい。また、拡張アプリ４００は、リソースの制限がある場合にはパフォーマンスに優れるＣ言語やＣ＋＋言語やアセンブラ言語等で記載されていてもよい。拡張アプリ４００は、この他にも、必要なデータを含んでいてもよい。
拡張アプリ４００は、上述したアプリａとアプリｂに加え、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ、光学文字認識）、監視デジタルカメラアプリ、ウォーターマーク作成、請求書作成、社員名簿管理、伝票管理、契約書管理、名刺管理、ＰＤＦ作成、帳簿管理、グループ管理等の実用アプリを含む。
また、複数の拡張アプリ４００が備えられていてもよい。また、拡張アプリ４００は、画像形成装置１や他の端末等（図示せず）からインストールされて記憶部１９に記憶されてもよい。また、拡張アプリ４００は、外部の記憶媒体に記憶されていてもよい。また、拡張アプリ４００は、画像形成装置１の機種固有情報に対応して実行可能か否かが選択されてもよい。また、各拡張アプリ４００をインストールや実行する場合、当該画像形成装置１と対応付けられて使用可能な状態にする「アクティベーション」が必要であってもよい。なお、画像形成装置１の機種毎に別々の拡張アプリ４００がインストールされてもよい。
【００４６】
〔画像形成装置１による画像処理〕
次に、図３〜図４により、本発明の実施形態に係る画像形成装置１による画像処理の説明を行う。なお、図３においては、スキャナー又はデジタルカメラに対応するデバイスドライバー３５０を記憶しているＵＳＢメモリー３１、スキャナーに対応するアプリａを記憶しているＵＳＢメモリー３１、スキャナーに対応するアプリｂを記憶しているＵＳＢメモリー３１、デジタルカメラに対応するアプリｃを記憶しているＵＳＢメモリー３１のいずれかが外部機器接続部２０に接続されるものとして説明する。また、図４においては、外部機器３０であるスキャナー又はデジタルカメラのＵＳＢコネクタ（図示せず）が外部機器接続部２０に接続されるものとして説明する。
また、ＵＳＢメモリー３１かＵＳＢコネクタであるかの判断、ＵＳＢメモリー３１に記憶されているプログラムの内容の判断、外部機器接続部２０に接続された外部機器３０の機種の判断、外部機器３０の動作モードの判断は、いずれも外部機器接続部２０が有するプラグアンドプレイ機能によって行われるものとする。
【００４７】
まず、図３に示すように、上述した外部機器接続部２０へのＵＳＢメモリー３１又はＵＳＢコネクタの接続待ちとなっている状態で（ステップＳ１：ＮＯ）、外部機器接続部２０にＵＳＢメモリー３１又はＵＳＢコネクタが接続されると、外部機器接続部２０は、ＵＳＢメモリー３１又はＵＳＢコネクタの接続有りと判断する（ステップＳ１：ＹＥＳ）。
次いで、外部機器接続部２０が接続されたものがＵＳＢメモリー３１であるかどうかを判断する（ステップＳ２）。ここで、ＵＳＢメモリー３１でなければ（ステップＳ２：ＮＯ）、以降の処理が終了となる。
これに対し、ＵＳＢメモリー３１であれば（ステップＳ２：ＹＥＳ）、外部機器接続部２０がＵＳＢメモリー３１に記憶されているプログラムの内容を判断する（ステップＳ３）。ここで、ＵＳＢメモリー３１に記憶されているプログラムがデバイスドライバーであれば、外部機器接続部２０がインストールサービス３３０に対してデバイスドライバーのインストールの要求を出す。
これにより、インストールサービス３３０がＵＳＢメモリー３１に記憶されているデバイスドライバー３５０をインストールする。
なお、このデバイスドライバー３５０は、例えばスキャナーに対応するものであるとする。よって、デジタルカメラに対応するデバイスドライバー３５０のインストールが必要であれば、上記同様に、デジタルカメラに対応するデバイスドライバー３５０を記憶しているＵＳＢメモリー３１を外部機器接続部２０に接続することで、デジタルカメラに対応するデバイスドライバー３５０のインストールが行われる。
【００４８】
一方、ステップＳ３でデバイスドライバー３５０でなければ、外部機器接続部２０がＵＳＢメモリー３１に記憶されているプログラムの内容からアプリであるかどうかを判断する（ステップＳ５）。ここで、アプリであれば、インストールサービス３３０に対してアプリのインストールの要求を出す。
これにより、インストールサービス３３０がＵＳＢメモリー３１に記憶されているアプリをインストールする。
なお、アプリには、上述したように、アプリａ〜ｃがある。これらのアプリａ〜ｃが１つのＵＳＢメモリー３１に記憶されている場合は、アプリａ〜ｃが連続してインストールされる。これに対し、アプリａ〜ｃが個々にＵＳＢメモリー３１に記憶されている場合は、それぞれのＵＳＢメモリー３１を外部機器接続部２０に接続することで、個々のアプリａ〜ｃがインストールされることになる。
以上の手順により、デバイスドライバー３５０とアプリａ〜ｃのインストールが行われる。
【００４９】
なお、インストールサービス３３０がデバイスドライバー３５０とアプリａ〜ｃのインストールを行うと、デバイスドライバー３５０及びアプリａ〜ｃのそれぞれの要求などを示すインターフェイスを、拡張機能サービス３２０に設定する。この際、インストールサービス３３０は、標準ファームウェアの書き換えを行わずに、これらの設定を行うことができる。
また、インストールサービス３３０は、デバイスドライバー３５０を、汎用ＯＳ２３０の機能等により拡張アプリプラットフォーム３００に設定する。その後、インストールサービス３３０は、汎用ＯＳ２３０の設定を変更等する。
これらの処理により、外部機器接続部２０に接続された外部機器３０の動作モードに応じたアプリａ〜ｃの実行が可能となる。
【００５０】
このような外部機器３０の動作モードに応じたアプリａ〜ｃの実行について、図４により説明する。
まず、上述した外部機器接続部２０へのＵＳＢメモリー３１又はＵＳＢコネクタの接続待ちとなっている状態で（ステップＳ１０：ＮＯ）、外部機器接続部２０にＵＳＢメモリー３１又はＵＳＢコネクタが接続されると、外部機器接続部２０はＵＳＢメモリー３１又はＵＳＢコネクタの接続が有ると判断する（ステップＳ１０：ＹＥＳ）。
次いで、外部機器接続部２０が接続されたものがＵＳＢコネクタであるかどうかを判断する（ステップＳ１１）。ここで、ＵＳＢコネクタでなければ（ステップＳ１１：ＮＯ）、以降の処理が終了となる。
これに対し、ＵＳＢコネクタであれば（ステップＳ１１：ＹＥＳ）、外部機器接続部２０が外部機器３０の機種を判断する（ステップＳ１２）。ここで、外部機器接続部２０に接続された外部機器３０がスキャナーであれば（ステップＳ１２：ＹＥＳ）、スキャナーの動作モードに対応したアプリａ又はｂを実行する（ステップＳ１３）。
【００５１】
これに対し、外部機器接続部２０に接続された外部機器３０がスキャナーではなく（ステップＳ１２：ＮＯ）、デジタルカメラであれば（ステップＳ１４：ＹＥＳ）、デジタルカメラの動作モードに対応したアプリｃを実行する（ステップＳ１５）。
なお、ステップＳ１４において、デジタルカメラでなければ、以降の処理が終了となる。
また、アプリａ〜ｃのいずれかが実行される場合、拡張機能サービス３２０がアプリａ〜ｃのいずれかの要求が標準ハードウェアの機能の呼び出しであるかを判断し、プラットフォームサービスＩＦ部２１０に通知する。
プラットフォームサービスＩＦ部２１０は、拡張アプリプラットフォーム３００の拡張機能サービス３２０から呼び出されると、呼び出された機能に対応する各部制御用サービス２２０の各機能を呼び出して、画像形成装置１のハードウェア資源を利用させる。
【００５２】
プラットフォームサービスＩＦ部２１０は、例えば、画像処理サービスに対応した機能を呼び出す場合、外部機器３０からの画像データ等を取得し、画像処理の機能を特定して実行させる。
この場合、アプリａが、例えば、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ、光学文字認識）処理、文字を抽出してサーバー（図示せず）に送る処理などを示すものであるとき、プラットフォームサービスＩＦ部２１０は、例えば、画像処理サービス２２１及びデバイス操作サービス２２２に対応した機能を呼び出す。
また、アプリｂが、ＯＣＲ処理、読み取り原稿内のＱＲコード（登録商標）を読み取り、ＱＲ（ｑｕｉｃｋ  ｒｅｓｐｏｎｓｅ）コード（登録商標）内の情報で示したサイトから画像を取得する処理などを示すものであるとき、プラットフォームサービスＩＦ部２１０は、例えば、画像処理サービス２２１、デバイス操作サービス２２２及びネットワーク通信サービス２２３に対応した機能を呼び出す。
また、アプリｃが、例えばデジタルカメラ内の画像を表示し、任意に選択された画像を印刷する処理などを示すものであるとき、プラットフォームサービスＩＦ部２１０は、例えば、画像処理サービス２２１及びデバイス操作サービス２２２に対応した機能を呼び出す。
【００５３】
このように、本実施形態では、機器制御プラットフォーム２００によりオペレーティングシステム（汎用ＯＳ２３０）上でハードウェア資源が管理され、標準アプリケーション実行部（標準アプリ実行部１００）により機器制御プラットフォーム２００で管理されたハードウェア資源を利用する標準アプリケーション（標準アプリ１２０）が実行され、拡張アプリケーションプラットフォーム（拡張アプリプラットフォーム３００）に含まれる拡張アプリケーション管理部（拡張アプリ管理部３４０）により、標準アプリケーション実行部（標準アプリ実行部１００）により実行される標準アプリケーション（標準アプリ１２０）の機能を利用させる標準機能サービス、ハードウェア資源を利用させる拡張機能サービス、及び標準機能サービス並びに拡張機能サービスをそれぞれ呼び出し可能な拡張アプリケーション（拡張アプリ４００）が管理されて実行され、インストールサービス３３０により、標準ファームウェアの構成を変更せずに、標準機能サービス３１０では提供していない機能に対応したインターフェイスが拡張機能サービス３２０に追加され、拡張アプリケーションプラットフォーム（拡張アプリプラットフォーム３００）から利用され、外部機器３０又は該外部機器３０に対応したデバイスドライバー３５０を記憶している第１の外部記憶媒体又は該外部機器３０の動作モードに対応した動作モード対応アプリケーションを記憶している第２の外部記憶媒体が接続される外部機器接続部２０により、外部機器３０の機種及び動作モードの判断と、第１の外部記憶媒体及び第２の外部記憶媒体のアプリケーションの内容の判断とが行われるようにした。
【００５４】
そして、インストールサービス３３０により、外部機器接続部２０によるプラグアンドプレイ機能による判断に基づき、第１の外部記憶媒体に記憶されているデバイスドライバー３５０と、第２の外部記憶媒体に記憶されている動作モード対応アプリケーションとがインストールされ、拡張機能サービス３２０により、外部機器３０の動作モードに対応する動作モード対応アプリケーションが実行される。
ここで、第１の外部記憶媒体とは、デバイスドライバー３５０を記憶しているＵＳＢメモリー３１である。また、第２の外部記憶媒体とは、上述したアプリａ〜ｃを記憶しているＵＳＢメモリー３１である。動作モード対応アプリケーションとは、アプリａ〜ｃである。
なお、アプリａ〜ｃのそれぞれは、個別にＵＳＢメモリー３１に記憶されていてもよいし、同一のＵＳＢメモリー３１に記憶されていてもよい。
また、アプリａ〜ｃやデバイスドライバー３５０は、ＵＳＢメモリー３１に限らず、メモリカード等の他の外部記憶媒体に記憶されていてもよい。さらには、アプリａ〜ｃやデバイスドライバー３５０は、携帯端末やパーソナルコンピュータ等の端末から画像形成装置１に送信されるようにしてもよい。
このように、インストールサービス３３０により、外部機器接続部２０によるプラグアンドプレイ機能による判断に基づき、第１の外部記憶媒体（ＵＳＢメモリー３１）に記憶されているデバイスドライバー３５０と、第２の外部記憶媒体（ＵＳＢメモリー３１）に記憶されている動作モード対応アプリケーション（アプリａ〜ｃ）とがインストールされ、拡張機能サービス３２０により、外部機器３０の動作モードに対応する動作モード対応アプリケーション（アプリａ〜ｃ）が実行されるので、標準ファームウェアの構成を変更せずに、外部機器３０の動作モードに応じた処理を実行させることができる。
【００５５】
また、本実施形態では、既存の機器制御プラットフォーム２００を変更しないため、機能の追加による影響範囲が明確になり、追加の機能に絞ってデバッグやテスト等が可能になり、評価時間を短縮することができる。同様に、標準ファームウェアを変更せずに機能を追加することも可能となり、標準ファームウェア更新によるテスト等の費用等を削減できる。
つまり、追加される機能の開発を容易にし、開発効率を向上させ、開発期間を短縮させることが可能となり、開発コストを削減することができる。
また、機能を追加する度にファームウェア全体を更新する必要もなくなり、ユーザーの使い勝手を向上させることができる。
また、本実施形態では、標準アプリ実行部１００の外部から標準アプリ１２０の機能を利用するためのインターフェイスを提供する標準アプリサービスＩＦ部１１０を備えている。これにより、機器制御プラットフォーム２００の間で統一した形式のインターフェイスを提供することが容易となり、拡張アプリ４００を統一した開発環境で作成しやすくなり、開発コストを削減することができる。
また、機器制御プラットフォーム２００により利用されるハードウェア資源を容易に拡張アプリ４００から実行可能となる。このため、拡張アプリ４００の実行時のスピード等のパフォーマンスを向上させることができる。
【００５６】
なお、本実施形態での画像形成装置１の記憶部１９には、標準アプリ１２０や拡張アプリ４００とは異なる種類のアプリを記憶させることも可能である。たとえば、記憶部１９には、拡張アプリ４００以外のＷｅｂアプリ等（以下「外部アプリ」という。）や、ユーザーのデータ等を記憶させてもよい。外部アプリは画像形成装置１の操作パネル部１６のユーザーの指示で呼び出して、画像形成装置１に読み込んで実行させてもよい。
このように構成することで、拡張アプリプラットフォーム３００のアプリと標準アプリ１２０とを柔軟に使い分けでき、ユーザーの使い勝手をよくすることができる。
【符号の説明】
【００５７】
１  画像形成装置
１０  制御部
１１  画像処理部
１２  原稿読取部
１３  原稿給送部
１４  搬送部
１５  ネットワーク送受信部
１６  操作パネル部
１７  画像形成部
１８  ＦＡＸ送受信部
１９  記憶部
２０  外部機器接続部
３０  外部機器
３１  ＵＳＢメモリー
１００  標準アプリ実行部
１１０  標準アプリサービスＩＦ部
１２０  標準アプリ
１２１  コピーアプリ
１２２  プリンターアプリ
１２３  ＦＡＸアプリ
１２４  各種標準アプリ
２００  機器制御プラットフォーム
２１０  プラットフォームサービスＩＦ部
２２０  各部制御用サービス
２２１  画像処理サービス
２２２  デバイス操作サービス
２２３  ネットワーク通信サービス
２３０  汎用ＯＳ
３００  拡張アプリプラットフォーム
３１０  標準機能サービス
３２０  拡張機能サービス
３３０  インストールサービス
３４０  拡張アプリ管理部
３５０  デバイスドライバー
４００  拡張アプリ
ａ〜ｃ  アプリ
【図１】
2016012862.tif 000003
【図２】
2016012862.tif 000004
【図３】
2016012862.tif 000005
【図４】
2016012862.tif 000006