(57)【要約】【課題】画像形成装置を操作するためのアプリケーションを容易に開発する。【解決手段】画像形成装置に対する画像処理の指示を受け付けるアプリケーションと、前記画像形成装置に前記画像処理の実行を指示する印刷フレームワークと、前記アプリケーションから呼び出されると、前記印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる機能提供アプリケーションと、を有することを特徴とする。【選択図】図７
2020095674.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置に対する画像処理の指示を受け付けるアプリケーションと、
前記画像形成装置に前記画像処理の実行を指示する印刷フレームワークと、
前記アプリケーションから呼び出されると、前記印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる機能提供アプリケーションと
を有する情報処理装置。
【請求項２】
前記機能提供アプリケーションは、複数の印刷フレームワークのうちの選択された１つの印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる、請求項１に記載の情報処理装置。
【請求項３】
前記機能提供アプリケーションは、前記画像形成装置から前記画像処理のジョブの状態を示す情報を取得して、前記取得した前記画像処理のジョブの状態を示す情報を前記アプリケーションへ通知する、請求項１または２に記載の情報処理装置。
【請求項４】
前記画像形成装置は、前記アプリケーションから呼び出されると前記画像形成装置に画像処理の実行を指示する機能提供アプリケーションを有し、
前記情報処理装置の機能提供アプリケーションと前記画像形成装置の機能提供アプリケーションは、ＵＩ層、ロジック層、ＡＰＩ層を有し、
前記ＵＩ層は、前記情報処理装置の機能提供アプリケーションと前記画像形成装置の機能提供アプリケーションとの間で同一であり、
前記ロジック層および前記ＡＰＩ層は、前記情報処理装置の機能提供アプリケーションと前記画像形成装置の機能提供アプリケーションとの間で異なる、請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
前記情報処理装置は、前記画像形成装置の利用者が所持する携帯端末であり、
前記機能提供アプリケーションは、
前記携帯端末上で、前記アプリケーションを介してユーザの指示を受け付け、
前記指示を前記印刷フレームワークに渡すことで、前記画像処理の実行の指示を前記画像形成装置に送信する、請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記情報処理装置が１以上の印刷フレームワークを有し、
前記情報処理装置の前記アプリケーションが前記機能提供アプリケーションを介して前記画像処理の実行の指示を行う場合、前記情報処理装置は、前記印刷フレームワークの選択を受け付ける選択画面を表示する、請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
前記印刷フレームワークの選択を受け付ける前記選択画面において、１つの印刷フレームワークが選択された場合、選択された前記印刷フレームワークは、前記画像処理の実行を要求する先の画像形成装置の選択を受け付ける選択画面を表示する、請求項６に記載の情報処理装置。
【請求項８】
アプリケーションが、画像形成装置に対する画像処理の指示を受け付けるステップと、
機能提供アプリケーションが、前記アプリケーションから呼び出されると、印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせるステップと、
前記印刷フレームワークが、前記画像形成装置に前記画像処理の実行を指示するステップと
を含む方法。
【請求項９】
画像形成装置に対する画像処理の指示を受け付けるアプリケーションから呼び出されると、前記画像形成装置に前記画像処理の実行を指示する印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる、プログラムであって、
前記アプリケーションが表示するユーザインタフェースを提供する、プログラム。
【請求項１０】
画像形成装置と情報処理装置とを含む画像形成システムであって、
前記情報処理装置は、
前記画像形成装置に対する画像処理の指示を受け付けるアプリケーションと、
前記画像形成装置に前記画像処理の実行を指示する印刷フレームワークと
前記アプリケーションから呼び出されると、前記印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる機能提供アプリケーションとを有する、画像形成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、プログラム、画像形成システムに関する。
【背景技術】
【０００２】
従来、複合機（ＭＦＰ：Multifunction Peripheral）等の画像形成装置において、印刷やスキャン等の各種画像処理機能を実現するアプリケーションプログラム（以下、アプリケーションともいう）が開発されている。
【０００３】
画像形成装置では、画像処理に関するＵＩ（ユーザインターフェース）を提供するアプリケーションをサードベンダ等が開発するためのＡＰＩ群を備えたアプリケーション（ミドルウェアとも呼ばれる）を有している（例えば、特許文献１）。サードベンダ等は、ミドルウェアのＡＰＩ群を利用することで、画像処理に関するＵＩを提供するアプリケーションを容易に開発することができるようになる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画像形成装置向けのミドルウェアは、画像形成装置のプラットフォームでしか動作することができず、他のプラットフォーム（例えば、スマートデバイス等の情報処理装置）には展開されていなかった。
【０００５】
そのため、情報処理装置向けのアプリケーションの開発者は、情報処理装置が画像形成装置に印刷やスキャン等のジョブの指示を行うためのアプリケーションを作成したりカスタマイズしたりすることが困難であった。
【０００６】
そこで、本発明の一実施形態では、画像形成装置を操作するためのアプリケーションを容易に開発することを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明の一実施形態では、画像形成装置に対する画像処理の指示を受け付けるアプリケーションと、前記画像形成装置に前記画像処理の実行を指示する印刷フレームワークと、前記アプリケーションから呼び出されると、前記印刷フレームワークに対して、前記画像形成装置への前記画像処理の実行の指示を行わせる機能提供アプリケーションと、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、画像形成装置を操作するためのアプリケーションを容易に開発することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る画像形成システムの全体構成の一例を示す図である。
【図２】本実施形態に係る画像形成装置のハードウェア構成の一例を示す図である。
【図３】本実施形態に係る画像形成装置の操作装置及び本体装置に含まれるソフトウェア群の階層構造の一例を示す図である。
【図４】本実施形態に係る画像形成装置に設けられているソフトウェアの一例を示す図である。
【図５】本実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。
【図６】本実施形態に係る情報処理装置及び画像形成装置に設けられているソフトウェアの一例を示す図である。
【図７】本実施形態に係る機能提供アプリケーションの機能ブロックの一例を示す図である。
【図８】本実施形態に係る画像処理の一例を示すシーケンス図である。
【図９】本実施形態に係る印刷設定を行うための設定画面の一例を示す図である。
【図１０】本実施形態に係る画像形成装置の選択を行うための画面の一例を示す図である。
【図１１】本実施形態に係る印刷設定を行うための設定画面の一例を示す図である。
【図１２】本実施形態に係る画像処理の一例を示すシーケンス図である。
【図１３】本実施形態に係る印刷フレームワークの選択を行うための画面の一例を示す図である。
【図１４】本実施形態に係る画像処理の一例を示すシーケンス図である。
【図１５】本実施形態に係るエラー画面の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００１１】
＜全体構成例＞
図１は、本実施形態に係る画像形成システム１の全体構成の一例を示す図である。図１に示すように、本発明の一実施形態に係る画像形成システム１には、１以上の画像形成装置１０と、１以上の情報処理装置２０とが含まれる。また、画像形成装置１０と情報処理装置２０とは、任意のネットワーク３０を介して通信可能に接続されうる。
【００１２】
画像形成装置１０は、複合機等の電子機器である。なお、画像形成装置１０は、複合機に限られず、例えば、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）、デジタルサイネージ等の出力装置、ＨＵＤ（Head Up Display）装置、産業機械、製造装置、撮像装置、集音装置、医療機器、ネットワーク家電、ノートＰＣ（Personal Computer）、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣまたはデスクトップＰＣ等であってもよい。
【００１３】
情報処理装置２０は、ＰＣ（パーソナルコンピュータ）やスマートフォン、タブレット端末等である。後述するように、情報処理装置２０は、画像形成装置１０に印刷やスキャン等のジョブの指示を行う際に用いられる。例えば、情報処理装置２０は、画像形成装置１０の利用者が所持する携帯端末である。
【００１４】
なお、図１に示す画像形成システム１の構成は一例であって、他の構成であってもよい。
【００１５】
＜画像形成装置１０のハードウェア構成例＞
図２は、本実施形態に係る画像形成装置１０のハードウェア構成の一例を示す図である。図２に示すように、本発明の一実施形態に係る画像形成装置１０は、操作装置１１と、本体装置１２とを有している。
【００１６】
操作装置１１は、本体装置１２に実行させる画像処理機能の選択、画像処理機能を実行させるための各種設定値の入力、画像処理機能の実行を開始させるための実行指示の入力、表示画面の切り替え等、ユーザが各種操作を行う際に用いられる。
【００１７】
本体装置１２は、操作装置１１におけるユーザの各種操作に応じて、画像処理機能の実行等の各種の処理を実行する。
【００１８】
図２に示すように、画像形成装置１０の操作装置１１は、ＣＰＵ（Central Processing Unit）１１１と、ＲＯＭ（Read Only Memory）１１２と、ＲＡＭ（Random Access Memory）１１３とを有している。また、操作装置１１は、フラッシュメモリ１１４と、操作パネル１１５と、接続Ｉ／Ｆ１１６と、通信Ｉ／Ｆ１１７とを有している。これら各ハードウェアは、バス１１８を介して相互に接続されている。
【００１９】
ＣＰＵ１１１は、ＲＡＭ１１３をワークエリアとしてＲＯＭ１１２又はフラッシュメモリ１１４に記憶された各種プログラムを実行することで、操作装置１１全体を制御する演算装置である。
【００２０】
ＲＯＭ１１２は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＡＭ１１３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２１】
フラッシュメモリ１１４は、不揮発性の記憶装置であり、ＣＰＵ１１１が実行する各種プログラム（例えば、本実施形態を実現するプログラム等）や各種データを記憶する。
【００２２】
操作パネル１１５は、ユーザが各種操作を行う際に用いられる。また、操作パネル１１５は、ユーザに対して各種画面等を表示する。
【００２３】
接続Ｉ／Ｆ１１６は、通信路１３を介して本体装置１２と通信するためのインタフェースである。接続Ｉ／Ｆ１１６には、例えばＵＳＢ（Universal Serial Bus）規格のインタフェースが用いられる。
【００２４】
通信Ｉ／Ｆ１１７は、他の機器等と通信するためのインタフェースである。通信Ｉ／Ｆ１１７には、例えば、Ｗｉ−Ｆｉ規格の無線ＬＡＮ（Local Area Network）等が用いられる。
【００２５】
同様に、画像形成装置１０の本体装置１２は、ＣＰＵ１２１と、ＲＯＭ１２２と、ＲＡＭ１２３とを有している。また、本体装置１２は、ＨＤＤ（Hard Disk Drive）１２４と、画像処理エンジン１２５と、接続Ｉ／Ｆ１２６と、通信Ｉ／Ｆ１２７とを有している。これら各ハードウェアは、バス１２８を介して相互に接続されている。
【００２６】
ＣＰＵ１２１は、ＲＡＭ１２３をワークエリアとしてＲＯＭ１２２又はＨＤＤ１２４に記憶された各種プログラムを実行することで、本体装置１２全体を制御する演算装置である。
【００２７】
ＲＯＭ１２２は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＡＭ１２３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２８】
ＨＤＤ１２４は、不揮発性の記憶装置であり、ＣＰＵ１２１が実行する各種プログラム（例えば、本実施形態を実現するプログラム等）や各種データを記憶する。
【００２９】
画像処理エンジン１２５は、印刷機能、スキャン機能、コピー機能、及びＦＡＸ機能等の各種の画像処理機能を実現するための画像処理を行うハードウェアである。
【００３０】
画像処理エンジン１２５には、例えば、用紙等のシート材への印刷を行うプロッタ、原稿を光学的に読み取って画像データを生成するスキャナ、及びＦＡＸ通信を行うＦＡＸ通信装置等が含まれる。また、画像処理エンジン１２５には、例えば、印刷済みのシート材を仕分けるフィニッシャや原稿を自動給送するＡＤＦ（自動原稿給送装置）等が含まれていてもよい。
【００３１】
接続Ｉ／Ｆ１２６は、通信路１３を介して操作装置１１と通信するためのインタフェースである。接続Ｉ／Ｆ１２６には、例えば、ＵＳＢ規格のインタフェースが用いられる。
【００３２】
通信Ｉ／Ｆ１２７は、他の機器等と通信するためのインタフェースである。通信Ｉ／Ｆ１２７には、例えば、Ｗｉ−Ｆｉ規格の無線ＬＡＮ等が用いられる。
【００３３】
本実施形態に係る画像形成装置１０は、図２に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。
【００３４】
なお、図２では、画像形成装置１０が操作装置１１を有している構成を一例として示したが、これに限られず、後述するように、タブレット端末、スマートフォン、携帯電話、ＰＤＡ等の情報処理装置２０が画像形成装置１０の操作装置として機能することができる。すなわち、これらの情報処理装置２０は、操作装置１１の通信Ｉ／Ｆ１１７又は本体装置１２の通信Ｉ／Ｆ１２７を介して画像形成装置１０と通信することにより、当該画像形成装置１０を制御することができる。
【００３５】
＜画像形成装置１０のソフトウェア群の階層構造＞
図３は、本実施形態に係る画像形成装置１０の操作装置１１及び本体装置１２に含まれるソフトウェア群の階層構造の一例を示す図である。
【００３６】
図３は、操作装置１１に含まれるソフトウェア群の階層構造と、本体装置１２に含まれるソフトウェア群の階層構造とを示している。
【００３７】
この図３に示すように、本体装置１２は、アプリケーション層１０１と、サービス層１０２と、ＯＳ層１０３とを有する。アプリケーション層１０１、サービス層１０２及びＯＳ層１０３の実体は、ＲＯＭ１２２又はＨＤＤ１２４等に格納されている各種ソフトウェアである。ＣＰＵ１２１が、これらのソフトウェアを実行することにより、各種の機能が提供される。 
【００３８】
アプリケーション層１０１のソフトウェアは、ハードウェア資源を動作させて所定の機能を提供するためのアプリケーションソフトウェア（以下の説明では、単に「アプリケーション」と称する場合がある）である。例えばアプリケーションとしては、コピー機能を提供するためのコピーアプリケーション、スキャナ機能を提供するためのスキャナアプリケーション、ファクシミリ機能を提供するためのＦＡＸアプリケーション、印刷機能を提供するためのプリンタアプリケーション等が挙げられる。 
【００３９】
サービス層１０２のソフトウェアは、アプリケーション層１０１とＯＳ層１０３との間に介在し、アプリケーションに対し、本体装置１２が備えるハードウェア資源を利用するためのインタフェースを提供するソフトウェアである。具体的には、ハードウェア資源に対する動作要求の受け付け、動作要求の調停を行う機能を提供するためのソフトウェアである。サービス層１０２が受け付ける動作要求は、例えばスキャナによる読み取り又はプロッタによる印刷等の要求である。 
【００４０】
なお、サービス層１０２によるインタフェースの機能は、本体装置１２のアプリケーション層１０１だけではなく、操作装置１１のアプリケーション層２０１に対しても提供される。すなわち、操作装置１１のアプリケーション層２０１（アプリケーション）も、サービス層１０２のインタフェース機能を介して、本体装置１２のハードウェア資源（例えば画像処理エンジン１２５）を利用した機能を実現することができる。 
【００４１】
ＯＳ層１０３のソフトウェアは、本体装置１２が備えるハードウェアを制御する基本機能を提供するための基本ソフトウェア（オペレーティングシステム）である。サービス層１０２のソフトウェアは、各種アプリケーションからのハードウェア資源の利用要求を、ＯＳ層１０３が解釈可能なコマンドに変換してＯＳ層１０３に渡す。そして、ＯＳ層１０３のソフトウェアによりコマンドが実行されることで、ハードウェア資源は、アプリケーションの要求に従った動作を行う。 
【００４２】
同様に、操作装置１１は、アプリケーション層２０１と、ＯＳ層２０３とを有する。操作装置１１が備えるアプリケーション層２０１及びＯＳ層２０３も、階層構造については本体装置１２側と同様である。ただし、アプリケーション層２０１のアプリケーションにより提供される機能が受け付け可能な動作要求の種類は、本体装置１２側とは異なる。アプリケーション層２０１のアプリケーションは、操作装置１１が備えるハードウェア資源を動作させて所定の機能を提供するためのソフトウェアである。例えば、本体装置１２が備える機能（コピー機能、スキャナ機能、ファクシミリ機能、プリンタ機能）に関する操作及び表示を行うためのＵＩ（ユーザインタフェース）の機能を提供するためのソフトウェアである。 
【００４３】
また、本実施形態では、機能の独立性を保つために、本体装置１２側のＯＳ層１０３のソフトウェアと操作装置１１側のＯＳ層２０３のソフトウェアが互いに異なる。一例ではあるが、本体装置１２側のＯＳ層１０３のソフトウェアとしてＬｉｎｕｘ（登録商標）が設けられ、操作装置１１側のＯＳ層２０３のソフトウェアとしてＡｎｄｒｏｉｄ（登録商標）が設けられている。これにより、本体装置１２と操作装置１１は、別々のオペレーティングシステムで互いに独立して動作するようになっている。 
【００４４】
本体装置１２及び操作装置１１を、別々のオペレーティングシステムで動作させることで、本体装置１２と操作装置１１との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行われる。操作装置１１が受け付けた入力（ユーザからの指示内容）を本体装置１２へ伝達する動作（コマンド通信）及び本体装置１２が操作装置１１へイベントを通知する動作等がこれに該当する。ここでは、操作装置１１が本体装置１２へコマンド通信を行うことにより、本体装置１２の機能を使用することができる。また、本体装置１２から操作装置１１に通知するイベントには、本体装置１２における動作の実行状況、本体装置１２側で設定された内容等が挙げられる。
【００４５】
＜画像形成装置１０に設けられているソフトウェア＞
図４に、本実施形態に係る画像形成装置１０に設けられているソフトウェアの一例を示す。上述のように、本体装置１２は、アプリケーション層１０１、サービス層１０２及びＯＳ層１０３に分かれている。このうち、アプリケーション層１０１には、図２に示す画像処理エンジン１２５を制御して、原稿の読み取り制御又は印刷制御等を行うアプリケーションが記憶されている。具体的には、アプリケーション層１０１には、コピーアプリケーション１４１、スキャナアプリケーション１４２、プリンタアプリケーション１４３及びＦＡＸアプリケーション１４４が記憶されている。コピーアプリケーション１４１〜ＦＡＸアプリケーション１４４は、標準搭載のジョブ実行機能アプリケーションである。 
【００４６】
また、サービス層１０２には、省エネルギー管理プログラム（省エネ管理プログラム）１５１、メモリ管理プログラム１５２及びエンジン制御プログラム１５３等の、各アプリケーションが共通で行う処理に対応する各種プログラムが記憶されている。サービス層１０２は、省エネルギー管理及びメモリ管理等、各アプリケーションが共通で行う処理を行っている。
【００４７】
これに対して、操作装置１１は、アプリケーション層２０１及びＯＳ層２０３に分かれている。本体装置アプリケーションと操作装置アプリケーションの違いは、本体装置のアプリケーションでは画像処理エンジン制御等を行うことで、例えば読み取り及び印刷等の画像形成装置１０の機能を制御するのに対し、操作装置のアプリケーションではＵＩ制御を行っている。つまり、操作装置アプリケーションで画面表示を行うことでユーザの操作を受け付け、そのユーザ操作に基づいた画像処理エンジン制御を本体装置アプリケーションが行っている。
【００４８】
操作装置アプリケーションには、同じ機能を実現する複数のアプリケーションが存在することもある。これは機能が同じでもＵＩのデザイン（見た目）又は搭載した機能を変えている場合である。図４の例では、一例として操作装置１１に第１のコピー受付アプリケーション１３１と第２のコピー受付アプリケーション１３２が存在する。第２のコピー受付アプリケーション１３２は、第１のコピー受付アプリケーション１３１と比べて機能を少なくし、ＵＩの見た目を簡単にしたアプリケーションである。
【００４９】
この第１のコピー受付アプリケーション１３１と第２のコピー受付アプリケーション１３２の関係と同じように、例えばスキャナアプリケーション等に対して開発ベンダーが開発するベンダーアプリケーション１３７が存在する。また、ベンダーアプリケーション１３７の開発を簡単にするために、操作装置１１の第１のコピー受付アプリケーション１３１〜ＦＡＸ受付アプリケーション１３５と同等の機能をベンダー等に提供する機能提供アプリケーション１３６が設けられている。
【００５０】
すなわち、操作装置１１のアプリケーション層２０１には、ユーザインタフェースを介してユーザ操作を受け付けるアプリケーションが記憶されている。具体的には、アプリケーション層２０１には、ホームアプリケーション１３０、第１のコピー受付アプリケーション１３１、第２のコピー受付アプリケーション１３２、スキャナ受付アプリケーション１３３、プリンタ受付アプリケーション１３４、ＦＡＸ受付アプリケーション１３５、機能提供アプリケーション１３６及びベンダーアプリケーション１３７が記憶されている。機能提供アプリケーション１３６は、画像処理プログラムの一例である。また、機能提供アプリケーション１３６は、一例として操作装置１１のＲＯＭ１１２、ＲＡＭ１１３又はフラッシュメモリ１１４等の記憶部に記憶される。
【００５１】
ホームアプリケーション１３０は、所望の操作を指定するためのアイコン等が並べられたメイン画面（初期画面）を表示する。そして、ユーザによりアイコン操作を介して指定されたアプリケーションを起動する。第１のコピー受付アプリケーション１３１は、操作ボタン及び設定ボタンを介して、ユーザのコピー操作を受け付けるアプリケーションである。第２のコピー受付アプリケーション１３２は、主に使用頻度の高い操作ボタン及び設定ボタン等を表示することで、第１のコピー受付アプリケーション１３１よりも、表示する操作ボタン及び設定ボタンの数を減らし、視認性及び操作性の向上を図ったアプリケーションである。スキャナ受付アプリケーション１３３は、操作ボタン及び設定ボタン等を介して、ユーザのスキャナ操作を受け付けるアプリケーションである。プリンタ受付アプリケーション１３４は、操作ボタン及び設定ボタン等を介して、ユーザのスキャナ操作を受け付けるアプリケーションである。ＦＡＸ受付アプリケーション１３５は、操作ボタン及び設定ボタン等を介して、ユーザのファクシミリ送受信操作を受け付けるアプリケーションである。 
【００５２】
機能提供アプリケーション１３６は、上述のようにベンダーアプリケーション１３７の開発を容易化するために、操作装置１１の第１のコピー受付アプリケーション１３１〜ＦＡＸ受付アプリケーション１３５と同等の機能をベンダー等に提供する。
【００５３】
すなわち、機能提供アプリケーション１３６が例えばスキャナアプリケーション１４２に対応するアプリケーションの場合、通常の操作メニュー及び設定メニュー等のユーザインタフェースを表示する機能をベンダーに提供する。また、機能提供アプリケーション１３６が例えばプリンタアプリケーション１４３に対応するアプリケーションの場合、通常の操作メニュー及び設定メニュー等のユーザインタフェースを表示する機能をベンダーに提供する。 
【００５４】
このように画像形成装置１０の操作装置１１には、第１のコピー受付アプリケーション１３１〜ＦＡＸ受付アプリケーション１３５と同等の機能をベンダー等に提供するための機能提供アプリケーション１３６が設けられている。ベンダーアプリケーション１３７の開発ベンダーに対しては、機能提供アプリケーション１３６の機能を実現するＡＰＩ（Application  Programming  Interface）が公開されている。
【００５５】
＜情報処理装置２０のハードウェア構成例＞
図５は、本実施形態に係る情報処理装置２０のハードウェア構成の一例を示す図である。
【００５６】
図５に示すように、情報処理装置２０は、入力装置３１と、表示装置３２と、外部Ｉ／Ｆ３３と、ＲＡＭ３４と、ＲＯＭ３５と、ＣＰＵ３６と、通信Ｉ／Ｆ３７と、補助記憶装置３８とを有する。これら各ハードウェアは、それぞれがバス３９を介して通信可能に接続されている。
【００５７】
入力装置３１は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置３２は、例えばディスプレイ等であり、情報処理装置２０の処理結果を表示する。
【００５８】
外部Ｉ／Ｆ３３は、外部装置とのインタフェースである。外部装置には、記録媒体３３ａ等がある。情報処理装置２０は、外部Ｉ／Ｆ３３を介して、記録媒体３３ａ等の読み取りや書き込みを行うことができる。
【００５９】
記録媒体３３ａには、例えば、フレキシブルディスク、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（Secure Digital memory card）、ＵＳＢ（Universal Serial Bus）メモリカード等がある。
【００６０】
ＲＡＭ３４は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＲＯＭ３５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ＲＯＭ３５には、例えば、ＯＳ設定やネットワーク設定等が格納されている。
【００６１】
ＣＰＵ３６は、ＲＯＭ３５や補助記憶装置３８等からプログラムやデータをＲＡＭ３４上に読み出して処理を実行する演算装置である。
【００６２】
通信Ｉ／Ｆ３７は、情報処理装置２０をネットワーク３０に接続するためのインタフェースである。補助記憶装置３８は、例えばＨＤＤやＳＳＤ等であり、プログラムやデータを格納している不揮発性の記憶装置である。補助記憶装置３８に格納されているプログラムやデータには、例えば、ＯＳ、当該ＯＳ上において各種機能を実現するアプリケーションプログラム等がある。
【００６３】
＜情報処理装置２０及び画像形成装置１０に設けられているソフトウェア＞
図６は、本実施形態に係る情報処理装置２０及び画像形成装置１０に設けられているソフトウェアの一例を示す図である。本実施形態では、タブレット端末、スマートフォン、携帯電話、ＰＤＡ等の情報処理装置２０が画像形成装置１０の操作装置として機能することができる。すなわち、これらの情報処理装置２０は、操作装置１１の通信Ｉ／Ｆ１１７又は本体装置１２の通信Ｉ／Ｆ１２７を介して画像形成装置１０と通信することにより、当該画像形成装置１０を制御することができる。
【００６４】
上述のように、画像形成装置１０の操作装置１１には、ベンダーアプリケーション１３７及び機能提供アプリケーション１３６が記憶されている。
【００６５】
一方、情報処理装置２０には、画像形成装置１０のベンダーアプリケーションと同一のベンダーアプリケーション１３７が記憶されている。このように、本実施形態では、操作装置１１と情報処理装置２０との間で共通のベンダーアプリケーション１３７によって、画像形成装置１０を操作することができるようになる。
【００６６】
また、情報処理装置２０には、ベンダーアプリケーション１３７の開発を容易化するための機能提供アプリケーション１７１が記憶されている。ベンダーアプリケーション１３７の開発ベンダーに対しては、機能提供アプリケーション１７１の機能を実現するＡＰＩ（Application  Programming  Interface）が公開されている。機能提供アプリケーション１７１、１３６は、ＵＩ（ユーザインターフェース）層、ジョブの実行などのロジックの構築をするロジック層、ＡＰＩ（Application  Programming  Interface）層を有しており、ＵＩ層は、複数種類の装置間（つまり、複数のＯＳの情報処理装置２０や画像形成装置１０）で同一であり、ロジック層およびＡＰＩ層は、複数種類の装置間（つまり、複数のＯＳの情報処理装置２０や画像形成装置１０）で異なる。すなわち、ＵＩ層により複数種類の装置の間で同様のＵＩの画面を提供しながら、ロジック層およびＡＰＩ層によってそれぞれの装置で内部的には異なる処理を実行して画像処理の指示等を行うため、ユーザへの操作感を共通にさせることができる。具体的には、異なるＯＳの情報処理装置２０から画像形成装置１０へのそれぞれの画像処理の指示、および、画像形成装置１０の操作装置１１から本体装置１２への画像処理の指示の際に、ユーザの操作感を共通化することができる。
【００６７】
また、情報処理装置２０には、基本ソフトウェア（オペレーティングシステム）１７２が記憶されている。
【００６８】
情報処理装置２０の機能提供アプリケーション１７１は、情報処理装置２０のＯＳ１７２（例えば、Ａｎｄｒｏｉｄ、ｉＯＳなど）ごとのアプリケーションであってもよいし、あるいは、マルチプラットフォーム対応（複数種類のＯＳ１７２に対応）であってもよい。
【００６９】
＜機能提供アプリケーション１７１の機能＞
図７は、本実施形態に係る機能提供アプリケーション１７１の機能ブロックの一例を示す図である。情報処理装置２０のＣＰＵ３６は、例えばＲＯＭ３５、ＲＡＭ３４又は補助記憶装置３８等の記憶部に記憶されている機能提供アプリケーション１７１を実行することで、図７に示す受信部１６１、記憶制御部１６２、切り替え部１６３、送信部１６４、設定処理部１６５、及び、表示制御部１６６を実現する。 
【００７０】
受信部１６１は、ユーザが情報処理装置２０の入力装置を介して行った入力操作に対応するコマンドを受信し、また、本体装置１２に対して実行要求することで得られた実行結果を受信する。
【００７１】
記憶制御部１６２は、画面表示要求のあったアプリケーションに対応する情報を、例えばＲＯＭ３５、ＲＡＭ３４又は補助記憶装置３８等の記憶部から読み出し又は保存等を行う。
【００７２】
切り替え部１６３は、ユーザによる情報処理装置２０の入力装置の操作に応じて、情報処理装置２０の表示装置に表示する画面の切り替えを行う。
【００７３】
送信部１６４は、本体装置１２に所望の動作の実行要求等を送信する。
【００７４】
設定処理部１６５は、設定画面を介してユーザにより設定された設定内容をベンダーアプリケーション１３７に通知する等の設定処理を行う。
【００７５】
表示制御部１６６は、情報処理装置２０の表示装置に対してメイン画面又は設定画面等の表示制御を行う。 
【００７６】
なお、この例では、受信部１６１〜表示制御部１６６をソフトウェアで実現することとしたが、受信部１６１〜表示制御部１６６のうち、一部又は全部を、ＩＣ（Integrated  Circuit）等のハードウェアで実現してもよい。 
【００７７】
また、機能提供アプリケーション１７１は、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）、ブルーレイディスク（登録商標）、半導体メモリ等のコンピュータ装置で読み取り可能な記録媒体に記録して提供してもよい。また、機能提供アプリケーション１７１は、インターネット等のネットワーク経由でインストールするかたちで提供してもよい。また、機能提供アプリケーション１７１は、機器内のＲＯＭ等に予め組み込んで提供してもよい。
【００７８】
＜処理の詳細＞
次に、機能提供アプリケーション１７１の動作を説明する。
【００７９】
＜第１の処理例＞
図８は、本実施形態に係る画像処理（例えば、印刷）の一例を示すシーケンス図である。図８は、ベンダーアプリケーション１３７で印刷を実行する場合における、情報処理装置２０の機能提供アプリケーション１７１の動作の流れを示すシーケンス図である。
【００８０】
ステップＳ１において、ベンダーアプリケーション１３７が起動する。ベンダーアプリケーション１３７は、画像形成装置１０に対する画像処理の指示を受け付けるためのアプリケーションである。ユーザは、情報処理装置２０の表示装置に表示されるベンダーアプリケーション１３７の起動を指示するためのアイコンを操作する。ベンダーアプリケーション１３７の起動を指示する指示信号がベンダーアプリケーション１３７に送信される。これにより、ベンダーアプリケーション１３７は、メイン画面を情報処理装置２０の表示装置に表示する。 
【００８１】
印刷設定を行う場合、ユーザは、メイン画面に表示されている印刷設定ボタンを操作する。これにより、ベンダーアプリケーション１３７に対して、印刷設定ボタンが操作されたことを示す信号が供給される。
【００８２】
ステップＳ２において、ベンダーアプリケーション１３７は、印刷設定ボタンが操作されたことを示す信号を受信すると、機能提供アプリケーション１７１に対して、印刷設定ＡＰＩの呼び出しを行う。
【００８３】
ステップＳ３において、機能提供アプリケーション１７１の設定処理部１６５は、印刷設定を行うための設定画面を生成する。機能提供アプリケーション１７１の表示制御部１６６は、生成された設定画面を、情報処理装置２０の表示装置に表示する。図９は、印刷設定を行うための設定画面の一例を示す図である。図９に例示するように、設定処理部１６５は、印刷に関する各種設定項目に対応するアイコン、及び、設定が完了した際に操作する設定完了ボタンを含めた設定画面を生成する。
【００８４】
ステップＳ４において、このような設定画面に表示されている各種設定項目に対応するアイコンのうち、所望の設定項目に対応するアイコンがユーザにより操作された場合、ユーザに操作された設定項目を示す信号が、機能提供アプリケーション１７１に供給される。機能提供アプリケーション１７１は、受信部１６１により、ユーザに操作された設定項目を示す信号を受信する。
【００８５】
ステップＳ５において、機能提供アプリケーション１７１は、切り替え部１６３により、ユーザに操作された設定項目の設定画面に、画面の切り替えを行う。そして、機能提供アプリケーション１７１は、表示制御部１６６により、切り替えた設定画面を情報処理装置２０の表示装置に表示する。このように、本実施形態では、印刷設定トップ画面及び印刷設定トップ画面から遷移する詳細な設定画面等は、全て機能提供アプリケーション１７１で実現されている。なお、印刷設定トップ画面及び印刷設定トップ画面から遷移する詳細な設定画面等の一部が、ベンダーアプリケーション１３７で実現されるようにしてもよい。
【００８６】
ステップＳ６において、機能提供アプリケーション１７１の受信部１６１は、設定完了ボタンが操作されたことを示す信号と共に、ユーザにより設定された設定内容を示す設定内容情報を受信する。
【００８７】
ステップＳ７において、機能提供アプリケーション１７１の送信部１６４は、受信した設定内容情報を、ベンダーアプリケーション１３７に送信する。ベンダーアプリケーション１３７は、受信した設定内容情報で、上述のＲＯＭ３５、ＲＡＭ３４又は補助記憶装置３８等の記憶部に記憶されている設定内容情報を更新する。
【００８８】
ステップＳ８において、ベンダーアプリケーション１３７は、設定内容情報を記憶すると、メイン画面を情報処理装置２０の表示装置に表示する。
【００８９】
ステップＳ９において、印刷を実行する場合、ユーザは、メイン画面に表示されている印刷実行ボタンを操作する。これにより、ベンダーアプリケーション１３７に対して、印刷実行ボタンが操作されたことを示す信号が供給される。
【００９０】
ステップＳ１０において、ベンダーアプリケーション１３７は、印刷実行ボタンが操作されたことを示す信号を受信すると、機能提供アプリケーション１７１に対して、印刷実行ＡＰＩの呼び出しを行う。また、ベンダーアプリケーション１３７は、上述の設定内容情報を記憶部から読み出して、機能提供アプリケーション１７１に送信する。
【００９１】
ステップＳ１１において、機能提供アプリケーション１７１の送信部１６４は、情報処理装置２０の印刷フレームワーク１７３を起動する。印刷フレームワーク１７３は、例えばGoogle Cloud Print、Air Print、Mopria等、情報処理装置２０から印刷の実行を指示するプログラムである。
【００９２】
印刷フレームワーク１７３は、情報処理装置２０のＯＳ１７２等にプラグインされるプラグインモジュールのプログラムを用いて提供されてもよい。プラグインモジュールは、印刷フレームワーク１７３の規格毎に、情報処理装置２０に提供される。情報処理装置２０の有する各アプリケーション、例えばファイル閲覧アプリ、ファイル編集アプリ、ブラウザアプリ、メールアプリ、ＳＮＳアプリ等は、プラグインモジュールを介して、規格に対応した画像形成装置１０に対して、直接の通信、または、インターネットを経由して画像処理（スキャン・コピー・プリント等）の指示を行うことが可能である。印刷フレームワーク１７３のプラグインモジュールは、異なる規格毎に複数、情報処理装置２０に有されてもよい。プラグインモジュールは、個別のアプリケーションとして各規格のＷｅｂサイト等から入手する、または、情報処理装置２０のＯＳ１７２のアップデート時にＯＳのモジュールとして含まれる、などによって情報処理装置２０に提供され、情報処理装置２０のアプリケーションから利用可能な状態となる。なお、１以上の印刷フレームワーク１７３が情報処理装置２０のＯＳ１７２にプラグインもしくは登録されている場合は、ＯＳ１７２は印刷フレームワーク１７３の名称や識別情報を記憶・管理するため、アプリケーション等から印刷フレームワーク１７３の呼び出しがあった場合にＯＳ１７２は印刷フレームワーク１７３の名称等を一覧表示することができる。なお、表現として、ＯＳ１７２は１つの印刷フレームワークを有し、その印刷フレームワークの中に複数の規格毎のプラグインモジュールを有すると言うこともできる。
【００９３】
さらに、印刷フレームワーク１７３は情報処理装置２０に追加せずに、インターネット上のＷｅｂアプリケーションとして規格毎に複数提供してもよい。この場合、情報処理装置２０は、情報処理装置２０の有するＷｅｂブラウザやＷｅｂ連携アプリケーションを用いて、インターネット経由で、Ｗｅｂアプリケーション（印刷フレームワーク）を介し、Ｗｅｂアプリケーション等に事前登録した画像形成装置１０と規格に対応する画像形成装置１０との少なくとも一方に対して、画像処理の指示を行うことが可能である。
【００９４】
ステップＳ１２において、印刷フレームワーク１７３、または、印刷フレームワーク１７３のプラグインを有する情報処理装置２０のＯＳ１７２は、複合機等の画像形成装置１０の選択を行うための画面を生成する。印刷フレームワーク１７３は、生成された画面を、情報処理装置２０の表示装置に表示する。図１０は、画像形成装置１０の選択を行うための画面の一例を示す図である。ユーザは、このような画面で実際に印刷する複合機を選択し、選択ボタンを押下すると、選択された複合機に対して印刷要求が出される。ユーザが印刷フレームワーク１７３の初期設定で複合機を登録しておくことで、登録済みの複合機のリストが図１０の画面に表示される。もしくは、Ｓ１１で、印刷フレームワーク１７３を起動するとともに、情報処理装置２０が無線通信でＷｉＦｉ等のネットワークに接続している画像形成装置１０を検索し、検索の結果検出した画像形成装置１０（複合機）を、図１０のように一覧表示してもよい。
【００９５】
なお、図１０のような印刷フレームワーク１７３の画面が表示される前に、機能提供アプリケーション１７１が図１１のような画面を表示するようにしてもよい。図１１では、印刷設定画面が表示され、ユーザが自由に設定変更をすることができる。設定変更後、スタートボタンを押下することによって、図１０の複合機選択画面が表示される。図１１のような画面を表示する／しないは、ベンダーアプリケーション１３７が機能提供アプリケーション１７１を呼び出す際にパラメータで指定することができる。
【００９６】
ステップＳ１３において、印刷フレームワーク１７３は、設定内容情報及び印刷実行要求を、画像形成装置１０の本体装置１２に送信する。
【００９７】
ステップＳ１４において、本体装置１２は、設定内容情報に基づいて、画像処理エンジン１２５の印刷機能を制御する。これにより、実体的な印刷動作が実行される。
【００９８】
なお、ユーザにより情報処理装置２０の入力装置を介して入力された設定内容情報を、機能提供アプリケーション１７１の記憶制御部１６２が、上述の記憶部に記憶し、ベンダーアプリケーション１３７から印刷実行ＡＰＩの呼び出しが行われた際に、機能提供アプリケーション１７１の記憶制御部１６２が、記憶部から設定内容情報を読み出して、本体装置１２に送信してもよい。 
【００９９】
このように、機能提供アプリケーション１７１は、情報処理装置２０上でベンダーアプリケーション１３７を介してユーザの指示を受け付け、その指示を印刷フレームワーク１７３に渡すことで画像処理の実行の指示を画像形成装置１０に送信することができる。
【０１００】
＜第２の処理例＞
図１２は、本実施形態に係る画像処理の一例を示すシーケンス図である。図１２は、＜第１の処理例＞において複数の印刷フレームワークがある場合である。以下、＜第１の処理例＞と異なる点を説明する。
【０１０１】
ステップＳ１からステップＳ１０までは、＜第１の処理例＞と同様である。
【０１０２】
ステップＳ１１において、機能提供アプリケーション１７１の送信部１６４は、情報処理装置２０のＯＳ１７２に対して、印刷フレームワーク１７３を起動するよう指示をする。印刷フレームワーク１７３は、上述したように、例えばGoogle Cloud Print、Air Print、Mopria等、情報処理装置２０から印刷の実行を指示するプログラムである。
【０１０３】
ステップＳ１２において、ＯＳ１７２は、印刷フレームワークの選択を行うための画面を生成する。ＯＳ１７２は、生成された画面を、情報処理装置２０の表示装置に表示する。図１３は、印刷フレームワークの選択を行うための画面の一例を示す図である。ユーザは、このような画面で実際に利用する印刷フレームワークを選択し、選択ボタンを押下すると、選択された印刷フレームワークが起動される。
【０１０４】
つまり、情報処理装置２０が１以上の印刷フレームワーク１７３を有しており、情報処理装置２０のアプリケーション１３７が機能提供アプリケーション１７１を介して画像処理の実行の指示を行う場合、情報処理装置２０は、印刷フレームワーク１７３の選択を受け付けるための図１３のような選択画面を表示することができる。
【０１０５】
なお、機能提供アプリケーション１７１が、複数の印刷フレームワークのうちの予め指定された１つの印刷フレームワークを起動するようにしてもよい。
【０１０６】
ステップＳ１３において、ＯＳ１７２は、選択された印刷フレームワークを起動する。
【０１０７】
ステップＳ１４において、選択された印刷フレームワーク１７３は、複合機等の画像形成装置１０の選択を行うための画面を生成する。選択された印刷フレームワーク１７３は、生成された画面を、情報処理装置２０の表示装置に表示する。
【０１０８】
つまり、図１３のような印刷フレームワーク１７３の選択を受け付けるための選択画面において、１つの印刷フレームワークが選択された場合、選択された該印刷フレームワークは、画像処理の実行を要求する先の画像形成装置１０の選択を受け付けるための選択画面を表示することができる。
【０１０９】
ステップＳ１５において、選択された印刷フレームワーク１７３は、設定内容情報及び印刷実行要求を、画像形成装置１０の本体装置１２に送信する。
【０１１０】
ステップＳ１６において、本体装置１２は、設定内容情報に基づいて、画像処理エンジン１２５の印刷機能を制御する。これにより、実体的な印刷動作が実行される。
【０１１１】
＜第３の処理例＞
図１４は、本実施形態に係る画像処理の一例を示すシーケンス図である。図１４は、＜第１の処理例＞においてジョブ情報を取得する場合である。以下、＜第１の処理例＞と異なる点を説明する。なお、＜第２の処理例＞においてジョブ情報を取得するようにすることもできる。
【０１１２】
ステップＳ１からステップＳ１４までは、＜第１の処理例＞と同様である。
【０１１３】
ステップＳ１５において、機能提供アプリケーション１７１は、本体装置１２から画像処理（例えば、印刷）のジョブの状態を示す情報を取得する。例えば、ジョブの状態を示す情報は、ＭＩＢ（Management Information Base）等で取得される。
【０１１４】
ステップＳ１６において、ジョブの状態を示す情報としてエラーを取得した場合、機能提供アプリケーション１７１は、ベンダーアプリケーション１３７にエラーを通知する。
【０１１５】
ステップＳ１７において、ベンダーアプリケーション１３７は、図１５のようなエラー画面を、情報処理装置２０の表示装置に表示する。
【０１１６】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（Digital single processor）、ＦＰＧＡ（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【０１１７】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１８】
１        画像形成システム
１０      画像形成装置
２０      情報処理装置
３０      ネットワーク
１１      操作装置
１２      本体装置
１０１    アプリケーション層
１０２    サービス層
１０３    ＯＳ層
２０１    アプリケーション層
２０３    ＯＳ層
１３０    ホームアプリ
１３１    第１のコピー受付アプリ
１３２    第２のコピー受付アプリ
１３３    スキャナ受付アプリ
１３４    プリンタ受付アプリ
１３５    ＦＡＸ受付アプリ
１３６    機能提供アプリ
１３７    ベンダ―アプリ
１４１    コピーアプリ
１４２    スキャナアプリ
１４３    プリンタアプリ
１４４    ＦＡＸアプリ
１５１    省エネ管理
１５２    メモリ管理
１５３    エンジン制御
１６１    受信部
１６２    記憶制御部
１６３    切り替え部
１６４    送信部
１６５    設定処理部
１６６    表示制御部
１７１    機能提供アプリ
１７２    ＯＳ
１７３    印刷フレームワーク
【先行技術文献】
【特許文献】
【０１１９】
【特許文献１】特開２０１４−１５０３２０号公報
【図１】
2020095674.tif 000003
【図２】
2020095674.tif 000004
【図３】
2020095674.tif 000005
【図４】
2020095674.tif 000006
【図５】
2020095674.tif 000007
【図６】
2020095674.tif 000008
【図７】
2020095674.tif 000009
【図８】
2020095674.tif 000010
【図９】
2020095674.tif 000011
【図１０】
2020095674.tif 000012
【図１１】
2020095674.tif 000013
【図１２】
2020095674.tif 000014
【図１３】
2020095674.tif 000015
【図１４】
2020095674.tif 000016
【図１５】
2020095674.tif 000017