JP7102248B2 - Image processing equipment, information processing methods and programs - Google Patents

Image processing equipment, information processing methods and programs 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
Japanese (ja)
Other versions
JP2019154019A (en
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/en
Application granted granted Critical
Publication of JP7102248B2 publication Critical patent/JP7102248B2/en
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

本発明は、画像処理装置、情報処理方法及びプログラムに関する。 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).

特開2007-20030号公報JP-A-2007-20030

上述のような構成において、使用する画像処理によっては、プラグインが直接画像処理を実行するのではなく、実行速度を優先するために画像形成装置内の組み込みソフトウェアとして配置された画像処理の実行モジュールを使用して画像処理を実現することが考えられる。しかしながら、一般に組み込みソフトウェアは、機能追加や安定性向上を企図したモジュールの変更がしづらいという性質がある。したがって、実行モジュールに何らかの実装上の制限が含まれていた場合、後からその制限を解消するための修正を実行モジュール自体に実施させるのは、開発効率の観点からは望ましくない。ここで言う実装上の制限の一例として、画像処理モジュールが、画像処理モジュールに対する複数の画像処理依頼が同時に実施された場合に、それらを並行処理することができない、というものが挙げられる。そのような制限を有する画像処理モジュールへの画像処理ジョブが輻輳した場合、後行の画像処理ジョブが受け付けられなくなってしまう。
先行技術に記載の構成では、プラグインの使用する組み込み画像処理モジュールが並行動作できず、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.

画像形成システムのシステム構成の一例を示す図である。It is a figure which shows an example of the system structure of an image formation system. 画像形成装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the image forming apparatus. ソフトウェアの構造の一例を模式的に表す階層図である。It is a hierarchical diagram which shows an example of a software structure schematically. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. スキャン原稿のプレビュー画面の一例を示す図である。It is a figure which shows an example of the preview screen of a scanned document. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. ソフトウェアの構造の一例を模式的に表す階層図である。It is a hierarchical diagram which shows an example of a software structure schematically. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing. 情報処理の一例を示すフローチャートである。It is a flowchart which shows an example of information processing.

以下、本発明の実施形態について図面に基づいて説明する。 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 image forming devices 101 and 102, information processing terminals 103 and 104, and a server 105. The image forming devices 101 and 102, the information processing terminals 103 and 104, and the server 105 are connected to each other by the network 106 and can communicate with each other.
In FIG. 1, a case where the number of image forming devices 101 and 102 is two is shown as an example, but the number of image forming devices is arbitrary (one or two or more). Further, the respective image forming devices 101 and 102 can be realized by the same device. Therefore, in the following, the image forming apparatus 101 will be described on behalf of the image forming apparatus 101 and 102, and the detailed description of the image forming apparatus 102 will be omitted. The network 106 may be any device such as a LAN (Local Area Network), the Internet, or the like that allows devices in the image forming system to communicate with each other.
The image forming apparatus 101 receives and prints a print request (printing data) for image data from the information processing terminals 103 and 104, reads the image data with a scanner provided in the image forming apparatus 101, and is read by the scanner. Image data can be printed. Further, the image forming apparatus 101 can save the print data received from the information processing terminals 103 and 104, and can transmit the image read by the scanner of the image forming apparatus 101 to the information processing terminals 103 and 104. .. Further, the image forming apparatus 101 can perform image processing using the server 105 and print a document stored in the server 105. In addition to this, the image forming apparatus 101 can realize the functions of a known image forming apparatus such as an MFP (Multifunction 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に展開することで処理を行うことができる。
FIG. 2 is a diagram showing an example of the hardware configuration of the image forming apparatus 101.
The image forming apparatus 101 includes a controller 201, a printer 202, a scanner 203, and an operation unit 204. The controller 201 includes a CPU 211, a RAM 212, an HDD 213, a network I / F 214, a printer I / F 215, a scanner I / F 216, an operation unit I / F 217, and an extended I / F 218. The CPU 211 can exchange data with the RAM 212, HDD 213, network I / F 214, printer I / F 215, scanner I / F 216, operation unit I / F 217, and extended I / F 218. Further, the CPU 211 expands the program read from the HDD 213 into the RAM 212, and executes the program expanded in the RAM 212. When the CPU 211 executes the process based on the program, the software configuration of FIGS. 3 and 11 and the process of the flowcharts of FIGS. 4-FIG. 7, FIG. 9, FIG. 10, and FIGS. 12-14, which will be described later, are realized.
The HDD 213 can store a program that can be executed by the CPU 211, a set value used by the image forming apparatus 101, data related to processing requested by the user, and the like. The RAM 212 is an area for temporarily storing the program read from the HDD 213 by the CPU 211. The RAM 212 can also store various data necessary for executing the program. For example, in image processing, the submitted data can be expanded into the RAM 212 for processing.

ネットワーク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 / F 214 can transmit the data reception to the CPU 211 and can transmit the data on the RAM 212 to the network 106. The printer I / F 215 can transmit the print data transmitted from the CPU 211 to the printer 202, and can transmit the state of the printer received from the printer 202 to the CPU 211. The scanner I / F 216 can transmit the image reading instruction transmitted from the CPU 211 to the scanner 203, transmit the image data received from the scanner 203 to the CPU 211, and transmit the state received from the scanner 203 to the CPU 211. .. The operation unit I / F 217 can transmit an instruction from the user input from the operation unit 204 to the CPU 211, and can transmit screen information for the user to operate to the operation unit 204. The extended I / F 218 is an interface that enables an external device to be connected to the image forming apparatus 101. The extended I / F 218 includes, for example, a USB (Universal Serial Bus) type interface. The image forming apparatus 101 can read the data stored in the external storage device and write the data to the external storage device by connecting an external storage device such as a USB memory to the extended I / F 218.
The printer 202 can print the image data received from the printer I / F 215 on paper and transmit the state of the printer 202 to the printer I / F 215. The scanner 203 can read the information displayed on the paper placed on the scanner I / F 216, digitize the information, and transmit the information to the scanner I / F 216 according to the image reading instruction received from the scanner I / F 216. Further, the scanner 203 can transmit its own state to the scanner I / F 216. The operation unit 204 is an interface for causing the user to perform operations for giving various instructions to the image forming apparatus 101. For example, the operation unit 204 includes a liquid crystal screen having a touch panel, provides an operation screen to the user, and accepts an operation from the user.

図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 image forming apparatus 101 of the first embodiment. In FIG. 3, with some exceptions, the service provided by the lower layer is used by the upper layer.
In FIG. 3, the lowest layer includes the operating system 317 and is a layer that manages program execution, memory management, and the like. A printer control driver 318, a scanner control driver 319, and a network I / F control driver 320 are incorporated in the operating system 317. The printer control driver 318, the scanner control driver 319, and the network I / F control driver 320 can function by coordinating with each other. The printer control driver 318 is software for controlling the printer 202 via the printer I / F 215. The scanner control driver 319 is software for controlling the scanner 203 via the scanner I / F 216. The network I / F control driver 320 is software for controlling the network I / F 214.
The second layer from the bottom layer includes a device control library 309 and an image processing control unit 340. In the present embodiment, the device control library 309 and the image processing control unit 340 are described in a compiled language such as C language or C ++ language, and are stored in the HDD 213 in the form of an object file that can be directly executed by the CPU 211 as embedded software. It shall be. In the present embodiment, the environment for executing such an embedded software group is referred to as a Native execution environment or Native. The device control library 309 is statically or dynamically linked with the stand-alone function plug-in 302 or the device control application 304 described later. Further, the device control library 309 uses the operating system 317 based on the instructions given by each application program. In addition, each device control library 309 can also request image processing from the Native image processing connection library 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)といったデータフォーマットである。
Next, an example of the device control library 309 will be described.
The print library 310 is a library that provides an API (Application Programming Interface) for controlling a print job by utilizing the function of the printer control driver 318. The print job refers to a series of processes such as printing the print data stored in the HDD 213 of the image forming apparatus 101 and printing the print data received from the external device through the network I / F 214. The external device is, for example, information processing terminals 103 and 104.
The copy library 311 is a library that provides an API for controlling a copy job by utilizing the functions of the scanner control driver 319 and the printer control driver 318. The copy job refers to a series of processes for printing the image data scanned by the scanner 203 with the printer 202.
The scan save library 312 is a library that provides an API for controlling a scan save job by utilizing the function of the scanner control driver 319. The scan save job refers to a series of processes in which the image data scanned by the scanner 203 is converted into print data or a general-purpose format and then saved in an external storage device such as USB connected to the HDD 213 or the extended I / F 218. The general-purpose format is, for example, a data format such as PDF (Portable Photographic Format) or 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は、並行処理することができない画像処理モジュールの一例である。
The scan transmission library 313 is a library that provides an API for controlling a scan transmission job by utilizing the functions of the scanner control driver 319 and the network I / F control driver 320. The scan transmission job refers to a series of processes in which the image data scanned by the scanner 203 is converted into a general-purpose format and then transmitted to a file server through the network I / F 214 or attached to an e-mail and transmitted to an external device. .. The file server is, for example, server 105. The external device is, for example, information processing terminals 103 and 104.
The image processing control unit 340 includes a Native image processing connection library 314, a Native image processing execution server 315, and a Native image processing module 316. When the Native image processing connection library 314 receives an image processing execution request from the device control library 309, the Native image processing connection library 314 transfers the request contents to the image processing connection library 332. The Native image processing execution server 315 provides a function of executing the Native image processing module in response to a request from software written in the Java (registered trademark) language described later. The Native image processing module 316 is software capable of performing various types of image processing. The Native image processing execution server 315 and the Native image processing module 316 are executed on the Native image processing control process 350, which is a program execution unit having a logical memory space separated from the other software shown in FIG. As a specific method for separating the memory space, it is conceivable to use the process mechanism provided in a general operating system, but other methods may be used. In this way, by configuring the logical memory space to be separated when performing image processing, the processing requester side can perform complicated operations and memory operations associated therewith, even if some error occurs in the processing. The effect on the image can be suppressed. The Native image processing module 316 is an example of an image processing module that cannot be processed in parallel.

最上位層である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 language execution environment 330, which is the uppermost layer, is an application layer including a plug-in application (hereinafter referred to as login) 301 and a device control application 304. In this embodiment, the plug-in 301 and the device control application 304 are written in the Java language and stored in the HDD 213 in the Java bytecode format interpreted by the Java virtual machine. Therefore, the CPU 211 executes the program of the Java virtual machine, and the Java virtual machine reads and executes the Java byte code to perform the process. One of the reasons for using such a programming language is the simplicity of program description. In Java, the memory area management does not need to be performed by the developer, but is performed automatically. Therefore, it is expected that the time and effort required to write the program will be reduced and the development efficiency will be improved. Each application provides various functions by operating while using each API of the device control library 309 and the image processing connection library 332. Further, the device control application 304 can be expanded in its function by updating the firmware. The print application 305, the copy application 306, the scan storage application 307, and the scan transmission application 308 included in the device control application 304 have screen information 321, 322, 323, and 324, respectively. The CPU 211 displays the respective screen information 321, 322, 323, 324 on the operation unit 204 through the operation unit I / F 217. When the user detects a change in the setting of the device control application 304 by operating the operation unit 204, the CPU 211 writes the content of the change in the HDD 213. When the operation unit 204 detects the job execution request, the CPU 211 (device control application 304) starts the job by calling the API of the device control library 309. The device control application 304 can also request image processing from the image processing connection library 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)は、それぞれ個別に起動及び停止を行うことができる。
Next, an example of the device control application 304 will be described. The print application 305 executes a print job by calling the API of the print library 310. The copy application 306 executes the copy job by calling the API of the copy library 311. The scan save application 307 executes the scan save job by calling the API of the scan save library 312. The scan transmission application 308 executes the scan transmission job by calling the API of the scan transmission library 313.
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 image forming apparatus 101 separately from the device control application 304 which is a resident application. The plug-in 301 has a single-function plug-in application (hereinafter, referred to as a single-function plug-in) 302 and an image processing plug-in application (hereinafter, referred to as an image processing plug-in) 303. Each plug-in 301 is packaged with a program necessary for its operation. The plug-in 301 is installed in the image forming apparatus 101 by using a remote UI (User Interface) or the like. The remote UI is a mechanism capable of accessing the image forming apparatus 101 from a Web browser in an external device via the network I / F 214, checking the status of the image forming apparatus 101, operating a print job, and performing various settings. Is. The external device is, for example, information processing terminals 103 and 104. Further, the plug-in 301 (independent function plug-in 302 and the image processing plug-in 303) can be started and stopped individually.

以下に、プラグイン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 CPU 211 detects the installation of the plug-in 301, the CPU 211 saves the information of the plug-in 301 in the HDD 213. Subsequently, when the CPU 211 detects the start instruction for the plug-in 301, the CPU 211 gives a start instruction for the plug-in 301. The plug-in 301 can execute the contents of each program while it is running. Subsequently, when the CPU 211 detects a stop instruction for the plug-in 301, the CPU 211 gives a stop instruction to the plug-in 301. Further, when the CPU 211 detects an uninstall instruction for the plug-in 301, the CPU 211 deletes the information of the plug-in 301 from the HDD 213. These instructions can be given from, for example, the remote UI or the operation unit 204, but other than this, these instructions may be given.

次に、単独機能プラグイン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 screen information 325. The single function plug-in 302 can provide the user with a function or screen different from that of the resident device control application 304 by calling the API of the device control library 309. For example, the stand-alone function plug-in 302 can provide a combination of a plurality of functions such as a function of copying and scanning a certain image data and sending a document to a specific destination in the destination database held by the plug-in 302. .. The stand-alone function plug-in 302 does not have to have a function of performing image processing. In this case, the image processing is not set. Further, when the device control library 309 receives the print data or the image data converted into the general-purpose format, the device control library 309 instructs an appropriate operating system 317 to perform processing control and executes the job.

次に、画像処理プラグイン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 processing execution client 331 and can use the image processing function of the Native image processing module 316. One example of the reason why the image processing plug-in 303 uses the Native image processing module 316 is to increase the processing speed when performing image processing. When performing image processing, a large amount of complicated numerical operations may be performed, or a large amount of memory may be required in the process of processing. In such a case, it is faster to use a compiled language that can directly generate an object file that can be executed by the CPU than to use a programming language processing system that performs processing through a virtual machine such as Java. Can be improved. However, on the other hand, since the Native image processing module 316 is implemented as embedded software of the image forming apparatus 101 as described above, there is a property that it is not easy to change the module intended to add functions or improve stability. Therefore, there may be a case where the Native image processing module 316 has some restrictions in terms of mounting or function. As an example of the limitation that the Native image processing module 316 can have, there is a limitation that when a plurality of image processing requests are simultaneously executed for the same Native image processing module 316, they cannot be executed in parallel.
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 device control application 304. When the Native image processing module 316 has such a limitation, and if it receives since the image processing at the same time, the subsequent image processing is delayed due to the inability to operate in parallel, and the responsiveness to the user who uses the function. May deteriorate. Here, the job for which responsiveness to the user is required is that the user confirms the result of image processing by the Native image processing module 316 on a screen provided by the operation unit 204 or the web server provided in the image forming apparatus 101. This is a job related to an operation that needs to be performed. For example, the image data of the scan document is OCR-processed by the Native image processing module 316, the result is displayed on the operation unit 204, and the image data is based on the recognition result corresponding to a part selected from the displayed image. There is a function to set the file name. In this series of operations, if the response as a result of the OCR processing is delayed, the next user cannot be selected, so that the user may occupy the operation unit 204 of the image forming apparatus 101 for a long time. ..
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 image processing module 316 after the user is instructed to transmit the file. Depending on the user, there are cases where it is sufficient to check the transmission result later in a log or the like. In such a case, it is not necessary to immediately respond to the operation unit 204 with the result of file transmission after the transmission instruction. In addition, even in the case where the Native image processing module 316 is used in the background without inputting the user's instruction, the responsiveness to the user is relatively not important.
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 image processing module 316 that cannot operate in parallel sequentially processes the image processing requests received from the image processing connection library 332. Holds queue 326 for. By holding the queue 326, the corresponding image processing plug-in 303 can accept a new image processing request while the Native image processing module 316, which cannot operate in parallel, is executing the image processing. Further, by providing the queue 326 in the image processing plug-in 303 arranged in the Java execution environment, the responsiveness to the user described above can be improved without changing the embedded software arranged in the Java execution environment. Will be able to.

図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 processing connection library 332 accepts image processing and requests processing to the image processing plug-in 303. Using this flowchart, an example of image processing using the image processing plug-in 303 will be shown.
In S401, the image processing connection library 332 receives the image processing execution request from the device control application 304, the Native image processing connection library 314, or the independent function plug-in 302. At this time, it is assumed that the parameters necessary for specifying the image processing plug-in 303 for which processing is requested are input to the received image processing request.
In S402, the image processing connection library 332 searches for the image processing plug-in 303 that can execute the acquired image processing execution request.
In S403, the image processing connection library 332 proceeds to S405 when there is an image processing plug-in capable of executing the received image processing request based on the search result of S402 (YES in S403). On the other hand, in S403, the image processing connection library 332 proceeds to S404 when there is no image processing plug-in capable of executing the received image processing request based on the search result of S402 (NO in S403).

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 processing connection library 332 returns an error indicating that there is no module capable of executing the received image processing to the requesting module. When the Native image processing connection library 314 is the request source, the above error content is propagated to the device control application 304 or the single function plug-in 302 through the device control library. The device control application 304 or the independent function plug-in 302 displays the received error content on the operation screen of each application. From this error, the user can know that the module required for processing does not exist. Therefore, the serviceman or the IT administrator can continue the processing by installing the necessary image processing plug-in 303 by the above-mentioned installation means.
On the other hand, in S405, the image processing connection library 332 requests the target image processing plug-in 303 to perform processing. When the image processing plug-in 303 receives an image processing request together with the processing parameters from the image processing connection library 332, the image processing plug-in 303 executes image processing according to the processing parameters. Image processing includes means performed in the image processing plug-in 303 and means executed by the Native image processing module 316, the details of which will be described later. When the image processing is executed, the CPU 211 expands the input data into the RAM 212 in the image processing plug-in 303 or the Native image processing module 316.
In S406, the image processing connection library 332 receives the processing result from the image processing plug-in.
In S407, the image processing connection library 332 returns the received processing result to each module of the requesting source.

以下、受信した処理結果としてエラー内容を含むエラーが返ってきた場合の処理について説明する。
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 processing connection library 314 is the request source, the error content is propagated to the device control application 304 or the single function plug-in 302 through the device control library 309. The device control application 304 or the independent function plug-in 302 performs exception handling based on the received error content.
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 processing connection library 332. Therefore, each application waits for the image processing currently being executed to finish by retrying, and then sends the image processing request again at the timing when the image processing currently being executed is finished, so that the processing can be continued without interruption. ..
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 processing connection library 332. The image processing plug-in 303 needs to be written in Java language.
The second is a means of requesting the Native image processing module 316. By requesting the native image processing execution client 331 to perform the image processing plug-in 303, the image processing plug-in 303 can execute the image processing in an image processing dedicated process different from the image processing plug-in 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を探索する。
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 queue 326. The image processing plug-in 303 holds an image processing job in the queue 326 for each processing unit of the Native image processing module 316.
In S502, the image processing plug-in 303 determines whether or not there is an unprocessed image processing job in the queue 326. As a result of the determination, when there is no unprocessed image processing job (when S502 is NO), the image processing plug-in 303 re-executes the processing of S502. On the other hand, when there is an unprocessed image processing job (when S502 is YES), the image processing plug-in 303 proceeds to S503.
In S503, the image processing plug-in 303 acquires the first job among the unprocessed image processing jobs existing in the queue 326, and requests the Native image processing execution client 331 to process the acquired image processing job. The image processing plug-in 303 selects and acquires image processing jobs in the order in which they are held in the queue 326.
In S504, first, the Native image processing execution client 331 that receives the request requests the requested image processing job to the Native image processing execution server 315. Subsequently, the Native image processing execution server 315 searches for the Native image processing module 316 based on the processing parameters included in the received image processing job.

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 processing execution server 315 determines whether or not the target Native image processing module exists. As a result of the determination, when the target Native image processing module 316 does not exist (when S505 is NO), the Native image processing execution server 315 proceeds to S506. On the other hand, when the target Native image processing module 316 exists as a result of the determination (when S505 is YES), the Native image processing execution server 315 proceeds to S507.
In S506, the Native image processing execution server 315 returns an error indicating that the target Native image processing module 316 does not exist to the Native image processing execution client 331.
In S507, the target Native image processing module 316 performs image processing based on the received processing parameters.
In S508, the target Native image processing module 316 further returns the image processing result to the Native image processing execution client 331.
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 queue 326. Then, the image processing plug-in 303 returns to the processing of S502 again. When the Native image processing execution client 331 receives the image processing result or the error content, the Native image processing execution client 331 returns the content to the image processing plug-in 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処理実行結果を受信する。
FIG. 6 is a flowchart showing an example of information processing in which the scan transmission application 308 converts a scanned image into a Secureable PDF and transmits it. The Secure PDF refers to a PDF in which character information is converted into text data. The scan transmission application 308 generates a SecurePDF by utilizing the OCR function provided by the Native image processing module 316 through the Native image processing connection library 314.
In S601, the scan transmission application 308 receives an instruction to transmit the scan image data stored in the HDD 213 or the RAM 212 by the scanner 203 to the destination set by the user of the image forming apparatus 101.
In S602, the scan transmission application 308 that has received the scan transmission instruction acquires the first page of the scan image data including one page or a plurality of pages from the HDD 213 or the RAM 212.
In S603, the scan transmission application 308 requests the image processing connection library 332 to execute OCR processing on the image data acquired in S602. The OCR process according to S603 is executed according to the process procedure described with reference to FIGS. 4 and 5.
In S604, the scan transmission application 308 receives the OCR processing execution result returned in S407.

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 scan transmission application 308 converts the one-page image data acquired in S602 into a SecurePDF using the OCR processing execution result.
In S606, the scan transmission application 308 determines whether or not there is a page in the scanned image data that has not been converted into the Safetable PDF. As a result of the determination, if there is an unconverted page (YES in S606), the scan transmission application 308 proceeds to S602. Then, the scan transmission application 308 performs the processing of S602, S603, S604, and S605 again on one of the pages that have not been converted. On the other hand, if there is no unconverted page (NO in S606), the scan transmission application 308 proceeds to S607.
In S607, the scan transmission application 308 collects all the pages of the scanned image data converted into the SearchablePDF as one SecurePDF file and executes the transmission to the destination instructed by the user of the image forming apparatus 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の処理を続ける。
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 image processing module 316, the image data is converted into a general-purpose format based on the character string data included in the scanned image. It is a flowchart which shows an example of the information processing which determines the file name of the file. The process described in this flowchart is a process in which the independent function plug-in 302 for carrying out the above-mentioned file name determination process is started in response to an instruction from the user of the image forming apparatus 101.
In S701, the independent function plug-in 302 receives an instruction from the user of the image forming apparatus 101 to preview the scanned image data stored in the HDD 213 or the RAM 212 by the scanner 203, and preview-displays the corresponding image data on the operation unit 204. ..
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 operation unit 204 in S702 and an image when a user specifies a part to be used as a file name. FIG. 8 shows that when the area indicated by the area 801 of the scanned image data is touched by the user of the image forming apparatus 101, the designation to use the area 801 as the file name is received. When the user specifies in such a form (when S702 is YES), the single function plug-in 302 proceeds to S703. On the other hand, if there is no designation (when S702 is NO), the single function plug-in 302 continues the process of S702 until the designation is received.

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 processing connection library 332 to execute OCR processing on the area 801 in order to convert the area 801 specified by the user into text data. The OCR process according to S703 is executed according to the process procedure described with reference to FIGS. 4 and 5.
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 operation unit 204 and presents it to the user as a candidate for the file name to be determined.
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 image forming apparatus 101 as described with reference to FIG. As described above, it becomes possible to accept image processing directly related to the responsiveness to the user, which is used to display the image processing result on the operation unit 204. Further, by arranging the queue 326 for accepting such image processing in the image processing plug-in 303 on the Java execution environment, the above-mentioned effect is obtained without changing the embedded software of the image forming apparatus 101. Will be able to be realized.

<実施形態2>
実施形態1では、組み込みソフトウェアとして画像形成装置101に配置されているNative画像処理モジュール316が並行動作できない制限を有する場合でも、そのような制限により生じ得るユーザへの応答性の劣化を、組み込みソフトウェアの実装を変更することなく抑制できるようになることを示した。
本実施形態では、画像処理プラグイン303がキュー326の制御を適切に行うことで、ユーザへの応答性の劣化を更に抑制することができることを、図面を用いて説明する。本実施形態の説明は、実施形態1で説明した構成と異なる部分についてのみ説明し、実施形態1と同一の構成や処理については、同一の付番を用いる。
<Embodiment 2>
In the first embodiment, even when the Native image processing module 316 arranged in the image forming apparatus 101 as the embedded software has a limitation that it cannot operate in parallel, the deterioration of the responsiveness to the user that may occur due to such the limitation is caused by the embedded software. It was shown that it can be suppressed without changing the implementation of.
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 queue 326. In the description of the present embodiment, only the parts different from the configuration described in the first embodiment will be described, and the same numbering will be used for the same configuration and processing as in the first embodiment.

図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 processing connection library 332 accepts image processing and requests processing to the image processing plug-in 303. Using this flowchart, an example of image processing using the image processing plug-in 303 will be shown.
First, the image processing plug-in 303 acquires the image processing job existing at the head of the queue 326 acquired through the processing of S501, S502, and S503.
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 image forming apparatus 101. This indicates that the job is directly linked to responsiveness. As a result of the determination of S901, when the responsiveness direct connection flag is ON (when S901 is YES), the image processing plug-in 303 completes the image processing via the above-mentioned S504, S505, S507, S508, and S509. On the other hand, when the responsiveness direct connection flag is OFF (when S901 is NO), the process proceeds to S902. The responsiveness direct connection flag is an example of job attributes.

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 queue 326 at that time. As a result of the determination, if it does not exist (when S902 is NO), the image processing plug-in 303 completes the image processing of the image processing job acquired in S503 via S504, S505, S507, and S508. On the other hand, if it exists (YES in S902), the image processing plug-in 303 proceeds to S903.
In S903, the image processing plug-in 303 acquires the image processing job at the front of the queue 326 among the responsive direct-coupled jobs. Then, the image processing plug-in 303 completes the image processing for the image processing job via S504, S505, S507, and S508.

図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 area 801 specified in the file name from the user of the image forming apparatus 101 through the processes of S701 and S702. In response to this, in S1001, the single function plug-in 302 turns on the responsiveness direct connection flag of the image processing job that requests the image processing connection library 332 to execute the OCR processing for the area 801. Subsequently, the single function plug-in 302 completes the process through the processes of S703, S704, S705, S706, and S707.

以上図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 image forming apparatus 101 of the third embodiment. Here, the image processing plug-in 303 described with reference to FIG. 3 further has an image processing job reception module 1101 and an image processing job execution module 1102. The image processing job reception module 1101 receives the image processing job requested from the image processing connection library 332 and performs a process of registering the image processing job in the queue 326. The image processing job execution module 1102 acquires the image processing job registered in the queue 326 by the image processing job reception module 1101 and requests the Native image processing execution client 331 to execute the job.

図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 job reception module 1101. The processing of this flowchart is started when the image processing connection library 332 requests the image processing plug-in 303 for image processing in S405.
In S1201, the image processing job reception module 1101 receives the image processing request from the image processing connection library 332. The image processing request received at this time includes the image processing to be executed, the responsiveness direct connection flag, and the image processing result storage location as image processing parameters together with the image data to be subjected to the image processing. 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 the user of the image forming apparatus 101. It indicates that the job is directly related to the responsiveness to. Further, the image processing result storage location is a parameter for designating an area for saving the execution result of the image processing. For example, a file path indicating a specific area on the HDD 213 may be specified, or another method. You may specify the value of. In the description of the present embodiment, it is assumed that a file path indicating a specific area of the HDD 213 is described as the image processing result storage location.
In the following S1202, the image processing job reception module 1101 registers the image processing request received in S1201 in the queue 326 as an image processing job, and ends the processing of this flowchart. The process of S1202 is an example of a process of registering one job in the queue in response to one request received in S1201.

図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 job execution module 1102 and the Native image processing execution client 331.
In S1301, the image processing job execution module 1102 determines whether or not an image processing job exists in the queue 326. The image processing job execution module 1102 proceeds to S1302 when the image processing job exists in the queue 326 due to the execution of the above-mentioned S1202 (when S1301 is YES), and when the image processing job does not exist, the image processing job execution module 1102 proceeds to S1302. Execute S1301 again.
In S1302, the image processing job execution module 1102 acquires, among the image processing jobs existing in the queue 326, the one existing at the head of the queue 326.
In S1303, the image processing job execution module 1102 determines whether or not the responsiveness direct connection flag included in the image processing job acquired in S1302 is ON. As a result of the determination, the image processing job execution module 1102 proceeds to S1306 when the responsiveness direct connection flag is ON (YES in S1303), and proceeds to S1304 when it is OFF (NO in S1303). ..
In S1304, the image processing job execution module 1102 determines whether or not there is a job whose responsiveness direct connection flag is ON among the jobs existing in the queue 326 at that time. As a result of the determination, the image processing job execution module 1102 proceeds to S1306 if it does not exist (when S1304 is NO), and proceeds to S1305 when it exists (when S1304 is YES). The process of S1304 is an example of a process of determining whether or not there is a job whose responsiveness direct connection flag is ON other than the head of the queue, based on the attributes of each job included in the queue.
In S1305, the image processing job execution module 1102 acquires the image processing job at the frontmost position of the queue 326 among the responsive direct-coupled jobs, and proceeds to 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からの処理を繰り返す。
In S1306, the image processing job execution module 1102 requests the Native image processing execution client 331 for the image processing job acquired in S1302 or S1305. Subsequently, the Native image processing execution client 331 creates an image processing request to the Native image processing execution server 315 based on the requested image processing job, and transmits the request to the Native image processing execution server 315. The image processing request contains the same information as the image processing request in S1201, that is, the image data to be image processed and the processing parameters such as the image processing to be performed, the responsiveness direct connection flag, and the image processing result storage location. Both are included. The processing to be performed by the Native image processing execution server 315 that has received the image processing request will be described later with reference to FIG.
In S1307, the Native image processing execution client 331 determines whether or not the result of the image processing request transmitted in S1306 has been received from the Native image processing execution server 315. As a result of the determination, the Native image processing execution client 331 executes S1307 again when it has not received (when S1307 is NO), and when it has received it (when S1307 is YES), proceeds to S1308.
In S1308, the Native image processing execution client 331 notifies the image processing job execution module 1102 of the image processing result received in S1307. Subsequently, the image processing job execution module 1102 that received this notification writes the image processing result to the image processing result storage location described in the image processing parameter of the corresponding image processing job, and notifies that effect to the image processing connection library 332. Notify to.
In S1309, the image processing job execution module 1102 deletes the executed image processing job from the queue 326, returns to S1301, and repeats the processing from S1301 again.

図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 processing execution server 315 and the Native image processing module 316.
In S1401, the Native image processing execution server 315 determines whether or not the image processing request transmitted from the Native image processing execution client 331 has been received in S1306. As a result of the determination, the Native image processing execution server 315 executes S1401 again when it has not received (when S1401 is NO), and when it has received it (when S1401 is YES), proceeds to S1402.
In S1402, the Native image processing execution server 315 searches for the Native image processing module 316 to be requested to execute the image processing based on the processing parameters included in the received image processing request.
In S1403, the Native image processing execution server 315 determines whether or not the corresponding Native image processing module 316 exists as a result of the search of S1402. As a result of the determination, the Native image processing execution server 315 proceeds to S1406 when the target Native image processing module does not exist (when S1403 is NO), and proceeds to S1404 when it exists (when S1403 is YES).
In S1404, the Native image processing execution server 315 transmits the image data to be image processed and the processing parameters to the Native image processing module 316 that executes the image processing, and requests the execution of the image processing. Upon receiving this request, the Native image processing module 316 executes image processing based on the received image data and processing parameters, and notifies the Native image processing execution server 315 of the processing result.
In S1405, the Native image processing execution server 315 returns the image processing result to the Native image processing execution client 331 as a response to the image processing request received in S1401, and returns to S1401.
In S1406, the Native image processing execution server 315 returns an error message indicating that the Native image processing module 316 capable of executing the image processing request received in S1401 does not exist as a response to the Native image processing execution client 331, and returns the error message to the Native image processing execution client 331 in S1401. return.

以上説明した構成や手順を実施することで、図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 job reception module 1101 and the image processing are performed. The process can be executed asynchronously with the job execution module 1102. Therefore, the deterioration of the responsiveness to the user can be suppressed by a method different from that described with reference to FIGS. 5 and 9.

<その他の実施形態>
本発明は、上述の実施形態の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 queue 326 for the OCR image processing job when there is a limitation that the Native image processing module 316 that performs the OCR processing cannot perform the parallel operation. Explained. However, it is not limited to this. For example, apart from the Native image processing module 316 for performing OCR processing described in the first and second embodiments, an image processing module capable of performing OCR processing is arranged in the Java language execution environment 330 or the server 105. It may be. Further, the image processing plug-in 303 corresponding to these image processing modules may be configured not to have a queue 326. In such a configuration, the image processing plug-in 303 may select which of the plurality of existing OCR processing execution modules is used according to an appropriate criterion.

以上、上述した各実施形態によれば、並行動作ができない制限を持つ組み込みソフトウェアとして実装された画像処理モジュールに対する画像処理要求が輻輳した場合でも、ユーザへの応答性の劣化を抑えることができるようなる。更に、そのような効果を、組み込みソフトウェアに変更を加えることなく実現することができるようになる。 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 Image forming apparatus 211 CPU
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である複数のジョブのうち、前記キューの最も前方にあるジョブに基づき、前記画像処理モジュールに処理のリクエストを実行する請求項1又は2記載の画像処理装置。 When it is determined by the determination means that there are a plurality of jobs for which the flag is ON other than the head of the queue, the request means is at the front of the queue among the plurality of jobs for which the flag is ON. The image processing apparatus according to claim 1 or 2, which executes a processing request to the image processing module based on a certain job. 前記画像処理モジュールによる処理が完了した場合に、実行したジョブを前記キューから削除する削除手段を更に有する請求項1乃至3何れか1項記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 3, further comprising a deleting means for deleting the executed job from the queue when the processing by the image processing module is completed. 複数のジョブを並行処理することができない画像処理モジュールを有する画像処理装置が実行する情報処理方法であって、
ユーザの操作により前記画像処理モジュールを利用する画像処理が指示された場合に、前記画像処理モジュールによる処理がユーザの操作に対する応答性に関係するか否かを示すフラグが付与されたジョブをキューに登録する登録工程と、
前記キューに含まれる各ジョブの前記フラグに基づき、前記キューの先頭以外に前記フラグが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 .
コンピュータを、請求項1乃至何れか1項記載の画像処理装置の各手段として機能させるためのプログラム。 A program for causing a computer to function as each means of the image processing apparatus according to any one of claims 1 to 4 .
JP2018117968A 2018-03-05 2018-06-21 Image processing equipment, information processing methods and programs Active JP7102248B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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