以下、本発明の好適な実施の形態(以下、「実施形態」という。)について、図面を用いて詳細に説明する。
[第1の実施形態]
<ハードウェア構成>
まず、本実施形態に係る画像処理装置100のハードウェア構成について、図1を用いて説明する。
[画像処理装置(MFP)]
図1は、本発明の第1の実施形態に係る画像処理装置100のハードウェア構成の一例を示す図である。
本実施形態に係る画像処理装置100は、操作パネル11と、記憶メディアI/F12と、コントローラ13と、データ通信I/F14と、HDD(Hard Disk Drive)17と、スキャナ15と、プロッタ16とから構成され、それぞれ相互に接続されている。
操作パネル(オペレーションパネル)11は、入力装置11aと表示装置11bとを有しており、入力装置11aは、ハードウェアキーなどで構成され、画像処理装置100に各操作信号を入力するのに用いられる。また、表示装置11bは、ディスプレイなどで構成され、例えば画像処理動作に関する各種情報を表示する。データ通信I/F14は、インタフェース装置14aを有しており、画像処理装置100をネットワークなどのデータ伝送路に接続するインタフェースである。HDD17は、画像処理装置100で取り扱われる受信文書データや読み取り画像データなどの各種データを格納している。また、HDD17は、これらの各種データを、所定のファイルシステムやDB(Data Base)により管理している。
上記HDD17に格納される各種データの中には、例えば、デジタルカメラなどの外部機器によって記録された電子データも含まれる。このような場合には、メモリカードなどの記録媒体12bによって画像処理装置100に提供されるか、データ伝送路であるネットワークなどを通じてアップロードされる。記録媒体12bは、記憶メディアI/F12が有するドライブ装置12aにセットされ各種データが記録媒体12bからドライブ装置12bを介してHDD17に格納される。
コントローラ13は、ROM(Read Only Memory)13a、RAM(Random Access Memory)13b、及びCPU(Central Processing Unit)13cとを有しており、ROM13aは、画像処理装置100が起動されるときに実行されるプログラムや各種データを格納している。また、RAM13bは、ROM13aやHDD17から読み出された各種プログラムやデータを一時保持する。更に、CPU13cは、RAM13bが一時保持しているプログラムを実行する。コントローラ13は、例えば、データ通信I/F14を介して印刷データを受信した場合に、ROM13aからRAM13b上に読み出された、PDL(Page Description Language)を解釈可能なプログラム(PDLパーサ)をCPU13cにより実行し、印刷データを解釈してビットマップイメージを生成する。
スキャナ15は、画像読取装置15aを有しており、読み取り面に配置された原稿を光学的に読み取り画像データを生成する。プロッタ16は、印刷装置16aを有しており、例えば、電子写真プロセス方式によってビットマップイメージを記録紙に印刷する。
このように、本実施形態に係る画像処理装置100では、上記ハードウェア構成により、プリンタ、コピー、ファクシミリ、スキャナなどの複数の機能を実現している。
<ソフトウェア構成>
次に、本実施形態に係る画像処理装置100の機能を実現するためのソフトウェア構成及び基本処理手順について、図2〜5を用いて説明する。
<<構成>>
図2は、本発明の第1の実施形態に係る画像処理装置100のソフトウェア構成の一例を示す図である。
本実施形態に係る画像処理装置100が有するソフトウェアは、ユーザインタフェース層101、コントロール層102、アプリケーションロジック層103、デバイスサービス層104及びデバイス制御層105などにより構成されている。なお、図中における各層の上下関係は、基本的に上にある層が下の層を呼び出す関係に基づいている。
ユーザインタフェース層101は、機能(例えば、コピー、ファックス、スキャナ、プリンタなどのアプリケーション機能)の実行要求を受け付けるためのUI機能が実装されている部分であり、例えば、通信サーバ部301及びローカルUI部302などが含まれる。
通信サーバ部301は、例えば、非図示の通信機器を有する周辺機器であるクライントPCなどからネットワークを介して各種要求(例えば印刷動作要求など)を受け付ける。また、ローカルUI部302は、例えば、操作パネル11を介して入力される各種要求(例えば、コピー動作要求や動作設定など。)を受け付ける。
ユーザインタフェース層101において受け付けられた要求は、コントロール層102に伝えられる。
コントロール層102は、要求された機能を実現するための処理を制御するための機能が実装されている部分である。例えば、コントロール部303などが含まれている。具体的には、コントロール部303において、要求された機能に応じて、後述するアプリケーションロジック層103における各フィルタを接続し、接続されたフィルタに基づいて機能の実行を制御する。なお、本実施形態において「画像処理装置100の機能」とは、画像処理装置100がユーザに対して提供する1つのまとまった単位(要求が入力されて最終的な出力が得られるまで)のサービスと同義であり、ソフトウェア的には1つのまとまった単位のサービスを提供するアプリケーションと同義である。
アプリケーションロジック層103は、それぞれが画像処理装置100において提供される機能の一部を実現する部品群(ソフトウェア部品群)が実装されている部分である。すなわち、アプリケーションロジック層103における部品を組み合わせることにより1つの機能が実現される。本実施形態では、各部品を「フィルタ」と呼ぶ。これは、画像処理装置100のソフトウェアアーキテクチャが「パイプ&フィルタ」と呼ばれる考え方に基づくものである。
図3は、本発明の第1の実施形態に係るパイプ&フィルタの概念及びフィルタの構成要素の一例を示す図である。図3の(a)には、パイプ&フィルタの概念を示し、図3の(b)には、フィルタの構成要素の一例を示す。
まず、パイプ&フィルタの概念について説明する。図3の(a)において、「F」はフィルタを示し、「P」はパイプを示す。図中に示すように、各フィルタはパイプによって接続される。フィルタは、入力されたデータに対して所定の変換を施し、その結果を出力する。パイプは、フィルタから出力されたデータを次のフィルタに伝達する。すなわち、本実施形態に係る画像処理装置100では、各機能を、画像処理装置100内部で管理する情報(例えば、ユーザ情報や画像データなど。)に対する「変換」の連続として捉える。画像処理装置100の各機能は、画像処理装置100内部で取り扱う情報の入力、加工及び出力によって構成されるものとして一般化することができる。そこで「入力」、「加工」及び「出力」を「変換」として捉え、1つの「変換」を実現するソフトウェア部品がフィルタとして構成される。入力を実現するフィルタを特に「入力フィルタ(入力手段)」という。また、加工を実現するフィルタを特に「変換フィルタ(加工手段)」という。更に、出力を実現するフィルタを特に「出力フィルタ(出力手段)」という。なお、各フィルタは独立しており、フィルタ間における依存関係(呼び出し関係)は基本的に存在しない。従って、フィルタ単位で追加(インストール)又は削除(アンインストール)が可能とされている。
図2に戻り、アプリケーションロジック層103には、入力フィルタ(入力手段)103aとして、例えば、読取フィルタ304などが含まれている。
読取フィルタ304は、スキャナ15による画像データの読み取りを制御し、読み取られた画像データを出力する。
その他、入力フィルタ103aとして、HDD17に保管されている文書データ(画像データ)を読み出し、読み出されたデータを出力する保管文書読出フィルタ、電子メールの受信し、当該電子メールに含まれているデータを出力するメール受信フィルタ、FAX受信を制御し、受信されたデータを出力するFAX受信フィルタ、非図示のクライアントPCから印刷データを受信し、受信された印刷データを出力するPC文書受信フィルタ、画像処理装置100の設定情報や履歴情報などを、例えば表形式に整形されたデータとして出力するレポートフィルタなどが含まれている。
また、変換フィルタ(加工手段)103bとしては、例えば、文書加工フィルタ305などが含まれている。文書加工フィルタ305は、入力されたデータに所定の画像変換処理(集約、拡大、又は縮小など)を施し出力する。
その他、変換フィルタ103bとして、入力されたPostScriptデータをビットマップデータに変換して出力する(レンダリング処理を実行する)文書変換フィルタなどが含まれている。
また、出力フィルタ(出力手段)103cとしては、例えば、印刷フィルタ306などが含まれている。印刷フィルタ306は、入力されたデータをプロッタ16に出力(印刷)させる。
その他、出力フィルタ103cとして、入力されたデータをHDD17に保存する保管文書登録フィルタ、入力されたデータを電子メールに添付して送信するメール送信フィルタ、入力されたデータをFAX送信するFAX送信フィルタ、入力されたデータを、非図示のクラインアントPCに送信するPC文書送信フィルタ、入力されたデータを操作パネル11が備える表示装置11bにプレビュー表示させるプレビューフィルタなどが含まれている。
デバイスサービス層104は、アプリケーションロジック層103における各フィルタから共通に利用される下位機能が実装されている部分であり、例えば、画像パイプ307、データ管理部308などが含まれている。
画像パイプ307は、或るフィルタからの出力データを次のフィルタに伝達するパイプの機能を実現する。また、データ管理部308は、ユーザ情報が登録されたDBや文書又は画像データなどが蓄積されるDBなどの各種DBを表現する。
デバイス制御層105は、デバイス(ハードウェア)を制御するドライバと呼ばれるプログラムモジュール群が実装されている部分であり、例えば、スキャナ制御部309、プロッタ制御部310、メモリ制御部311、及び操作デバイス制御部312などが含まれる。各制御部は、当該制御部の名前に付けられている各デバイスを制御する。
アスペクト106は、例えば、アクセス制御、履歴、課金といった、システム全体に渡る横断的な情報を取り扱うプログラムモジュール群が実装されている部分である。
ここから、フィルタについて更に詳しく説明する。図3の(b)は、フィルタの構成要素の一例を示す図である。図中に示すように、各フィルタは、フィルタ設定用UI、フィルタロジック、フィルタ固有下位サービス及び永続記憶領域情報などにより構成されている。このうち、フィルタ設定用UI、フィルタ固有下位サービス及び永続記憶領域情報については、フィルタによって必ずしも構成要素に含まれない。
フィルタ設定用UIは、フィルタの実行条件などを設定させるための画面を操作パネル11が備える表示装置11bなどに表示させるプログラムである。例えば、読取フィルタ304であれば、解像度、濃度、画像種別などを設定させる画面(動作(条件)設定画面)が相当する。なお、操作パネル11が備える表示装置11bの表示がHTML(HyperText Markup Language)データやスクリプト(Script)に基づいて行われることを考えると、フィルタ設定用UIは、HTMLデータやスクリプトであってもよい。
フィルタロジックは、フィルタの機能を実現するためロジックが実装されたプログラムである。すなわち、フィルタの構成要素としてのフィルタ固有下位サービスやデバイスサービス層104又はデバイス制御層105などを利用して、フィルタ設定用UIを介して設定された実行条件に応じてフィルタの機能を実現する。例えば、読取フィルタ304であれば、スキャナ15による原稿の読み取り制御のためのロジックが相当する。
フィルタ固有下位サービスは、フィルタロジックを実現するために必要な下位機能(ライブラリ)である。すなわち、デバイスサービス層104又はデバイス制御層105に相当する機能であるが、他のフィルタから使用されないものについては、フィルタの一部として実装されてもよく、当該一部がフィルタ固有下位サービスに相当する。例えば、読取フィルタ304であれば、スキャナ15を制御するための機能が相当するが、本実施形態では、デバイス制御層105においてスキャナ制御部309として実装されている。従って、読取フィルタ304において、フィルタ固有下位サービスの実装は必ずしも必要ではない。
永続記憶領域情報は、フィルタに対する設定情報(例えば、実行条件のデフォルト値など。)など、不揮発メモリ(例えばNVRAM(Non Volatile RAM)など)に記憶する必要があるデータのスキーマ定義が相当する。当該スキーマ定義は、フィルタがインストールされるときにデータ管理部308に登録される。
ここで、本実施形態に係る画像処理装置100における各機能を実現するためのフィルタの組み合わせの一例について以下に説明する。
例えば、コピー機能の場合は、読取フィルタ304と印刷フィルタ306とを接続することにより実現される。読取フィルタ304によって原稿より読み取られた画像データを印刷フィルタ306によって印刷すればよいからである。なお、集約、拡大、又は縮小などの加工が要求された場合には、これらの加工を実現する文書加工フィルタ305が2つのフィルタの間に挿入されることにより実現される。
<<基本処理手順>>
上記ソフトウェア構成により、機能実現の際に実行される基本処理手順について、図4及び図5を用いて説明する。図4及び5は、本発明の第1の実施形態に係る画像処理装置100の基本処理手順の一例(その1及びその2)を示すフローチャートである。ここでいう「基本処理手順」とは、画像処理装置100が1つの機能を実現する際の処理手順のことを意味する。
まず、ユーザによって入力フィルタ103aが選択され(S11)、選択された入力フィルタ103aの実行条件が設定される(S12)。同様に、変換フィルタ103b又は出力フィルタ103cについても選択が行われ(S13)、フィルタ間の接続が指定され(S14)、実行条件が設定される(S15)。
上記の操作は、ユーザインタフェース層101のローカルUI部302の制御の基、例えば操作パネル11を介して行われる。
各フィルタの選択が完了し(S16がYESの場合)、スタートボタンが押下されると、ユーザインタフェース層101からコントロール層102に対して、要求内容(例えばフィルタの種別と当該フィルタに対する動作(条件)設定情報など)が通知される。
コントロール層102は、ユーザインタフェース層101からの要求内容を受けて、選択された各フィルタ間をパイプによって接続する(S17)。パイプの実体はメモリ(HDD17の記憶領域も含む)であるが、パイプの両端のフィルタに応じて利用するメモリの種類が異なり、その対応関係は、例えば、画像処理装置100が有するHDD17内に予め定義されている。従って、コントロール層102は、定義された対応関係に基づいて、各フィルタ間を特定のパイプで接続する。
続いて、コントロール層102は、各フィルタに対して並列的に実行要求を出力する(S18)。すなわち、フィルタの呼び出しはフィルタの接続順ではなく、全てのフィルタに対してほぼ同時に行われる。なぜならフィルタ間の同期はパイプによってとられるからである。すなわち、コントロール層102からの実行要求を受けて、各フィルタは自分の入力側のパイプにデータが入力されるまで待機する。但し、入力フィルタ103aには、入力側にパイプは存在しない。従って、入力フィルタ103aは実行要求に応じて処理を開始する。
処理手順は図5に移り、まず、入力フィルタ103aは、入力デバイスよりデータを入力し(S21)、当該データを、出力側に接続されているパイプに出力する(S22)。なお、データが複数回に分けて入力される場合(複数枚の原稿がスキャンされる場合など)は、データの入力とパイプへの出力が繰り返される。全ての入力データについて処理が終了すると(S23がYESの場合)、入力フィルタ103aの処理は終了する。
変換フィルタ103bは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S31)、データに対して画像処理を施す(S32)。続いて、処理結果としてのデータを出力側に接続されているパイプに出力する(S33)。入力側のパイプに入力された全てのデータについて処理が終了すると(S34がYESの場合)、変換フィルタ103bの処理は終了する。
出力フィルタ103cは、入力側に接続されているパイプに対するデータの入力を検知すると処理を開始する。まず、当該パイプからデータを読み込み(S41)。続いて、読み込まれたデータを、出力デバイスを利用して出力する(S42)。入力側のパイプに入力された全てのデータについて処理が終了すると(S43がYESの場合)、出力フィルタ103cの処理は終了する。
<「パイプ&フィルタ」アーキテクチャにおける出力ジョブ制御機能について>
これまでに説明を行ったように、「パイプ&フィルタ」のソフトウェア構成上で動作するアプリケーションは、画像処理装置100で行いたい処理目的に応じて、データを入力する入力フィルタ103aと、入力したデータを加工する変換フィルタ103bと、加工したデータを出力する出力フィルタ103cとを組み合わせ、入力・加工・出力の各フィルタを、パイプで接続することで構成される。
これによって、アプリケーションは、入力フィルタ103aで入力したデータを、次工程の変換フィルタ103bへ伝達でき、変換フィルタ103bで加工したデータを、次工程の出力フィルタ103cへ伝達する、すなわち、画像処理装置100が有する入力・加工・出力機能コンポーネント(ソフトウェア部品)を連携動作し機能を実現している。
よって、本実施形態に係る画像処理装置100には、アプリケーションが目的とする機能を実現する入力・加工・出力機能コンポーネント(ソフトウェア部品)を、必要に応じてインストールすることで、アプリケーションがもつ機能そのものを実装できる。
このような「パイプ&フィルタ」のソフトウェア構成及び基本処理手順を踏まえて、本実施形態に係る「出力ジョブ制御機能」について考えてみる。
「パイプ&フィルタ」アーキテクチャで動作するアプリケーションの数は、入力・加工・出力の各フィルタの組み合わせだけ考えられる。また、各フィルタ間に依存関係はないため、サードベンダなどから提供される新規のフィルタ(ソフトウェア部品)を組み合わせたアプリケーションも想定されるため、その数は無限である。
そのため、本実施形態に係る「出力ジョブ制御機能」では、画像処理装置100が有するアプリケーションで処理された出力ジョブ以外に、新たにインストールされ追加されたアプリケーションで処理された出力ジョブに対しても、適切な出力ジョブ制御を行わなければならない。すなわち、画像処理装置100の機能搭載環境の変化に対しても、適切な出力生産性とコストパフォーマンスを実現しなければならない。本実施形態では、このような問題点を後述する方法によって解決している。
以降に、本実施形態に係る画像処理装置100が有する「出力ジョブ制御機能」について説明を行う。
<モジュール構成について>
まず、本実施形態に係る画像処理装置100が、「パイプ&フィルタ」アーキテクチャにより機能実装された場合のモジュール構成について、図6を用いて説明する。図6は、本発明の第1の実施形態に係る画像処理装置100が有するモジュール構成の一例を示す図である。
本実施形態に係る画像処理装置100は、デバイス制御層105に位置する操作部デバイスコンポーネント21と、各層に対して横断的に位置するプラグイン管理コンポーネント22と、デバイスサービス層104に位置するデータ管理コンポーネント23及び設定情報コンポーネント24と、コントロール層に位置する機内設定アクティビティコンポーネント31、プリンタアクティビティコンポーネント32、FAX受信アクティビティコンポーネント33、及びコピーアクティビティコンポーネント34と、アプリケーションロジック層103に位置する印刷コンポーネント41、編集コンポーネント42、PC文書受信コンポーネント43、FAX文書受信コンポーネント44、及び読取コンポーネント45とから構成される。
操作部デバイスコンポーネント21は、操作パネル11が備えるデバイス(例えば、ハードウェアキー、LCD(Liquid Crystal Monitor)、LED(Light Emitting Diode)、及びブザーなど。)を制御するデバイスドライバの役割を果たすソフトウェア部品である。
プラグイン管理コンポーネント22は、画像処理装置100へソフトウェア部品のインストール/アンインストールを行い、搭載機能を管理するソフトウェア部品である。
データ管理コンポーネント23は、画像処理装置100が有するHDD17やNVRAM(非図示)などに画像処理装置100を制御するための各種情報(例えば動作(条件)情報など)を永続的に記憶し管理するソフトウェア部品である。
設定情報コンポーネント24は、上記データ管理コンポーネント23により記憶装置に記憶されたデータのうち、画像処理装置100の初期設定などに関するデータの参照や変更を行い、各種設定情報を管理するソフトウェア部品である。
(各フィルタコンポーネント)
フィルタコンポーネントは、「パイプ&フィルタ」アーキテクチャにおいてアプリケーションの構成要素である1つの機能を実現するソフトウェア部品である。
印刷コンポーネント41は、出力フィルタ103cの1つで、画像処理装置100の印刷動作を制御することで印刷機能を提供するソフトウェア部品である。
編集コンポーネント42は、変換フィルタ103bの1つで、非図示の画像処理装置100が有する画像処理ユニット(IPU:Image Processing Unit)を制御することで画像編集機能を提供するソフトウェア部品である。
PC文書受信コンポーネント43は、入力フィルタ103aの1つで、ネットワーク接続されたPCから画像処理装置100に対してプリンタ出力要求が指示されたときに、PCから受信したデータを解析し出力する画像データを特定するソフトウェア部品である。
FAX文書受信コンポーネント44は、入力フィルタ103aの1つで、FAX回線経由で受信したデータを解析し出力する画像データを特定するソフトウェア部品である。
読取コンポーネント45は、入力フィルタ103aの1つで、画像処理装置100の原稿読取動作を制御することで原稿読取機能を提供するソフトウェア部品である。
(各アクティビティコンポーネント)
アクティビティコンポーネント(以下、「アクティビティ」という。)は、上記各フィルタコンポーネントとパイプとの連携動作を制御するソフトウェア部品である。これによって、画像処理装置100が有するアプリケーションを機能させることができる。
機内設定アクティビティ31は、上記設定情報コンポーネント24により管理されるデータへの参照や変更を行うUI機能を提供するソフトウェア部品である。
プリンタアクティビティ32は、PC文書受信コンポーネント43、編集コンポーネント42、及び印刷コンポーネント41とを動作制御することで、受信した画像データを印刷するプリンタ機能を提供するソフトウェア部品である。
FAX受信アクティビティ33は、FAX文書受信コンポーネント44、編集コンポーネント42、及び印刷コンポーネント41とを動作制御することで、受信したFAX文書を印刷出力するFAX機能を提供するソフトウェア部品である。
コピーアクティビティ34は、読取コンポーネント45、編集コンポーネント42、及び印刷コンポーネント41とを動作制御することで、読み取った原稿の画像データを印刷するコピー機能を提供するソフトウェア部品である。
このように、本実施形態に係る画像処理装置100では、各フィルタを組み合わせ構成される機能の動作を、アクティビティにより制御することで、アプリケーションがユーザに提供する機能を実現している。
よって、本実施形態に係る画像処理装置100が有する「出力ジョブ制御機能」は、読取コンポーネント45、FAX文書受信コンポーネント44、PC文書受信コンポーネント43などの各入力フィルタ103a、又は編集コンポーネント42などの各変換フィルタ103bなどにより所定の処理が施された複数のジョブを、印刷コンポーネント41などの各出力フィルタ103cにおいて、適切な出力生産性とコストパフォーマンスを実現する最適な順序で出力する機能である。
<出力ジョブ制御機能>
次に、本実施形態に係る画像処理装置100が有する「出力ジョブ制御機能」を実現する各手段について、図7を用いて説明する。図7は、本発明の第1の実施形態に係る画像処理装置100が有する機能を実現するため手段構成の一例を示す図である。図7では、画像処理装置100に搭載され、入力・加工・出力の各処理工程を行う「コピー機能」の場合の手段構成例が示されている。よって、基本構成として、入力手段(入力フィルタ)103aの1つである「読取コンポーネント45」と、加工手段(変換フィルタ)103bの1つである「編集コンポーネント42」と、出力手段(出力フィルタ)103cの1つである「印刷コンポーネント41」と、各手段(各フィルタ)の動作を制御する「コピーアクティビティ34」とが示されている。
<<手段構成の概要>>
本実施形態に係る画像処理装置100は、主に、出力ジョブを分類するための分類情報データ61や分類情報データ61から出力ジョブの出力順序を決定するための優先順位情報データ62とを設定する設定手段53と、出力処理待ちとなっている複数の出力ジョブが出力要求順に従って登録された出力順序情報データ63の出力順序を並び替え、出力ジョブの出力順序を決定する出力順序決定手段52とから構成され、更に、出力順序決定手段52が出力順序情報データ63の出力順序を並び替えて決定するために用いる各種情報を取得する優先順位取得手段51を有している。
(データの概要)
図8及び図9は、本発明の第1の実施形態に係る分類情報データ61及び優先順位情報データ62のデータ構成の一例を示す図である。
図8に示すように、分類情報データ61は、出力ジョブを分類する所定の方式を示す分類方式情報(図中の"実行要求場所"や"出力受け取り者")と、分類方式によって出力ジョブを分類するための分類種別を示す分類種別情報(図中の"本体"や"リモート"並びに"同一ユーザ"や"異なるユーザ")とが、画像処理装置100に搭載された機能(図中の"コピー"、"プリンタ"、及び"FAX受信"の各アクティビティ)に関連付けられて構成される。
また、図9に示すように、優先順位情報データ62は、分類方式同士の優先順位を示す分類方式優先順位情報(図中の分類方式情報に対応する"1"から"q")と、分類方式における分類種別同士の優先順位を示す分類種別優先順位情報(図中の分類種別情報に対応する"1"から"n")とが関連付けられて構成される。
更に、図10は、本発明の第1の実施形態に係る出力順序情報データ63のデータ構成の一例を示す図である。
図10に示すように、出力順序情報データ63は、出力処理要求を受け付けたときに採番される出力ジョブを識別するジョブID(図中の"1"から"4")と、出力ジョブの状態を示すジョブ状態(図中の"印刷中"や"待機中")と、各出力ジョブが属する分類方式情報(図中の"実行要求場所"や"出力受け付け者")及び分類種別情報(図中の"本体"や"リモート"並びに"同一ユーザ"や"異なるユーザ")とから構成される。
(各手段の概要)
以下に、上記各手段について簡単に説明する。
設定手段53は、印刷コンポーネント41などの出力フィルタ103cによって出力処理される出力ジョブを分類するための分類情報データ61、及び/又は分類情報63から出力ジョブの出力順序を決定するための優先順位情報データ62とを設定する手段である。
具体的には、図8に示した分類方式情報と分類種別情報とが、画像処理装置100に搭載された機能に関連付けられた分類情報データ61、及び/又は図9に示した分類方式優先順位情報と分類種別優先順位情報とが関連付けられた優先順位情報データ62を設定する。
このように、設定手段53は、コピーアクティビティ34が操作部デバイスコンポーネント21を介して操作パネル11に表示されたUIから受け付けた、画像処理装置100に搭載された機能に対して、各機能によって処理された出力ジョブを分類する分類方式と、分類するための出力ジョブが属する分類種別と、分類方式及び分類種別同士の優先順位とを関連付け、出力ジョブの出力順序を制御する制御規則を設定している。また、設定手段53により設定された上記データは、印刷コンポーネント41のワークメモリ領域内に一時的に保持される。その後、印刷コンポーネント41が、設定情報コンポーネント24を介してデータ管理コンポーネント23にデータの永続化、すなわちHDD17の所定の記憶領域への格納を指示する。その結果、データ管理コンポーネント23が、当該画像処理装置100が備えるHDD17の所定の記憶領域に格納され管理される。よって設定手段53は、印刷コンポーネント41により実現される手段である。
次に、優先順位取得手段51は、設定手段53により設定される分類情報データ61を参照し、画像処理装置100に搭載された機能に関連付けられた分類方式情報及び分類種別情報に基づいて、優先順位情報データ62から、分類方式情報が示す分類方式の分類方式優先順情報と、分類種別情報が示す分類種別の分類種別優先順位情報とを取得する手段である。
印刷コンポーネント41は、コピーアクティビティ34から出力処理要求を受け付けると、そのときに制御パラメータとして受け取った分類方式情報と分類種別情報とを基に、優先順位取得手段51により、指定された分類方式情報と分類種別情報の各優先順位情報を取得し、取得した優先順位情報を出力順序決定手段52へ渡す。よって優先順位取得手段51は、印刷コンポーネント41により実現される手段である。
次に、出力順序決定手段52は、設定手段53により設定された分類情報データ61と優先順位情報データ62とに基づいて、出力ジョブの出力順序を決定する手段である。
出力順序決定手段52は、優先順位取得手段51により取得した分類方式優先順情報及び分類種別優先順位情報が示すそれぞれの優先順位に従って、出力順序情報データ63に登録された出力処理待ちの状態となっている複数ジョブの出力順序を決定する。よって出力順序決定手段52は、印刷コンポーネント41により実現される手段である。
最後に、印刷コンポーネント41が有する出力手段103cは、コピーアクティビティ34からの出力処理要求に応じて、出力順序情報データ63を参照し、出力順序決定手段52により決定された出力順序に従って、コピーアクティビティ34の動作要求により入力手段103a及び加工手段103bが所定の処理を行った後の出力ジョブの出力処理を行う。
このように上記各手段は、「コピー機能」をインストールしたときに、プラグイン管理コンポーネント22によりHDD17の所定の記憶領域に格納された印刷コンポーネント41が有する出力ジョブ制御プログラムを、コントローラ13が備えるRAM13bに読み出し、CPU13cにより実行することで実現される。
<<出力ジョブ制御機能の動作概要>>
ここからは、本実施形態に係る画像処理装置100において、上記に説明を行った各手段をどのように動作させることによって「出力ジョブ制御機能」を実現しているかについて、図11を用いて具体的に説明する。図11は、本発明の第1の実施形態に係る出力順序並び替えによる出力順序情報データ63のデータ遷移の一例を示す図である。図11(a)及び(b)には、複数の分類方式及び分類種別による出力順序の並び替えの例、また図11(c)には、並び替えられた出力順序の例が示されている。
(動作1)出力順序を並び替える順番を決定
出力順序決定手段52は、優先順位取得手段51により取得した分類方式優先順位情報が示す優先順位に基づいて、出力要求順に出力処理待ちの状態となっている複数ジョブの出力順序を分類方式ごとに並び替えの順番を決定する。
まず、優先順位取得手段51は、コピーアクティビティ34から制御パラメータによって指定された分類方式を基に、優先順位情報データ62から各分類方式の優先順位を示す分類方式優先順位情報を取得する。例えば、コピーアクティビティ34が"実行要求場所"と"出力受け取り者"を分類方式として指定した場合には、指定された各分類方式情報を参照キーに、図9に示す優先順位情報データ62を参照し、分類方式"実行要求場所"に関連付けられた優先順位"1"を取得し、また分類方式"出力受け取り者"に関連付けられた優先順位"2"を取得する。
出力順序決定手段52は、優先順位取得手段51により取得された分類方式優先順位情報を、分類方式同士にて比較し、優先順位の高い分類方式において第1の並び替えを行うこととし、次に優先順位の高い分類方式において第2の並び替えを行うように順番を決定する。
例えば、優先順位取得手段51が、優先順位情報データ62から分類方式"実行要求場所"に関連付けられた優先順位"1"を取得し、また分類方式"出力受け取り者"に関連付けられた優先順位"2"を取得した場合、分類方式"実行要求場所"の方が、優先順位が高い(図9の優先順位情報データ62では、値が小さいほど優先順位が高いことを示している)。このことから、出力順序決定手段52は、出力順序情報データ63の分類方式"実行要求場所"に属する出力ジョブにおいて第1の並び替えを行い、次に優先順位が高い分類方式"出力受け取り者"に属する出力ジョブにおいて第2の並び替えを行うように、並び替えの順番を決定する。
(動作2)出力順序の並び替え
出力順序決定手段52は、決定した並び替え順番に従って、優先順位取得手段51により取得した分類種別優先順位情報が示す優先順位を基に、同一の分類方式における分類種別ごとに複数の出力ジョブの出力順序を並び替え、出力順序を決定する。
優先順位取得手段51は、(動作1)において分類方式優先順位情報を取得したときに、コピーアクティビティ34から制御パラメータによって指定された分類方式に対応する各分類種別の優先順位を示す分類種別優先順位情報を、優先順位情報データ62から取得する。例えば、コピーアクティビティ34が"実行要求場所"と"出力受け取り者"を分類方式として指定した場合には、指定された各分類方式情報を参照キーに、図9に示す優先順位情報データ62を参照し、分類方式"実行要求場所"に関連付けられた分類種別"リモート"の優先順位"1"と分類種別"本体"の優先順位"1"とを取得し、また分類方式"出力受け取り者"に関連付けられた分類情報"異なるユーザ"の優先順位"1"と分類種別"同一ユーザ"の優先順位"2"とを取得する。
出力順序決定手段52は、(動作1)において決定した並び替え順番に従って、図11(a)に示すデータ範囲A1に対して第1の並び替えを行う。このとき、出力順序決定手段52は、優先順位取得手段51により取得された分類種別優先順位情報を、分類種別同士にて比較し、優先順位の高い分類種別に属する出力データが先に出力処理されるように並び替えを行う。
例えば、優先順位取得手段51が、優先順位情報データ62から分類方式"実行要求場所"に関連付けられた分類種別"リモート"の優先順位"1"と分類種別"本体"の優先順位"2"とを取得した場合、分類種別"リモート"の方が優先順位が高い。このことから、出力順序決定手段52は、出力順序情報データ63の分類方式"実行要求場所"に属する出力ジョブ(図11(a)のデータ範囲A1)において、出力要求順に出力処理待ちの状態となっている分類種別"リモート"に属する出力ジョブが、分類種別"本体"に属する出力ジョブより先に出力処理されるように、分類種別"リモート"に属する出力ジョブの出力順序を上位に移動する(図11(a)及び(b)のジョブID"3"と"4"に該当する出力ジョブに関するデータ遷移)。
次に、出力順序決定手段52は、(動作1)において決定した並び替え順番に従って、図11(b)に示すデータ範囲A2に対して第2の並び替えを行う。このとき、出力順序決定手段52は、第1の並び替えと同様に、優先順位取得手段51により取得された分類種別優先順位情報を、分類種別同士にて比較し、優先順位の高い分類種別に属する出力データが先に出力処理されるように並び替えを行う。
例えば、優先順位取得手段51が、優先順位情報データ62から分類方式"出力受け取り者"に関連付けられた分類種別"異なるユーザ"の優先順位"1"と分類種別"同一ユーザ"の優先順位"2"とを取得した場合、分類種別"異なるユーザ"の方が優先順位が高い。このことから、出力順序決定手段52は、出力順序情報データ63の分類方式"出力受け取り者"に属する出力ジョブ(図11(b)のデータ範囲A2)において、出力要求順に出力処理待ちの状態となっている分類種別"異なるユーザ"に属する出力ジョブが、分類種別"同一ユーザ"に属する出力ジョブより先に出力処理されるように、分類種別"異なるユーザ"に属する出力ジョブの出力順序を上位に移動する(図11(b)及び(c)のジョブID"2"と"4"に該当する出力ジョブに関するデータ遷移)。
このように、本実施形態に係る画像処理装置100では、出力ジョブが属する分類方式及び分類種別の各優先順位を基に、出力要求順に出力処理待ちの状態となっている出力ジョブの出力順序の並び替えを行う。また、本実施形態に係る画像処理装置100では、1つの分類方式及び分類種別により出力順序の並び替えを行うことも可能であると同時に、複数の分類方式及び分類種別の優先順位を基により細かい条件で並び替えを行うことも可能である。
上記(動作1)及び(動作2)において説明を行った方法によって、本実施形態に係る画像処理装置100は、設定手段53によって設定された、画像処理装置100に搭載された機能に対して、各機能によって処理された出力ジョブを分類する分類方式と、分類するための出力ジョブが属する分類種別と、分類方式及び分類種別同士の優先順位とを関連付け、出力ジョブの出力順序を制御する制御規則に基づいて、各機能で処理された出力ジョブの出力順序を並び替え、並び替えた出力順序に従って出力することができる。
よって、本実施形態に係る画像処理装置100は、ユーザが所望する出力ジョブ制御機能を実現することができる。
(例外1)同一の分類方式及び分類種別に該当する複数の出力ジョブへの対応
上記「(動作2)出力順序の並び替え」において、同一の分類方式及び分類種別に属する複数の出力ジョブに対して出力順序を決定する場合が考えられる。このような場合、出力順序決定手段52は、優先順位取得手段51により取得された分類方式及び分類種別の各優先順位に基づいて出力順序の並び替えを行うため、同一の優先順位では、同一の分類方式及び分類種別に属する複数の出力ジョブの出力順序を並び替えることができない。
そのため、出力順序決定手段52は、同一の分類方式及び分類種別に該当する複数の出力ジョブの出力順序を、複数の出力ジョブそれぞれの出力要求順(出力処理要求されたときに採番されたジョブID)を基に決定する。すなわち、出力順序決定手段52は、該当する出力ジョブのジョブIDの値を互いに比較し、ジョブIDが小さい値の出力ジョブ(先に出力処理が要求された出力ジョブ)を、先に出力処理されるように並び替え出力順序を決定する。
このように、本実施形態に係る画像処理装置100では、まず、分類方式及び分類種別などの出力ジョブの制御規則に従って出力順序を決定し、この制御規則によって決定することができなかった出力ジョブの出力順序については、出力処理要求順に従って決定する。
(例外2)分類方式に対応する分類種別が設定されていない場合への対応
上記「(動作2)出力順序の並び替え」において、優先順位取得手段51が参照する優先順位情報データ62に、コピーアクティビティ34から指定された分類方式に対応する分類種別が、設定手段53によって設定されていない場合が考えられる。このような場合、出力順序決定手段52は、優先順位取得手段51により取得された分類方式及び分類種別の各優先順位に基づいて出力順序の並び替えを行うため、分類種別が設定されていなければ、指定された分類方式に属する複数の出力ジョブの出力順序を並び替えることができない。
そのため、出力順序決定手段52は、出力処理待ちの状態となっている複数の出力ジョブのうち、分類方式に対応した分類種別が設定されていない出力ジョブを、設定されている他の出力ジョブより後に出力するように出力順序を並び替え、出力順序を決定する。
このように、本実施形態に係る画像処理装置100では、分類方式及び分類種別などの出力ジョブの制御規則が設定された出力ジョブを優先的に出力処理する。
<設定機能>
ここからは、本実施形態に係る画像処理装置100が有する「設定機能」について、図12から25を用いて説明する。
<<インストール時の設定>>
(インストール対象機能の選択と導入指示)
まず、画像処理装置100は、アプリケーションソフトウェアをインストールするときに、ユーザから操作パネル11の表示画面に表示されたUI機能を介してインストール指示を受け付ける。操作部デバイスコンポーネント21は、ユーザからインストール指示に従って、プラグイン管理コンポーネント22に対してプラグイン一覧の取得を要求する。その結果、操作部デバイスコンポーネント21は、プラグイン一覧コンポーネント22から応答されたプラグイン一覧を基に図12に示すような画面を操作パネル11の表示画面に表示する。
図12は、本発明の第1の実施形態に係る機能プラグイン一覧の表示画面の一例を示す図である。図12では、「ロケーション」で指定されたプラグインの格納先情報(図中では管理サーバ名)と、各プラグインが画像処理装置100にインストールされているか否かを示すインストール状態情報(図中では「利用中(インストール済み)/未導入(未インストール)」)とが表示されたGUI(Graphical User Interface)機能を有するプラグイン一覧画面の例が示されている。
ユーザは、このようなプラグイン一覧画面を介して、[指定]ボタンを押下することで、プラグインの格納先を指定し、指定した格納先に格納されている機能追加用プラグインモジュール群の情報を基に一覧表示されたインストール状態情報から、インストールする機能に対応する[未導入]ボタンを押下することで、インストールするプラグインを選択することができる。また、図12では、プラグインの格納先情報が"http://pluginsrv.abc.com"というURL(Uniform Resource Locator)となっており、画像処理装置100がネットワークを介してデータ通信可能な周辺機器であるプラグイン管理サーバが格納先である例が示されているが、プラグインの格納先は、画像処理装置100自身であってもよく、この場合には、ファイルパスなどが格納先情報となる。
図13は、本発明の第1の実施形態に係る機能プラグインのインストール画面の一例を示す図である。図13(a)及び(b)では、GUI機能を有するプラグイン導入確認画面とインストール状態画面との例が示されている。
操作部デバイスコンポーネント21は、プラグイン一覧画面を介して選択されたプラグインのインストール確認用の図13(a)に示すような画面を操作パネル11の表示画面に表示する。この画面の内容をユーザが確認し、[導入]ボタンを押下すると、操作部デバイスコンポーネント21は、図13(b)に示すようなインストール中である旨を示す状態画面を操作パネル11の表示画面に表示する。
このように、本実施形態に係る画像処理装置100では、操作部デバイスコンポーネント21及びプラグイン管理コンポーネント22により、ユーザが所望する機能がインストールされる。
(インストール機能の分類情報データ設定)
図14は、本発明の第1の実施形態に係る分類方式の設定画面の一例を示す図である。本実施形態に係る画像処理装置100では、図14に示すような分類方式の設定画面により分類情報の設定を行うことができる。図14では、分類方式"実行要求場所"及び"出力受け付け者"各優先順位を設定可能なGUI機能を有する画面の例が示されている。
本実施形態に係る画像処理装置100は、上記設定画面を介して分類情報の設定を行うと、インストール対象の機能自身により、図15に示すようなデータ遷移過程を経て、画像処理装置100が搭載する機能の分類情報データ61が追加される。
図15は、本発明の第1の実施形態に係る分類情報設定による分類情報データ61のデータ遷移の一例を示す図である。また、図15では、「コピー機能」をインストールする場合のデータ遷移の例が示されている。
まず、図15(a)には、「コピー機能」がインストールされる前の分類情報データ61の例が示されている。プラグイン管理コンポーネント22により、「コピー機能」のインストールが開始されると、図14に示したような分類情報設定画面のGUIから受け付けた設定指示を基に、インストールされたコピーアクティビティ34により、インストールされた印刷コンポーネント41に対して情報設定の要求がなされ、印刷コンポーネント41が、既存の分類情報データ61に、コピー機能のデータ欄(図15(b)のデータ領域B1)を追加する。次いで、印刷コンポーネント41は、追加したデータ領域B1の各分類方式及び分類種別を設定する(図15(c)のデータ領域B2)。分類情報データ61は、上記の方法によりインストールが終了した段階で作成が完了する。
このように、本実施形態に係る画像処理装置100では、印刷コンポーネント41が有する設定手段53により、ユーザが所望する分類情報が設定される。
以降に、本実施形態に係る画像処理装置100において、GUI機能を有する設定画面から設定手段53が各種情報を設定する方法について説明する。
<<分類方式及び分類種別の各種情報設定>>
(分類方式の設定)
図16は、本発明の第1の実施形態に係る分類情報の管理画面の一例を示す図である。また、図17は、本発明の第1の実施形態に係る分類方式の編集画面の一例を示す図である。
分類情報データ61及び/又は優先順位情報データ62の管理(追加・削除・変更などのデータ操作)は、図16に示すGUI機能を有する管理画面を介して行うことができる。例えば、分類情報データ61及び/又は優先順位情報データ62の分類方式情報を編集したい場合には、管理画面の[分類方式の管理]ボタンを押下する。その結果、図17に示す分類方式の編集画面が表示される。設定手段53は、図17に示すGUI機能を有する編集画面を介して受け付けたユーザからの指示に従って、既存の分類情報データ61及び/又は優先順位情報データ62に設定された分類方式情報に対して、「新規作成」、「名称変更」、「データ削除」などのデータ操作を行う。
・「新規作成」
図18及び図19は、本発明の第1の実施形態に係る新規分類方式の設定画面の一例(その1及びその2)を示す図である。
新規作成の場合には、ユーザから図17に示す編集画面の[新規作成]ボタンを押下される。その結果、まず図18に示す分類方式の設定画面(その1)が表示される。設定手段53は、図18に示すGUI機能を有する編集画面を介して、新規に追加する「分類方式の名称(図18では"アラカルト方式"という文字列)」、「分類方式に対応する分類種別(図18では"アラカルトA"などの文字列)」、及び「分類種別同士の優先順位(図18では"3"などの数値)」などの各種情報を受け付け、[追加]ボタンが押下されたことによる新規作成指示に従って、受け付けた各種情報を既存の分類情報データ61及び優先順位情報データ62に追加しデータを更新する。
次いで、[追加]ボタンが押下されると、図19に示す設定画面(その2)が表示される。設定手段53は、図19に示す分類方式の優先順位設定画面を介して、新規に追加された分類方式を含む各分類方式の「優先順位(図19では"1"などの数値)」を受け付け、[設定]ボタンが押下されたことによる優先順位更新指示に従って、受け付けた優先順位情報を既存の優先順位情報データ62に設定する。このとき、設定手段52は、既存の優先順位情報データ62に設定されていた分類方式の優先順位に変更があった場合にその値を更新し、主に、新規に追加された分類方式の優先順位についての設定を行う。
・「名称変更」
図20は、本発明の第1の実施形態に係る分類方式の名称変更画面の一例を示す図である。
名称変更の場合には、ユーザから図17に示す編集画面の[名称変更]ボタンを押下される。その結果、図20に示す分類方式の名称変更画面が表示される。設定手段53は、図20に示すGUI機能を有する名称変更画面を介して、変更する「分類方式の名称(図20では"要求受付"という文字列)」を受け付け、[設定]ボタンが押下されたことによる名称変更指示に従って、受け付けた分類方式名称情報を既存の分類情報データ61及び優先順位情報データ62に設定し各データを更新する。
・「データ削除」
図21は、本発明の第1の実施形態に係る分類方式の削除画面の一例を示す図である。
データ削除の場合には、ユーザから図17に示す編集画面の[削除]ボタンを押下される。その結果、図21に示す分類方式の削除画面が表示される。設定手段53は、図21に示すGUI機能を有する削除画面を介して、削除する「分類方式の名称(図21では"実行要求場所"という文字列)」を受け付け、[OK]ボタンが押下されたことによる削除指示に従って、受け付けた分類方式及び対応する分類種別情報を既存の分類情報データ61から削除しデータを更新する。このとき、設定手段53は、削除対象となった分類方式が、画像処理装置100が搭載する機能に関連付けられているか否かを、更新後の分類情報データ61の設定内容から判断し、判断結果が「関連付けられていない」場合に、優先順位情報データ62からも、削除対象となった分類方式及び対応する分類種別情報を削除しデータを更新する。
(分類種別の設定)
図22は、本発明の第1の実施形態に係る分類方式の選択画面の一例を示す図である。また、図23は、本発明の第1の実施形態に係る選択された分類方式に対応する分類種別の編集画面の一例を示す図である。
分類情報データ61及び/又は優先順位情報データ62の管理(追加・削除・変更などのデータ操作)は、図16に示すGUI機能を有する管理画面を介して行うことができる。例えば、分類情報データ61及び/又は優先順位情報データ62の分類種別情報を編集したい場合には、管理画面の[分類種別の管理]ボタンを押下する。その結果、図22に示す編集対象の分類種別が対応する分類方式の選択画面が表示される。設定手段53は、図22に示すGUI機能を有する選択画面を介して、編集する分類種別が対応する「分類方式の名称(図22では"実行要求場所"という文字列)」を受け付け、[編集]ボタンが押下されたことによる編集指示に従って、選択された分類方式の分類種別の編集を行う。
次いで、[編集]ボタンが押下されると、図23に示す編集画面が表示される。設定手段53は、図23に示すGUI機能を有する編集画面を介して、編集する「分類種別(図23では"本体操作"などの文字列)」及び「分類種別同士の優先順位(図23では"3"などの数値)」などの各種情報を受け付け、[追加]ボタンが押下されたことによる新規作成指示に従って、受け付けた各種情報を既存の分類情報データ61及び優先順位情報データ62に追加しデータを更新する。
また、上記の方法によって設定された分類種別の優先順位を変更したい場合には、図24に示す分類種別の優先順位変更画面を介して設定変更することができる。図24は、本発明の第1の実施形態に係る分類種別の優先順位変更画面の一例を示す図である。設定手段53は、図24に示すGUI機能を有する変更画面を介して、変更する「分類種別(図24では"本体操作"などの文字列)」及び「分類種別同士の優先順位(図24では"1"などの数値)」などの各種情報を受け付け、[設定]ボタンが押下されたことによるデータ更新指示に従って、受け付けた各種情報を既存の優先順位情報データ62に追加しデータを更新する。
このように、本実施形態に係る画像処理装置100では、設定手段53により、ユーザに所望する分類方式、分類種別、及びそれぞれに対応する優先順位などの各種情報を設定可能なUIを提供することができる。よって、ユーザは、例えば、任意の分類方式、分類種別、及びそれぞれに対応する優先順位などの各種情報などの設定も可能となり、自由度の高い出力ジョブの制御規則を設定することができる。
(変更可否の設定)
更に、本実施形態に係る画像処理装置100では、上記の各種設定画面を介して設定を行った分類情報データ61及び優先順位情報データ62における分類方式及び分類種別情報の変更・更新を許可するか否かを設定することもできる。
図25は、本発明の第1の実施形態に係る変更可否情報を含む分類情報データ61aのデータ構成及びデータ遷移の一例を示す図である。図25(a)では、分類情報データ61aの「コピー機能」に該当する変更可否情報が未設定の場合のデータ構成の一例が示されており、図25(b)では、「コピー機能」に該当する変更可否情報が設定された場合のデータ構成の一例が示されている。
このように、本実施形態に係る画像処理装置100では、設定手段53により、画像処理装置100が搭載する機能ごと、すなわち分類方式ごとに変更を許可するか否かの情報(図25(a)及び(b)では、"可"、"否"、又は"―"のいずれか1つ。)を設定することができる。また、設定手段53は、分類方式及び分類種別情報などと同じようなGUI機能を有する設定画面を介して上記変更可否情報の設定値を受け取るが、この設定画面に移行するためには、予め設定しておいた管理者パスワードの入力と認証処理が必要とするなど、任意のユーザが設定することができないようにしておく。これにより、本実施形態に係る画像処理装置100では、ユーザによる不適切な制御規則の変更により、出力生産性の低下やコストパフォーマンスの上昇などの不都合を未然に防ぐことができる。
これまでに説明を行ってきたように、本実施形態に係る画像処理装置100は、自身に搭載された機能(インストールされたアプリケーションソフトウェア)に対して、各機能によって処理された出力ジョブを分類する分類方式と、分類するための出力ジョブが属する分類種別と、分類方式及び分類種別同士の優先順位とを関連付け、出力ジョブの出力順序を制御する所定の制御規則を、設定手段53により設定する。
よって、本実施形態に係る画像処理装置100では、上記構成としたことにより、ユーザが出力ジョブ制御を行うための所定の制御規則を設計することが可能で、出力順序決定手段52が、各機能で処理された出力ジョブを、設定された所定の制御規則に基づいた出力順序に従って出力するため、装置内の機能搭載環境の変化に柔軟に対応することが可能となり、ユーザが所望する「出力ジョブ制御機能」を実現することができる。
<処理手順>
ここからは、上記に説明を行った本実施形態に係る画像処理装置100が有する「出力ジョブ制御機能」の具体的な処理手順について、図26から28を用いて説明する。以下に説明する処理手順は、画像処理装置100にインストールされた各種アクティビティコンポーネントやフィルタコンポーネントなどの出力ジョブ制御プログラムを含むソフトウェア部品が、HDD17の所定の記憶領域からRAM13b上に読み出され、CPU13cで実行されることにより処理される手順である。
<<出力ジョブ制御処理の基本処理手順>>
図26は、本発明の第1の実施形態に係る画像処理装置100における出力ジョブ制御処理の処理手順を示すシーケンス図である。図26では、画像処理装置100が有するコピー機能を動作させたときの出力ジョブ制御の例が示されている。
本実施形態に係る画像処理装置100は、操作パネル11のスタートキーが押下されると、操作部デバイスコンポーネントーネント21によりコピー動作指示のイベントを受け付け、受け付けた動作指示イベントをコピーアクティビティ34に転送する(ステップS101)。コピーアクティビティ34は、コピー動作の入力・加工・出力の各機能を提供する各フィルタ、印刷コンポーネント41、編集コンポーネント42、及び読取コンポーネント45に対して、ジョブをエントリ(以下、「登録」という。)する(ステップS102からステップS104)。
このとき、コピーアクティビティ34は、データ管理コンポーネント23を介して分類情報データ61を参照し、コピー機能が対応する分類方式及び/又は分類種別の各情報を取得し、印刷コンポーネント41に対して、取得した分類方式及び/又は分類種別の各情報を制御パラメータとして渡す(コールする関数の引数に設定する:図26では"実行要求場所=本体"や"出力受け取り者=同一ユーザ")。
このとき、コピーアクティビティ34は、印刷コンポーネント41に対して動作要求するときに、出力ジョブを制御するための分類方式及び分類種別の各情報を制御パラメータとして渡す(コールする関数の引数に設定する:図26では"実行要求場所=本体"や"出力受け取り者=同一ユーザ")。印刷コンポーネント41は、受け取った上記制御パラメータ(分類方式及び分類種別の各情報)を基に、出力処理を行う出力順序を最適になるように並び替え、出力ジョブの制御を行う。
コピーアクティビティ34からジョブが登録され、動作を要求された各フィルタ、印刷コンポーネント41、編集コンポーネント42、及び読取コンポーネント45は、動作準備が完了し処理可能な状態になると、コピーアクティビティ34へその旨を通知(実行可否通知(OK))する(ステップS105からステップS107)。印刷コンポーネント41の場合には、出力順序情報データ63の中で、ステップS102の処理手順で登録された出力ジョブの出力順番が回ってきたときに、コピーアクティビティ34へ実行可否情報(OK)を通知する。
コピーアクティビティ34は、各フィルタ、印刷コンポーネント41、編集コンポーネント42、及び読取コンポーネント45からの実行可否情報を受け取ると、各フィルタへ処理の実行を指示する(ステップS108)。印刷コンポーネント41の場合には、コピーアクティビティ34からの実行指示に従って出力処理を行う。
このように、本実施形態に係る画像処理装置100は、出力ジョブの制御が行われていることを意識させることなく、最適な出力順序で出力処理を行うことができる。
次に、図26で簡単に説明を行った印刷コンポーネント41が行う出力ジョブ制御機能の詳細な出力順序決定処理について、図27を用いて説明する。
<<出力順序決定処理の処理手順>>
図27は、本発明の第1の実施形態に係る画像処理装置100における出力順序決定処理の処理手順を示すフローチャートである。
本実施形態に係る画像処理装置100は、印刷コンポーネント41により、出力順序情報データ63を参照し(ステップS201)、データ内に、出力処理待ちの状態(待機中)の出力ジョブが複数個登録されているか否かを判定する(ステップS202)。
印刷コンポーネント41は、出力処理待ちの出力ジョブが登録されていない、又は1つしか登録されていないと判定した場合(ステップS202がNOの場合)、処理を終了する。
また、出力処理待ちの出力ジョブが複数個登録されていると判定した場合(ステップS202がYESの場合)、コピーアクティビティ34からコールされるときに分類種別が指定されたか(制御パラメータが設定されたか)否かを判定する(ステップS203)。
印刷コンポーネント41は、分類種別が指定されたと判定した場合(ステップS203がYESの場合)、優先順位取得手段51により、コピーアクティビティ34から受け取った分類方式及び分類種別の各情報を基に、データ管理コンポーネント23を介して優先順位情報データ62を参照し、それぞれの優先順位情報を取得する(ステップS204)。
次いで、コピーアクティビティ34から分類方式が複数指定された場合には、個取得した分類方式の優先順位情報から、出力順序情報データ63の並び替えを行うときに基準として採用する分類方式の順番を決定する(ステップS205)。
印刷コンポーネント41は、出力順序決定手段52により、優先順位取得手段51により取得した分類種別の優先順位情報を基に、並び替えるときに基準とする分類種別(優先順位の高い分類種別)を特定し(ステップS206)、特定された分類種別の優先順位に従って、出力順序情報データ63に登録された各出力ジョブの出力順序を並び替える(ステップS207)。
印刷コンポーネント41は、上記ステップS206及びステップS207の処理手順を、コピーアクティビティ34から指定された分類方式の数だけ繰り返し行う(ステップS208がNOの間)。
印刷コンポーネント41は、指定された分類方式全てについて上記処理手順を行うと(ステップS208がYESの場合)、処理を終了する。
また、分類種別が指定されなかったと判定した場合(ステップS203がNOの場合)、分類種別が指定されなかった出力ジョブを、出力順序情報データ63に登録されている同一の分類方式に該当する出力ジョブより後に出力処理されるように、出力順序を並び替え、処理を終了する(ステップS209)。
このように、本実施形態に係る画像処理装置100は、出力順序決定手段52により、分類方式及び分類種別の各優先順位に応じて、出力順序情報データ63の出力順序を並び替え、出力ジョブの制御を行う。
<<機能プラグインインストール処理の処理手順>>
図28は、本発明の第1の実施形態に係る画像処理装置100における機能プラグインインストール処理の処理手順を示すシーケンス図である。図28では、「コピー機能」をインストールする場合の例が示されている。
本実施形態に係る画像処理装置100は、操作部デバイスコンポーネント21により、画像処理装置100で動作可能な機能プラグインの情報(機能プラグイン一覧情報)の取得を、プラグイン管理コンポーネント22へ要求し(ステップS301)、プラグイン管理コンポーネント22は、取得要求に応じて機能プラグイン一覧情報を操作部デバイスコンポーネント21に応答する。その結果、操作部デバイスコンポーネント22は、取得した情報を基に、機能プラグイン一覧画面を操作パネル11の表示画面に表示する。
操作部デバイスコンポーネント21は、操作パネル11に表示された機能プラグイン一覧画面のGUI機能を介して選択された、インストールする機能プラグインの情報を受け取る(ステップS302)。操作部デバイスコンポーネント21は、受け取った情報を基に、機能プラグイン名をインストールパラメータとして設定(図28では"プラグイン=コピーアクティビティ")し、プラグイン管理コンポーネント22にインストールを指示する(ステップS303)。
プラグイン管理コンポーネント22は、プラグイン管理コンポーネント22によりインストールされたソフトウェア部品であるコピーアクティビティ34に対して、インストール時に行う所定の処理の実行を指示する(ステップS304)。
また、このとき、操作パネル11の表示画面に表示した分類方式及び分類種別に関する各種情報を設定する設定画面がされており、操作部デバイスコンポーネント41は、設定画面のGUI機能を介して受け取った分類方式及び分類種別に関する各種情報(図28では"分類方式=実行要求場所"及び"分類種別=本体")を、コピーアクティビティ34に渡す(ステップS305)。
コピーアクティビティ34は、インストールのときに同時にインストールされた、又は既にインストールされているソフトウェア部品である印刷コンポーネント41に対して、インストール時の出力ジョブを制御するための各種情報の設定を指示する。
コピーアクティビティ34は、インストール対象の機能名を印刷コンポーネント41に対して指定し、印刷コンポーネント41は、設定手段53により、分類情報データ61の該当するデータ領域に、指定されたインストール対象の機能名を追加する(ステップS306)。
次いで、コピーアクティビティ34は、インストール対象の機能に関する分類方式及び分類種別を指定し、印刷コンポーネント41は、設定手段53により、分類情報データ61及び優先順位情報データ62の該当するデータ領域に、指定された分類方式及び分類種別に関する各種情報(分類方式及び分類種別が複数設定された場合の情報を含む)を追加更新する(ステップS307及びステップS308)。
コピーアクティビティ34は、ステップS307及びステップS308の処理手順により設定されたインストール機能と、既にインストールされている機能と、それぞれに関連付けられた分類方式及び分類種別に関する各種情報のデータ更新を、印刷コンポーネント41に指示する(ステップS309)。
更に、コピーアクティビティ34は、更新された分類情報データ61に対して、インストール対象の機能名を指定し、印刷コンポーネント41は、設定手段53により、分類情報データ61の該当するデータ領域に、指定された変更可否情報(設定した各種情報を変更可能か否かを示す情報)を追加する(ステップS310)。
コピーアクティビティ34は、上記ステップS306からステップS310の処理手順が完了したことを受けて、インストールが完了した旨を、プラグイン管理コンポーネント22に通知し(ステップS311)、プラグイン管理コンポーネント22は、受け取った完了通知を操作部デバイスコンポーネント41に渡す(ステップS312)。
その結果、操作部デバイスコンポーネント41は、受け取ったインストール完了通知を、操作パネル11の表示画面に表示する。
このように、本実施形態に係る画像処理装置100は、設定手段53により、自身に搭載された機能(インストールされたアプリケーションソフトウェア)に対して、各機能によって処理された出力ジョブを分類する分類方式と、分類するための出力ジョブが属する分類種別と、分類方式及び分類種別同士の優先順位とを関連付け、出力ジョブの出力順序を制御する所定の制御規則を設計することができる。これによって、本実施形態に係る画像処理装置100は、ユーザが出力ジョブ制御を行うための所定の制御規則を設計することが可能で、かつ装置内の機能搭載環境の変化に柔軟に対応することが可能する「設定機能」をユーザへ提供している。
<まとめ>
以上のように、本発明の第1の実施形態によれば、本実施形態に係る画像処理装置100は、自身に搭載された機能(インストールされたアプリケーションソフトウェア)に対して、各機能によって処理された出力ジョブを分類する分類方式と、分類するための出力ジョブが属する分類種別と、分類方式及び分類種別同士の優先順位とを関連付け、出力ジョブの出力順序を制御する所定の制御規則を設計可能とし、各機能で処理された出力ジョブを、設計された所定の制御規則に基づいた出力順序に従って出力する。
これによって、本実施形態に係る画像処理装置100は、ユーザが出力ジョブ制御を行うための所定の制御規則を設計することが可能で、かつ装置内の機能搭載環境の変化に柔軟に対応することが可能となり、ユーザが所望する「出力ジョブ制御機能」を実現することができる。
第1の実施形態に基づき本発明の説明を行ってきたが、本発明の実施形態に係る画像処理装置100が有する「出力ジョブ制御機能」は、図26から図28に示した各処理手順を、それぞれの動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムとしてコンピュータで実行することで実現することができる。よって、本発明の実施形態に係る画像処理装置100が有する出力ジョブ制御プログラム(印刷コンポーネント41に含まれるソフトウェア部品)は、コンピュータが読み取り可能な記憶媒体12bに格納することができる。
すなわち、出力ジョブ制御プログラムは、フロッピー(登録商標)ディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)などの記録媒体12bに記憶させることによって、これらの記憶媒体12bを読み取り可能なドライブ装置12aに接続された記録媒体12bから、画像処理装置100にインストールすることができる。また、画像処理装置100は、インタフェース装置14aを有していることから、インターネットを用いて出力ジョブ制御プログラムをダウンロードし、インストールすることもできる。
また、第1の実施形態では、出力ジョブ制御を行うための各種情報(分類方式及び分類種別などの情報)を設定・変更するGUI機能を有する設定・変更画面について説明を行ったが、本発明は、その表示内容やレイアウトに限定されるものではない。必要な情報を設定・変更するためのUIの一例を示したものであって、画像処理装置100が有する操作パネル11の表示画面を介して設定・変更可能なUIであればよい。
また、第1の実施形態では、分類情報データ61及び優先順位情報データ62などのデータ構成について説明を行ったが、本発明は、そのデータ構造及びデータ形式に限定されるものではない。画像処理装置100が搭載する機能と分類方式、また、その分類方式と分類種別とが、それぞれ関連付けられるデータ構造及びデータ形式であればよい。更に、本実施形態では、これらの各種情報データが、画像処理装置100が有するHDD17に格納されるデータ保管構成について説明を行ったが、不揮発性の記憶装置であればよく、例えば、データを格納した記憶装置が、画像処理装置100が有するドライブ装置12aを介して接続される外部の記憶装置(メモリカードなど)であってもよい。
最後に、上記各実施形態に挙げた形状に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。