JP5195194B2 - Image processing apparatus and image processing system - Google Patents
Image processing apparatus and image processing system Download PDFInfo
- Publication number
- JP5195194B2 JP5195194B2 JP2008234311A JP2008234311A JP5195194B2 JP 5195194 B2 JP5195194 B2 JP 5195194B2 JP 2008234311 A JP2008234311 A JP 2008234311A JP 2008234311 A JP2008234311 A JP 2008234311A JP 5195194 B2 JP5195194 B2 JP 5195194B2
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- processing apparatus
- image
- ocr
- job
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Image Processing (AREA)
- Facsimiles In General (AREA)
Description
本発明は、画像処理の全部又は一部をネットワークに接続された他の画像処理装置に割り振ったり、ネットワークに接続された他の画像処理装置の画像処理の全部又は一部を代行したりする画像処理装置及び画像処理システムに関するものである。 The present invention assigns all or part of image processing to another image processing apparatus connected to the network, or substitutes all or part of image processing of another image processing apparatus connected to the network. The present invention relates to a processing apparatus and an image processing system.
従来より、ネットワークに接続された画像形成装置同士が互いに機能を補完し合い、画像形成装置個々の機能を高める技術が知られている(例えば、特許文献1参照)。また複数の融合機(MFP)を接続し、一台のMFPで読み取った原稿画像を複数のMFPで出力することにより、システム全体の生産性を高めようという連結コピー機能や重連コピー機能が実用に供されている。また、ネットワーク上のプリンタ群をグループ化し、そのうち1つをメインのプリンタとし、他のプリンタをメインのプリンタの管理下に統合し、この統合されたプリンタそれぞれが有する資源を仮想的に1つの資源として共有することにより、ネットワーク上のプリンタを効率的に稼動させる技術が開示されている(例えば、特許文献2参照)。 2. Description of the Related Art Conventionally, a technique is known in which image forming apparatuses connected to a network complement each other's functions to enhance the functions of the individual image forming apparatuses (see, for example, Patent Document 1). Also, multiple copy machines (MFPs) can be connected, and the original copy image read by one MFP can be output by multiple MFPs. It is offered to. Further, a group of printers on the network are grouped, one of them is set as a main printer, the other printers are integrated under the management of the main printer, and the resources of each of these integrated printers are virtually one resource As described above, a technique for efficiently operating a printer on a network is disclosed (for example, see Patent Document 2).
しかし、特許文献1〜2に示される画像処理装置においては、印刷処理のみに限定して分散処理を行っていた。このため、例えばOCR(Optical Character Recognition:光学的文字認識)のような機器内のCPUに対して処理負荷を与える画像処理を実行する時にも、処理性能を高めることができる画像処理装置が望まれていた。
However, in the image processing apparatuses disclosed in
本発明は、上記に鑑みてなされたものであって、処理負荷が高い画像処理であっても、処理性能を高めることが可能な画像処理装置及び画像処理システムを提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide an image processing apparatus and an image processing system capable of improving processing performance even in image processing with a high processing load.
上述した課題を解決し、本発明は、画像処理を行う画像処理装置であって、少なくとも1つの他の画像処理装置とネットワークを介して接続され、画像処理を指示するユーザからの画像処理指示の入力を受け付ける入力受付手段と、前記画像処理指示によって指示された前記画像処理を複数の画像処理ジョブに細分化する細分化手段と、細分化された前記画像処理ジョブを実行させる第1画像処理装置を、前記少なくとも1つの他の画像処理装置の中から選定する装置選定手段と、前記画像処理ジョブの実行を要求する処理要求を前記第1画像処理装置に送信する送信手段と、前記画像処理ジョブの対象となる画像を前記第1画像処理装置に送信する画像送信手段とを備え、前記装置選定手段は、前記少なくとも1つの他の画像処理装置ごとに、当該画像処理装置の空きメモリサイズを含む画像処理能力を示すケイパビリティ情報を取得する第1取得手段と、前記少なくとも1つの他の画像処理装置のうち、空きメモリサイズが前記画像処理の実行に必要となるメモリサイズ以上の画像処理装置を選定する第1選定手段と、前記第1選定手段で選定された1以上の画像処理装置ごとに、当該画像処理装置が受付可能な画像処理要求の最大数である第1の数と、受付済の前記画像処理要求の数である第2の数とを示すステータス情報を取得する第2取得手段と、前記第1選定手段で選定された1以上の画像処理装置のうち、前記第1の数が前記第2の数より大きいという条件を満たす画像処理装置の中から、最も画像処理能力が高い画像処理装置を、前記第1画像処理装置として選定する第2選定手段と、を有することを特徴とする。 In order to solve the above-described problems, the present invention is an image processing apparatus that performs image processing, and is connected to at least one other image processing apparatus via a network, and receives an image processing instruction from a user who instructs image processing. Input accepting means for accepting input, subdividing means for subdividing the image processing instructed by the image processing instruction into a plurality of image processing jobs, and a first image processing apparatus for executing the subdivided image processing jobs Selecting apparatus from among the at least one other image processing apparatus, a transmitting means for transmitting a processing request for requesting execution of the image processing job to the first image processing apparatus, and the image processing job and an image transmitting means for transmitting the subject to image the first image processing apparatus, the apparatus selecting means, each of said at least one other image processing apparatus Among the at least one other image processing device, the first acquisition means for acquiring capability information indicating the image processing capability including the free memory size of the image processing device, and the free memory size is necessary for the execution of the image processing. A first selection means for selecting an image processing apparatus having a memory size or larger and a maximum number of image processing requests that can be accepted by the image processing apparatus for each of the one or more image processing apparatuses selected by the first selection means. And a second acquisition unit that acquires status information indicating the first number of the image processing requests and the second number of the received image processing requests, and the one or more images selected by the first selection unit. Among image processing apparatuses, the image processing apparatus having the highest image processing capability is selected as the first image processing apparatus from among the image processing apparatuses that satisfy the condition that the first number is greater than the second number. A second selecting means that is characterized by having a.
また、本発明は、マスタ機となる1つの画像処理装置と、スレーブ機となる少なくとも1つの画像処理装置とがネットワークを介して接続され、マスタ機となる画像処理装置は、画像処理を指示するユーザからの画像処理指示の入力を受け付ける入力受付手段と、前記画像処理指示によって指示された前記画像処理を複数の画像処理ジョブに細分化する細分化手段と、細分化された前記画像処理ジョブを実行させる第1画像処理装置を、スレーブ機となる画像処理装置の中から選定する装置選定手段と、前記画像処理ジョブの実行を要求する処理要求を前記第1画像処理装置に送信する送信手段と、前記画像処理ジョブの対象となる画像を前記第1画像処理装置に送信する画像送信手段とを備え、前記装置選定手段は、スレーブ機となる画像処理装置ごとに、当該画像処理装置の空きメモリサイズを含む画像処理能力を示すケイパビリティ情報を取得する第1取得手段と、スレーブ機となる画像処理装置のうち、空きメモリサイズが前記画像処理の実行に必要となるメモリサイズ以上の画像処理装置を選定する第1選定手段と、前記第1選定手段で選定された1以上の画像処理装置ごとに、当該画像処理装置が受付可能な画像処理要求の最大数である第1の数と、受付済の前記画像処理要求の数である第2の数とを示すステータス情報を取得する第2取得手段と、前記第1選定手段で選定された1以上の画像処理装置のうち、前記第1の数が前記第2の数より大きいという条件を満たす画像処理装置の中から、最も画像処理能力が高い画像処理装置を、前記第1画像処理装置として選定する第2選定手段と、を有し、スレーブ機となる画像処理装置は、画像処理の全部又は一部である画像処理ジョブの実行を要求する処理要求をマスタ機となる画像処理装置から受信する受信手段と、前記処理要求によって実行が要求された前記画像処理ジョブの対象となる画像を前記マスタ機となる画像処理装置から受信する画像受信手段と、前記画像に対して前記画像処理ジョブを実行する実行手段とを備えることを特徴とする。 According to the present invention, one image processing device serving as a master device and at least one image processing device serving as a slave device are connected via a network, and the image processing device serving as the master device instructs image processing. An input receiving unit that receives an input of an image processing instruction from a user, a subdividing unit that subdivides the image processing instructed by the image processing instruction into a plurality of image processing jobs, and the subdivided image processing job. An apparatus selection unit that selects a first image processing apparatus to be executed from among image processing apparatuses that are slave units; and a transmission unit that transmits a processing request for requesting execution of the image processing job to the first image processing apparatus. , and an image transmitting means for transmitting the image to be the image processing job in the first image processing apparatus, the apparatus selecting means, an image to be slave A first acquisition unit that acquires capability information indicating an image processing capability including an empty memory size of the image processing apparatus for each of the processing apparatuses, and an image processing apparatus that is a slave machine has an empty memory size that executes the image processing. A first selection unit that selects an image processing device having a memory size that is larger than the required memory size, and an image processing request that the image processing device can accept for each of the one or more image processing devices selected by the first selection unit. Second acquisition means for acquiring status information indicating the first number that is the maximum number and the second number that is the number of the received image processing requests; and one or more selected by the first selection means Among the image processing devices, the image processing device having the highest image processing capability among the image processing devices satisfying the condition that the first number is larger than the second number is defined as the first image processing device. And a second selecting means for constant, the image processing apparatus as a slave machine, receives a processing request for requesting execution of the image processing job is all or part of the image processing from the image processing apparatus as a master unit Receiving means for receiving the image to be processed by the image processing job requested by the processing request from the image processing apparatus serving as the master machine, and executing the image processing job for the image. And executing means for executing.
本発明によれば、処理負荷が高い画像処理であっても、処理性能を高めることが可能になる。 According to the present invention, it is possible to improve processing performance even for image processing with a high processing load.
以下に添付図面を参照して、この発明にかかる画像処理装置及び画像処理システムの最良な実施の形態を詳細に説明する。 Exemplary embodiments of an image processing apparatus and an image processing system according to the present invention are explained in detail below with reference to the accompanying drawings.
(1)構成
図1は、本実施の形態にかかる画像処理システムの構成の1例を示す図である。本実施の形態においては、複数台の画像処理装置201〜205がネットワークを介して接続されている。ネットワークとは、公衆回線や専用回線を経由して外部と接続するWAN(Wide Area Network:広域通信網)と、同一敷地内でネットワークを構築するLAN(Local Area Network:構内通信網)に分類される方式のうちの、いずれの方式であってもよい。また、ネットワークにはインターネットを利用してもよく、この場合、TCP/IP(Transmission Control Protocol/Internet Protocol)による接続であってもよいし、無線による接続であってもよい。尚、以降、画像処理装置201〜205を各々区別する必要がない場合には、単に画像処理装置という。本実施の形態においては、これらの複数の画像処理装置201〜205のうち任意のいずれか1つがマスタ機となり、その他の画像処理装置はスレーブ機となる。マスタ機となる画像処理装置及びスレーブ機となる画像処理装置は動的に変わりえる。
(1) Configuration FIG. 1 is a diagram illustrating an example of a configuration of an image processing system according to the present embodiment. In the present embodiment, a plurality of
図2は、本実施の形態にかかる画像処理装置の構成を示す図である。この画像処理装置は、印刷データを所定のプロセスに従って記録紙に作像するためのエンジン101と、所定のページ記述言語に従って印刷データを変換し、本体あるいはドライバなどに設定されている印刷補正モードにしたがってビデオデータに変換してエンジン101に送るコントローラ102とを備える。コントローラ102は、RAM103、ASIC104、CPU105、フォントROM106、エンジンI/F107、HDD(ハードディスクドライブ)108、ROM109及びNIC(Network Interface Card)110を備えている。CPU105は、このコントローラ全体を制御プログラムに従って統括的に制御する。RAM103は、CPU105による制御処理時のワーキングメモリや、当該画像処理装置に接続される情報処理装置(図示せず)からのデータをページ単位に管理して一時記憶するバッファや、バッファに記憶されたデータを実際の印字パターンに変換してビデオデータで記憶するビットマップメモリなどとして使われる。ROM109は、CPU105の制御プログラムが読み出し可能な状態で記憶されている。フォントROM106は、実際に使われる様々なフォント情報が記憶されている。エンジンI/F107は、コントローラ102からエンジン101への制御信号や、エンジン101からコントローラ102へのエンジンステータス信号のやり取りを行なうためのインタフェースである。エンジン101は、例えば、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニット等である。HDD108は、文書データとその関連情報、印刷データなどを記憶しておくためのものである。NIC110は、ネットワーク接続のためのインタフェースである。また、画像処理装置は、画像処理を指示するユーザからの指示入力を受け付ける操作パネル(図示せず)を備える。
FIG. 2 is a diagram illustrating a configuration of the image processing apparatus according to the present embodiment. The image processing apparatus converts the print data in accordance with a predetermined page description language and an
図3〜4は、画像処理装置のソフトウェア構成を示す図であり、図3は電源起動時の状態を示しており、図4はOCRアプリを利用した時の状態を示している。図3においては、画像処理装置は、OS(オペレーティングシステム)、NFSサーバ、NFSクライアント、Java(登録商標) VM、OCRアプリ及びリモートプログラム起動デーモンを有する。同図に示されるように、電源起動時には、マスタ機及びスレーブ機共にOCRエンジンはまだ起動していない。一方、図4では、電源起動後に、マスタ機/スレーブ機の双方でOCRエンジンが起動されていることが示されている。同図において、OSは全てのハードウェア資源を管理し、システム上で動作している全てのプロセスに対して実行環境を提供するモジュールである。NFSサーバはネットワークファイルサーバ機能を提供するモジュールである。NFSクライアントはネットワークファイルサーバ上のファイルにアクセスする機能を提供するモジュールである。Java(登録商標) VMはJava(登録商標)プログラムに対して仮想的な実行環境を提供するモジュールである。 3 to 4 are diagrams illustrating a software configuration of the image processing apparatus. FIG. 3 illustrates a state when the power is activated, and FIG. 4 illustrates a state when the OCR application is used. In FIG. 3, the image processing apparatus includes an OS (Operating System), an NFS server, an NFS client, a Java (registered trademark) VM, an OCR application, and a remote program activation daemon. As shown in the figure, at the time of power activation, neither the master machine nor the slave machine has been activated yet. On the other hand, FIG. 4 shows that the OCR engine is started on both the master machine / slave machine after the power is turned on. In the figure, an OS is a module that manages all hardware resources and provides an execution environment for all processes operating on the system. The NFS server is a module that provides a network file server function. The NFS client is a module that provides a function of accessing a file on the network file server. Java (registered trademark) VM is a module that provides a virtual execution environment for a Java (registered trademark) program.
OCRアプリは、画像処理装置がマスタ機となる場合、操作パネルにGUIによって図15に示されるような操作画面を表示してユーザからの指示入力を受け付けて、スキャナで読み取った原稿に対して文字認識を行うOCR処理の実行を制御するモジュールである。また、OCRアプリは、OCR処理を複数のジョブに細分化し、細分化したジョブを実行させる画像処理装置をステータス情報及びケイパビリティ情報に基づいて選定する。尚、説明の便宜上、ここで細分化したジョブについてもOCR処理という。 When the image processing apparatus is a master machine, the OCR application displays an operation screen as shown in FIG. 15 on the operation panel by the GUI, receives an instruction input from the user, and performs character input on the document read by the scanner. This module controls the execution of OCR processing for recognition. The OCR application subdivides the OCR process into a plurality of jobs, and selects an image processing apparatus that executes the subdivided job based on the status information and capability information. For convenience of explanation, the job subdivided here is also referred to as OCR processing.
ステータス情報とは、OCRエンジンの負荷状態を示す情報であり、例えば、OCRエンジンが受付可能な、OCR処理を要求するコマンド(OCR処理要求)の最大数(maxreq)と、受付済みのOCR処理要求(reqcnt)の数とを示す。ケイパビリティ情報とは、画像処理装置の画像処理能力を示す情報であり、例えば、画像処理性能の尺度(processSpeed)や、OSが管理しているRAM103などのメモリのフリーエリアサイズ(freeMem)や、実行可能言語(acceptLang)などの情報を含む。図5は、ケイパビリティ情報テーブルを示す図である。同図に示されるように、他の画像処理装置をそれぞれ識別可能な識別情報とケイパビリティ情報とが対応付けて記憶される。識別情報とは、例えば、IPアドレスなどである。また、自身の識別情報については、‘localhost’として他の画像処理装置の識別情報と区別している。ステータス情報及びケイパビリティ情報に基づいた具体的な選定方法については後述の動作欄で説明する。
The status information is information indicating the load state of the OCR engine. For example, the maximum number (maxreq) of commands (OCR processing request) that can be received by the OCR engine and requesting OCR processing, and the received OCR processing requests. (Reqcnt) number. The capability information is information indicating the image processing capability of the image processing apparatus. For example, the scale of the image processing performance (processSpeed), the free area size (freeMem) of the memory such as the
尚、OCRアプリは、画像処理装置の選定の前に、ネットワーク上に存在するスレーブ機を確認し、このスレーブ機と自身とを含む画像処理装置の中から、細分化したOCR処理を実行させる画像処理装置をケイパビリティ情報に基づいて選定する。図6は、画像処理装置の識別情報を記憶する他機検索結果テーブルを例示する図である。そして、OCRアプリは、選定した画像処理装置のOCRエンジンを起動させてOCR処理を実行させ、処理後に、当該OCRエンジンを停止させる。また、OCRアプリは、画像処理装置がスレーブ機となる場合、マスタ機からの要求に応じてOCR処理を実行し、当該OCR処理の結果を、指定されたメールアドレスに対してメール送信する。 Note that the OCR application confirms a slave device existing on the network before selecting an image processing device, and executes an image for performing subdivided OCR processing from among the image processing devices including the slave device and itself. A processing device is selected based on capability information. FIG. 6 is a diagram illustrating another device search result table that stores identification information of the image processing apparatus. Then, the OCR application activates the OCR engine of the selected image processing apparatus to execute the OCR process, and stops the OCR engine after the process. Further, when the image processing apparatus is a slave machine, the OCR application executes the OCR process in response to a request from the master machine, and sends the result of the OCR process to a designated mail address.
OCRエンジンはOCR処理を実行するモジュールである。尚HDD108には複数のJava(登録商標)プログラムとプログラムの実行に必要なファイルを圧縮したJAR(Java(登録商標) ARchive)ファイルやOCR処理を実行するために必要となる文字パターンファイルや辞書ファイル等が格納されている。リモートプログラム起動デーモンは、電源投入時に起動される常駐プロセスであり、OCRアプリからの指示に従って、OCRエンジンの実行を開始したり、停止したりするモジュールである。またリモートプログラム起動デーモンは、他の画像処理装置からの要求に応じて、自身の画像処理能力を示すケイパビリティ情報を送信する。また、リモートプログラム起動デーモンは、他の画像処理装置からケイパビリティ情報を取得し、これをケイパビリティ情報テーブルに記憶する。尚、以降、リモートプログラム起動デーモンのことをrpld(Remote Program Launch Daemon)と表記する場合がある。
The OCR engine is a module that executes OCR processing. The
図7はOCRアプリが動作している画像処理装置と同一の画像処理装置(ローカルノードという)、すなわちマスタ機側でOCRエンジンを起動する際のモジュール間の関連を示す図である。一方、図8はOCRアプリが動作している画像処理装置とは異なる画像処理装置(リモートモードという)、すなわちスレーブ機側でOCRエンジンを起動する際のモジュール間の関連を示す図である。いずれの場合でもOCRプロセスが対象となる画像処理装置上で動作しているリモートプログラム起動デーモンに対してOCRエンジンの起動を要求するコマンド(OCRエンジン起動要求)が送信されることにより、OCRエンジンが起動する。尚、ローカルノードとリモートモードとを各々区別する必要がない場合には単にノードと記載する場合がある。図9はスレーブ機側がファイルサーバ上のファイルやマスタ機側のファイルにアクセスする際の経路を示す図である。同図においては、スレーブ機側で動作しているプログラムがNFSクライアントに対してファイルアクセス要求を発行することにより、ファイルサーバ上のファイルやマスタ機側のHDDに格納されているファイルにアクセスすることができるように構成されていることが示されている。なお、図7〜9においては説明図が繁雑になるのを避けるために、スレーブ機側のHDDとNFSサーバとを省略している。 FIG. 7 is a diagram showing the relationship between modules when the OCR engine is started on the same image processing apparatus (referred to as a local node) as the image processing apparatus in which the OCR application is operating, that is, the master machine side. On the other hand, FIG. 8 is a diagram showing the relationship between modules when starting the OCR engine on the image processing apparatus (referred to as a remote mode) different from the image processing apparatus in which the OCR application is operating, that is, on the slave machine side. In any case, a command (OCR engine activation request) for requesting activation of the OCR engine is transmitted to the remote program activation daemon operating on the image processing apparatus targeted for the OCR process, whereby the OCR engine to start. When there is no need to distinguish between the local node and the remote mode, the node may be simply referred to as a node. FIG. 9 is a diagram showing a path when the slave machine side accesses a file on the file server or a file on the master machine side. In this figure, a program running on the slave machine side issues a file access request to the NFS client, thereby accessing a file on the file server or a file stored in the HDD on the master machine side. It is shown that it is configured to be able to. In FIGS. 7 to 9, the HDD on the slave machine side and the NFS server are omitted in order to avoid complicated illustrations.
(2)動作
次に、本実施の形態にかかる画像処理装置のリモートプログラム起動デーモンによる処理の手順について図10を用いて説明する。リモートプログラム起動デーモンを実行する画像処理装置は、他の画像処理装置からコマンドを受信したか否かを判断し(ステップS1)、当該判断結果が肯定的である場合、受信したコマンドの種別を判断する(ステップS2)。当該コマンドが、ケイパビリティを要求するケイパビリティ要求である場合、画像処理装置は、自身に記憶されているケイパビリティ情報を他の画像処理装置に送信する(ステップS3)。図11は、ケイパビリティ要求のデータ構成を例示する図である。また、受信されたコマンドが、プロセスの起動を要求するプロセス起動要求である場合、画像処理装置は、指定されたプロセス(プログラム)の実行を開始する(ステップS4)。図12は、プロセス起動要求のデータ構成を例示する図である。また、受信されたコマンドが、プロセスの停止を要求するプロセス停止要求である場合、画像処理装置は、指定されたプロセス(プログラム)の実行を停止する(ステップS5)。図13は、プロセス停止要求のデータ構成を例示する図である。
(2) Operation Next, a processing procedure by the remote program activation daemon of the image processing apparatus according to the present embodiment will be described with reference to FIG. The image processing apparatus that executes the remote program activation daemon determines whether or not a command is received from another image processing apparatus (step S1). If the determination result is affirmative, the type of the received command is determined. (Step S2). When the command is a capability request for requesting capability, the image processing apparatus transmits capability information stored in itself to another image processing apparatus (step S3). FIG. 11 is a diagram illustrating a data configuration of capability requests. If the received command is a process activation request for requesting activation of the process, the image processing apparatus starts executing the designated process (program) (step S4). FIG. 12 is a diagram illustrating a data configuration of a process activation request. If the received command is a process stop request for requesting a process stop, the image processing apparatus stops the execution of the designated process (program) (step S5). FIG. 13 is a diagram illustrating a data configuration of a process stop request.
次に、本実施の形態にかかる画像処理装置のOCRアプリによりOCR処理を制御する処理の手順について図14を用いて説明する。ユーザが原稿を画像処理装置の図示せぬADF上に設置し、図15に示される操作パネルに表示された操作画面上のスタートキー34を押下することにより(ステップS10:YES)、処理が開始される。ここでOCRアプリを実行する画像処理装置はマスタ機となりローカルノードとなる。そしてマスタ機である画像処理装置は、OCRエンジン起動処理を実行して、自身のOCRエンジンを起動し(ステップS11)、原稿画像を読み取る原稿読み取り処理を実行し(ステップS12)、読み取った原稿画像のOCR処理を実行し(ステップS13)、OCR処理の結果をメール送信し(ステップS14)、OCRエンジンの停止を要求するOCRエンジン停止処理を実行する(ステップS15)。 Next, a processing procedure for controlling the OCR processing by the OCR application of the image processing apparatus according to the present embodiment will be described with reference to FIG. When the user places an original on an ADF (not shown) of the image processing apparatus and presses the start key 34 on the operation screen displayed on the operation panel shown in FIG. 15 (step S10: YES), the process starts. Is done. Here, the image processing apparatus that executes the OCR application becomes a master machine and a local node. Then, the image processing apparatus as the master machine executes the OCR engine activation process, activates its own OCR engine (step S11), executes the document reading process for reading the document image (step S12), and reads the read document image. The OCR process is executed (step S13), the result of the OCR process is transmitted by mail (step S14), and the OCR engine stop process for requesting the stop of the OCR engine is executed (step S15).
次に、図14のステップS11で画像処理装置が実行するOCRエンジン起動処理の手順について図16を用いて説明する。マスタ機となる画像処理装置は、rpldを介してOCRエンジンを起動すると(ステップS20)、ネットワーク上に存在している他の画像処理装置であるスレーブ機を検索する(ステップS21:他機検索処理)。次いで、マスタ機は、ステップS20での検索の結果該当するスレーブ機のそれぞれからケイパビリティ情報を取得すると共に自身のケイパビリティ情報を取得する(ステップS22:ケイパビリティ情報取得処理)。そして、マスタ機は、ステップS21で取得したケイパビリティ情報を用いてOCR処理を実行させる画像処理装置を選定する(ステップS23:OCR依頼先決定処理)。ここで選定の候補となる画像処理装置にはマスタ機自身も含まれる。次いで、マスタ機は、選定した画像処理装置に対してOCRエンジンの起動を要求する(ステップS24)。尚、OCRエンジンを停止する時に備え、マスタ機は、OCRエンジン起動処理時にはOCRエンジンの起動を要求した対象のスレーブ機を識別するための識別情報をRAM103などのメモリに記憶する。
Next, the procedure of the OCR engine activation process executed by the image processing apparatus in step S11 in FIG. 14 will be described with reference to FIG. When the image processing device serving as the master device starts the OCR engine via rpld (step S20), it searches for a slave device that is another image processing device existing on the network (step S21: other device search processing). ). Next, the master machine acquires capability information from each of the slave machines corresponding to the search result in step S20 and acquires its own capability information (step S22: capability information acquisition process). Then, the master machine selects an image processing apparatus that performs the OCR process using the capability information acquired in step S21 (step S23: OCR request destination determination process). Here, the image processing apparatuses that are candidates for selection include the master machine itself. Next, the master machine requests the selected image processing apparatus to start the OCR engine (step S24). In addition, in preparation for stopping the OCR engine, the master machine stores identification information for identifying the target slave machine requested to start the OCR engine in a memory such as the
次に、図14のステップ13で画像処理装置が実行するOCR処理の手順について図17を用いて説明する。ここではマスタ機となる画像処理装置は、読み取った原稿画像の1ページ毎にOCR処理を実行可能な画像処理装置を検索してその中からOCR処理を実行させる画像処理装置を選定し、選定した画像処理装置に対してOCR処理の実行を要求する。具体的には、マスタ機は、処理対象のページnを‘1’とし(ステップS30)、次いで、nページ目の原稿画像を取り出し(ステップS31)、OCR処理を実行可能な画像処理装置を検索する(ステップS32:OCR処理ノード検索処理)。尚、検索対象の画像処理装置には、マスタ機自体も含まれる。そして、該当の画像処理装置がある場合(ステップS33:YES)、マスタ機は、該当の画像処理装置に対してOCR処理を要求するコマンド(OCR処理要求)を送信する(ステップS34)。図18は、OCR処理要求のデータ構成を例示する図である。そして、マスタ機は、OCR処理要求に応じて応答コマンド(OCR処理応答)を当該画像処理装置から受信すると(ステップS35)、当該OCR処理応答が、OCR処理の実行が可能であることを示すか否かを判断する(ステップS36)。図19は、OCR処理応答のデータ構成を例示する図である。処理対象のページnを1つ増加させ(ステップS37)、この次のページが存在するか否かを判断する(ステップS38)。当該判断結果が否定的である場合は、ステップS32に進み、当該判断結果が否定的である場合は、次いで、マスタ機は、OCR処理が完了か否かを判断し(ステップS39)、当該判断結果が肯定的である場合には、OCR処理を終了する。
Next, the procedure of the OCR process executed by the image processing apparatus in
次に、図14のステップ15で画像処理装置が実行するOCRエンジン停止処理の手順について図20を用いて説明する。マスタ機となる画像処理装置は、自信のOCRエンジンに対して、OCRエンジンの停止を要求するコマンド(OCRエンジン停止コマンド)を送信して、OCRエンジンを停止させる(ステップS40)。また、マスタ機は、OCRエンジン起動処理時にメモリに記憶しておいた識別情報によって識別される全てのスレーブ機に対して、OCRエンジンの停止を要求するコマンドを送信して、OCRエンジンを停止させる(ステップS41)。 Next, the procedure of the OCR engine stop process executed by the image processing apparatus in step 15 of FIG. 14 will be described with reference to FIG. The image processing apparatus serving as the master device transmits a command (OCR engine stop command) for requesting the stop of the OCR engine to the confident OCR engine, and stops the OCR engine (step S40). In addition, the master machine transmits a command for requesting the OCR engine to stop to all the slave machines identified by the identification information stored in the memory at the time of starting the OCR engine to stop the OCR engine. (Step S41).
次に、図18のステップ32で画像処理装置が実行するOCR処理ノード検索処理の手順について図21を用いて説明する。マスタ機は、OCRエンジンの実行を要求した対象の全ての画像処理装置に対して、現在のOCRエンジンのステータス情報を要求するコマンド(ステータス情報要求)を送信する(ステップS50)。図22は、ステータス情報要求のデータ構成を例示する図である。そして、マスタ機は、ステータス情報要求に応じてステータス情報を含むステータス応答を受信し(ステップS51)、OCRエンジンの実行を要求した対象の全ての画像処理装置からステータス応答を受信した場合(ステップS52:YES)、OCR処理を実行可能な画像処理装置かあるか否かを判断する(ステップS53)。図23は、ステータス応答のデータ構成を例示する図である。そして、ステップS53の判断結果が肯定的である場合、マスタ機は、OCR処理を実行させる画像処理装置を以下のようにして選定する(ステップS54)。図23に示される‘reqcnt < maxreq’の条件を満たしている画像処理装置の中から、最も画像処理性能が高い画像処理装置を選定する。もし複数の画像処理装置が同一の画像処理性能を有する場合には、リモートノードよりもローカルノードを優先し、さらに複数のリモートノードが同一の画像処理性能を持っていた場合には、その中からランダムに画像処理装置を選定する。そして、マスタ機は、選定結果を返す(ステップS55)。ステップS53の判断結果が否定的である場合、マスタ機は、選定可能な画像処理装置がない旨を返す(ステップS56)。 Next, the procedure of the OCR processing node search process executed by the image processing apparatus in step 32 in FIG. 18 will be described with reference to FIG. The master machine transmits a command (status information request) for requesting the status information of the current OCR engine to all the image processing apparatuses that have requested execution of the OCR engine (step S50). FIG. 22 is a diagram illustrating a data configuration of a status information request. The master machine receives a status response including status information in response to the status information request (step S51), and receives a status response from all target image processing apparatuses that have requested execution of the OCR engine (step S52). : YES), it is determined whether there is an image processing apparatus capable of executing OCR processing (step S53). FIG. 23 is a diagram illustrating a data structure of a status response. If the determination result in step S53 is affirmative, the master machine selects an image processing apparatus that performs the OCR process as follows (step S54). An image processing apparatus having the highest image processing performance is selected from among the image processing apparatuses satisfying the condition of “reqcnt <maxreq” shown in FIG. If multiple image processing devices have the same image processing performance, the local node is prioritized over the remote node, and if multiple remote nodes have the same image processing performance, from among them An image processing apparatus is selected at random. Then, the master machine returns the selection result (step S55). If the determination result in step S53 is negative, the master device returns that there is no selectable image processing device (step S56).
次に、図17のステップ21で画像処理装置が実行する他機検索処理の手順について図24を用いて説明する。マスタ機は、スレーブ機の存在を確認するコマンド(スレーブ機存在確認要求)を画像処理システムに接続される画像処理装置に対してブロードキャストする(ステップS60)。図25は、スレーブ機存在確認要求のデータ構成を例示する図である。そして、マスタ機は、当該スレーブ機確認要求に対する応答として、スレーブ機である旨を示しIPアドレスを含む応答コマンド(スレーブ機存在確認応答)を他の画像処理装置から所定の時間内に受信すると(ステップS61)、当該応答コマンドに含まれるIPアドレスを他機検索結果テーブル(図6参照)に記憶する(ステップS62)。図26は、スレーブ機存在確認応答のデータ構成を例示する図である。尚、スレーブ機存在確認応答を所定の時間内に受信できなかった場合は(ステップS63:YES)、処理を終了する。 Next, the procedure of the other device search process executed by the image processing apparatus in step 21 of FIG. 17 will be described with reference to FIG. The master machine broadcasts a command (slave machine existence confirmation request) for confirming the existence of the slave machine to the image processing apparatus connected to the image processing system (step S60). FIG. 25 is a diagram exemplifying a data configuration of a slave unit presence confirmation request. When the master device receives a response command (slave device presence confirmation response) indicating that it is a slave device and including an IP address from another image processing device within a predetermined time as a response to the slave device confirmation request ( In step S61, the IP address included in the response command is stored in the other device search result table (see FIG. 6) (step S62). FIG. 26 is a diagram illustrating a data configuration of a slave unit presence confirmation response. If the slave unit presence confirmation response cannot be received within a predetermined time (step S63: YES), the process is terminated.
次に、図17のステップ22で画像処理装置が実行するケイパビリティ情報取得処理の手順について図27を用いて説明する。マスタ機となる画像処理装置は、自身のrpldに対してケイパビリティ要求を送信する(ステップS70)。そして、マスタ機は、他機検索結果テーブルに登録されている全ての他の画像処理装置のrpldに対してケイパビリティ要求を送信する(ステップS71)。そして、マスタ機は、所定の時間内に、ケイパビリティ要求に応じてケイパビリティ情報を含むケイパビリティ応答を受信すると(ステップS72:YES)、ケイパビリティ情報をケイパビリティ情報テーブルに登録する(ステップS73)。図28はケイパビリティ応答である応答コマンドを例示する図である。尚、マスタ機は、所定の時間内にケイパビリティ応答を受信できなかった場合(ステップS64:YES)、処理を終了する。 Next, the procedure of capability information acquisition processing executed by the image processing apparatus in step 22 of FIG. 17 will be described with reference to FIG. The image processing apparatus serving as the master device transmits a capability request to its own rpld (step S70). Then, the master machine transmits a capability request to rpld of all other image processing apparatuses registered in the other machine search result table (step S71). When the master device receives a capability response including capability information in response to a capability request within a predetermined time (step S72: YES), the master device registers the capability information in the capability information table (step S73). FIG. 28 is a diagram illustrating a response command which is a capability response. If the master machine fails to receive a capability response within a predetermined time (step S64: YES), the process is terminated.
次に、図17のステップ23で画像処理装置が実行するOCR依頼先決定処理の手順について図29を用いて説明する。マスタ機となる画像処理装置は、OCR処理を実行させる画像処理装置を選定するための引数として‘sel’を’−1’に設定し(ステップS80)、次いで、図5に示したケイパビリティ情報テーブルにおけるレコード番号(No)を’i’としてこれを’0’に設定する(ステップS81)。そして、マスタ機は、ケイパビリティ情報テーブルにおけるi番目のレコードが空であるか否かを判断する(ステップS82)。当該判断結果が否定的である場合、i番目のレコードにおける空きメモリサイズが、OCRエンジンの実行に必要となるメモリサイズ以上であるか否かを判断する(ステップS83)。OCRエンジンの実行に必要となるメモリサイズは、予め定められており、その値は例えばHDD108に記憶されている。当該判断結果が肯定的である場合、マスタ機は、i番目のレコードにおける実行可能言語がOCR処理の実行可能な言語(ここでは、Java(登録商標)である)であるか否かを判断する(ステップS84)。当該判断結果が肯定的である場合、マスタ機は、’sel’が’−1’か否かを判断する(ステップS85)。当該判断結果が否定的である場合、マスタ機は、i番目のレコードにおける画像処理性能の値が、’sel’の値をレコード番号とするレコードにおける画像処理性能の値より大きいか否かを判断する(ステップS86)。当該判断結果が肯定的である場合、マスタ機は、’sel’の値を’i’の値に設定し(ステップS87)、次いで、’i’の値を1つインクリメントして(ステップS88)、ステップS82に進む。ステップS85の判断結果が肯定的である場合は、ステップS87に進む。ステップS83,S84,S85の判断結果が各々否定的である場合は、ステップS88に進む。ステップS82の判断結果が肯定的である場合は、マスタ機は、’sel’の値を返す(ステップS89)。
Next, the procedure of the OCR request destination determination process executed by the image processing apparatus in step 23 of FIG. 17 will be described with reference to FIG. The image processing apparatus serving as the master machine sets “sel” to “−1” as an argument for selecting an image processing apparatus for executing the OCR processing (step S80), and then the capability information table shown in FIG. The record number (No) is set to “i” and set to “0” (step S81). Then, the master machine determines whether or not the i-th record in the capability information table is empty (step S82). If the determination result is negative, it is determined whether or not the free memory size in the i-th record is equal to or larger than the memory size required for execution of the OCR engine (step S83). The memory size necessary for executing the OCR engine is determined in advance, and the value is stored in the
この結果、この’sel’ 値をレコード番号とするレコードにおけるIPアドレスによって識別される画像処理装置が、OCR処理を実行させる画像処理装置として選定される。このようにして、マスタ機は、OCRエンジンの実行に必要となるメモリ容量を上まわるフリーメモリが残っている画像処理装置の中で、最も画像処理性能が高い画像処理装置機を選定する。尚選定する画像処理装置は複数であっても良い。 As a result, the image processing apparatus identified by the IP address in the record having the “sel” value as the record number is selected as the image processing apparatus for executing the OCR process. In this manner, the master machine selects the image processing apparatus having the highest image processing performance among the image processing apparatuses in which free memory exceeding the memory capacity necessary for executing the OCR engine remains. A plurality of image processing apparatuses may be selected.
次に、本実施の形態にかかる画像処理装置がOCRエンジンにより実行する処理の手順について図30を用いて説明する。OCRエンジンを実行している画像処理装置は、OCRアプリからコマンドを受信すると(ステップS90)、当該コマンドの種別を判断して(ステップS92)、種別に応じた処理を実行する。当該コマンドがOCR処理要求である場合、画像処理装置は、現在の受付済みOCR処理要求数とOCR処理要求の最大受付可能数とを比較して、前者が後者よりも小さいか否かを判断する(ステップS92)。前者が後者よりも小さい場合(ステップS92:YES)、OCR処理要求を受け入れ可能であり、この場合、画像処理装置は、「要求受付成功」である旨をOCRアプリに対して通知し(ステップS93)、ステップS90で受信したOCR処理要求を登録する(ステップS94)。そして、画像処理装置は、当該OCR処理要求よりも前に受信されたOCR処理要求に応じた画像転送処理を実行している最中か否かを判断し(ステップS95)、当該判断結果が否定的である場合に、ステップS90で受信したOCR処理要求に応じた原稿画像を受信する画像転送処理を開始する(ステップS96)。即ち、画像処理装置は、画像転送処理を実行している最中に、OCR処理を要求する新たなコマンドを受信した場合、当該コマンドをキューイングし、実行中の画像転送処理が終わった時に、当該コマンドに応じた新たな画像転送処理を開始する。一方、ステップS92で前者が後者以上である場合(ステップS92:NO)、OCR処理要求を受付することが不可能であり、この場合、画像処理装置は、「要求受付失敗」である旨をOCRアプリに対して通知する(ステップS98)。また、ステップS90で受信したコマンドがステータス要求である場合、画像処理装置は、当該コマンドを送信した画像処理装置に対して、現在の受付済みOCR処理要求数とOCR処理要求の最大受付可能数とを通知する(ステップS97)。 Next, the procedure of processing executed by the OCR engine by the image processing apparatus according to the present embodiment will be described with reference to FIG. When the image processing apparatus executing the OCR engine receives a command from the OCR application (step S90), the image processing apparatus determines the type of the command (step S92), and executes a process according to the type. When the command is an OCR processing request, the image processing apparatus compares the current number of received OCR processing requests with the maximum number of OCR processing requests that can be accepted, and determines whether the former is smaller than the latter. (Step S92). When the former is smaller than the latter (step S92: YES), the OCR processing request can be accepted. In this case, the image processing apparatus notifies the OCR application that the request has been successfully received (step S93). The OCR processing request received in step S90 is registered (step S94). Then, the image processing apparatus determines whether image transfer processing corresponding to the OCR processing request received before the OCR processing request is being executed (step S95), and the determination result is negative. If it is the target, the image transfer process for receiving the document image corresponding to the OCR process request received in step S90 is started (step S96). That is, when the image processing apparatus receives a new command requesting the OCR process while executing the image transfer process, the image processing apparatus queues the command, and when the image transfer process being executed is completed, A new image transfer process corresponding to the command is started. On the other hand, if the former is greater than or equal to the latter in step S92 (step S92: NO), it is impossible to accept an OCR processing request. In this case, the image processing apparatus indicates that “request acceptance failure” has occurred. The application is notified (step S98). If the command received in step S90 is a status request, the image processing apparatus sends the currently accepted number of OCR processing requests and the maximum number of OCR processing requests that can be accepted to the image processing apparatus that has transmitted the command. Is notified (step S97).
また、ステップS90でコマンドが受信されていない場合、画像処理装置は、画像転送処理が完了したか否かを判断し(ステップS99)、当該判断結果が肯定的である場合、OCR処理を実行している最中か否かを判断する(ステップS100)。当該判断結果が否定的である場合、画像処理装置は、OCR処理を開始し(ステップS101)、次いで、画像転送待ちの要求があるか否かを判断する(ステップS102)。当該判断結果が肯定的である場合、画像処理装置は、画像転送処理を開始する(ステップS103)。ステップS100の判断結果が肯定的である場合は、ステップS102に進む。ステップS99の判断結果が否定的である場合、画像処理装置は、OCR処理が完了したか否かを判断する(ステップS104)。当該判断結果が肯定的である場合、画像処理装置は、OCR処理要求を送信したOCRアプリに対して、OCR処理の結果を示すOCR処理結果を通知する(ステップS105)。図31はOCR処理結果を例示する図である。次いで、画像処理装置は、OCR処理待ちの要求があるか否かを判断し(ステップS106)、当該判断結果が肯定的である場合、OCR処理を開始する(ステップS107)。このようにして、画像処理装置は、原稿画像の受信が完了する毎に実際のOCR処理を実行し、他の画像処理装置から転送される原稿画像を受信する画像転送処理を開始する。尚、OCR処理の内容については既知の技術であるため、その詳細な説明は省略する。 If no command is received in step S90, the image processing apparatus determines whether the image transfer process is completed (step S99). If the determination result is affirmative, the image processing apparatus executes an OCR process. It is determined whether or not it is in progress (step S100). If the determination result is negative, the image processing apparatus starts OCR processing (step S101), and then determines whether there is a request for waiting for image transfer (step S102). If the determination result is affirmative, the image processing apparatus starts an image transfer process (step S103). If the determination result of step S100 is affirmative, the process proceeds to step S102. If the determination result in step S99 is negative, the image processing apparatus determines whether or not the OCR process is completed (step S104). If the determination result is affirmative, the image processing apparatus notifies the OCR application that has transmitted the OCR processing request of the OCR processing result indicating the result of the OCR processing (step S105). FIG. 31 is a diagram illustrating an OCR processing result. Next, the image processing apparatus determines whether there is a request for waiting for OCR processing (step S106). If the determination result is affirmative, the image processing apparatus starts OCR processing (step S107). In this way, the image processing apparatus executes actual OCR processing every time reception of a document image is completed, and starts image transfer processing for receiving a document image transferred from another image processing device. Since the content of the OCR process is a known technique, a detailed description thereof is omitted.
図32は、上述したOCRアプリが実行される場合にマスタ機とスレーブ機とでコマンドが送受信される様子を模式的に示す図である。なお原稿画像についてOCR処理を実行する箇所については全てのコマンドを図示するとあまりに繁雑な図となってしまうため、代表的なコマンドのみを示している。同図においては、原稿画像の1,3ページ目についてはマスタ機がOCR処理を実行し、2ページ目についてはマスタ機からスレーブ機に対してOCR処理が要求されて当該スレーブ機がOCR処理を実行していることが示されている。 FIG. 32 is a diagram schematically illustrating a state in which commands are transmitted and received between a master device and a slave device when the above-described OCR application is executed. It should be noted that only the typical commands are shown in the figure where all the commands are illustrated in a complicated manner when the OCR process is performed on the document image. In the figure, for the first and third pages of the original image, the master machine performs OCR processing, and for the second page, the master machine requests OCR processing from the slave machine, and the slave machine performs OCR processing. Shown to be running.
図33は、上述したOCR処理を実行する場合にマスタ機とスレーブ機とでコマンドと原稿画像とが送受信される様子を模式的に示す図である。ここでは、OCRエンジンのOCR処理要求の最大受付可能数が‘1’であるとする。この例では、OCRエンジンがOCR処理要求を受信すると、上述の画像転送処理を実行しその原稿画像に対するOCR処理が完了するまでは新たなOCR処理要求を受け付けることができない。このため、同図においては、各ページの原稿画像に対してOCR処理を実行している間には画像転送時間分の空き時間が生じてしまっており、各画像処理装置のCPUが効率的に利用されていないことが示されている。 FIG. 33 is a diagram schematically illustrating a state in which commands and document images are transmitted and received between the master machine and the slave machine when the above-described OCR processing is executed. Here, it is assumed that the maximum acceptable number of OCR processing requests of the OCR engine is “1”. In this example, when the OCR engine receives an OCR processing request, a new OCR processing request cannot be accepted until the above-described image transfer processing is executed and the OCR processing for the document image is completed. For this reason, in the figure, idle time corresponding to the image transfer time is generated while the OCR processing is being performed on the document image of each page, and the CPU of each image processing apparatus efficiently It is shown that it is not used.
図34は、上述したOCRエンジンのOCR処理要求の最大受付可能数が‘2’であるとき、OCR処理を実行する場合にマスタ機とスレーブ機とでコマンドと原稿画像とが送受信される様子を模式的に示す図である。この例では、OCRエンジンがOCR処理要求を受信すると、上述の画像転送処理を実行しその原稿画像に対するOCR処理を実行している最中に、新たなOCR処理要求を受け付けて、新たな画像転送処理を実行することができる。このため、1ページ分の原稿画像のデータの転送時間がOCR処理に掛かる時間以内に収まる場合には、OCR処理を連続的に実行することが可能となり、各画像処理装置のCPUが効率的に利用されることが示されている。 FIG. 34 shows a state in which commands and document images are transmitted and received between the master machine and the slave machine when executing the OCR process when the maximum number of OCR process requests that can be received by the OCR engine is “2”. It is a figure shown typically. In this example, when the OCR engine receives an OCR processing request, a new OCR processing request is received and a new image transfer is performed while the above-described image transfer processing is being executed and the OCR processing is being performed on the document image. Processing can be executed. For this reason, when the transfer time of the document image data for one page falls within the time required for the OCR process, the OCR process can be continuously executed, and the CPU of each image processing apparatus efficiently. Shown to be used.
図35は、画像処理装置が、複数のOCR処理要求を受信した場合に、OCRエンジン側でそれらのOCR処理要求をキューイングして管理している様子を示す図である。それぞれのOCR処理要求にはリクエストIDが割り振られ、その進行状態(ステート)が例えばRAM103などのメモリにテーブルとして記憶される。ステートには「画像転送待ち」、「画像転送中」、「OCR待ち」、「OCR中」が定義されており、この順に状態が遷移していくことを示している。
FIG. 35 is a diagram illustrating a state in which the OCR engine side queues and manages these OCR processing requests when the image processing apparatus receives a plurality of OCR processing requests. Each OCR processing request is assigned a request ID, and its progress state is stored as a table in a memory such as the
以上のようにして、本実施の形態においては、印刷処理以外の画像処理であるOCR処理についても複数の画像処理装置が分散して実行することが可能になる。従って、処理負荷が高い画像処理であっても、処理性能を高めることができ、画像処理装置の使い勝手が向上する。また、ネットワーク上のどの画像処理装置であっても、分散処理による性能向上の恩恵を受けることができるため、画像処理装置の使い勝手が向上する。 As described above, in the present embodiment, a plurality of image processing apparatuses can also execute the OCR process, which is an image process other than the print process, in a distributed manner. Therefore, even in the case of image processing with a high processing load, the processing performance can be improved and the usability of the image processing apparatus is improved. In addition, since any image processing apparatus on the network can benefit from the performance improvement by distributed processing, the usability of the image processing apparatus is improved.
また、スレーブ機が元々備えていない画像処理機能であっても、マスタ機からスレーブ機に対して画像処理を要求することができる。このため、ネットワーク上に新旧の画像処理装置が混在していて各画像処理装置が備えている機能が異なっている場合であっても、分散処理による性能向上の恩恵を受けることができ、画像処理システムとしての使い勝手が向上する。 Even if the image processing function is not originally provided in the slave device, the master device can request image processing from the slave device. For this reason, even when old and new image processing devices are mixed on the network and the functions of each image processing device are different, it is possible to benefit from the performance improvement by distributed processing. Usability as a system is improved.
また、画像処理装置がネットワークファイルサーバ機能を有するため、例えば、スレーブ機となる画像処理装置は、OCR処理を実行するためのプログラムをマスタ機となる画像処理装置からダウンロードすることにより取得することもできる。また、あるマスタ機のみが備えている機能を実現するプログラムファイルをそのマスタ機にのみ格納しておくようにすることもできる。この場合、機器管理者がプログラムの更新を行う場合の作業負荷も軽減される。このため、画像処理装置の使い勝手が向上する。また、ネットワークファイルサーバ機能を提供するための専用サーバを用意する必要がなくなるため、画像処理システムの使い勝手が向上する。 In addition, since the image processing apparatus has a network file server function, for example, the image processing apparatus serving as the slave device can obtain the program for executing the OCR processing by downloading it from the image processing device serving as the master device. it can. It is also possible to store a program file that realizes functions provided only by a certain master machine only in that master machine. In this case, the work load when the device manager updates the program is also reduced. For this reason, the usability of the image processing apparatus is improved. Further, it is not necessary to prepare a dedicated server for providing the network file server function, so that the usability of the image processing system is improved.
また、ある機能を実現しているプログラムを実行するために必要なファイル(例えばOCR処理の場合、文字パターンファイルや辞書ファイル等)を一元管理することが可能となるため、画像処理システムの使い勝手が向上する。 In addition, since it is possible to centrally manage files (for example, character pattern files and dictionary files in the case of OCR processing) required to execute a program realizing a certain function, the usability of the image processing system is improved. improves.
また、各スレーブ機に採用されているCPUやOSが混在している場合であって、一種類のプログラムファイルを用意しておけばよいため、画像処理システムの使い勝手が向上する。またマスタ機とスレーブ機とのCPUやOSが異なっている場合であっても、マスタ機からスレーブ機の間で分散処理を実行することが可能となる。このため、画像処理システムとしての使い勝手が向上する。 In addition, since the CPU and OS employed in each slave device are mixed and only one type of program file needs to be prepared, the usability of the image processing system is improved. Even if the master machine and the slave machine have different CPUs and OSs, distributed processing can be executed between the master machine and the slave machine. For this reason, usability as an image processing system is improved.
また、分散処理を行う各画像処理装置の画像処理性能が異なっている場合であっても、その性能に応じた処理を分担することができる。このため、画像処理システム全体としての生産性が向上する。 Even if the image processing performance of each image processing apparatus that performs distributed processing is different, processing according to the performance can be shared. For this reason, the productivity of the entire image processing system is improved.
また、各スレーブ機の負荷状態や要求の受け入れ能力に従って画像処理要求を発行することが可能となる。このため、画像処理システム全体としての処理効率が向上する。従って、画像処理システム全体としての生産性が向上する。 In addition, it becomes possible to issue an image processing request according to the load state of each slave device and the request acceptance capability. For this reason, the processing efficiency of the entire image processing system is improved. Therefore, the productivity of the entire image processing system is improved.
また、スレーブ機としての役割を果たしえる画像処理装置が複数存在しているような場合に、例えばCPUの性能が高い装置に処理を分担することが可能となる。このため、画像処理システム全体としての生産性が向上する。 Further, when there are a plurality of image processing apparatuses that can serve as slave machines, for example, it is possible to share the processing with an apparatus having high CPU performance. For this reason, the productivity of the entire image processing system is improved.
また、次の画像処理要求を伝えるための通信オーバーヘッドを前の画像処理時間の中に隠蔽することが可能となる。このため、画像処理システム全体としての生産性が向上する。 Further, it is possible to conceal the communication overhead for transmitting the next image processing request in the previous image processing time. For this reason, the productivity of the entire image processing system is improved.
また、マスタ機側では必要な時にのみオンデマンドでプログラムを実行しているため、メモリやCPUの能力を有効に活用することができるようになる。このため、画像処理装置の低コスト化を図ることができる。 Further, since the master machine executes the program on demand only when necessary, the memory and CPU capabilities can be used effectively. For this reason, it is possible to reduce the cost of the image processing apparatus.
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
[Modification]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Further, various modifications as exemplified below are possible.
上述した実施の形態において、画像処理装置で実行される各種モジュール(プログラム)を、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。 In the embodiment described above, various modules (programs) executed by the image processing apparatus may be provided by being stored on a computer connected to a network such as the Internet and downloaded via the network. good. The various programs are recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, and a DVD (Digital Versatile Disk) in a file in an installable or executable format. May be configured to be provided.
上述の実施の形態においては、複数の画像処理装置で分散して実行する画像処理をOCR処理としたが、これに限らず、例えば画像圧縮処理、読み取り画像のスキュー(傾き)補正処理などの画像処理であっても良い。 In the above-described embodiment, the image processing distributed and executed by a plurality of image processing apparatuses is the OCR processing. However, the present invention is not limited to this. For example, the image compression processing, the skew (tilt) correction processing of the read image, or the like It may be processing.
上述の実施の形態においては、OCR処理を実行するためのプログラムは、Java(登録商標)プログラムであるとしたが、これに限らず、その他のスクリプト言語で記述されたプログラムであっても良い。 In the above-described embodiment, the program for executing the OCR process is a Java (registered trademark) program. However, the program is not limited to this, and may be a program written in another script language.
101 エンジン
102 コントローラ
103 RAM
104 ASIC
105 CPU
106 フォントROM
107 エンジンI/F
108 HDD
109 ROM
201,201,202,203,204,205 画像処理装置
104 ASIC
105 CPU
106 Font ROM
107 Engine I / F
108 HDD
109 ROM
201, 201, 202, 203, 204, 205 Image processing apparatus
Claims (9)
少なくとも1つの他の画像処理装置とネットワークを介して接続され、
画像処理を指示するユーザからの画像処理指示の入力を受け付ける入力受付手段と、
前記画像処理指示によって指示された前記画像処理を複数の画像処理ジョブに細分化する細分化手段と、
細分化された前記画像処理ジョブを実行させる第1画像処理装置を、前記少なくとも1つの他の画像処理装置の中から選定する装置選定手段と、
前記画像処理ジョブの実行を要求する処理要求を前記第1画像処理装置に送信する送信手段と、
前記画像処理ジョブの対象となる画像を前記第1画像処理装置に送信する画像送信手段とを備え、
前記装置選定手段は、
前記少なくとも1つの他の画像処理装置ごとに、当該画像処理装置の空きメモリサイズを含む画像処理能力を示すケイパビリティ情報を取得する第1取得手段と、
前記少なくとも1つの他の画像処理装置のうち、空きメモリサイズが前記画像処理の実行に必要となるメモリサイズ以上の画像処理装置を選定する第1選定手段と、
前記第1選定手段で選定された1以上の画像処理装置ごとに、当該画像処理装置が受付可能な画像処理要求の最大数である第1の数と、受付済の前記画像処理要求の数である第2の数とを示すステータス情報を取得する第2取得手段と、
前記第1選定手段で選定された1以上の画像処理装置のうち、前記第1の数が前記第2の数より大きいという条件を満たす画像処理装置の中から、最も画像処理能力が高い画像処理装置を、前記第1画像処理装置として選定する第2選定手段と、を有する、
ことを特徴とする画像処理装置。 An image processing apparatus that performs image processing,
Connected to at least one other image processing apparatus via a network;
Input accepting means for accepting input of an image processing instruction from a user instructing image processing;
Subdividing means for subdividing the image processing instructed by the image processing instruction into a plurality of image processing jobs;
Device selection means for selecting a first image processing device for executing the subdivided image processing job from the at least one other image processing device;
Transmitting means for transmitting a processing request for requesting execution of the image processing job to the first image processing apparatus;
Image transmission means for transmitting an image to be processed by the image processing job to the first image processing apparatus ;
The device selection means is
First acquisition means for acquiring, for each of the at least one other image processing device, capability information indicating an image processing capability including a free memory size of the image processing device;
A first selection means for selecting an image processing device having a free memory size greater than or equal to a memory size required for execution of the image processing from among the at least one other image processing device;
For each of one or more image processing devices selected by the first selection means, a first number that is the maximum number of image processing requests that can be accepted by the image processing device and the number of image processing requests that have been accepted. Second acquisition means for acquiring status information indicating a certain second number;
Among the one or more image processing devices selected by the first selection means, the image processing device having the highest image processing capability among the image processing devices satisfying the condition that the first number is larger than the second number. Second selecting means for selecting an apparatus as the first image processing apparatus;
An image processing apparatus.
ことを特徴とする請求項1に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the apparatus selection unit dynamically selects the first image processing apparatus according to a progress state of the image processing job.
ことを特徴とする請求項1又は2に記載の画像処理装置。 The image processing apparatus according to claim 1, wherein the apparatus selecting unit dynamically selects the first image processing apparatus according to a load state of the at least one other image processing apparatus.
ことを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 3, further comprising a result receiving means for receiving an execution result of the image processing job from the first image processing apparatus.
ことを特徴とする請求項4に記載の画像処理装置。 The transmission unit, according to claim 4 wherein the result receiving means, characterized by transmitting before receiving the execution result, the processing request for requesting execution of a new said image processing job to the first image processing apparatus An image processing apparatus according to 1.
ことを特徴とする請求項5に記載の画像処理装置。 Wherein the image transmitting means, said before the result receiving means receives the execution result, to claim 5, characterized in that transmitting the image to be new the image processing job in the first image processing apparatus The image processing apparatus described.
ことを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 6, characterized in that it comprises a storage means which is shared with other image processing apparatus through the network.
前記処理要求によって実行が要求された前記画像処理ジョブの対象となる画像を前記他の画像処理装置から受信する画像受信手段と、
前記画像に対して前記画像処理ジョブを実行する実行手段とを更に備える
ことを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。 Receiving means for receiving a processing request for requesting execution of an image processing job which is all or part of image processing from another image processing apparatus;
Image receiving means for receiving, from the other image processing apparatus, an image to be processed by the image processing job requested to be executed by the processing request;
The image processing apparatus according to any one of claims 1 to 7, further comprising an execution means for executing the image processing job to the image.
マスタ機となる画像処理装置は、
画像処理を指示するユーザからの画像処理指示の入力を受け付ける入力受付手段と、
前記画像処理指示によって指示された前記画像処理を複数の画像処理ジョブに細分化する細分化手段と、
細分化された前記画像処理ジョブを実行させる第1画像処理装置を、スレーブ機となる画像処理装置の中から選定する装置選定手段と、
前記画像処理ジョブの実行を要求する処理要求を前記第1画像処理装置に送信する送信手段と、
前記画像処理ジョブの対象となる画像を前記第1画像処理装置に送信する画像送信手段とを備え、
前記装置選定手段は、
スレーブ機となる画像処理装置ごとに、当該画像処理装置の空きメモリサイズを含む画像処理能力を示すケイパビリティ情報を取得する第1取得手段と、
スレーブ機となる画像処理装置のうち、空きメモリサイズが前記画像処理の実行に必要となるメモリサイズ以上の画像処理装置を選定する第1選定手段と、
前記第1選定手段で選定された1以上の画像処理装置ごとに、当該画像処理装置が受付可能な画像処理要求の最大数である第1の数と、受付済の前記画像処理要求の数である第2の数とを示すステータス情報を取得する第2取得手段と、
前記第1選定手段で選定された1以上の画像処理装置のうち、前記第1の数が前記第2の数より大きいという条件を満たす画像処理装置の中から、最も画像処理能力が高い画像処理装置を、前記第1画像処理装置として選定する第2選定手段と、を有し、
スレーブ機となる画像処理装置は、
画像処理の全部又は一部である画像処理ジョブの実行を要求する処理要求をマスタ機となる画像処理装置から受信する受信手段と、
前記処理要求によって実行が要求された前記画像処理ジョブの対象となる画像を前記マスタ機となる画像処理装置から受信する画像受信手段と、
前記画像に対して前記画像処理ジョブを実行する実行手段とを備える
ことを特徴とする画像処理システム。 One image processing device serving as a master device and at least one image processing device serving as a slave device are connected via a network,
The master image processing device is
Input accepting means for accepting input of an image processing instruction from a user instructing image processing;
Subdividing means for subdividing the image processing instructed by the image processing instruction into a plurality of image processing jobs;
Device selecting means for selecting a first image processing device for executing the subdivided image processing job from among image processing devices serving as slave devices;
Transmitting means for transmitting a processing request for requesting execution of the image processing job to the first image processing apparatus;
Image transmission means for transmitting an image to be processed by the image processing job to the first image processing apparatus;
The device selection means is
First acquisition means for acquiring, for each image processing apparatus serving as a slave machine, capability information indicating image processing capability including an empty memory size of the image processing apparatus;
A first selection means for selecting an image processing device having a free memory size equal to or larger than a memory size required for executing the image processing from among image processing devices serving as slave units;
For each of one or more image processing devices selected by the first selection means, a first number that is the maximum number of image processing requests that can be accepted by the image processing device and the number of image processing requests that have been accepted. Second acquisition means for acquiring status information indicating a certain second number;
Among the one or more image processing devices selected by the first selection means, the image processing device having the highest image processing capability among the image processing devices satisfying the condition that the first number is larger than the second number. Second selecting means for selecting an apparatus as the first image processing apparatus,
The image processing device that is the slave machine
Receiving means for receiving a processing request for requesting execution of an image processing job that is all or part of image processing from an image processing apparatus serving as a master device;
Image receiving means for receiving an image to be processed by the image processing job requested to be executed by the processing request from an image processing apparatus serving as the master device;
An image processing system comprising: execution means for executing the image processing job on the image.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008234311A JP5195194B2 (en) | 2008-09-12 | 2008-09-12 | Image processing apparatus and image processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008234311A JP5195194B2 (en) | 2008-09-12 | 2008-09-12 | Image processing apparatus and image processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010068373A JP2010068373A (en) | 2010-03-25 |
JP5195194B2 true JP5195194B2 (en) | 2013-05-08 |
Family
ID=42193536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008234311A Expired - Fee Related JP5195194B2 (en) | 2008-09-12 | 2008-09-12 | Image processing apparatus and image processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5195194B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013236234A (en) * | 2012-05-08 | 2013-11-21 | Ricoh Co Ltd | Image processing apparatus, image processing system, and program |
JP6343941B2 (en) * | 2014-01-17 | 2018-06-20 | 株式会社リコー | Image processing system, program, image processing apparatus, character recognition apparatus, image processing method, and character recognition method |
JP6844348B2 (en) * | 2017-03-15 | 2021-03-17 | コニカミノルタ株式会社 | Processing equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4717380B2 (en) * | 2004-06-09 | 2011-07-06 | キヤノン株式会社 | Image processing apparatus, image processing method and program, and image processing system including the image processing apparatus |
JP4208769B2 (en) * | 2004-06-09 | 2009-01-14 | キヤノン株式会社 | Information processing apparatus, control method thereof, and information processing method |
JP2006123321A (en) * | 2004-10-28 | 2006-05-18 | Kyocera Mita Corp | Image forming system and image forming device |
-
2008
- 2008-09-12 JP JP2008234311A patent/JP5195194B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010068373A (en) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9277093B2 (en) | Method, apparatus, and computer product for managing image formation resources | |
JP4240690B2 (en) | Information processing apparatus, information processing method, information processing system, and recording medium | |
JP4509965B2 (en) | Job rendering method and job rendering system | |
US8570574B2 (en) | Processing system, control method, and storage medium therefor | |
US8472050B2 (en) | File transmission apparatus, method and file version management system | |
US8564796B2 (en) | Image processing method and apparatus for performing notification of the presence of a file whose metadata is not generated when performing retrieval processing | |
JP2002084383A (en) | Apparatus and method for image formation and program | |
JP2006109459A (en) | Print supporting apparatus, print processing apparatus, document processing system, method of controlling print supporting apparatus, print support control program, and computer readable recording medium | |
JP2010219792A (en) | Server and information processing system having the server and control method thereof | |
JP5928498B2 (en) | Information device, computer program, and memory sharing method | |
JP5424619B2 (en) | Workflow execution system, workflow execution apparatus and control method thereof, program, storage medium | |
US9386082B2 (en) | Information processing apparatus, and control method and storage medium therefor | |
JP5195194B2 (en) | Image processing apparatus and image processing system | |
JP2008283441A (en) | Image processing system, image reader, and control program | |
US8760703B2 (en) | Job control system and job control method | |
US8819692B2 (en) | Job executing system, job executing device and computer-readable medium | |
JP2009069950A (en) | Image processor, job processing method, and program | |
JP2009129014A (en) | Service providing device and its control method and computer program | |
JP7479867B2 (en) | Printing device, control method thereof, and program | |
JP2009140069A (en) | Printing system | |
JP2019087979A (en) | Image processing system, image processing method and image processing program | |
US20240163382A1 (en) | Image processing apparatus, control method, and storage medium | |
JP2007065785A (en) | Network distributed processing system and method | |
JP2006005963A (en) | Information processor and information processing method | |
JP2007305143A (en) | Information processor and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110613 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121009 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121206 |
|
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: 20130108 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |