JP7102248B2 - 画像処理装置、情報処理方法及びプログラム - Google Patents

画像処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7102248B2
JP7102248B2 JP2018117968A JP2018117968A JP7102248B2 JP 7102248 B2 JP7102248 B2 JP 7102248B2 JP 2018117968 A JP2018117968 A JP 2018117968A JP 2018117968 A JP2018117968 A JP 2018117968A JP 7102248 B2 JP7102248 B2 JP 7102248B2
Authority
JP
Japan
Prior art keywords
image processing
job
queue
flag
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018117968A
Other languages
English (en)
Other versions
JP2019154019A (ja
Inventor
峻 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/292,009 priority Critical patent/US10922039B2/en
Publication of JP2019154019A publication Critical patent/JP2019154019A/ja
Application granted granted Critical
Publication of JP7102248B2 publication Critical patent/JP7102248B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、画像処理装置、情報処理方法及びプログラムに関する。
画像形成装置で提供されていない画像処理を含む各種ジョブを実行したい場合、新規画像処理を実行するためのアプリケーションをプラグインとして作成し、画像形成装置にインストールすることによって実現する技術が知られている(特許文献1)。
特開2007-20030号公報
上述のような構成において、使用する画像処理によっては、プラグインが直接画像処理を実行するのではなく、実行速度を優先するために画像形成装置内の組み込みソフトウェアとして配置された画像処理の実行モジュールを使用して画像処理を実現することが考えられる。しかしながら、一般に組み込みソフトウェアは、機能追加や安定性向上を企図したモジュールの変更がしづらいという性質がある。したがって、実行モジュールに何らかの実装上の制限が含まれていた場合、後からその制限を解消するための修正を実行モジュール自体に実施させるのは、開発効率の観点からは望ましくない。ここで言う実装上の制限の一例として、画像処理モジュールが、画像処理モジュールに対する複数の画像処理依頼が同時に実施された場合に、それらを並行処理することができない、というものが挙げられる。そのような制限を有する画像処理モジュールへの画像処理ジョブが輻輳した場合、後行の画像処理ジョブが受け付けられなくなってしまう。
先行技術に記載の構成では、プラグインの使用する組み込み画像処理モジュールが並行動作できず、1プロセスでしか動作できない場合であって、複数のアプリから呼び出された場合、後から呼び出したアプリへの応答はエラーになる。また、例えばアプリケーションが実施する処理がサーチャブルPDFの生成処理の場合、全てのページを処理するのに時間がかかる。後のアプリケーションがユーザ操作の応答性に関わる機能である場合、ユーザを待たせることになり、応答性が低下してしまう。
本発明は、複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置であって、ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録手段と、前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定手段と、前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求手段と、前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御手段と、を有し、前記要求手段は、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記画像処理モジュールによる処理が完了した場合に、前記判定手段による判定が再度、行われ、前記制御手段は、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない。
本発明によれば、ユーザへの応答性の劣化を抑えることができるようになる。
画像形成システムのシステム構成の一例を示す図である。 画像形成装置のハードウェア構成の一例を示す図である。 ソフトウェアの構造の一例を模式的に表す階層図である。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。 スキャン原稿のプレビュー画面の一例を示す図である。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。 ソフトウェアの構造の一例を模式的に表す階層図である。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。 情報処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、画像形成システムのシステム構成の一例を示す図である。画像形成システムには、画像形成装置101、102と、情報処理端末103、104と、サーバ105とが含まれる。画像形成装置101、102と、情報処理端末103、104と、サーバ105とは、ネットワーク106により相互に接続されて、通信可能である。
図1では、画像形成装置101、102が2つである場合を例に挙げて示すが、画像形成装置の数は任意(1つ又は2以上)である。また、それぞれの画像形成装置101、102は、同じもので実現することができる。したがって、以下では、画像形成装置101、102を代表して画像形成装置101について説明し、画像形成装置102についての詳細な説明を省略する。ネットワーク106は、LAN(Local Area Network)、Internet等、画像形成システム内の装置が相互に通信できるものであればよい。
画像形成装置101は、情報処理端末103、104から画像データの印刷依頼(印刷データ)を受信して印刷することや、画像形成装置101に備わるスキャナで画像データを読み取ることや、スキャナで読み取られた画像データを印刷することができる。また、画像形成装置101は、情報処理端末103、104から受信した印刷データを保存したり、画像形成装置101のスキャナで読み取られた画像を情報処理端末103、104に送信したりすることができる。更に画像形成装置101は、サーバ105を用いて画像処理を行ったり、サーバ105に格納されている文書を印刷したりすることができる。画像形成装置101は、この他に、MFP(Multi Function Peripheral)等の公知の画像形成装置が有する機能を実現することができる。
図2は、画像形成装置101のハードウェア構成の一例を示す図である。
画像形成装置101は、コントローラ201、プリンタ202、スキャナ203、及び操作部204を有する。コントローラ201は、CPU211、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、及び拡張I/F218を含む。CPU211は、RAM212、HDD213、ネットワークI/F214、プリンタI/F215、スキャナI/F216、操作部I/F217、及び拡張I/F218とデータを授受することができる。また、CPU211は、HDD213から読み出したプログラムをRAM212に展開し、RAM212に展開したプログラムを実行する。CPU211がプログラムに基づき処理を実行することにより、後述する図3、図11のソフトウェア構成及び図4-図7、図9、図10、図12-図14のフローチャートの処理が実現される。
HDD213には、CPU211で実行可能なプログラム、画像形成装置101で使用する設定値、及びユーザから依頼された処理に関するデータ等を記憶しておくことができる。RAM212は、CPU211がHDD213から読み出したプログラムを一時的に格納するための領域である。またRAM212は、プログラムの実行に必要な各種のデータを記憶しておくこともできる。例えば、画像処理では、入稿されたデータをRAM212に展開することで処理を行うことができる。
ネットワークI/F214は、画像形成システム内の装置とネットワーク通信を行うためのインターフェイスである。ネットワークI/F214は、データ受信を行ったことをCPU211に伝達することや、RAM212上のデータをネットワーク106に送信することができる。プリンタI/F215は、CPU211から送信された印刷データをプリンタ202に送信することや、プリンタ202から受信したプリンタの状態をCPU211に伝達することができる。スキャナI/F216は、CPU211から送信された画像読み取り指示をスキャナ203に送信し、スキャナ203から受信した画像データをCPU211に伝達することや、スキャナ203から受信した状態をCPU211に伝達することができる。操作部I/F217は、操作部204から入力されたユーザからの指示をCPU211に伝達することや、ユーザが操作するための画面情報を操作部204に伝達することができる。拡張I/F218は、画像形成装置101に外部機器を接続することを可能とするインターフェイスである。拡張I/F218は、例えば、USB(Universal Serial Bus)形式のインターフェイスを具備する。画像形成装置101は、USBメモリ等の外部記憶装置が拡張I/F218に接続されることにより、外部記憶装置に記憶されているデータの読み取り及び外部記憶装置に対するデータの書き込みを行うことができる。
プリンタ202は、プリンタI/F215から受信した画像データを用紙に印刷することや、プリンタ202の状態をプリンタI/F215に伝達することができる。スキャナ203は、スキャナI/F216から受信した画像読み取り指示に従って、自身に置かれた用紙に表示されている情報を読み取ってデジタル化してスキャナI/F216に伝達することができる。また、スキャナ203は、自身の状態をスキャナI/F216に伝達することができる。操作部204は、画像形成装置101に対して各種の指示を行うための操作をユーザに行わせるためのインターフェイスである。例えば、操作部204は、タッチパネルを有する液晶画面を具備し、ユーザに操作画面を提供すると共に、ユーザからの操作を受け付ける。
図3は、実施形態1の画像形成装置101のソフトウェアの構造の一例を模式的に表す階層図である。図3において、一部の例外を除いて、下位の階層が提供するサービスを上位の階層が利用する関係になっている。
図3において、最下層は、オペレーティングシステム317を含み、プログラムの実行の管理やメモリ管理等を行う階層である。オペレーティングシステム317の中には、プリンタ制御ドライバ318、スキャナ制御ドライバ319、及びネットワークI/F制御ドライバ320が組み込まれる。プリンタ制御ドライバ318、スキャナ制御ドライバ319、及びネットワークI/F制御ドライバ320は、相互に連携することにより機能することができる。プリンタ制御ドライバ318は、プリンタI/F215を介してプリンタ202を制御するためのソフトウェアである。スキャナ制御ドライバ319は、スキャナI/F216を介してスキャナ203を制御するためのソフトウェアである。ネットワークI/F制御ドライバ320は、ネットワークI/F214を制御するためのソフトウェアである。
最下層から2段目の層には、デバイス制御ライブラリ309と画像処理制御部340とが含まれる。本実施形態においては、デバイス制御ライブラリ309と画像処理制御部340とはC言語やC++言語等のコンパイル言語で記述され、組み込みソフトウェアとしてCPU211で直接実行できるオブジェクトファイルの形式でHDD213に格納されているものとする。本実施形態では、このような組み込みソフトウェア群を実行する環境をNative実行環境、又はNativeと呼称する。デバイス制御ライブラリ309は、後述の単独機能プラグイン302又はデバイス制御アプリケーション304と静的又は動的にリンクされる。更にデバイス制御ライブラリ309は、各アプリケーションプログラムによる指示に基づいて、オペレーティングシステム317を利用する。また、各デバイス制御ライブラリ309は、Native画像処理接続ライブラリ314に対して画像処理を依頼することもできる。
次に、デバイス制御ライブラリ309の一例について説明する。
プリントライブラリ310は、プリンタ制御ドライバ318の機能を利用してプリントジョブの制御を行うためのAPI(Application Programming Interface)を提供するライブラリである。プリントジョブは、画像形成装置101のHDD213に保存されている印刷データを印刷することや、ネットワークI/F214を通して外部装置から受信した印刷データを印刷するといった一連の処理を指す。外部装置は、例えば、情報処理端末103、104である。
コピーライブラリ311は、スキャナ制御ドライバ319及びプリンタ制御ドライバ318の機能を利用して、コピージョブの制御を行うためのAPIを提供するライブラリである。コピージョブは、スキャナ203でスキャンされた画像データをプリンタ202で印刷する一連の処理を指す。
スキャン保存ライブラリ312は、スキャナ制御ドライバ319の機能を利用してスキャン保存ジョブの制御を行うためのAPIを提供するライブラリである。スキャン保存ジョブは、スキャナ203でスキャンされた画像データを印刷データ又は汎用フォーマットに変換後、HDD213又は拡張I/F218に接続されているUSB等の外部記憶装置に保存する一連の処理を指す。汎用フォーマットは、例えば、PDF(PortableDocument Format)やJPEG(Joint Photographic Experts Group)といったデータフォーマットである。
スキャン送信ライブラリ313は、スキャナ制御ドライバ319及びネットワークI/F制御ドライバ320の機能を利用して、スキャン送信ジョブの制御を行うためのAPIを提供するライブラリである。スキャン送信ジョブは、スキャナ203でスキャンされた画像データを汎用フォーマットに変換後、ネットワークI/F214を通してファイルサーバに送信したり、電子メールに添付して外部装置に送信したりする一連の処理を指す。ファイルサーバは、例えば、サーバ105である。外部装置は、例えば、情報処理端末103、104である。
画像処理制御部340にはNative画像処理接続ライブラリ314及びNative画像処理実行サーバ315、Native画像処理モジュール316が含まれる。Native画像処理接続ライブラリ314は、デバイス制御ライブラリ309から画像処理の実行依頼を受けると、画像処理接続ライブラリ332に依頼内容を転送する。Native画像処理実行サーバ315は、後述するJava(登録商標)言語で記述されたソフトウェアから依頼を受けてNative画像処理モジュールを実行する機能を提供する。Native画像処理モジュール316は、様々な種類の画像処理を実行することの可能なソフトウェアである。Native画像処理実行サーバ315及びNative画像処理モジュール316は、図3に記載の他のソフトウェアとは分離された論理メモリ空間を有するプログラム実行単位である、Native画像処理制御プロセス350上で実行される。メモリ空間を分離する具体的な方法としては、一般的なオペレーティングシステムが備えるプロセス機構を用いることが考えられるが、他の方法でもよい。このように、画像処理を行う場合に論理メモリ空間を分離する構成とすることにより、複雑な演算やこれに伴うメモリ操作を行う場合でも、処理に何らかエラーが生じた場合でも処理の依頼側に及ぼす影響を抑制することができる。Native画像処理モジュール316は、並行処理することができない画像処理モジュールの一例である。
最上位層であるJava言語実行環境330は、プラグインアプリケーション(以下、プログインという)301及びデバイス制御アプリケーション304を含む、アプリケーション層である。本実施形態では、プラグイン301及びデバイス制御アプリケーション304はJava言語で記述され、Java仮想マシンが解釈するJavaバイトコード形式でHDD213に格納される。そのため、CPU211はJava仮想マシンのプログラムを実行し、Java仮想マシンがJavaバイトコードを読み出して実行することによって処理を行う。このようなプログラミング言語を利用する理由の一つにプログラム記述の簡易さが挙げられる。Javaにおいては、メモリ領域の管理は開発者で行う必要はなく、自動的に行われる。したがってプログラムを記述する際の手間が低減され、開発効率が向上することが見込まれる。各アプリケーションは、デバイス制御ライブラリ309や画像処理接続ライブラリ332の各APIを利用しながら動作することで様々な機能を提供する。また、デバイス制御アプリケーション304は、ファームウェアの更新により、その機能を拡張することができる。デバイス制御アプリケーション304に含まれるプリントアプリケーション305、コピーアプリケーション306、スキャン保存アプリケーション307、スキャン送信アプリケーション308は、それぞれ画面情報321、322、323、324を有する。CPU211は、操作部I/F217を通して操作部204にそれぞれの画面情報321、322、323、324を表示する。CPU211は、ユーザが操作部204を操作することによりデバイス制御アプリケーション304の設定の変更を検知すると、その変更の内容をHDD213に書き込む。CPU211(デバイス制御アプリケーション304)は、操作部204によりジョブ実行依頼を検知すると、デバイス制御ライブラリ309のAPIをコールすることによりジョブを開始する。また、デバイス制御アプリケーション304は、画像処理接続ライブラリ332に対して、画像処理を依頼することもできる。
次に、デバイス制御アプリケーション304の一例について説明する。プリントアプリケーション305は、プリントライブラリ310のAPIをコールすることによりプリントジョブを実行する。コピーアプリケーション306は、コピーライブラリ311のAPIをコールすることによりコピージョブを実行する。スキャン保存アプリケーション307は、スキャン保存ライブラリ312のAPIをコールすることによりスキャン保存ジョブを実行する。スキャン送信アプリケーション308は、スキャン送信ライブラリ313のAPIをコールすることでスキャン送信ジョブを実行する。
次に、プラグイン301の一例について説明する。プラグイン301は、常駐アプリケーションであるデバイス制御アプリケーション304とは別に、プラグインとして画像形成装置101にインストール及びアンインストールが可能なアプリケーションである。プラグイン301は、単独機能プラグインアプリケーション(以下、単独機能プラグインという)302と、画像処理プラグインアプリケーション(以下、画像処理プラグインという)303とを有する。プラグイン301には、それぞれ動作に必要なプログラムがパッケージングされている。プラグイン301は、リモートUI(User Interface)等を用いることにより、画像形成装置101にインストールされる。リモートUIは、外部装置におけるWebブラウザからネットワークI/F214を経由して画像形成装置101にアクセスし、画像形成装置101の状況の確認、印刷ジョブの操作、及び各種設定等を行うことができる仕組みである。外部装置は、例えば、情報処理端末103、104である。また、プラグイン301(単独機能プラグイン302、及び画像処理プラグイン303)は、それぞれ個別に起動及び停止を行うことができる。
以下に、プラグイン301のインストールから起動、停止、アンインストールまでの一連の流れの一例を示す。
CPU211は、プラグイン301のインストールを検知すると、プラグイン301の情報をHDD213に保存する。続いてCPU211は、プラグイン301に対する開始指示を検知すると、プラグイン301に対する起動指示を行う。プラグイン301は、起動している間、各プログラムの内容を実行することができる。続いてCPU211は、プラグイン301に対する停止指示を検知すると、プラグイン301に対して停止指示を行う。更にCPU211は、プラグイン301に対するアンインストール指示を検知すると、プラグイン301の情報をHDD213から削除する。これらの指示は、例えば、リモートUIや操作部204から行うことができるが、これ以外でこれらの指示が行われてもよい。
次に、単独機能プラグイン302の一例について説明する。単独機能プラグイン302は、画面情報325を有する。単独機能プラグイン302は、デバイス制御ライブラリ309のAPIをコールすることで常駐のデバイス制御アプリケーション304とは別の機能や画面をユーザに提供することができる。例えば、単独機能プラグイン302は、ある画像データをコピーすると共にスキャンし、自身が保持する送信先データベース内の特定の宛先に文書を送信する機能等、複数の機能を組み合わせて提供することができる。単独機能プラグイン302は、画像処理を行う機能を有していなくてもよい。この場合、画像処理の設定は行われない。更に、デバイス制御ライブラリ309は、印刷データ又は汎用フォーマットに変換後の画像データを受信すると、適切なオペレーティングシステム317に対して処理制御を指示し、ジョブを実行させる。
次に、画像処理プラグイン303の一例について説明する。画像処理プラグイン303は、Native画像処理実行クライアント331を利用し、Native画像処理モジュール316の画像処理機能を利用することができる。画像処理プラグイン303がNative画像処理モジュール316を利用する理由の一例として、画像処理を行う際の処理速度の高速化が挙げられる。画像処理を行う際には大量、かつ、複雑な数値演算を行ったり、処理の過程で大量のメモリを必要となったりする場合がある。そのような場合にはJavaのような仮想マシンを仲介して処理を行うプログラミング言語処理系を利用するよりも、直接CPUが実行な可能なオブジェクトファイルを生成できるコンパイル言語を利用するほうが処理速度を向上させることができる。但し、一方で、Native画像処理モジュール316は、先述したように画像形成装置101の組み込みソフトウェアとして実装されるため、機能追加や安定性向上を企図したモジュールの変更が容易ではないという性質がある。そのため、Native画像処理モジュール316には実装上、又は機能上何らかの制限を持つ場合が存在し得る。Native画像処理モジュール316が持ち得る制限の一例として、同一のNative画像処理モジュール316に対して複数の画像処理依頼が同時に実施された場合に、それらを並行して実施できないという制限が挙げられる。
いま、単独機能プラグイン302やデバイス制御アプリケーション304からの依頼に基づき、複数の画像処理が同一のNative画像処理モジュールに同時に依頼されることがある。Native画像処理モジュール316がそのような制限を持つ場合で、そのように同時に画像処理以来を受信した場合に、並行動作できないために後続の画像処理が遅延し、機能を使用するユーザへの応答性が劣化してしまう恐れがある。ここで、ユーザへの応答性が求められるジョブとは、ユーザが、操作部204、又は画像形成装置101が備えるウェブサーバーが提供する画面等で、Native画像処理モジュール316による画像処理の結果を確認する必要がある操作に係るジョブである。例えば、スキャンドキュメントの画像データを、Native画像処理モジュール316でOCR処理して、その結果を操作部204に表示して、表示画像から選択された一部に対応する認識結果を基に画像データのファイル名を設定する機能がある。この一連の操作において、OCR処理の結果の応答が遅延してしまうと、次のユーザの選択操作ができないため、ユーザが画像形成装置101の操作部204等を長時間占有するといったことが起こり得る。
一方で、ユーザへの応答性が比較的、重要ではないジョブもある。ユーザのファイル送信の指示後に、Native画像処理モジュール316で画像データをSearchablePDFとして送信するケースである。ユーザによっては、送信結果を後で、ログ等で確認できればよいケースもある。このような場合は、送信の指示後、即座にファイル送信の結果を操作部204に応答する必要が無い。他にも、ユーザの指示入力なしに、バックグラウンドでNative画像処理モジュール316を利用するようなケースにおいても、ユーザへの応答性が比較的、重要ではない。
本実施形態では、ユーザへの応答性が求められるジョブについては、ジョブがユーザへの応答性に直結するものとして応答性直結フラグを用いて管理する。
本実施形態では、そのような応答性の劣化を抑制するため、並行動作できないNative画像処理モジュール316に対応する画像処理プラグイン303は、画像処理接続ライブラリ332より受信する画像処理要求を逐次処理するためのキュー326を保持する。キュー326を保持することで、並行動作できないNative画像処理モジュール316が画像処理を実行している間に、対応する画像処理プラグイン303が新たな画像処理依頼を受け付けることができるようになる。また、Java実行環境上に配置される画像処理プラグイン303にキュー326を設けることで、Native実行環境に配置される組み込みソフトウェアに変更を加えることなく、上述したユーザへの応答性を向上することができるようになる。
図4は、画像処理接続ライブラリ332が画像処理を受け付け、画像処理プラグイン303に処理依頼を行う情報処理の一例を示すフローチャートである。本フローチャートを用いて、画像処理プラグイン303を用いた画像処理の一例を示す。
S401において、画像処理接続ライブラリ332は、デバイス制御アプリケーション304又はNative画像処理接続ライブラリ314又は単独機能プラグイン302から画像処理実行要求を受信する。このとき、受信した画像処理要求には処理を依頼する画像処理プラグイン303を特定するために必要なパラメータが入力されているものとする。
S402において、画像処理接続ライブラリ332は、取得した画像処理実行依頼を実行可能な画像処理プラグイン303を探索する。
S403において、画像処理接続ライブラリ332は、S402の探索の結果に基づき、受信した画像処理依頼を実行できる画像処理プラグインが存在する場合(S403においてYES)、S405に進む。一方、S403において、画像処理接続ライブラリ332は、S402の探索の結果に基づき、受信した画像処理依頼を実行できる画像処理プラグインが存在しない場合(S403においてNO)、S404に進む。
S404において、画像処理接続ライブラリ332は、受信した画像処理を実行できるモジュールが存在しない旨のエラーを依頼元のモジュールに返却する。Native画像処理接続ライブラリ314が依頼元であった場合、デバイス制御ライブラリを通して、デバイス制御アプリケーション304又は単独機能プラグイン302に上述のエラー内容が伝播される。デバイス制御アプリケーション304又は単独機能プラグイン302は、受信した上述のエラー内容を各アプリケーションの操作画面に表示する。本エラーにより、処理に必要なモジュールが存在していないことをユーザが知ることができる。したがって、サービスマン又はIT管理者が上述のインストール手段によって必要な画像処理プラグイン303をインストールすることにより、処理を継続することができる。
一方、S405において、画像処理接続ライブラリ332は、対象の画像処理プラグイン303に処理を依頼する。画像処理プラグイン303は、画像処理接続ライブラリ332から処理パラメータと共に、画像処理依頼を受信すると、処理パラメータに応じて画像処理を実行する。画像処理は画像処理プラグイン303内で行う手段と、Native画像処理モジュール316で実行する手段があるが、詳細については後述する。画像処理実行時に、画像処理プラグイン303又はNative画像処理モジュール316は、CPU211が入力データをRAM212に展開する。
S406において、画像処理接続ライブラリ332は、画像処理プラグインから処理結果を受信する。
S407において、画像処理接続ライブラリ332は、受信した処理結果を依頼元の各モジュールに返却する。
以下、受信した処理結果としてエラー内容を含むエラーが返ってきた場合の処理について説明する。
Native画像処理接続ライブラリ314が依頼元であった場合、デバイス制御ライブラリ309を通して、エラー内容がデバイス制御アプリケーション304又は単独機能プラグイン302に伝播される。デバイス制御アプリケーション304又は単独機能プラグイン302は、受信したエラー内容を基に、例外処理を行う。
上述の例外処理の一例としてリトライ処理があげられる。各アプリケーションは上述のエラーの受信により、画像処理接続ライブラリ332上で複数の画像処理が同時に実行されていると判断できる。したがって各アプリケーションはいったん現在実行中の画像処理が終わるのをリトライにより待ち、実行中の画像処理が終わったタイミングで再び画像処理要求を送信することで、処理を中断することなく継続することができる。
またその他の例外処理として、各アプリケーションの操作画面において、複数の画像処理が同時実行中であるため、時間を置いて再度ジョブを投入するように促す旨のエラーを表示するようにしてもよい。ユーザは上述のエラーによって、時間を置けばジョブが実行可能であることを知ることができる。
画像処理を依頼された画像処理プラグイン303は、依頼された処理内容に基づき、画像処理を実行する。画像処理プラグイン303は、画像処理を行う手段が2種類存在する。
1つ目は画像処理プラグイン303内で実行する手段である。この場合、画像処理プラグイン303は、画像処理接続ライブラリ332から受信した処理依頼及び処理パラメータを基に実行する。画像処理プラグイン303はJava言語で記載されている必要がある。
2つ目はNative画像処理モジュール316に依頼する手段である。画像処理プラグイン303は、Native画像処理実行クライアント331に処理を依頼することにより、画像処理プラグイン303とは異なる画像処理専用プロセスにおいて画像処理を実行することができる。
図5は、画像処理プラグイン303がS405にて依頼された画像処理ジョブを実行する際の情報処理の一例を示すフローチャートである。
S501において、画像処理プラグイン303は、S405にて依頼された画像処理ジョブを受信し、これをキュー326に投入する。画像処理プラグイン303は、Native画像処理モジュール316の処理単位ごとに画像処理ジョブをキュー326に保持する。
S502において、画像処理プラグイン303は、キュー326に未処理の画像処理ジョブが存在するか否かを判定する。判定の結果、未処理の画像処理ジョブが存在しない場合(S502がNOの場合)、画像処理プラグイン303は、S502の処理を再び実施する。一方、未処理の画像処理ジョブが存在する場合(S502がYESの場合)、画像処理プラグイン303は、S503に進む。
S503において、画像処理プラグイン303は、キュー326に存在する未処理の画像処理ジョブのうち、先頭のジョブを取得し、Native画像処理実行クライアント331に取得した画像処理ジョブの処理を依頼する。画像処理プラグイン303は、キュー326に保持した順に画像処理ジョブ選択し、取得する。
S504において、まず、これを受けたNative画像処理実行クライアント331は、依頼された画像処理ジョブをNative画像処理実行サーバ315に依頼する。続いて、Native画像処理実行サーバ315は、受信した画像処理ジョブに含まれる処理パラメータを基にNative画像処理モジュール316を探索する。
S505において、Native画像処理実行サーバ315は、対象のNative画像処理モジュールが存在するか否かを判定する。判定の結果、対象のNative画像処理モジュール316が存在しない場合(S505がNOの場合)、Native画像処理実行サーバ315は、S506に進む。一方、判定の結果対象のNative画像処理モジュール316が存在する場合(S505がYESの場合)、Native画像処理実行サーバ315は、S507に進む。
S506において、Native画像処理実行サーバ315は、対象のNative画像処理モジュール316が存在しない旨のエラーをNative画像処理実行クライアント331に返却する。
S507において、対象のNative画像処理モジュール316は、受信した処理パラメータを基に画像処理を行う。
S508において、対象のNative画像処理モジュール316は、更に画像処理結果をNative画像処理実行クライアント331に返却する。
S506又はS504の処理を実施した後、S509において、画像処理プラグイン303は、S503で取得した画像処理ジョブをキュー326から削除する。そして、画像処理プラグイン303は、再びS502の処理に戻る。Native画像処理実行クライアント331は、画像処理結果、又はエラー内容を受信すると、その内容を画像処理プラグイン303に返却する。
図6は、スキャン送信アプリケーション308が、スキャン画像をSearchablePDFに変換して送信する情報処理の一例を示すフローチャートである。SearchablePDFとは、文字情報がテキストデータ化されたPDFのことを指す。スキャン送信アプリケーション308は、Native画像処理接続ライブラリ314を通じてNative画像処理モジュール316の提供するOCR機能を利用することでSearchablePDFを生成する。
S601において、スキャン送信アプリケーション308は、スキャナ203によりHDD213又はRAM212に保存されたスキャン画像データを、画像形成装置101のユーザにより設定された送信先に送信するための指示を受信する。
S602において、スキャン送信指示を受信したスキャン送信アプリケーション308は、1ページ又は複数ページからなるスキャン画像データの1ページ目をHDD213又はRAM212から取得する。
S603において、スキャン送信アプリケーション308は、画像処理接続ライブラリ332に対して、S602で取得した画像データに対するOCR処理の実行を依頼する。S603に係るOCR処理は、図4及び図5を用いて説明した処理手順に従い実行される。
S604において、スキャン送信アプリケーション308は、S407にて返却されるOCR処理実行結果を受信する。
S605において、スキャン送信アプリケーション308は、OCR処理実行結果を使用して、S602で取得した1ページ画像データをSearchablePDFに変換する。
S606において、スキャン送信アプリケーション308は、スキャン画像データにSearchablePDFに変換されていないページが存在するか否かを判定する。判定の結果、変換されていないページが存在する場合(S606がYESの場合)、スキャン送信アプリケーション308は、S602に進む。そして、スキャン送信アプリケーション308は、変換されていないページのうち1ページに対して、再びS602、S603、S604、S605の処理を実施する。一方、変換されていないページが存在しない場合(S606がNOの場合)、スキャン送信アプリケーション308は、S607に進む。
S607において、スキャン送信アプリケーション308は、SearchablePDFに変換されたスキャン画像データの全ページを1つのSearchablePDFファイルとしてまとめて、画像形成装置101のユーザに指示された送信先に送信を実行する。
図7は、Native画像処理モジュール316の提供するOCR機能の、図6を用いて説明した利用方法とは異なる一例として、スキャン画像に含まれる文字列データを基に、画像データを汎用フォーマットに変換したファイルのファイル名を決定する情報処理の一例を示すフローチャートである。本フローチャートで説明する処理は、上述したファイル名決定処理を実施するための単独機能プラグイン302が画像形成装置101のユーザより指示を受けて開始される処理である。
S701において、単独機能プラグイン302は、スキャナ203によりHDD213又はRAM212に保存されたスキャン画像データをプレビュー表示する指示を画像形成装置101のユーザから受け、該当する画像データを操作部204にプレビュー表示する。
S702において、単独機能プラグイン302は、S702で表示されたプレビュー画面を通して、スキャン画像データのうち汎用フォーマットに変換後のファイル名として使用する箇所の指定を受信したか否かを判定する。図8に、S702で操作部204に表示されるスキャン原稿のプレビュー画面と、ファイル名として使用する箇所をユーザが指定する際のイメージとを表す図を示す。図8では、スキャン画像データのうち、領域801で示す領域が画像形成装置101のユーザによりタッチされることで、領域801をファイル名として使用する指定を受信することを示している。このような形態によりユーザから指定があった場合(S702がYESの場合)、単独機能プラグイン302は、S703に進む。一方、指定がなかった場合(S702がNOの場合)、単独機能プラグイン302は、指定を受信するまでS702の処理を続ける。
S703において、単独機能プラグイン302は、ユーザより指定を受けた領域801をテキストデータに変換するため、画像処理接続ライブラリ332に対して、領域801に対するOCR処理の実行を依頼する。S703に係るOCR処理は、図4及び図5を用いて説明した処理手順に従い実行される。
S704において、単独機能プラグイン302は、S407にて返却されるOCR処理実行結果を受信する。
S705において、単独機能プラグイン302は、S704で受信したOCR処理実行結果を操作部204に表示し、決定するファイル名の候補としてユーザに提示する。
S706において、単独機能プラグイン302は、提示したファイル名の候補をファイル名として決定する指示がユーザからなされたか否かを判定する。単独機能プラグイン302は、判定の結果、指示がなされた場合には続くS707に進み、指示がなされていない場合はS706の処理を続ける。
S707において、単独機能プラグイン302は、S706にてファイル名として決定する指示を受けたOCR実行結果を、スキャン画像データを汎用データフォーマットに変換後のファイル名に決定し、汎用データフォーマットへの変換を実施する。
以上説明した構成により、並行動作ができない制限を持つNative画像処理モジュールに対する画像処理要求が輻輳した場合でも、ユーザへの応答性を向上させることができるようになる。特に、図6を用いて説明したような、画像形成装置101のユーザからの指示を受けてバックグラウンドで実施される画像処理を実行している間でも、図7及び図8を用いて説明したように画像処理結果を操作部204に表示するために利用する、ユーザへの応答性に直接関係する画像処理を受け付けることができるようになる。更に、そのような画像処理の受け付けを可能とするためのキュー326をJava実行環境上の画像処理プラグイン303に配置することで、画像形成装置101の組み込みソフトウェアに変更を加えることなく上述した効果を実現することができるようになる。
<実施形態2>
実施形態1では、組み込みソフトウェアとして画像形成装置101に配置されているNative画像処理モジュール316が並行動作できない制限を有する場合でも、そのような制限により生じ得るユーザへの応答性の劣化を、組み込みソフトウェアの実装を変更することなく抑制できるようになることを示した。
本実施形態では、画像処理プラグイン303がキュー326の制御を適切に行うことで、ユーザへの応答性の劣化を更に抑制することができることを、図面を用いて説明する。本実施形態の説明は、実施形態1で説明した構成と異なる部分についてのみ説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
図9は、画像処理接続ライブラリ332が画像処理を受け付け、画像処理プラグイン303に処理依頼を行う情報処理の一例を示すフローチャートである。本フローチャートを用いて、画像処理プラグイン303を用いた画像処理の一例を示す。
まず、画像処理プラグイン303は、S501、S502、S503の処理を経て取得したキュー326の先頭に存在する画像処理ジョブを取得する。
S901において、画像処理プラグイン303は、S503で取得した画像処理ジョブに含まれる、応答性直結フラグがONであるか否かを判定する。ここで、応答性直結フラグは先述の画像処理パラメータの1つとして画像処理ジョブに含ませることができるフラグ値であり、これがONである場合、その画像処理ジョブが画像形成装置101のユーザへの応答性に直結するジョブであることを示すものである。S901の判定の結果、応答性直結フラグがONである場合(S901がYESの場合)、画像処理プラグイン303は、先述したS504、S505、S507、S508、S509を経て画像処理を完了する。一方、応答性直結フラグがOFFである場合(S901がNOの場合)、S902に進む。応答性直結フラグは、ジョブの属性の一例である。
S902において、画像処理プラグイン303は、その時点でキュー326に存在するジョブの中に、応答性直結フラグがONであるジョブが存在するか否かを判定する。判定の結果、存在しなかった場合(S902がNOの場合)、画像処理プラグイン303は、S503で取得した画像処理ジョブについて、S504、S505、S507、S508を経て画像処理を完了する。一方、存在した場合(S902がYESの場合)、画像処理プラグイン303は、S903に進む。
S903において、画像処理プラグイン303は、応答性直結ジョブのうち、キュー326の最も前方にある画像処理ジョブを取得する。そして、画像処理プラグイン303は、その画像処理ジョブに対してS504、S505、S507、S508を経て画像処理を完了する。
図10は、実施形態1において図7を用いて説明したスキャン画像データの汎用フォーマット変換後ファイルのファイル名を決定する処理において、先述した応答性直結フラグをONにして画像処理ジョブを実行する情報処理の一例を示すフローチャートである。
単独機能プラグイン302は、S701、S702の処理を経て、ファイル名に指定する領域801の指定を画像形成装置101のユーザから受信したとする。これを受けて、S1001において、単独機能プラグイン302は、画像処理接続ライブラリ332に対して、領域801に対するOCR処理の実行を依頼する画像処理ジョブの応答性直結フラグをONにする。続いて、単独機能プラグイン302は、S703、S704、S705、S706、S707の処理を経て、処理を完了する。
以上図9及び図10を用いて説明した処理を実行することで、実施形態1で説明した効果に加えて、例えば図6で説明したSearchablePDF生成処理を実施するページ数が多い場合等でも、図10に係るファイル名決定処理のような、ユーザの応答性に直結する画像処理を優先して行うことができるようになり、ユーザへの応答性の劣化を更に抑制することができるようになる。
<実施形態3>
本実施形態では、図5、9で説明したものとは異なる方法により課題を解決する方法について図面を用いて説明する。本実施形態の説明は、実施形態1及び2で説明した構成と異なる部分について説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
図11は、実施形態3の画像形成装置101のソフトウェアの構造の一例を模式的に表す階層図である。ここでは、図3を用いて説明した画像処理プラグイン303は更に、画像処理ジョブ受付モジュール1101と画像処理ジョブ実行モジュール1102とを持つ。画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332から依頼された画像処理ジョブを受け付け、キュー326に登録する処理を行う。画像処理ジョブ実行モジュール1102は、画像処理ジョブ受付モジュール1101がキュー326に登録した画像処理ジョブを取得し、ジョブの実行をNative画像処理実行クライアント331に依頼する処理を行う。
図12は、画像処理ジョブ受付モジュール1101が実行する情報処理の一例を示すフローチャートである。本フローチャートは、S405において画像処理接続ライブラリ332が画像処理プラグイン303に対して画像処理を依頼することで処理が開始される。
S1201において、画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332からの画像処理依頼を受信する。このとき受信する画像処理依頼には、画像処理を実施する対象となる画像データと共に、画像処理パラメータとして、実施する画像処理、応答性直結フラグ、画像処理結果保存場所が含まれている。ここで、応答性直結フラグとは、先述の画像処理パラメータの1つとして画像処理ジョブに含ませることができるフラグ値であり、これがONである場合、その画像処理ジョブが画像形成装置101のユーザへの応答性に直結するジョブであることを示すものである。また、画像処理結果保存場所は、画像処理の実行結果を保存するための領域を指定するためのパラメータであり、例えばHDD213上の特定の領域を示すファイルパスを指定するのでもよいし、また他の値を指定するのでもよい。本実施形態の説明においては、画像処理結果保存場所として、HDD213の特定の領域を示すファイルパスが記載されているものとして説明する。
続くS1202において、画像処理ジョブ受付モジュール1101は、S1201で受信した画像処理依頼を画像処理ジョブとしてキュー326に登録し、本フローチャートの処理を終了する。S1202の処理は、S1201で受信する1度の依頼に応じて、キューに1つのジョブを登録する処理の一例である。
図13は、画像処理ジョブ実行モジュール1102及びNative画像処理実行クライアント331が実行する、画像処理ジョブに対する情報処理の一例を示すフローチャートである。
S1301において、画像処理ジョブ実行モジュール1102は、キュー326に画像処理ジョブが存在するか否かを判定する。画像処理ジョブ実行モジュール1102は、前述したS1202が実行されたことに伴いキュー326に画像処理ジョブが存在する場合(S1301がYESの場合)、S1302に進み、画像処理ジョブが存在しない場合には、再びS1301を実行する。
S1302において、画像処理ジョブ実行モジュール1102は、キュー326に存在する画像処理ジョブのうち、キュー326の先頭に存在するものを取得する。
S1303において、画像処理ジョブ実行モジュール1102は、S1302で取得した画像処理ジョブに含まれる応答性直結フラグがONであるか否かを判定する。画像処理ジョブ実行モジュール1102は、判定の結果、応答性直結フラグがONである場合(S1303がYESの場合)、S1306に進み、一方OFFであった場合(S1303がNOの場合)、S1304に進む。
S1304において、画像処理ジョブ実行モジュール1102は、その時点でキュー326に存在するジョブの中に、応答性直結フラグがONであるジョブが存在するか否かを判定する。画像処理ジョブ実行モジュール1102は、判定の結果、存在しなかった場合(S1304がNOの場合)、S1306に進み、存在した場合(S1304がYESの場合)、S1305に進む。S1304の処理は、キューに含まれる各ジョブの属性に基づき、キューの先頭以外に応答性直結フラグがONであるジョブが存在するか否かを判定する処理の一例である。
S1305において、画像処理ジョブ実行モジュール1102は、応答性直結ジョブのうち、キュー326の最も前方にある画像処理ジョブを取得し、S1306に進む。
S1306において、画像処理ジョブ実行モジュール1102は、S1302、又はS1305で取得した画像処理ジョブをNative画像処理実行クライアント331に依頼する。続いて、Native画像処理実行クライアント331は、依頼を受けた画像処理ジョブに基づき、Native画像処理実行サーバ315への画像処理リクエストを作成し、Native画像処理実行サーバ315にリクエストを送信する。画像処理リクエストは、S1201における画像処理依頼と同等の情報、即ち、画像処理を実施する対象となる画像データと、実施する画像処理、応答性直結フラグ、画像処理結果保存場所等の処理パラメートとを共に含んでいる。画像処理リクエストを受けたNative画像処理実行サーバ315により事項される処理については、図14を用いて後述する。
S1307において、Native画像処理実行クライアント331は、S1306で送信した画像処理リクエストの結果をNative画像処理実行サーバ315から受信したか否かを判定する。Native画像処理実行クライアント331は、判定の結果、受信していない場合(S1307がNOの場合)、再びS1307を実行し、受信した場合(S1307がYESの場合)、S1308に進む。
S1308において、Native画像処理実行クライアント331は、S1307で受信した画像処理結果を画像処理ジョブ実行モジュール1102に通知する。続いて、この通知を受けた画像処理ジョブ実行モジュール1102は、対応する画像処理ジョブの画像処理パラメータに記載された画像処理結果保存場所に画像処理結果の書き込み行い、その旨を画像処理接続ライブラリ332に通知する。
S1309において、画像処理ジョブ実行モジュール1102は、実行した画像処理ジョブをキュー326から削除し、S1301に戻り、再度、S1301からの処理を繰り返す。
図14は、Native画像処理実行サーバ315及びNative画像処理モジュール316が実行する情報処理の一例を示すフローチャートである。
S1401において、Native画像処理実行サーバ315は、S1306でNative画像処理実行クライアント331より送信される画像処理リクエストを受信したか否かを判定する。Native画像処理実行サーバ315は、判定の結果、受信していない場合(S1401がNOの場合)、再びS1401を実行し、受信した場合(S1401がYESの場合)、S1402に進む。
S1402において、Native画像処理実行サーバ315は、受信した画像処理リクエストに含まれる処理パラメータを基に、画像処理の実行を依頼する対象となるNative画像処理モジュール316を探索する。
S1403において、Native画像処理実行サーバ315は、S1402の探索の結果、対応するNative画像処理モジュール316が存在するか否かを判定する。Native画像処理実行サーバ315は、判定の結果、対象のNative画像処理モジュールが存在しない場合(S1403がNOの場合)、S1406に進み、存在した場合(S1403がYESの場合)、S1404に進む。
S1404において、Native画像処理実行サーバ315は、画像処理を実行するNative画像処理モジュール316に、画像処理の対象となる画像データと処理パラメータを送信し、画像処理の実行を依頼する。この依頼を受けたNative画像処理モジュール316は、受信した画像データ及び処理パラメータを基に画像処理を実行し、その処理結果をNative画像処理実行サーバ315に通知する。
S1405において、Native画像処理実行サーバ315は、S1401で受信した画像処理リクエストに対するレスポンスとして、画像処理結果をNative画像処理実行クライアント331に返却し、S1401に戻る。
S1406において、Native画像処理実行サーバ315は、S1401で受信した画像処理リクエストを実行可能なNative画像処理モジュール316が存在しないことを示すエラーメッセージをレスポンスとしてNative画像処理実行クライアント331に返却し、S1401に戻る。
以上説明した構成や手順を実施することで、図6、図7、図10を用いて示したような画像処理要求(S603、S703)が輻輳する場合でも、画像処理ジョブ受付モジュール1101と画像処理ジョブ実行モジュール1102とが非同期に処理を実行することができるようになる。そのため、図5、図9で説明したものとは異なる方法でユーザへの応答性の劣化を抑制することができるようになる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
実施形態1及び実施形態2では、OCR処理を実施するNative画像処理モジュール316が並行動作を実施できない制限がある場合に、対応する画像処理プラグイン303がOCR画像処理ジョブに対するキュー326を保持する構成を説明した。しかし、これに限定されるものではない。例えば、実施形態1及び実施形態2で説明したOCR処理実施用のNative画像処理モジュール316とは別に、OCR処理を実施可能な画像処理モジュールがJava言語実行環境330やサーバ105に配置されているのでもよい。更にそれら画像処理モジュールに対応する画像処理プラグイン303はキュー326を有していない構成でもよい。そのような構成において、画像処理プラグイン303は適切な基準に従って、それら複数存在するOCR処理実施モジュールの何れを使用するかを選択するようにしてもよい。
以上、上述した各実施形態によれば、並行動作ができない制限を持つ組み込みソフトウェアとして実装された画像処理モジュールに対する画像処理要求が輻輳した場合でも、ユーザへの応答性の劣化を抑えることができるようなる。更に、そのような効果を、組み込みソフトウェアに変更を加えることなく実現することができるようになる。
101 画像形成装置
211 CPU
213 HDD

Claims (6)

  1. 複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置であって、
    ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録手段と、
    前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定手段と、
    前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求手段と、
    前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御手段と、を有し、
    前記要求手段は、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
    前記画像処理モジュールによる処理が完了した場合に、前記判定手段による判定が再度、行われ
    前記制御手段は、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない画像処理装置。
  2. 前記キューの先頭からジョブを取得する取得手段を更に有し、
    前記判定手段は、前記取得手段により取得されたジョブの前記フラグに基づき、前記フラグがONであるか否かを判定し、前記フラグがOFFであると判定した場合、前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する請求項1記載の画像処理装置。
  3. 前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが複数存在すると判定された場合に、前記要求手段は、前記フラグがONである複数のジョブのうち、前記キューの最も前方にあるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する請求項1又は2記載の画像処理装置。
  4. 前記画像処理モジュールによる処理が完了した場合に、実行したジョブを前記キューから削除する削除手段を更に有する請求項1乃至3何れか1項記載の画像処理装置。
  5. 複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置が実行する情報処理方法であって、
    ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録工程と、
    前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定工程と、
    前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求工程と、
    前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御工程と、を含み、
    前記要求工程では、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
    前記画像処理モジュールによる処理が完了した場合に、前記判定工程による判定が再度、行われ
    前記制御工程では、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない情報処理方法。
  6. コンピュータを、請求項1乃至何れか1項記載の画像処理装置の各手段として機能させるためのプログラム。
JP2018117968A 2018-03-05 2018-06-21 画像処理装置、情報処理方法及びプログラム Active JP7102248B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/292,009 US10922039B2 (en) 2018-03-05 2019-03-04 Image processing apparatus, information processing method, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018038819 2018-03-05
JP2018038819 2018-03-05

Publications (2)

Publication Number Publication Date
JP2019154019A JP2019154019A (ja) 2019-09-12
JP7102248B2 true JP7102248B2 (ja) 2022-07-19

Family

ID=67947242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018117968A Active JP7102248B2 (ja) 2018-03-05 2018-06-21 画像処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7102248B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001238007A (ja) 2000-02-18 2001-08-31 Toshiba Tec Corp 画像形成方法
JP2009043247A (ja) 2007-07-18 2009-02-26 Ricoh Co Ltd 画像形成システムおよびその制御方法、画像形成装置、情報処理装置、プログラム並びに記録媒体
JP2011061630A (ja) 2009-09-11 2011-03-24 Ricoh Co Ltd 画像処理システム、画像形成装置、画像処理方法、プログラム、及び記録媒体
JP2014021137A (ja) 2012-07-12 2014-02-03 Sharp Corp 画像形成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001238007A (ja) 2000-02-18 2001-08-31 Toshiba Tec Corp 画像形成方法
JP2009043247A (ja) 2007-07-18 2009-02-26 Ricoh Co Ltd 画像形成システムおよびその制御方法、画像形成装置、情報処理装置、プログラム並びに記録媒体
JP2011061630A (ja) 2009-09-11 2011-03-24 Ricoh Co Ltd 画像処理システム、画像形成装置、画像処理方法、プログラム、及び記録媒体
JP2014021137A (ja) 2012-07-12 2014-02-03 Sharp Corp 画像形成装置

Also Published As

Publication number Publication date
JP2019154019A (ja) 2019-09-12

Similar Documents

Publication Publication Date Title
JP5929210B2 (ja) 情報処理プログラム、情報処理装置および情報処理装置の制御方法
JP7355147B2 (ja) アプリケーションプログラム
JP2020004158A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US11176633B2 (en) Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium
JP2022164669A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2018015947A (ja) 画像形成装置、画像形成方法、およびプログラム
JP2016083870A (ja) 画像形成装置及びその制御方法、システム
JP6975009B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2024025809A (ja) 画像形成装置と画像形成装置の制御方法、及びプログラム
JP2012155401A (ja) 印刷システム、印刷装置、印刷システムの制御方法、印刷装置の制御方法、プログラム
US10922039B2 (en) Image processing apparatus, information processing method, and storage medium
JP7102248B2 (ja) 画像処理装置、情報処理方法及びプログラム
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP7479867B2 (ja) 印刷装置とその制御方法、及びプログラム
JP7186541B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP7362384B2 (ja) 情報処理装置、その制御方法、及びプログラム
JP7080061B2 (ja) 画像処理装置
JP7328405B2 (ja) 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション
JP7324009B2 (ja) 情報処理装置、印刷装置、それらの制御方法、及びプログラム
JP6673025B2 (ja) 情報処理装置およびプログラム
US20190356804A1 (en) Image processing apparatus, method for controlling the same, and computer-readable storage medium
JP5025533B2 (ja) 画像形成装置、印刷制御方法、印刷制御プログラム
JP2003072164A (ja) データ処理装置、データ処理システム、データ処理方法、記憶媒体、及びプログラム
JP2020004273A (ja) 印刷制御プログラムと、印刷制御プログラムのプリンタ記述ファイルの更新方法、情報処理装置、および記憶媒体
JP2018129611A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220323

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220607

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220706

R151 Written notification of patent or utility model registration

Ref document number: 7102248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151