JP7102248B2 - 画像処理装置、情報処理方法及びプログラム - Google Patents
画像処理装置、情報処理方法及びプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
- Facsimiles In General (AREA)
Description
先行技術に記載の構成では、プラグインの使用する組み込み画像処理モジュールが並行動作できず、1プロセスでしか動作できない場合であって、複数のアプリから呼び出された場合、後から呼び出したアプリへの応答はエラーになる。また、例えばアプリケーションが実施する処理がサーチャブルPDFの生成処理の場合、全てのページを処理するのに時間がかかる。後のアプリケーションがユーザ操作の応答性に関わる機能である場合、ユーザを待たせることになり、応答性が低下してしまう。
図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)等の公知の画像形成装置が有する機能を実現することができる。
画像形成装置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に展開することで処理を行うことができる。
プリンタ202は、プリンタI/F215から受信した画像データを用紙に印刷することや、プリンタ202の状態をプリンタI/F215に伝達することができる。スキャナ203は、スキャナI/F216から受信した画像読み取り指示に従って、自身に置かれた用紙に表示されている情報を読み取ってデジタル化してスキャナI/F216に伝達することができる。また、スキャナ203は、自身の状態をスキャナI/F216に伝達することができる。操作部204は、画像形成装置101に対して各種の指示を行うための操作をユーザに行わせるためのインターフェイスである。例えば、操作部204は、タッチパネルを有する液晶画面を具備し、ユーザに操作画面を提供すると共に、ユーザからの操作を受け付ける。
図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に対して画像処理を依頼することもできる。
プリントライブラリ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)といったデータフォーマットである。
画像処理制御部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は、並行処理することができない画像処理モジュールの一例である。
次に、プラグイン301の一例について説明する。プラグイン301は、常駐アプリケーションであるデバイス制御アプリケーション304とは別に、プラグインとして画像形成装置101にインストール及びアンインストールが可能なアプリケーションである。プラグイン301は、単独機能プラグインアプリケーション(以下、単独機能プラグインという)302と、画像処理プラグインアプリケーション(以下、画像処理プラグインという)303とを有する。プラグイン301には、それぞれ動作に必要なプログラムがパッケージングされている。プラグイン301は、リモートUI(User Interface)等を用いることにより、画像形成装置101にインストールされる。リモートUIは、外部装置におけるWebブラウザからネットワークI/F214を経由して画像形成装置101にアクセスし、画像形成装置101の状況の確認、印刷ジョブの操作、及び各種設定等を行うことができる仕組みである。外部装置は、例えば、情報処理端末103、104である。また、プラグイン301(単独機能プラグイン302、及び画像処理プラグイン303)は、それぞれ個別に起動及び停止を行うことができる。
CPU211は、プラグイン301のインストールを検知すると、プラグイン301の情報をHDD213に保存する。続いてCPU211は、プラグイン301に対する開始指示を検知すると、プラグイン301に対する起動指示を行う。プラグイン301は、起動している間、各プログラムの内容を実行することができる。続いてCPU211は、プラグイン301に対する停止指示を検知すると、プラグイン301に対して停止指示を行う。更にCPU211は、プラグイン301に対するアンインストール指示を検知すると、プラグイン301の情報をHDD213から削除する。これらの指示は、例えば、リモートUIや操作部204から行うことができるが、これ以外でこれらの指示が行われてもよい。
いま、単独機能プラグイン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実行環境に配置される組み込みソフトウェアに変更を加えることなく、上述したユーザへの応答性を向上することができるようになる。
S401において、画像処理接続ライブラリ332は、デバイス制御アプリケーション304又はNative画像処理接続ライブラリ314又は単独機能プラグイン302から画像処理実行要求を受信する。このとき、受信した画像処理要求には処理を依頼する画像処理プラグイン303を特定するために必要なパラメータが入力されているものとする。
S402において、画像処理接続ライブラリ332は、取得した画像処理実行依頼を実行可能な画像処理プラグイン303を探索する。
S403において、画像処理接続ライブラリ332は、S402の探索の結果に基づき、受信した画像処理依頼を実行できる画像処理プラグインが存在する場合(S403においてYES)、S405に進む。一方、S403において、画像処理接続ライブラリ332は、S402の探索の結果に基づき、受信した画像処理依頼を実行できる画像処理プラグインが存在しない場合(S403においてNO)、S404に進む。
一方、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上で複数の画像処理が同時に実行されていると判断できる。したがって各アプリケーションはいったん現在実行中の画像処理が終わるのをリトライにより待ち、実行中の画像処理が終わったタイミングで再び画像処理要求を送信することで、処理を中断することなく継続することができる。
またその他の例外処理として、各アプリケーションの操作画面において、複数の画像処理が同時実行中であるため、時間を置いて再度ジョブを投入するように促す旨のエラーを表示するようにしてもよい。ユーザは上述のエラーによって、時間を置けばジョブが実行可能であることを知ることができる。
1つ目は画像処理プラグイン303内で実行する手段である。この場合、画像処理プラグイン303は、画像処理接続ライブラリ332から受信した処理依頼及び処理パラメータを基に実行する。画像処理プラグイン303はJava言語で記載されている必要がある。
2つ目はNative画像処理モジュール316に依頼する手段である。画像処理プラグイン303は、Native画像処理実行クライアント331に処理を依頼することにより、画像処理プラグイン303とは異なる画像処理専用プロセスにおいて画像処理を実行することができる。
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を探索する。
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に返却する。
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処理実行結果を受信する。
S606において、スキャン送信アプリケーション308は、スキャン画像データにSearchablePDFに変換されていないページが存在するか否かを判定する。判定の結果、変換されていないページが存在する場合(S606がYESの場合)、スキャン送信アプリケーション308は、S602に進む。そして、スキャン送信アプリケーション308は、変換されていないページのうち1ページに対して、再びS602、S603、S604、S605の処理を実施する。一方、変換されていないページが存在しない場合(S606がNOの場合)、スキャン送信アプリケーション308は、S607に進む。
S607において、スキャン送信アプリケーション308は、SearchablePDFに変換されたスキャン画像データの全ページを1つのSearchablePDFファイルとしてまとめて、画像形成装置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の処理を続ける。
S704において、単独機能プラグイン302は、S407にて返却されるOCR処理実行結果を受信する。
S705において、単独機能プラグイン302は、S704で受信したOCR処理実行結果を操作部204に表示し、決定するファイル名の候補としてユーザに提示する。
S706において、単独機能プラグイン302は、提示したファイル名の候補をファイル名として決定する指示がユーザからなされたか否かを判定する。単独機能プラグイン302は、判定の結果、指示がなされた場合には続くS707に進み、指示がなされていない場合はS706の処理を続ける。
S707において、単独機能プラグイン302は、S706にてファイル名として決定する指示を受けたOCR実行結果を、スキャン画像データを汎用データフォーマットに変換後のファイル名に決定し、汎用データフォーマットへの変換を実施する。
実施形態1では、組み込みソフトウェアとして画像形成装置101に配置されているNative画像処理モジュール316が並行動作できない制限を有する場合でも、そのような制限により生じ得るユーザへの応答性の劣化を、組み込みソフトウェアの実装を変更することなく抑制できるようになることを示した。
本実施形態では、画像処理プラグイン303がキュー326の制御を適切に行うことで、ユーザへの応答性の劣化を更に抑制することができることを、図面を用いて説明する。本実施形態の説明は、実施形態1で説明した構成と異なる部分についてのみ説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
まず、画像処理プラグイン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に進む。応答性直結フラグは、ジョブの属性の一例である。
S903において、画像処理プラグイン303は、応答性直結ジョブのうち、キュー326の最も前方にある画像処理ジョブを取得する。そして、画像処理プラグイン303は、その画像処理ジョブに対してS504、S505、S507、S508を経て画像処理を完了する。
単独機能プラグイン302は、S701、S702の処理を経て、ファイル名に指定する領域801の指定を画像形成装置101のユーザから受信したとする。これを受けて、S1001において、単独機能プラグイン302は、画像処理接続ライブラリ332に対して、領域801に対するOCR処理の実行を依頼する画像処理ジョブの応答性直結フラグをONにする。続いて、単独機能プラグイン302は、S703、S704、S705、S706、S707の処理を経て、処理を完了する。
本実施形態では、図5、9で説明したものとは異なる方法により課題を解決する方法について図面を用いて説明する。本実施形態の説明は、実施形態1及び2で説明した構成と異なる部分について説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
図11は、実施形態3の画像形成装置101のソフトウェアの構造の一例を模式的に表す階層図である。ここでは、図3を用いて説明した画像処理プラグイン303は更に、画像処理ジョブ受付モジュール1101と画像処理ジョブ実行モジュール1102とを持つ。画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332から依頼された画像処理ジョブを受け付け、キュー326に登録する処理を行う。画像処理ジョブ実行モジュール1102は、画像処理ジョブ受付モジュール1101がキュー326に登録した画像処理ジョブを取得し、ジョブの実行をNative画像処理実行クライアント331に依頼する処理を行う。
S1201において、画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332からの画像処理依頼を受信する。このとき受信する画像処理依頼には、画像処理を実施する対象となる画像データと共に、画像処理パラメータとして、実施する画像処理、応答性直結フラグ、画像処理結果保存場所が含まれている。ここで、応答性直結フラグとは、先述の画像処理パラメータの1つとして画像処理ジョブに含ませることができるフラグ値であり、これがONである場合、その画像処理ジョブが画像形成装置101のユーザへの応答性に直結するジョブであることを示すものである。また、画像処理結果保存場所は、画像処理の実行結果を保存するための領域を指定するためのパラメータであり、例えばHDD213上の特定の領域を示すファイルパスを指定するのでもよいし、また他の値を指定するのでもよい。本実施形態の説明においては、画像処理結果保存場所として、HDD213の特定の領域を示すファイルパスが記載されているものとして説明する。
続くS1202において、画像処理ジョブ受付モジュール1101は、S1201で受信した画像処理依頼を画像処理ジョブとしてキュー326に登録し、本フローチャートの処理を終了する。S1202の処理は、S1201で受信する1度の依頼に応じて、キューに1つのジョブを登録する処理の一例である。
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に進む。
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からの処理を繰り返す。
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に戻る。
本発明は、上述の実施形態の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処理実施モジュールの何れを使用するかを選択するようにしてもよい。
211 CPU
213 HDD
Claims (6)
- 複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置であって、
ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録手段と、
前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定手段と、
前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求手段と、
前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御手段と、を有し、
前記要求手段は、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
前記画像処理モジュールによる処理が完了した場合に、前記判定手段による判定が再度、行われ、
前記制御手段は、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない画像処理装置。 - 前記キューの先頭からジョブを取得する取得手段を更に有し、
前記判定手段は、前記取得手段により取得されたジョブの前記フラグに基づき、前記フラグがONであるか否かを判定し、前記フラグがOFFであると判定した場合、前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する請求項1記載の画像処理装置。 - 前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが複数存在すると判定された場合に、前記要求手段は、前記フラグがONである複数のジョブのうち、前記キューの最も前方にあるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する請求項1又は2記載の画像処理装置。
- 前記画像処理モジュールによる処理が完了した場合に、実行したジョブを前記キューから削除する削除手段を更に有する請求項1乃至3何れか1項記載の画像処理装置。
- 複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置が実行する情報処理方法であって、
ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録工程と、
前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定工程と、
前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求工程と、
前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御工程と、を含み、
前記要求工程では、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
前記画像処理モジュールによる処理が完了した場合に、前記判定工程による判定が再度、行われ、
前記制御工程では、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない情報処理方法。 - コンピュータを、請求項1乃至4何れか1項記載の画像処理装置の各手段として機能させるためのプログラム。
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)
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 | 画像形成装置 |
-
2018
- 2018-06-21 JP JP2018117968A patent/JP7102248B2/ja active Active
Patent Citations (4)
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 |