JP7102248B2 - Image processing equipment, information processing methods and programs - Google Patents
Image processing equipment, information processing methods and programs 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
本発明は、画像処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an image processing apparatus, an information processing method and a program.
画像形成装置で提供されていない画像処理を含む各種ジョブを実行したい場合、新規画像処理を実行するためのアプリケーションをプラグインとして作成し、画像形成装置にインストールすることによって実現する技術が知られている(特許文献1)。 If you want to execute various jobs including image processing that are not provided by the image forming device, the technology realized by creating an application for executing new image processing as a plug-in and installing it on the image forming device is known. (Patent Document 1).
上述のような構成において、使用する画像処理によっては、プラグインが直接画像処理を実行するのではなく、実行速度を優先するために画像形成装置内の組み込みソフトウェアとして配置された画像処理の実行モジュールを使用して画像処理を実現することが考えられる。しかしながら、一般に組み込みソフトウェアは、機能追加や安定性向上を企図したモジュールの変更がしづらいという性質がある。したがって、実行モジュールに何らかの実装上の制限が含まれていた場合、後からその制限を解消するための修正を実行モジュール自体に実施させるのは、開発効率の観点からは望ましくない。ここで言う実装上の制限の一例として、画像処理モジュールが、画像処理モジュールに対する複数の画像処理依頼が同時に実施された場合に、それらを並行処理することができない、というものが挙げられる。そのような制限を有する画像処理モジュールへの画像処理ジョブが輻輳した場合、後行の画像処理ジョブが受け付けられなくなってしまう。
先行技術に記載の構成では、プラグインの使用する組み込み画像処理モジュールが並行動作できず、1プロセスでしか動作できない場合であって、複数のアプリから呼び出された場合、後から呼び出したアプリへの応答はエラーになる。また、例えばアプリケーションが実施する処理がサーチャブルPDFの生成処理の場合、全てのページを処理するのに時間がかかる。後のアプリケーションがユーザ操作の応答性に関わる機能である場合、ユーザを待たせることになり、応答性が低下してしまう。
In the above configuration, depending on the image processing used, the plug-in does not directly execute the image processing, but the image processing execution module arranged as embedded software in the image forming apparatus in order to prioritize the execution speed. It is conceivable to realize image processing by using. However, in general, embedded software has a property that it is difficult to change modules for the purpose of adding functions or improving stability. Therefore, if the execution module contains some implementation restrictions, it is not desirable from the viewpoint of development efficiency to have the execution module itself implement modifications to remove the restrictions later. As an example of the implementation limitation referred to here, when a plurality of image processing requests to the image processing module are executed at the same time, the image processing module cannot process them in parallel. If the image processing job to the image processing module having such a limitation is congested, the subsequent image processing job will not be accepted.
In the configuration described in the prior art, the embedded image processing module used by the plug-in cannot operate in parallel and can operate only in one process, and when it is called from multiple applications, it is transferred to the application called later. The response will be an error. Further, for example, when the process executed by the application is the searchable PDF generation process, it takes time to process all the pages. If the later application is a function related to the responsiveness of the user operation, the user will be kept waiting and the responsiveness will be lowered.
本発明は、複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置であって、ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録手段と、前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定手段と、前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求手段と、前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御手段と、を有し、前記要求手段は、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記画像処理モジュールによる処理が完了した場合に、前記判定手段による判定が再度、行われ、前記制御手段は、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない。 The present invention is an image processing apparatus having an image processing module that cannot process a plurality of jobs in parallel, and the image processing module is instructed by a user to perform image processing using the image processing module. Based on the registration means for registering a job with a flag indicating whether or not the processing by the process is related to the responsiveness to the user's operation in the queue and the flag of each job included in the queue, other than the head of the queue. A determination means for determining whether or not there is a job whose flag is ON, a request means for executing a processing request to the image processing module based on the job acquired from the queue, and the image processing module . The requesting means has a control means for controlling the display of the result of the image processing on the display unit when the processing according to the above is completed, and the requesting means has the flag ON in addition to the head of the queue by the determination means. When it is determined that a job exists, a processing request is executed to the image processing module based on the job for which the flag acquired from the queue is ON, and the determination means executes the processing request in addition to the head of the queue. When it is determined that there is no job for which is ON, a processing request is executed to the image processing module based on the job whose flag is OFF, which is acquired from the head of the queue, and the image processing module determines. When the processing is completed, the determination by the determination means is performed again, and the control means displays the result of the image processing related to the job for which the flag is ON on the display unit, and the flag is displayed. The result of the image processing related to the job that is OFF is not displayed on the display unit even if the processing by the image processing module is completed.
本発明によれば、ユーザへの応答性の劣化を抑えることができるようになる。 According to the present invention, deterioration of responsiveness to the user can be suppressed.
以下、本発明の実施形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<実施形態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)等の公知の画像形成装置が有する機能を実現することができる。
<Embodiment 1>
FIG. 1 is a diagram showing an example of a system configuration of an image forming system. The image forming system includes
In FIG. 1, a case where the number of
The
図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に展開することで処理を行うことができる。
FIG. 2 is a diagram showing an example of the hardware configuration of the
The
The HDD 213 can store a program that can be executed by the
ネットワーク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は、タッチパネルを有する液晶画面を具備し、ユーザに操作画面を提供すると共に、ユーザからの操作を受け付ける。
The network I / F 214 is an interface for performing network communication with a device in the image forming system. The network I /
The
図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に対して画像処理を依頼することもできる。
FIG. 3 is a hierarchical diagram schematically showing an example of the structure of the software of the
In FIG. 3, the lowest layer includes the
The second layer from the bottom layer includes a
次に、デバイス制御ライブラリ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)といったデータフォーマットである。
Next, an example of the
The
The
The scan save
スキャン送信ライブラリ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は、並行処理することができない画像処理モジュールの一例である。
The
The image
最上位層である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に対して、画像処理を依頼することもできる。
The Java
次に、デバイス制御アプリケーション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)は、それぞれ個別に起動及び停止を行うことができる。
Next, an example of the
Next, an example of the plug-in 301 will be described. The plug-in 301 is an application that can be installed and uninstalled as a plug-in in the
以下に、プラグイン301のインストールから起動、停止、アンインストールまでの一連の流れの一例を示す。
CPU211は、プラグイン301のインストールを検知すると、プラグイン301の情報をHDD213に保存する。続いてCPU211は、プラグイン301に対する開始指示を検知すると、プラグイン301に対する起動指示を行う。プラグイン301は、起動している間、各プログラムの内容を実行することができる。続いてCPU211は、プラグイン301に対する停止指示を検知すると、プラグイン301に対して停止指示を行う。更にCPU211は、プラグイン301に対するアンインストール指示を検知すると、プラグイン301の情報をHDD213から削除する。これらの指示は、例えば、リモートUIや操作部204から行うことができるが、これ以外でこれらの指示が行われてもよい。
The following is an example of a series of flow from installation of plug-in 301 to start, stop, and uninstallation.
When the
次に、単独機能プラグイン302の一例について説明する。単独機能プラグイン302は、画面情報325を有する。単独機能プラグイン302は、デバイス制御ライブラリ309のAPIをコールすることで常駐のデバイス制御アプリケーション304とは別の機能や画面をユーザに提供することができる。例えば、単独機能プラグイン302は、ある画像データをコピーすると共にスキャンし、自身が保持する送信先データベース内の特定の宛先に文書を送信する機能等、複数の機能を組み合わせて提供することができる。単独機能プラグイン302は、画像処理を行う機能を有していなくてもよい。この場合、画像処理の設定は行われない。更に、デバイス制御ライブラリ309は、印刷データ又は汎用フォーマットに変換後の画像データを受信すると、適切なオペレーティングシステム317に対して処理制御を指示し、ジョブを実行させる。
Next, an example of the single function plug-in 302 will be described. The single function plug-in 302 has
次に、画像処理プラグイン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実行環境に配置される組み込みソフトウェアに変更を加えることなく、上述したユーザへの応答性を向上することができるようになる。
Next, an example of the image processing plug-in 303 will be described. The image processing plug-in 303 can use the Native image
Now, a plurality of image processes may be simultaneously requested to the same Native image processing module based on a request from the single function plug-in 302 or the
On the other hand, there are some jobs where responsiveness to the user is relatively insignificant. This is a case where the image data is transmitted as a Searchable PDF by the Native
In the present embodiment, the job for which responsiveness to the user is required is managed by using the responsiveness direct connection flag as the job is directly linked to the responsiveness to the user.
In the present embodiment, in order to suppress such deterioration of responsiveness, the image processing plug-in 303 corresponding to the 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に進む。
FIG. 4 is a flowchart showing an example of information processing in which the image
In S401, the image
In S402, the image
In S403, the image
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は、受信した処理結果を依頼元の各モジュールに返却する。
In S404, the image
On the other hand, in S405, the image
In S406, the image
In S407, the image
以下、受信した処理結果としてエラー内容を含むエラーが返ってきた場合の処理について説明する。
Native画像処理接続ライブラリ314が依頼元であった場合、デバイス制御ライブラリ309を通して、エラー内容がデバイス制御アプリケーション304又は単独機能プラグイン302に伝播される。デバイス制御アプリケーション304又は単独機能プラグイン302は、受信したエラー内容を基に、例外処理を行う。
上述の例外処理の一例としてリトライ処理があげられる。各アプリケーションは上述のエラーの受信により、画像処理接続ライブラリ332上で複数の画像処理が同時に実行されていると判断できる。したがって各アプリケーションはいったん現在実行中の画像処理が終わるのをリトライにより待ち、実行中の画像処理が終わったタイミングで再び画像処理要求を送信することで、処理を中断することなく継続することができる。
またその他の例外処理として、各アプリケーションの操作画面において、複数の画像処理が同時実行中であるため、時間を置いて再度ジョブを投入するように促す旨のエラーを表示するようにしてもよい。ユーザは上述のエラーによって、時間を置けばジョブが実行可能であることを知ることができる。
Hereinafter, the processing when an error including the error content is returned as the received processing result will be described.
When the Native image
Retry processing can be mentioned as an example of the above-mentioned exception handling. By receiving the above error, each application can determine that a plurality of image processes are being executed simultaneously on the image
As another exception processing, since a plurality of image processings are being executed at the same time on the operation screen of each application, an error prompting the user to resubmit the job after a while may be displayed. The error mentioned above allows the user to know that the job can be executed after a while.
画像処理を依頼された画像処理プラグイン303は、依頼された処理内容に基づき、画像処理を実行する。画像処理プラグイン303は、画像処理を行う手段が2種類存在する。
1つ目は画像処理プラグイン303内で実行する手段である。この場合、画像処理プラグイン303は、画像処理接続ライブラリ332から受信した処理依頼及び処理パラメータを基に実行する。画像処理プラグイン303はJava言語で記載されている必要がある。
2つ目はNative画像処理モジュール316に依頼する手段である。画像処理プラグイン303は、Native画像処理実行クライアント331に処理を依頼することにより、画像処理プラグイン303とは異なる画像処理専用プロセスにおいて画像処理を実行することができる。
The image processing plug-in 303 requested for image processing executes image processing based on the requested processing content. The image processing plug-in 303 has two types of means for performing image processing.
The first is a means to be executed in the image processing plug-in 303. In this case, the image processing plug-in 303 executes based on the processing request and the processing parameter received from the image
The second is a means of requesting the Native
図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を探索する。
FIG. 5 is a flowchart showing an example of information processing when the image processing plug-in 303 executes the image processing job requested in S405.
In S501, the image processing plug-in 303 receives the image processing job requested in S405 and puts it in the
In S502, the image processing plug-in 303 determines whether or not there is an unprocessed image processing job in the
In S503, the image processing plug-in 303 acquires the first job among the unprocessed image processing jobs existing in the
In S504, first, the Native image
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に返却する。
In S505, the Native image
In S506, the Native image
In S507, the target Native
In S508, the target Native
After performing the processing of S506 or S504, in S509, the image processing plug-in 303 deletes the image processing job acquired in S503 from the
図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処理実行結果を受信する。
FIG. 6 is a flowchart showing an example of information processing in which the
In S601, the
In S602, the
In S603, the
In S604, the
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のユーザに指示された送信先に送信を実行する。
In S605, the
In S606, the
In S607, the
図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の処理を続ける。
FIG. 7 shows, as an example different from the usage method described with reference to FIG. 6 of the OCR function provided by the Native
In S701, the independent function plug-in 302 receives an instruction from the user of the
In S702, the independent function plug-in 302 determines whether or not the designation of the portion of the scanned image data to be used as the file name after conversion to the general-purpose format has been received through the preview screen displayed in S702. FIG. 8 shows a diagram showing a preview screen of a scanned document displayed on the
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実行結果を、スキャン画像データを汎用データフォーマットに変換後のファイル名に決定し、汎用データフォーマットへの変換を実施する。
In S703, the single function plug-in 302 requests the image
In S704, the single function plug-in 302 receives the OCR processing execution result returned in S407.
In S705, the independent function plug-in 302 displays the OCR processing execution result received in S704 on the
In S706, the single function plug-in 302 determines whether or not the user has instructed to determine the presented file name candidate as the file name. As a result of the determination, the stand-alone function plug-in 302 proceeds to the following S707 when an instruction is given, and continues the process of S706 when the instruction is not given.
In S707, the independent function plug-in 302 determines the scan image data as the file name after conversion to the general-purpose data format, and converts the scan image data into the general-purpose data format, based on the OCR execution result instructed to be determined as the file name in S706. To carry out.
以上説明した構成により、並行動作ができない制限を持つNative画像処理モジュールに対する画像処理要求が輻輳した場合でも、ユーザへの応答性を向上させることができるようになる。特に、図6を用いて説明したような、画像形成装置101のユーザからの指示を受けてバックグラウンドで実施される画像処理を実行している間でも、図7及び図8を用いて説明したように画像処理結果を操作部204に表示するために利用する、ユーザへの応答性に直接関係する画像処理を受け付けることができるようになる。更に、そのような画像処理の受け付けを可能とするためのキュー326をJava実行環境上の画像処理プラグイン303に配置することで、画像形成装置101の組み込みソフトウェアに変更を加えることなく上述した効果を実現することができるようになる。
With the configuration described above, it is possible to improve the responsiveness to the user even when the image processing request for the Native image processing module having a limitation that the parallel operation cannot be performed is congested. In particular, it has been described with reference to FIGS. 7 and 8 even while performing image processing performed in the background in response to an instruction from the user of the
<実施形態2>
実施形態1では、組み込みソフトウェアとして画像形成装置101に配置されているNative画像処理モジュール316が並行動作できない制限を有する場合でも、そのような制限により生じ得るユーザへの応答性の劣化を、組み込みソフトウェアの実装を変更することなく抑制できるようになることを示した。
本実施形態では、画像処理プラグイン303がキュー326の制御を適切に行うことで、ユーザへの応答性の劣化を更に抑制することができることを、図面を用いて説明する。本実施形態の説明は、実施形態1で説明した構成と異なる部分についてのみ説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
<Embodiment 2>
In the first embodiment, even when the Native
In the present embodiment, it will be described with reference to the drawings that the image processing plug-in 303 can further suppress the deterioration of the responsiveness to the user by appropriately controlling the
図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に進む。応答性直結フラグは、ジョブの属性の一例である。
FIG. 9 is a flowchart showing an example of information processing in which the image
First, the image processing plug-in 303 acquires the image processing job existing at the head of the
In S901, the image processing plug-in 303 determines whether or not the responsiveness direct connection flag included in the image processing job acquired in S503 is ON. Here, the responsiveness direct connection flag is a flag value that can be included in the image processing job as one of the above-mentioned image processing parameters, and when this is ON, the image processing job is sent to the user of the
S902において、画像処理プラグイン303は、その時点でキュー326に存在するジョブの中に、応答性直結フラグがONであるジョブが存在するか否かを判定する。判定の結果、存在しなかった場合(S902がNOの場合)、画像処理プラグイン303は、S503で取得した画像処理ジョブについて、S504、S505、S507、S508を経て画像処理を完了する。一方、存在した場合(S902がYESの場合)、画像処理プラグイン303は、S903に進む。
S903において、画像処理プラグイン303は、応答性直結ジョブのうち、キュー326の最も前方にある画像処理ジョブを取得する。そして、画像処理プラグイン303は、その画像処理ジョブに対してS504、S505、S507、S508を経て画像処理を完了する。
In S902, the image processing plug-in 303 determines whether or not there is a job whose responsiveness direct connection flag is ON among the jobs existing in the
In S903, the image processing plug-in 303 acquires the image processing job at the front of the
図10は、実施形態1において図7を用いて説明したスキャン画像データの汎用フォーマット変換後ファイルのファイル名を決定する処理において、先述した応答性直結フラグをONにして画像処理ジョブを実行する情報処理の一例を示すフローチャートである。
単独機能プラグイン302は、S701、S702の処理を経て、ファイル名に指定する領域801の指定を画像形成装置101のユーザから受信したとする。これを受けて、S1001において、単独機能プラグイン302は、画像処理接続ライブラリ332に対して、領域801に対するOCR処理の実行を依頼する画像処理ジョブの応答性直結フラグをONにする。続いて、単独機能プラグイン302は、S703、S704、S705、S706、S707の処理を経て、処理を完了する。
FIG. 10 shows information for executing an image processing job with the above-mentioned responsiveness direct connection flag turned on in the process of determining the file name of the file after general-purpose format conversion of the scanned image data described with reference to FIG. 7 in the first embodiment. It is a flowchart which shows an example of processing.
It is assumed that the independent function plug-in 302 receives the designation of the
以上図9及び図10を用いて説明した処理を実行することで、実施形態1で説明した効果に加えて、例えば図6で説明したSearchablePDF生成処理を実施するページ数が多い場合等でも、図10に係るファイル名決定処理のような、ユーザの応答性に直結する画像処理を優先して行うことができるようになり、ユーザへの応答性の劣化を更に抑制することができるようになる。 By executing the processes described with reference to FIGS. 9 and 10, in addition to the effects described in the first embodiment, for example, even when the number of pages for performing the SecurePDF generation process described in FIG. 6 is large, FIG. Image processing that is directly linked to user responsiveness, such as the file name determination process according to No. 10, can be performed with priority, and deterioration of responsiveness to the user can be further suppressed.
<実施形態3>
本実施形態では、図5、9で説明したものとは異なる方法により課題を解決する方法について図面を用いて説明する。本実施形態の説明は、実施形態1及び2で説明した構成と異なる部分について説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
図11は、実施形態3の画像形成装置101のソフトウェアの構造の一例を模式的に表す階層図である。ここでは、図3を用いて説明した画像処理プラグイン303は更に、画像処理ジョブ受付モジュール1101と画像処理ジョブ実行モジュール1102とを持つ。画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332から依頼された画像処理ジョブを受け付け、キュー326に登録する処理を行う。画像処理ジョブ実行モジュール1102は、画像処理ジョブ受付モジュール1101がキュー326に登録した画像処理ジョブを取得し、ジョブの実行をNative画像処理実行クライアント331に依頼する処理を行う。
<Embodiment 3>
In the present embodiment, a method of solving the problem by a method different from that described with reference to FIGS. 5 and 9 will be described with reference to the drawings. The description of the present embodiment describes parts different from the configurations described in the first and second embodiments, and the same numbering is used for the same configurations and processes as those of the first embodiment.
FIG. 11 is a hierarchical diagram schematically showing an example of the structure of the software of the
図12は、画像処理ジョブ受付モジュール1101が実行する情報処理の一例を示すフローチャートである。本フローチャートは、S405において画像処理接続ライブラリ332が画像処理プラグイン303に対して画像処理を依頼することで処理が開始される。
S1201において、画像処理ジョブ受付モジュール1101は、画像処理接続ライブラリ332からの画像処理依頼を受信する。このとき受信する画像処理依頼には、画像処理を実施する対象となる画像データと共に、画像処理パラメータとして、実施する画像処理、応答性直結フラグ、画像処理結果保存場所が含まれている。ここで、応答性直結フラグとは、先述の画像処理パラメータの1つとして画像処理ジョブに含ませることができるフラグ値であり、これがONである場合、その画像処理ジョブが画像形成装置101のユーザへの応答性に直結するジョブであることを示すものである。また、画像処理結果保存場所は、画像処理の実行結果を保存するための領域を指定するためのパラメータであり、例えばHDD213上の特定の領域を示すファイルパスを指定するのでもよいし、また他の値を指定するのでもよい。本実施形態の説明においては、画像処理結果保存場所として、HDD213の特定の領域を示すファイルパスが記載されているものとして説明する。
続くS1202において、画像処理ジョブ受付モジュール1101は、S1201で受信した画像処理依頼を画像処理ジョブとしてキュー326に登録し、本フローチャートの処理を終了する。S1202の処理は、S1201で受信する1度の依頼に応じて、キューに1つのジョブを登録する処理の一例である。
FIG. 12 is a flowchart showing an example of information processing executed by the image processing
In S1201, the image processing
In the following S1202, the image processing
図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に進む。
FIG. 13 is a flowchart showing an example of information processing for an image processing job executed by the image processing
In S1301, the image processing
In S1302, the image processing
In S1303, the image processing
In S1304, the image processing
In S1305, the image processing
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からの処理を繰り返す。
In S1306, the image processing
In S1307, the Native image
In S1308, the Native image
In S1309, the image processing
図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に戻る。
FIG. 14 is a flowchart showing an example of information processing executed by the Native image
In S1401, the Native image
In S1402, the Native image
In S1403, the Native image
In S1404, the Native image
In S1405, the Native image
In S1406, the Native image
以上説明した構成や手順を実施することで、図6、図7、図10を用いて示したような画像処理要求(S603、S703)が輻輳する場合でも、画像処理ジョブ受付モジュール1101と画像処理ジョブ実行モジュール1102とが非同期に処理を実行することができるようになる。そのため、図5、図9で説明したものとは異なる方法でユーザへの応答性の劣化を抑制することができるようになる。
By implementing the configuration and procedure described above, even when the image processing request (S603, S703) as shown with reference to FIGS. 6, 7, and 10 is congested, the image processing
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other Embodiments>
The present invention supplies a system or device via a network or storage medium a program that realizes one or more functions of the above-described embodiment. It can also be realized by a process in which one or more processors in the computer of the system or apparatus reads and executes a program. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
実施形態1及び実施形態2では、OCR処理を実施するNative画像処理モジュール316が並行動作を実施できない制限がある場合に、対応する画像処理プラグイン303がOCR画像処理ジョブに対するキュー326を保持する構成を説明した。しかし、これに限定されるものではない。例えば、実施形態1及び実施形態2で説明したOCR処理実施用のNative画像処理モジュール316とは別に、OCR処理を実施可能な画像処理モジュールがJava言語実行環境330やサーバ105に配置されているのでもよい。更にそれら画像処理モジュールに対応する画像処理プラグイン303はキュー326を有していない構成でもよい。そのような構成において、画像処理プラグイン303は適切な基準に従って、それら複数存在するOCR処理実施モジュールの何れを使用するかを選択するようにしてもよい。
Although an example of the embodiment of the present invention has been described in detail above, the present invention is not limited to the specific embodiment.
In the first and second embodiments, the corresponding image processing plug-in 303 holds the
以上、上述した各実施形態によれば、並行動作ができない制限を持つ組み込みソフトウェアとして実装された画像処理モジュールに対する画像処理要求が輻輳した場合でも、ユーザへの応答性の劣化を抑えることができるようなる。更に、そのような効果を、組み込みソフトウェアに変更を加えることなく実現することができるようになる。 As described above, according to each of the above-described embodiments, it is possible to suppress deterioration of responsiveness to the user even when the image processing request for the image processing module implemented as embedded software having a limitation that parallel operation is not possible is congested. Become. Furthermore, such an effect can be realized without making any changes to the embedded software.
101 画像形成装置
211 CPU
213 HDD
101
213 HDD
Claims (6)
ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録手段と、
前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定手段と、
前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求手段と、
前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御手段と、を有し、
前記要求手段は、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定手段により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
前記画像処理モジュールによる処理が完了した場合に、前記判定手段による判定が再度、行われ、
前記制御手段は、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない画像処理装置。 An image processing device having an image processing module that cannot process multiple jobs in parallel.
When an image processing using the image processing module is instructed by a user's operation, a job with a flag indicating whether or not the processing by the image processing module is related to the responsiveness to the user's operation is queued. Registration method to register and
Based on the flag of each job included in the queue, a determination means for determining whether or not there is a job whose flag is ON other than the head of the queue, and a determination means.
A request means for executing a processing request to the image processing module based on the job acquired from the queue, and
It has a control means for controlling the display of the result of the image processing on the display unit when the processing by the image processing module is completed .
The requesting means performs the image processing based on the job obtained from the queue in which the flag is ON when the determination means determines that there is a job in which the flag is ON other than the head of the queue. When a processing request is executed for the module and it is determined by the determination means that there is no job whose flag is ON other than the head of the queue, the flag acquired from the head of the queue is OFF. Based on the job, execute a processing request to the image processing module, and
When the processing by the image processing module is completed, the determination by the determination means is performed again , and the determination is performed again.
The control means displays the result of image processing related to the job whose flag is ON on the display unit, and the image processing module determines the result of image processing related to the job whose flag is OFF. An image processing device that does not display on the display unit even after the processing is completed .
前記判定手段は、前記取得手段により取得されたジョブの前記フラグに基づき、前記フラグがONであるか否かを判定し、前記フラグがOFFであると判定した場合、前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する請求項1記載の画像処理装置。 Further having an acquisition means for acquiring a job from the beginning of the queue,
The determination means determines whether or not the flag is ON based on the flag of the job acquired by the acquisition means, and if it is determined that the flag is OFF, each job included in the queue. The image processing apparatus according to claim 1, wherein it is determined whether or not there is a job in which the flag is ON other than the head of the queue based on the flag .
ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録工程と、
前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグがONであるジョブが存在するか否かを判定する判定工程と、
前記キューから取得されるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する要求工程と、
前記画像処理モジュールによる処理が完了した場合に、画像処理の結果を表示部に表示するよう制御する制御工程と、を含み、
前記要求工程では、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在すると判定された場合に、前記キューから取得される前記フラグがONであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、前記判定工程により前記キューの先頭以外に前記フラグがONであるジョブが存在しないと判定された場合に、前記キューの先頭から取得される前記フラグがOFFであるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行し、
前記画像処理モジュールによる処理が完了した場合に、前記判定工程による判定が再度、行われ、
前記制御工程では、前記フラグがONであるジョブに係る画像処理の結果については、前記表示部に表示して、前記フラグがOFFであるジョブに係る画像処理の結果については、前記画像処理モジュールによる処理が完了しても、前記表示部に表示しない情報処理方法。 An information processing method executed by an image processing device having an image processing module that cannot process a plurality of jobs in parallel.
When an image processing using the image processing module is instructed by a user's operation, a job with a flag indicating whether or not the processing by the image processing module is related to the responsiveness to the user's operation is queued. Registration process to register and
Based on the flag of each job included in the queue, a determination step of determining whether or not there is a job whose flag is ON other than the head of the queue, and a determination step.
A request process for executing a processing request to the image processing module based on the job acquired from the queue, and
A control step for controlling the display of the result of image processing on the display unit when the processing by the image processing module is completed is included.
In the requesting process, when it is determined by the determination process that there is a job whose flag is ON other than the head of the queue, the image processing is performed based on the job whose flag is ON acquired from the queue. When a processing request is executed for the module and it is determined by the determination process that there is no job whose flag is ON other than the head of the queue, the flag acquired from the head of the queue is OFF. Based on the job, execute a processing request to the image processing module, and
When the processing by the image processing module is completed, the determination by the determination step is performed again , and the determination is performed again.
In the control step, the result of the image processing related to the job whose flag is ON is displayed on the display unit, and the result of the image processing related to the job whose flag is OFF is displayed by the image processing module. An information processing method that does not display on the display unit even after the processing is completed .
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 (en) | 2019-09-12 |
JP7102248B2 true JP7102248B2 (en) | 2022-07-19 |
Family
ID=67947242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018117968A Active JP7102248B2 (en) | 2018-03-05 | 2018-06-21 | Image processing equipment, information processing methods and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7102248B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001238007A (en) | 2000-02-18 | 2001-08-31 | Toshiba Tec Corp | Method for forming image |
JP2009043247A (en) | 2007-07-18 | 2009-02-26 | Ricoh Co Ltd | Image formation system and control method thereof, image forming apparatus, information processor, program and recording medium |
JP2011061630A (en) | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | Image processing system, image forming apparatus, image processing method, program, and recording medium |
JP2014021137A (en) | 2012-07-12 | 2014-02-03 | Sharp Corp | Image forming apparatus |
-
2018
- 2018-06-21 JP JP2018117968A patent/JP7102248B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001238007A (en) | 2000-02-18 | 2001-08-31 | Toshiba Tec Corp | Method for forming image |
JP2009043247A (en) | 2007-07-18 | 2009-02-26 | Ricoh Co Ltd | Image formation system and control method thereof, image forming apparatus, information processor, program and recording medium |
JP2011061630A (en) | 2009-09-11 | 2011-03-24 | Ricoh Co Ltd | Image processing system, image forming apparatus, image processing method, program, and recording medium |
JP2014021137A (en) | 2012-07-12 | 2014-02-03 | Sharp Corp | Image forming apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP2019154019A (en) | 2019-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5929210B2 (en) | Information processing program, information processing apparatus, and information processing apparatus control method | |
JP7355147B2 (en) | application program | |
JP2020004158A (en) | Information processing apparatus, method of controlling information processing apparatus, and program | |
US11176633B2 (en) | Image processing apparatus, method for controlling the same, and non-transitory computer-readable storage medium | |
JP2022164669A (en) | Image formation device, method for controlling image formation device and program | |
JP2018015947A (en) | Image formation apparatus, image formation method and program | |
JP2016083870A (en) | Image formation device, and control method and system therefor | |
JP6975009B2 (en) | Image processing device, its control method, and program | |
JP2024025809A (en) | Image formation apparatus, control method of image formation apparatus and program | |
JP2012155401A (en) | Printing system, printing device, control method of printing system, control method of printing device, and program | |
US10922039B2 (en) | Image processing apparatus, information processing method, and storage medium | |
JP7102248B2 (en) | Image processing equipment, information processing methods and programs | |
JP6961412B2 (en) | Image forming device, control method of image forming device, and program | |
JP7479867B2 (en) | Printing device, control method thereof, and program | |
JP7186541B2 (en) | IMAGE PROCESSING DEVICE, CONTROL METHOD THEREOF, AND PROGRAM | |
JP7362384B2 (en) | Information processing device, its control method, and program | |
JP7080061B2 (en) | Image processing equipment | |
JP7328405B2 (en) | Information processing apparatus, information processing apparatus control method, and print setting application | |
JP7324009B2 (en) | Information processing device, printing device, control method thereof, and program | |
JP6673025B2 (en) | Information processing device and program | |
US20190356804A1 (en) | Image processing apparatus, method for controlling the same, and computer-readable storage medium | |
JP5025533B2 (en) | Image forming apparatus, printing control method, printing control program | |
JP2003072164A (en) | Apparatus, system and method for processing data, storage medium and program | |
JP2020004273A (en) | Print control program, update method of printer description file of print control program, information processing device and storage medium | |
JP2018129611A (en) | Image forming apparatus, method for controlling image forming apparatus, and program |
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 |