(57)【特許請求の範囲】
【請求項１】
画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、
前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、
画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段と
を有し、
前記第１アプリケーションは、当該画像処理装置にプリインストールされているアプリケーションである
画像処理装置。
【請求項２】
画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、
前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、
画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段と
を有し、
前記第２アプリケーションは、前記第１アプリケーションによって提供される機能を拡張するアプリケーションである
画像処理装置。
【請求項３】
前記第１処理は、画像データを解析することにより当該画像データの転送先を抽出する処理を含み、
前記第２処理は、画像データの転送処理を含み、
前記指示は、画像データの転送を含み、
前記依頼手段は、前記指示における画像データの転送先を、前記第１実行手段によって抽出された情報に応じて変更する
請求項１または２に記載の画像処理装置。
【請求項４】
前記第１処理は、指定された文字列を画像データの属性情報に設定する処理を含み、
前記第２処理は、画像データの転送処理を含み、
前記指示は、指定した画像データに対し前記属性情報の設定を行った後で、当該画像データの少なくとも一部を他の装置に転送する指示を含む
請求項１ないし３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１処理は、画像データの表す画像領域のうちの指定された領域に対して文字認識を行う処理と、指定された文字列を画像データの属性情報に設定する処理とを含み、
前記第２処理は、画像データの転送処理を含み、
前記指示は、指定した領域に対して文字認識を行って文字列を抽出し、指定した画像データに対し当該文字列を用いて前記属性情報の設定を行った後で、当該画像データの少なくとも一部を他の装置に転送する指示を含む
請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第１処理は、画像データを解析することにより当該画像データから予め定められた情報を抽出する処理を含み、
前記第２処理は、前記画像データが予め定められた条件を満たしているかを判定する処理を含み、
前記指示は、前記画像データを解析して抽出した情報が前記条件を満たしているかを判定する指示を含む
請求項１ないし５のいずれか１項に記載の画像処理装置。
【請求項７】
複数の画像処理装置と、
サーバ装置と
を有し、
前記複数の画像処理装置の各々は、
画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、
前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、
画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段と
を備え、
前記サーバ装置は、
前記第２処理と共通する処理を含む第３処理を行う処理手段と、
画像データに対して前記第３処理を行う旨の指示を他の装置から受信する受信手段と、
前記指示がされた前記第３処理の負荷が予め決められた基準より高い場合、当該第３処理の少なくとも一部を、前記複数の画像処理装置の少なくとも一部に割り当てる割り当て手段と、
前記割り当てられた処理の実行を指示する指示データを、前記複数の画像処理装置の少なくとも一部に送信する送信手段と
を備え、
前記第１アプリケーションは、当該画像処理装置にプリインストールされているアプリケーションである
システム。
【請求項８】
複数の画像処理装置と、
サーバ装置と
を有し、
前記複数の画像処理装置の各々は、
画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、
前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、
画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段と
を備え、
前記サーバ装置は、
前記第２処理と共通する処理を含む第３処理を行う処理手段と、
画像データに対して前記第３処理を行う旨の指示を他の装置から受信する受信手段と、
前記指示がされた前記第３処理の負荷が予め決められた基準より高い場合、当該第３処理の少なくとも一部を、前記複数の画像処理装置の少なくとも一部に割り当てる割り当て手段と、
前記割り当てられた処理の実行を指示する指示データを、前記複数の画像処理装置の少なくとも一部に送信する送信手段と
を備え、
前記第２アプリケーションは、前記第１アプリケーションによって提供される機能を拡張するアプリケーションである
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびシステムに関する。
【背景技術】
【０００２】
標準装備されているアプリケーションに加え、プラグインにより機能を追加できる画像形成装置が知られている。特許文献１には、画像形成に関する指示を示す指示書データにプラグインが実行する処理が含まれている場合、その指示書データからプラグインが実行する処理で用いられるパラメータを抽出してプラグインに渡すことが記載されている。プラグインはこのパラメータを用いて処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１３８２８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アプリケーションに実行させる処理を含む指示がなされた場合、その処理で用いるパラメータを抽出してアプリケーションに処理を依頼する構成では、予め指示された処理しか依頼を行うことができなかった。
本発明は、複数の処理を含む指示を受け付けた際、１の処理の処理結果をその後の処理内容へ反映させることを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決するため、本発明の請求項１に係る画像処理装置は、画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段とを有し、前記第１アプリケーションは、当該画像処理装置にプリインストールされているアプリケーションであることを特徴とする。
また、本発明の請求項２に係る画像処理装置は、画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段とを有し、前記第２アプリケーションは、前記第１アプリケーションによって提供される機能を拡張するアプリケーションであることを特徴とする。
【０００６】
本発明の請求項３に係る画像処理装置は、請求項１または２に記載の構成において、前記第１処理は、画像データを解析することにより当該画像データの転送先を抽出する処理を含み、前記第２処理は、画像データの転送処理を含み、前記指示は、画像データの転送を含み、前記依頼手段は、前記指示における画像データの転送先を、前記第１実行手段によって抽出された情報に応じて変更することを特徴とする。
【０００７】
本発明の請求項４に係る画像処理装置は、請求項１ないし３のいずれか１項に記載の構成において、前記第１処理は、指定された文字列を画像データの属性情報に設定する処理を含み、前記第２処理は、画像データの転送処理を含み、前記指示は、指定した画像データに対し前記属性情報の設定を行った後で、当該画像データの少なくとも一部を他の装置に転送する指示を含むことを特徴とする。
【０００８】
本発明の請求項５に係る画像処理装置は、請求項１ないし４のいずれか１項に記載の構成において、前記第１処理は、画像データの表す画像領域のうちの指定された領域に対して文字認識を行う処理と、指定された文字列を画像データの属性情報に設定する処理とを含み、前記第２処理は、画像データの転送処理を含み、前記指示は、指定した領域に対して文字認識を行って文字列を抽出し、指定した画像データに対し当該文字列を用いて前記属性情報の設定を行った後で、当該画像データの少なくとも一部を他の装置に転送する指示を含むことを特徴とする。
【０００９】
本発明の請求項６に係る画像処理装置は、請求項１ないし５のいずれか１項に記載の構成において、前記第１処理は、画像データを解析することにより当該画像データから予め定められた情報を抽出する処理を含み、前記第２処理は、前記画像データが予め定められた条件を満たしているかを判定する処理を含み、前記指示は、前記画像データを解析して抽出した情報が前記条件を満たしているかを判定する指示を含むことを特徴とする。
【００１２】
本発明の請求項７に係るシステムは、複数の画像処理装置と、サーバ装置とを有し、前記複数の画像処理装置の各々は、画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段とを備え、前記サーバ装置は、前記第２処理と共通する処理を含む第３処理を行う処理手段と、画像データに対して前記第３処理を行う旨の指示を他の装置から受信する受信手段と、前記指示がされた前記第３処理の負荷が予め決められた基準より高い場合、当該第３処理の少なくとも一部を、前記複数の画像処理装置の少なくとも一部に割り当てる割り当て手段と、前記割り当てられた処理の実行を指示する指示データを、前記複数の画像処理装置の少なくとも一部に送信する送信手段とを備え、前記第１アプリケーションは、当該画像処理装置にプリインストールされているアプリケーションであることを特徴とする。
また、本発明の請求項８に係るシステムは、複数の画像処理装置と、サーバ装置とを有し、前記複数の画像処理装置の各々は、画像処理を含む第１処理を行うための第１アプリケーションを実行する第１実行手段と、前記第１処理と異なる第２処理を行うための第２アプリケーションを実行する第２実行手段と、画像に対する前記第１処理の結果を用いる前記第２処理が前記第２アプリケーションに対して指示された場合、前記第１実行手段に当該第１処理を依頼し、当該第１処理の結果に応じて前記指示を変更し、前記変更した指示に従い前記第２実行手段に前記第２処理を依頼する依頼手段とを備え、前記サーバ装置は、前記第２処理と共通する処理を含む第３処理を行う処理手段と、画像データに対して前記第３処理を行う旨の指示を他の装置から受信する受信手段と、前記指示がされた前記第３処理の負荷が予め決められた基準より高い場合、当該第３処理の少なくとも一部を、前記複数の画像処理装置の少なくとも一部に割り当てる割り当て手段と、前記割り当てられた処理の実行を指示する指示データを、前記複数の画像処理装置の少なくとも一部に送信する送信手段とを備え、前記第２アプリケーションは、前記第１アプリケーションによって提供される機能を拡張するアプリケーションであることを特徴とする。
【発明の効果】
【００１３】
請求項１に係る発明によれば、複数の処理を含む指示を受け付けた際、１の処理の処理結果をその後の処理内容へ反映させることができるとともに、画像処理装置にプリインストールされているアプリケーションの機能を第２アプリケーションが利用することができる。
請求項２に係る発明によれば、複数の処理を含む指示を受け付けた際、１の処理の処理結果をその後の処理内容へ反映させることができるとともに、第１アプリケーションによって提供される機能を拡張するアプリケーションが第１アプリケーションの機能を利用することができる。
請求項３に係る発明によれば、画像データの転送先を変更することができる。
請求項４に係る発明によれば、画像処理装置において画像データに対して属性情報を設定することができる。
請求項５に係る発明によれば、画像処理装置において画像データに対して属性情報を設定することができる。
請求項６に係る発明によれば、画像処理装置において画像データが予め定められた条件を満たしているかを判定することができる。
請求項７に係る発明によれば、サーバ装置の処理負荷を分散させることができるとともに、画像処理装置にプリインストールされているアプリケーションの機能を第２アプリケーションが利用することができる。
請求項８に係る発明によれば、サーバ装置の処理負荷を分散させることができるとともに、第１アプリケーションによって提供される機能を拡張するアプリケーションが第１アプリケーションの機能を利用することができる。
【図面の簡単な説明】
【００１４】
【図１】システム１の構成を示す模式図。
【図２】システム１の機能構成を示す図。
【図３】画像形成装置２０のハードウェア構成を示す図。
【図４】サーバ装置１０のハードウェア構成を示す図。
【図５】画像形成装置２０のソフトウェア構成を示す図。
【図６】画像形成装置２０が行う処理の流れを示すフローチャート。
【図７】プラグイン転送処理の流れを示すフローチャート。
【図８】指示書データの一例を示す図。
【図９】プラグイン転送処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１５】
１．構成
図１は、本実施形態に係るシステム１の構成を示す模式図である。システム１は、サーバ装置１０と、複数の画像形成装置２０Ａ、２０Ｂ、２０Ｃとを備える。なお、画像形成装置２０Ａ、２０Ｂ、２０Ｃを区別する必要がない場合には、符号の末尾に付された「Ａ」、「Ｂ」、「Ｃ」という文字を省略して、「画像形成装置２０」という。サーバ装置１０は、いわゆるストレージサービスなどのサービスを提供する装置である。画像形成装置２０は、例えば電子写真方式のプリンタである。画像形成装置２０（画像処理装置の一例）は、スキャナ機能の他、コピー機能、プリント機能、ファクシミリ機能などの複数の機能を有していてもよい。通信回線２は、例えばインターネットや移動体通信網、電話回線などを含む。画像形成装置２０は通信回線２を介してサーバ装置１０と通信する。
【００１６】
図２は、システム１の機能構成を示す図である。複数の画像形成装置２０の各々は、第１実行手段２１と、第２実行手段２２と、依頼手段２３とを有する。第１実行手段２１は、画像処理を含む第１処理を行うための第１アプリケーションを実行する。第２実行手段２２は、第１処理と異なる第２処理を行うための第２アプリケーションを実行する。ここでいうアプリケーションとは、画像形成装置２０がユーザに提供するサービス及び機能を実現するためのＳＷモジュールのことをいう。サービス及び機能は、１つのアプリケーションによって実現されてもよいし、複数のアプリケーションの組み合わせによって実現されてもよい。アプリケーションには、例えば、スキャンなどの装置固有の機能を実現するＳＷモジュールの他、機能を追加するためにあとからインストールされるプラグインなどが含まれる。依頼手段２３は、画像に対する第１処理の結果を用いる第２処理が第２アプリケーションに対して指示された場合、第１実行手段２１に第１処理を依頼し、その第１処理の結果に応じて指示を変更し、変更した指示に従い第２実行手段２２に第２処理を依頼する。
【００１７】
サーバ装置１０は、処理手段１１と、受信手段１２と、割り当て手段１３と、送信手段１４とを有する。処理手段１１は、上記第２処理と共通する処理を含む第３処理を行う。受信手段１２は、画像データに対して第３処理を行う旨の指示を他の装置から受信する。割り当て手段１３は、指示がされた第３処理の負荷が予め定められた基準より高い場合、第３処理の少なくとも一部を、複数の画像形成装置２０の少なくとも一部に送信する。
【００１８】
図３は、画像形成装置２０のハードウェア構成を例示する図である。画像形成装置２０は、ＣＰＵ（Central Processing Unit）２０１と、ＲＯＭ（Read Only Memory）２０２と、ＲＡＭ（Random Access Memory）２０３と、ストレージ２０４と、画像読取部２０５と、ＵＩ（User Interface）部２０６と、画像形成部２０７と、通信ＩＦ２０８とを備えている。ＣＰＵ２０１は、画像形成装置２０の各部を制御する制御装置（プロセッサ）である。ＲＯＭ２０２は、プログラムおよびデータを記憶する不揮発性の記憶装置である。ＲＡＭ２０３は、ＣＰＵ２０１がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ２０４は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。画像読取部２０５は、例えばＣＣＤ（Charge Coupled Devices）方式を用いて、原稿に描かれた画像を読み取る画像読取処理を行う。画像読取部２０５は、用紙などの媒体に形成された画像を光学的に読み取って、読み取った画像を表す画像データをＣＰＵ２０１に供給する。ＵＩ部２０６は、例えばタッチスクリーンとキーとを備えている。ＵＩ部２０６は、画像形成装置２０を操作するために用いられる。画像形成部２０７は、画像データに応じた画像を用紙などの媒体に形成する。通信ＩＦ２０８は通信回線２を介した通信を行うためのインターフェースであり、この例では特に、サーバ装置１０と通信を行うためのインターフェースである。
【００１９】
この例で、ストレージ２０４（またはＲＯＭ２０２）に記憶されているプログラムをＣＰＵ２０１が実行することにより、図２に示される機能が実装される。プログラムを実行しているＣＰＵ２０１は、第１実行手段２１、第２実行手段２２、依頼手段２３の一例である。
【００２０】
図４は、サーバ装置１０のハードウェア構成を例示する図である。サーバ装置１０は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ストレージ１０４と、通信ＩＦ１０８とを備えている。ＣＰＵ１０１は、サーバ装置１０の各部を制御する制御装置（プロセッサ）である。ＲＯＭ１０２は、プログラムおよびデータを記憶する不揮発性の記憶装置である。ＲＡＭ１０３は、ＣＰＵ１０１がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ１０４は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。通信ＩＦ１０８は、通信回線２を介した通信を行うためのインターフェースであり、この例では特に、画像形成装置２０と通信を行うためのインターフェースである。
【００２１】
この例で、ストレージ１０４（またはＲＯＭ１０２）に記憶されているプログラムをＣＰＵ１０１が実行することにより、図２に示される機能が実装される。プログラムを実行しているＣＰＵ１０１は、処理手段１１、受信手段１２、割り当て手段１３および送信手段１４の一例である。
【００２２】
図５は、画像形成装置２０のソフトウェア構成および各ソフトウェアの機能ブロック構成を示した図である。図５に示す各部は、画像形成装置２０のＣＰＵ２０１がストレージ２０４（またはＲＯＭ２０２）に記憶されているコンピュータプログラムを読み出して実行することにより実現される。
【００２３】
システム制御部２５０は、画像形成装置２０のプラットフォームとして動作するソフトウェアである。なお、プラットフォームというのは、あるソフトウェアやハードウェアを動作させるための基盤となるハードウェアやオペレーティングシステム（ＯＳ）、ミドルウェアなどのことを言うが、本実施の形態におけるシステム制御部２５０には、このうちＯＳおよびミドルウェアなどのソフトウェアの基礎部分、更には画像形成装置２０の基本機能を実現するソフトウェアの一部が含まれている。この基本機能を実現する手段として、図５には、指示書データ生成部２５２、指示書データ解釈部２５４、処理制御部２５７および画像処理部２５８が示されている。指示書データ生成部２５２は、画像データなどのデータに対する一連の処理の内容が記述された指示書データ（指示データの一例）を生成し、指示書データ記憶部２４２に登録する。この指示書データは、例えばＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）等の汎用的な記述言語で記述されている。例えば第２アプリケーションに対する指示に画像データの転送が含まれている場合であれば、指示書データには、画像データなどのデータの転送先が含まれている、という具合である。指示書データ解釈部２５４は、指示書データの記述内容を解釈する。
【００２４】
処理制御部２５７は、各構成要素と連携して、システム制御部２５０における処理全体の実行制御を行う。本実施の形態における処理制御部２５７は、指示書データに記述された処理の記述内容に従い実行すべき処理がプラグインアプリケーション（以下、単に「プラグイン」）２７０（第２アプリケーションの一例）の実行を伴う場合に、当該プラグイン２７０の実行に用いるパラメータを含む指示情報を転送処理部２６０に送ることで当該プラグイン２７０の実行を指示する。画像処理部２５８（第１アプリケーションの一例）は、例えば、白紙ページの検出処理や、ＱＲコード（登録商標）のデコード処理などの画像解析処理などの、各種の画像処理を行う。また、画像処理部２５８は、ファイルに属性情報を付与する処理を行う。
【００２５】
システム制御部２５０に含まれる各構成要素は、画像形成装置２０に装備されたコンピュータとの協調動作により機能が発揮される。また、指示書データ記憶部２４２はストレージ２０４にて実現することを想定している。あるいは、ＲＡＭ２０３にて実現してもよい。
【００２６】
転送処理部２６０は、画像形成装置２０の転送機能に関する制御部であり、システム制御部２５０と連携して実行される。転送処理部２６０は、転送アプリケーションとしてＦＴＰ（File Transfer Protocol）転送アプリケーションやＳＭＢ（Server Message Block）転送アプリケーション等を基本機能として標準装備しており、標準的な通信プロトコル（以下、「標準通信プロトコル」ともいう）として外部装置とのデータ通信可能が可能である。また、転送処理部２６０は、画像データを親展ボックスと呼ばれる予め定められた格納領域に転送する処理などの機能も備える。
【００２７】
また、本実施の形態における転送処理部２６０には、様々なプラグイン２７０と連携して動作させるためのフレームワーク２６１が設けられている。なお、フレームワークというのは、アプリケーションプログラムを開発する際に頻繁に必要とされる汎用的な機能をまとめて提供し、アプリケーション（本実施の形態の「プラグイン」）の土台として機能するソフトウェアのことである。本実施の形態におけるフレームワーク２６１には、プラグイン２７０の実行制御を行う処理制御部２６２が含まれている。本実施の形態における処理制御部２６２は、処理制御部２５７から指示情報が送られてきたときに、プラグイン２７０を実行することになるが、その際、指示情報に含まれているプラグインへ渡すよう記述されたパラメータを抽出してプラグイン２７０に渡す処理を行う。また、フレームワーク２６１は、プラグイン２７０が実行した結果の情報を取得し、処理制御部２５７に渡す機能も備えている。例えば、フレームワーク２６１は、プラグイン２７０に入力されたデータを取得したり、プラグイン２７０の実行処理結果情報を取得したりする。
【００２８】
プラグイン２７０は、転送処理部２６０に機能を追加するためのアプリケーションである。すなわち、プラグイン２７０は、フレームワーク２６１と連携動作することで、転送処理部２６０が有する基本機能として標準装備されたアプリケーションの機能では実現できない機能を実現する追加アプリケーションに相当する。
【００２９】
２．動作
２−１．動作例１
図６は、画像形成装置２０のＣＰＵ２０１が行う処理の流れを示すフローチャートである。画像形成装置２０のユーザは、画像読取部２０５に原稿をセットし、原稿の読み取りを指示する旨の操作を、ＵＩ部２０６を用いて行う。このとき、ユーザは、ＵＩ部２０６を用いて原稿の読み取りに関する設定情報（例えば、白黒読取／カラー読取、白紙除去を行うか否か、など）を入力してもよい。また、ユーザは、読み取られた画像を表す画像データの格納先のサーバ装置１０にログインするためのアカウント情報（例えば、アカウント名、パスワード、など）や、ファイル名、格納場所（転送先）、分類情報、などを、ＵＩ部２０６を用いて入力してもよい。図６に示す処理は、ユーザによって原稿の読み取りを指示する操作が行われたことをトリガとして開始される。
【００３０】
ユーザによって原稿の読み取りを指示する操作が行われると、ＣＰＵ２０１は、ステップＳ１０１において、ＵＩ部２０６から供給される情報に応じて、原稿の読取処理や画像データの転送処理などの処理の指示が記述された指示書データを生成する。この指示書データには、ユーザによって入力された設定情報や、アカウント情報、ファイル名、格納場所、分類情報などの情報を表すパラメータが含まれてもよい。
【００３１】
ステップＳ１０２において、ＣＰＵ２０１は、画像読取部２０５を制御し、原稿に描かれた画像を読み取った画像を表す画像データを画像読取部２０５から受け取る。原稿の読み取りは１ページずつ行われる。ステップＳ１０３において、ＣＰＵ２０１は、画像読取部２０５から受け取った画像データを予め定められたフォーマットのデータに変換するなどの予め定められた画像処理を行う。ステップＳ１０３の処理は画像処理部２５８によって行われる。ステップＳ１０４において、ＣＰＵ２０１は、画像処理を施した画像データをストレージ２０４に蓄積する。
【００３２】
ステップＳ１０５において、ＣＰＵ２０１は、画像読取部２０５にセットされた全ての原稿を読み込んだかを判定する。全ての原稿を読み込んだと判定された場合、ＣＰＵ２０１はステップＳ１０６の処理に進む。一方、まだ原稿が残っている場合、ＣＰＵ２０１は、ステップＳ１０２の処理に戻り、原稿の読み取りを継続して行う。
【００３３】
ステップＳ１０６において、ＣＰＵ２０１は、指示書データに記述された内容の解釈を行い、画像データの転送処理がプラグイン２７０を用いる処理（以下「プラグイン転送」という）であるか、プラグイン２７０を用いない処理であるかを判定する。プラグイン２７０を用いない処理とは、例えば読み取られた画像データを、親展ボックスと呼ばれる予め定められた格納領域に転送する処理であってもよい。なお、プラグイン２７０を用いない処理とは、画像処理部２５８が実行する処理であってもよく、また、画像処理部２５８以外の各部が実行する処理であってもよい。指示書データによって指示された転送処理がプラグイン２７０を用いない処理である場合、ＣＰＵ２０１は、ステップＳ１０７の処理に進む。一方、指示書データによって指示された転送処理がプラグイン転送である場合、ＣＰＵ２０１はステップＳ１０８の処理に進む。
【００３４】
ステップＳ１０７において、ＣＰＵ２０１は、画像形成装置２０に予めプリインストールされているアプリケーション（例えば、転送処理部２６０を実装するアプリケーションや、画像処理部２５８を実装するアプリケーション。以下「標準アプリケーション」という）を実行し、指定された転送先に画像データを転送する処理を行う。この実施形態では、標準アプリケーションのうち、プラグイン２７０（第２アプリケーションの一例）から画像処理を含む処理（第１処理）を依頼されるアプリケーションが、第１アプリケーションである。すなわち、この実施形態では、画像処理部２５８が第１アプリケーションの一例である。一方、ＣＰＵ２０１は、ステップＳ１０８の処理に進んだ場合、指示書データの記述内容に従いプラグイン２７０の処理を実行する。
【００３５】
図７は、ＣＰＵ２０１が行うプラグイン転送処理の流れを示すフローチャートである。図７に示す処理は、図６のステップＳ１０８の処理が実行されることをトリガとして開始される。ステップＳ２０１において、ＣＰＵ２０１は、指示書データに画像処理を指示する旨の記述があるかの判定を行う。画像処理を指示する旨の記述がある場合、ＣＰＵ２０１はステップＳ２０２の処理に進み、指示書データに記述されている画像処理を実行する。すなわち、プラグイン２７０は、指示書データによって指示された処理が、画像処理部２５８が行う処理の結果を用いるものである場合、画像処理部２５８にその処理を依頼する。プラグイン２７０が画像処理部２５８に処理を依頼する手法としては、例えば、プラグイン２７０が、指示されたプラグイン転送処理を示す指示書データから画像処理についての記述部分を切り出した指示書データを生成し、生成した指示書データを画像処理部２５８に引き渡すことによって処理を依頼してもよい。図７の例では、画像データに対して白紙ページの除去処理が指示されている場合の動作がステップＳ２０２ないしステップＳ２０６に示されている。一方、指示書データに画像処理を指示する記述がない場合、ＣＰＵ２０１は、ステップＳ２０２ないしステップＳ２０６の処理をスキップし、ステップＳ２０７の処理に進む。
【００３６】
図８は、ＸＭＬで記述された指示書データの一例を示す図である。図８において、指示書データＡ１の記述が、プラグイン２７０の転送処理に関する指示であり、そのうちの部分Ａ２の記述が、画像処理に関する指示の内容を表す記述である。図８に示す指示書データの場合、画像処理に関する指示の内容が指示書データに記述されているため、プラグイン２７０は画像処理部２５８にその画像処理を依頼する。
【００３７】
図７の説明に戻る。ステップＳ２０２において、ＣＰＵ２０１は、ストレージ２０４から１ページ分の画像データを読み込む。ステップＳ２０３において、ＣＰＵ２０１は、読み込んだ１ページ分の画像データに対して、そのページが白紙であるかを判定するための画像処理を実行する。すなわち、ステップＳ２０３において、プラグイン２７０は、読み込んだ１ページ分の画像データに対して、そのページが白紙であるかを判定するための画像処理を画像処理部２５８に指示する。プラグイン２７０は、画像処理部２５８から処理結果を示すデータを受領し、受領したデータに基づいて、そのページが白紙であるかを判定する。白紙であると判定された場合、ＣＰＵ２０１（すなわちプラグイン２７０）は、そのページの画像データを破棄し、ステップＳ２０２の処理に戻り、次のページの画像データの読み込みを行う。このとき、ＣＰＵ２０１は、画像処理部２５８の処理の結果に応じて指示書データを変更することで、第２アプリケーションに対する指示を変更してもよい。一方、白紙でないと判定された場合、ＣＰＵ２０１は、ステップＳ２０４の処理に進む。
【００３８】
ステップＳ２０４において、ＣＰＵ２０１は、画像データのフォーマットを、指示書データによって指示された出力フォーマットに変換する処理を行う。ステップＳ２０５において、ＣＰＵ２０１は、フォーマットが変換された画像データをストレージ２０４に蓄積する。ステップＳ２０６において、ＣＰＵ２０１は、全てのページについて処理が完了したかを判定する。全てのページについて処理が完了したと判定された場合、ＣＰＵ２０１はステップＳ２０７の処理に進む。一方、まだ処理を行っていないページが残っていると判定された場合、ＣＰＵ２０１は、ステップＳ２０２の処理に戻り、次のページの画像データの読出を行う。
【００３９】
ステップＳ２０７において、ＣＰＵ２０１は、指示書データによって指示された転送処理を実行する。具体的には、例えば、ＣＰＵ２０１は、指示書データに含まれるパラメータに従って、ユーザによって指定されたサーバ装置１０に対して指定されたアカウント情報を用いてログイン処理を行い、ログインに成功した場合に画像データを指定された転送先に転送する、といった処理を実行する。
【００４０】
２−２．動作例２
次いで、この実施形態の他の動作例について図面を参照しつつ説明する。動作例１と動作例２は、いずれか一方が実行される。動作例１と動作２とでは、画像処理の内容が異なっており、画像形成装置２０は、ユーザからの指示や読み取られる画像データの内容に応じて、これらのうち要求される動作を実行する。
【００４１】
図９は、ＣＰＵ２０１が行うプラグイン転送処理の流れを示すフローチャートである。図７では、白紙のページを除去する処理を行った後に画像データを転送する場合の処理を示したが、図９では、画像に含まれるＱＲコードを読み取って転送先を変更する処理の流れが示されている。図９に示す処理は、図６のステップＳ１０８の処理が実行されることをトリガとして開始される。
【００４２】
ステップＳ３０１において、ＣＰＵ２０１は、指示書データに画像処理を指示する旨の記述があるかの判定を行う。画像処理を指示する旨の記述がある場合、ＣＰＵ２０１は、ステップＳ３０２の処理に進み、指示書データに記述されている画像処理を実行する。図９には、ステップＳ３０２ないしステップＳ３０８において、ＱＲコードをデコードして得られた情報で画像データの転送先を変更する場合の動作が例示されている。一方、指示書データに画像処理を指示する記述がない場合、ＣＰＵ２０１は、ステップＳ３０２ないしステップＳ３０８の処理をスキップし、ステップＳ３０９の処理に進む。
【００４３】
ステップＳ３０２において、ＣＰＵ２０１は、ストレージ２０４から１ページ分の画像データを読み出す。ステップＳ３０３において、ＣＰＵ２０１（すなわちプラグイン２７０）は、読み込んだ１ページ分の画像データからＱＲコードを読み取る処理を画像処理部２５８に指示する。ステップＳ３０３において、画像処理部２５８は、画像データを解析し、画像データの表す画像のなかにＱＲコードが含まれているかを判定する。画像処理部２５８は、画像データの表す画像のなかにＱＲコードが含まれていない場合、その旨を示すデータをプラグイン２７０に供給する。一方、画像処理部２５８は、画像データの表す画像のなかにＱＲコードが含まれていると判定された場合、ステップＳ３０４の処理に進み、ＱＲコードをデコードし、デコード結果を示すデータをプラグイン２７０に供給する。
【００４４】
プラグイン２７０は、画像処理部２５８から供給されるデータに基づいて、画像データの表す画像のなかにＱＲコードが含まれているかを判定する。ＱＲコードが含まれていると判定された場合、ＣＰＵ２０１は、ステップＳ３０５の処理に進む。一方、ＱＲコードが含まれていないと判定された場合、ＣＰＵ２０１はステップＳ３０７の処理に進む。
【００４５】
ステップＳ３０４においてデコードされたデータは、画像データの転送先として特定される。ステップＳ３０５において、ＣＰＵ２０１は、指示書データに記載されている転送先をＱＲコードのデコード結果である情報に変更する。すなわち、ＣＰＵ２０１は、画像処理部２５８の処理の結果に応じて指示書データを変更することで、第２アプリケーションに対する指示を変更する。
【００４６】
ステップＳ３０６において、ＣＰＵ２０１は、画像データのフォーマットを、指示書データによって指示された出力フォーマットに変換する処理を行う。ステップＳ３０７において、ＣＰＵ２０１は、フォーマットが変換された画像データをストレージ２０４に蓄積する。ステップＳ３０８において、ＣＰＵ２０１は、全てのページについて処理が完了したかを判定する。全てのページについて処理が完了したと判定された場合、ＣＰＵ２０１は、ステップＳ３０９の処理に進む。一方、また処理を行っていないページが残っていると判定された場合、ＣＰＵ２０１は、ステップＳ３０２の処理に戻り、次のページの画像データの読出を行う。
【００４７】
ステップＳ３０９において、ＣＰＵ２０１は、指示データによって指示された転送処理を実行する。ステップＳ３０９の処理は、図７のステップＳ２０７の処理と同様である。
【００４８】
ところで、この実施形態では、ＱＲコードの読取機能や白紙ページの除去機能などをプラグイン２７０に含める構成とせず、画像形成装置２０の標準アプリケーション（画像処理部２５８）に含まれる機能を用いる構成とした。これに対し、ＱＲコードの読取機能や白紙ページの除去機能などをプラグインに含めて実装することも考えられるが、その場合、プラグインの構成が複雑になってしまう場合がある。一方、この実施形態では、プラグイン２７０が指示書データによって指示された処理を、標準アプリケーションである画像処理部２５８に指示して実行させる。これにより、プラグイン２７０の構成が複雑になることが抑制される。
【００４９】
この実施形態では、複数の処理（例えば第１処理及び第２処理）を含む指示を受け付けた際、１の処理の処理結果（例えば画像処理部２５８の処理の結果）がその後の処理内容（例えば画像データの転送先）へ反映されることになる。
また、この実施形態では、指示された画像処理を、画像形成装置２０に搭載されている専用のハードウェアを利用して実行することも考えられる。この場合、専用のハードウェアを利用することなく指示された画像処理を行う場合と比べて処理時間が短縮される。
また、この実施形態では、プラグイン２７０において標準アプリケーションが生成する画像データのフォーマットと同じフォーマットの画像データが生成される。そのため、プラグイン２７０の開発者は、フォーマットに関する評価を行う必要がなく、プラグイン開発の負担が軽減される。
【００５０】
３．変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
【００５１】
３−１．変形例１
上述の実施形態の動作例２では、プラグイン転送処理として、図９に示したように、画像に含まれるＱＲコードを用いて転送先を変更する動作を示した。プラグイン転送処理は上述したものに限られない。例えば、プラグイン転送処理として、プラグイン２７０が、画像に含まれるＱＲコードを用いてファイルの属性情報を付与する処理を行ってもよい。この場合、ＣＰＵ２０１によって実装されるプラグイン２７０は、ＱＲコードの読み取りを画像処理部２５８に依頼する。この依頼は、ＱＲコードの読取を指示する旨が記述された指示書データをプラグイン２７０が画像処理部２５８に引き渡すことによってなされてもよい。画像処理部２５８は、プラグイン２７０からの依頼に従ってＱＲコードをデコードし、デコード結果を示す文字列情報をプラグイン２７０に引き渡す。プラグイン２７０は、画像処理部２５８から取得された文字列情報を画像データのファイルフォーマットの属性情報に設定する処理を、画像処理部２５８に再度依頼する。この依頼も、指示書データがプラグイン２７０から画像処理部２５８に引き渡されることによってなされてもよい。画像処理部２５８は、プラグイン２７０からの依頼に応じて、文字列情報をファイルフォーマットの属性情報に設定し、属性情報を設定したファイルをプラグイン２７０に返却する。プラグイン２７０は、返却されたファイルを指示書データに含まれる転送先へ転送する。
【００５２】
すなわち、この変形例では、プラグイン２７０は、ＱＲコードを解釈する処理と、文字列情報をファイルの属性情報に設定する処理との２つの処理を順に画像処理部２５８に依頼する。この態様によれば、ユーザが属性情報を手作業で入力することなく、属性情報が設定される。
【００５３】
３−２．変形例２
また、プラグイン転送処理の他の例として、プラグイン２７０が、ユーザがＵＩ部２０６を用いて入力した文字列をファイルの属性情報として設定してもよい。この場合、プラグイン２７０は、ＵＩ部２０６から供給される情報に応じて、ユーザによって入力された文字列情報をファイルの属性情報に設定する処理を画像処理部２５８に依頼する。画像処理部２５８は、プラグイン２７０からの依頼に応じて、指定された文字列情報をファイルの属性情報に付与する処理を行う。画像処理部２５８は、属性情報をファイルに付与する処理を終えると、属性情報を付与したファイルをプラグイン２７０に引き渡す。プラグイン２７０は、属性情報が付与されたファイルを指示書データに含まれる転送先へ転送する。
【００５４】
この変形例によれば、従来のシステムではファイルの転送後に手作業で行われていた属性情報の設定が画像形成装置２０で行われる。なお、文字列情報の入力方法として、文字列をユーザが入力するのではなく、ＵＩ部２０６に設けられたボタンに文字列情報を割り当てておいてもよい。この場合、ユーザがキーボードなどを用いて文字列を入力する場合よりも少ない操作で属性情報の設定が行われる。
【００５５】
３−３．変形例３
また、プラグイン転送処理の他の例として、プラグイン２７０が、原稿の予め定められた領域（例えば、タイトルが記載されている領域、など）から文字認識処理により読み取られた文字列を、ファイルの属性情報に設定してもよい。この場合、指示書データ生成部２５２は、ユーザによって操作されたＵＩ部２０６から出力される情報に応じて、指定された領域（例えば、フォントが予め定められたサイズ以上である領域、など）に対して文字認識処理を施して属性情報に設定する、という処理の内容を記した指示書データを生成する。プラグイン２７０は、読み込んだ１ページの画像データの格納先情報と指示書データを画像処理部２５８に引き渡すことによって文字認識処理を画像処理部２５８に依頼する。画像処理部２５８は、プラグイン２７０からの依頼に応じて、指定された領域の文字認識処理を行い、認識した文字列情報を処理結果としてプラグイン２７０に引き渡す。
【００５６】
プラグイン２７０は、得られた文字列情報を出力ファイルフォーマットの属性情報に設定する処理を、再び画像処理部２５８に依頼する。画像処理部２５８は、プラグイン２７０からの依頼に従って、指定された文字列情報をファイルの属性情報に付与し、属性情報を付与したファイルをプラグイン２７０に引き渡す。プラグイン２７０は、属性情報が付与されたファイルを指示書データに含まれる転送先へ転送する。
【００５７】
他にも、次のようなプラグイン転送処理が行われてもよい。文字認識処理で読み取られた場所の文字列がＵＲＬであった場合には、その文字列が転送先（格納先）であると判断し、指示書データの転送先を読み取ったＵＲＬに変更する。なお、ＵＲＬ以外にもメールアドレスやＳＮＳ（Social Networking Service）のアカウントなどに変更されてもよい。また、読み取られた場所の文字列が単なる文字列や「ファイルＡ．ｄｏｃ」などファイルを表す拡張子が付いた文字列である場合には、読み取った文字列をファイル名として付与し、必要であればファイル形式を変換してもよい。
【００５８】
この変形例によれば、例えば、文書のタイトルが記載された位置を文字認識することにより、属性情報を手作業で入力する必要がない。
【００５９】
３−４．変形例４
また、プラグイン転送処理の他の例として、プラグイン２７０が、画像データを解析して抽出された情報が予め定められた条件を満たしているかを判定する処理を行った後に、画像データの転送処理を行ってもよい。具体的には、例えば、プラグイン２７０が、読み取られた原稿に必要な書類が揃っているかを確認してから転送する処理を行ってもよい。この場合、指示書データ生成部２５２は、ユーザが選択した業務に応じた必要書類チェックを行う画像処理を指示する旨を記述した指示書データを生成する。プラグイン２７０は、読み込んだ１ページの画像データの格納先情報と指示書データを画像処理部２５８に引き渡すことによって、画像処理部２５８に処理を依頼する。画像処理部２５８は、指示書データに記載された内容の処理を実行する。
【００６０】
この例で、画像処理部２５８は、指定された業務用の必要書類チェックを行い、結果をプラグイン２７０に返す。必要書類が揃っているかの判断は、例えば、原稿に埋め込まれたＱＲコードを利用して行われてもよい。この場合、画像処理部２５８は、画像データを解析することにより画像データから予め定められた情報を抽出する。プラグイン２７０は、画像処理部２５８から抽出された情報が予め定められた条件を満たしているか否かによって、必要書類が揃っているかを判定する。必要書類が揃っていないと判定された場合、判定結果がプラグイン２７０から処理制御部２５７に通知され、処理制御部２５７は、ユーザに対して書類が不足していることを通知して処理を中止する。
【００６１】
本変形例では、上記のとおり、画像処理部２５８が指定された業務用の必要書類チェックを行った結果に応じた処理（転送または通知）が行われる。従来のシステムでは、サーバに転送された画像データに対して人手によるチェックにより書類の不備が判明していたが、本変形例によれば、サーバに転送される前にチェックが行われることで、リカバリが迅速に行われる。
【００６２】
３−５．変形例５
上述の実施形態において、画像形成装置２０によって画像読取されてサーバ装置１０へ転送された画像データに対して、サーバ装置１０が、例えば文字認識処理などの画像処理を施すことが想定される。この場合、サーバ装置１０が行う画像処理のなかには、ＣＰＵ負荷が高いものもあり、処理が滞ってしまう場合もある。そこで、サーバ装置１０が実装する画像処理の一部または全部を、プラグインというかたちで画像形成装置２０側に実装しておき、サーバ装置１０が行うべき画像処理の一部または全部を画像形成装置２０に行わせてもよい。
【００６３】
この変形例では、サーバ装置１０には、プラグイン２７０が実行する処理（第２の処理の一例）と共通する処理を含む処理（第３の処理の一例）を行うアプリケーションがインストールされている。サーバ装置１０のＣＰＵ１０１は、画像データの送信元の装置から指示された処理の負荷が予め定められた基準より高い場合、第３の処理の少なくとも一部を、複数の画像形成装置２０の少なくとも一部に割り当てる。また、ＣＰＵ１０１は、割り当てた処理の実行を指示する指示書データを生成し、生成した指示書データを、複数の画像形成装置２０の少なくとも一部に送信する。
【００６４】
この変形例では、サーバ装置１０が実装する画像処理の一部を画像形成装置２０に行わせることにより、サーバ装置１０側の負担が軽減される。例えば、最初は画像形成装置２０が少ない台数で運用されていたシステムにおいて、徐々に画像形成装置２０の台数が増加した場合、従来のシステムでは、サーバ装置１０を増設して負荷分散を行うことが一般的であった。その場合、サーバ装置１０の台数が多くなるほどコストが高くなってしまう場合があった。それに対しこの実施形態では、画像形成装置２０にプラグイン２７０を実装してサーバ装置１０の処理の一部または全部を画像形成装置２０に負担させることにより、サーバ装置１０を増設するよりも安価にシステムが構築される。
【００６５】
また、この変形例では、サーバ装置１０が画像処理の一部または全部を、複数の画像形成装置２０の一部または全部に割り当てたが、画像処理を割り当てる方法はこれに限られない。例えば、一の画像形成装置２０が、自装置のプラグイン２７０で実行すべき処理の一部または全部を、他の画像形成装置２０に割り当てるようにしてもよい。
【００６６】
３−６．変形例６
上述の実施形態では、第１アプリケーションとして、画像形成装置２０に予めプリインストールされているアプリケーションを用いた。第１アプリケーションは装置に予めプリインストールされているアプリケーションに限られない。第１アプリケーションは、画像形成装置２０の工場出荷後にインストールされたものであってもよい。
【００６７】
３−７．変形例７
上述の実施形態に係るシステム１は、１台のサーバ装置１０と、３台の画像形成装置２０Ａ、２０Ｂ、２０Ｃとを備えていた。サーバ装置１０および画像形成装置２０の台数はシステム１で示した台数に限られない。例えば、複数のサーバ装置を備える構成であってもよい。
【００６８】
３−８．変形例８
画像形成装置２０は、電子写真方式以外の方式で画像を形成するプリンタであってもよい。また、画像形成装置２０は、白黒の画像を形成するものであってもよいし、カラーの画像を形成するものであってもよい。
【００６９】
３−９．変形例９
上述した実施形態において、画像形成装置２０のＣＰＵ２０１により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体（磁気テープ、磁気ディスクなど）、光記録媒体（光ディスクなど）、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。
【符号の説明】
【００７０】
１…システム、２…ネットワーク、１０…サーバ装置、１１…処理手段、１２…受信手段、１３…割り当て手段、１４…送信手段、２０…画像形成装置、２１…第１実行手段、２２…第２実行手段、２３…依頼手段
【図１】
0006424558.tif 000002
【図２】
0006424558.tif 000003
【図３】
0006424558.tif 000004
【図４】
0006424558.tif 000005
【図５】
0006424558.tif 000006
【図６】
0006424558.tif 000007
【図７】
0006424558.tif 000008
【図８】
0006424558.tif 000009
【図９】
0006424558.tif 000010