JP2009282689A - Data processor and data processing method - Google Patents

Data processor and data processing method Download PDF

Info

Publication number
JP2009282689A
JP2009282689A JP2008133331A JP2008133331A JP2009282689A JP 2009282689 A JP2009282689 A JP 2009282689A JP 2008133331 A JP2008133331 A JP 2008133331A JP 2008133331 A JP2008133331 A JP 2008133331A JP 2009282689 A JP2009282689 A JP 2009282689A
Authority
JP
Japan
Prior art keywords
processing
cpu
intermediate result
algorithm
data
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.)
Pending
Application number
JP2008133331A
Other languages
Japanese (ja)
Inventor
Kazuhisa Yoshida
和久 吉田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008133331A priority Critical patent/JP2009282689A/en
Publication of JP2009282689A publication Critical patent/JP2009282689A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor and a data processing method for more efficiently executing an algorithm by using a plurality of CPU. <P>SOLUTION: This data processor 1 includes first and second CPUs, and configured to preliminarily store the algorithm having a plurality of series of processing steps including a step of outputting at least an intermediate result, and to execute the processing step of the algorithm from the head by the first or second CPU on the basis of data to be continuously input, and to supply the intermediate result to the other CPU when the step of outputting the intermediate result is executed, and to execute a processing step after the step of outputting the intermediate result of the algorithm by the other CPU on the basis of the intermediate result when the intermediate result is supplied. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、例えば、連続して入力されるデータを逐次処理するデータ処理装置、及びデータ処理方法に関する。   The present invention relates to, for example, a data processing apparatus and a data processing method for sequentially processing data input continuously.

従来、対象物から特徴量を含む情報をセンサにより取得し、前記センサにより取得した情報に対して種々の処理を行い、検査などを行なう、例えば紙葉類処理装置などのデータ処理装置が実用化されている。   Conventionally, a data processing apparatus such as a paper sheet processing apparatus has been put into practical use, for example, information including feature amounts is acquired from an object by a sensor, and various processes are performed on the information acquired by the sensor to perform inspections. Has been.

紙葉類処理装置では、連続して搬送される紙葉類を順次撮像し、紙葉類の画像を取得する。紙葉類処理装置は、紙葉類から取得した画像に対して、予め記憶しているプログラムに基づき、複数の処理を施すようになっている。紙葉類処理装置は、処理が施された画像に基づいて、紙葉類の種類を判定したり、真偽を判定したりする。   In the paper sheet processing apparatus, images of paper sheets that are continuously conveyed are sequentially captured to obtain an image of the paper sheets. The paper sheet processing apparatus performs a plurality of processes on an image acquired from a paper sheet based on a program stored in advance. The paper sheet processing apparatus determines the type of paper sheet or authenticity based on the processed image.

上記したような画像に処理を施す為に用いられる処理プログラムは、全体としてはデータ量が多い。この為、上記の複数の処理プログラムは、処理を実行するCPUの外部に設けられたメモリに記憶される。この結果、CPUは、1つの処理毎に処理プログラムを外部のメモリから内部のRAMメモリに読み出して処理を実行する必要があり、処理に時間がかかる場合がある。   A processing program used for processing an image as described above has a large amount of data as a whole. Therefore, the plurality of processing programs are stored in a memory provided outside the CPU that executes the processing. As a result, the CPU needs to read the processing program from the external memory to the internal RAM memory for each process and execute the process, which may take time.

そこで、外部のメモリに記憶されている複数の処理プログラムを処理プログラム単位で内部メモリに読み込むCPUと、このCPUの内部メモリに格納された処理プログラムを実行するCPUとを備えた紙葉類処理装置が提供されている(例えば、特許文献1参照)。
特開2006−293992号公報
Therefore, a sheet processing apparatus including a CPU that reads a plurality of processing programs stored in an external memory into the internal memory in units of processing programs, and a CPU that executes the processing programs stored in the internal memory of the CPU. Is provided (for example, refer to Patent Document 1).
JP 2006-29392 A

上記したように、連続して入力されるデータを逐次処理する場合、一方のCPUで外部のメモリに記憶されている複数の処理プログラムを処理プログラム単位で逐次内部メモリに読み込み、もう一方のCPUで処理プログラムを実行する。この為に、処理プログラムの集合であるアルゴリズムは、処理プログラム単位で分割されて記憶される構成となっている。このように、アルゴリズムを分割することにより、プログラム自体に大きな変更が生じる。この結果、作業ミスが生じる、若しくは、動作確認作業に時間を費やしてしまうという問題がある。   As described above, when sequentially input data is sequentially processed, one CPU sequentially reads a plurality of processing programs stored in an external memory into the internal memory in units of processing programs, and the other CPU Execute the processing program. For this reason, an algorithm that is a set of processing programs is divided and stored in units of processing programs. Thus, dividing the algorithm results in a significant change in the program itself. As a result, there is a problem that an operation error occurs or time is spent on the operation check operation.

また、共有メモリに記憶されている複数の処理プログラムに複数のCPUから直接アクセスする場合でも、アービトレーションの制御のために処理が複雑になるという問題がある。   Further, even when a plurality of processing programs stored in the shared memory are directly accessed from a plurality of CPUs, there is a problem that the processing becomes complicated due to arbitration control.

そこで、本発明の目的は、より効率的に複数のCPUを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することにある。   Therefore, an object of the present invention is to provide a data processing apparatus and a data processing method that can execute an algorithm more efficiently using a plurality of CPUs.

本発明の一実施形態としてのデータ処理装置は、第1及び第2のCPUを有するデータ処理装置であって、少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶する記憶手段と、データが連続して入力される入力手段と、前記入力手段により入力されたデータに基づいて前記第1及び第2のCPUのうちのいずれかのCPUにより前記アルゴリズムの処理ステップを先頭から実行する第1の処理手段と、前記第1の処理手段により前記中間結果を出力するステップが実行された場合に他方のCPUに前記中間結果を供給する中間結果供給手段と、前記中間結果が供給された場合に前記中間結果に基づいて他方のCPUにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する第2の処理手段と、を具備する。   A data processing apparatus according to an embodiment of the present invention is a data processing apparatus having first and second CPUs, and stores in advance an algorithm having a plurality of processing steps including at least a step of outputting an intermediate result. Storage means, input means for continuously inputting data, and processing steps of the algorithm by any one of the first and second CPUs based on the data input by the input means. First processing means executed from the beginning, intermediate result supply means for supplying the intermediate result to the other CPU when the step of outputting the intermediate result is executed by the first processing means, and the intermediate result Is supplied, the processing step after the step of outputting the intermediate result of the algorithm by the other CPU based on the intermediate result is provided. Comprising a second processing means for performing up and.

また、本発明の一実施形態としてのデータ処理方法は、第1及び第2のCPUを有するデータ処理装置であって、少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶し、連続して入力されるデータがに基づいて前記第1及び第2のCPUのうちのいずれかのCPUにより前記アルゴリズムの処理ステップを先頭から実行し、前記中間結果を出力するステップを実行した場合に他方のCPUに前記中間結果を供給し、前記中間結果が供給された場合に前記中間結果に基づいて他方のCPUにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する。   A data processing method according to an embodiment of the present invention is a data processing apparatus having first and second CPUs, and includes an algorithm having a plurality of processing steps including at least a step of outputting an intermediate result. A step of executing the processing step of the algorithm from the top by any one of the first and second CPUs based on the data stored in advance and continuously input, and outputting the intermediate result When executed, the intermediate result is supplied to the other CPU, and when the intermediate result is supplied, the processing step after the step of outputting the intermediate result of the algorithm by the other CPU based on the intermediate result is executed. To do.

この発明の一形態によれば、より効率的に複数のCPUを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することができる。   According to one aspect of the present invention, it is possible to provide a data processing apparatus and a data processing method that can execute an algorithm more efficiently using a plurality of CPUs.

以下、図面を参照しながら、本発明の実施形態に係るデータ処理装置、及びデータ処理方法について詳細に説明する。
図1は、本実施の形態に係る画像処理装置1の構成例を概略的に示す図である。
Hereinafter, a data processing apparatus and a data processing method according to embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a diagram schematically showing a configuration example of an image processing apparatus 1 according to the present embodiment.

画像処理装置1は、例えば、通行制御システムなどに用いられる顔認証システムにおいて、対象物を撮像し、画像を取得し、取得した画像に対して種々の処理を施すデータ処理装置である。   The image processing apparatus 1 is a data processing apparatus that captures an object, acquires an image, and performs various processes on the acquired image in a face authentication system used in a traffic control system, for example.

画像処理装置1は、カメラ11、及び画像処理ボード12を備えている。カメラ11は、光を受光するための図示しないレンズなどの光学系と、光学系により受光した光を電気信号に変換して画像(信号)を取得することができる撮像素子とを備えている。カメラ11は、時系列的に連続して画像を取得し、画像処理ボード12に取得した画像を逐次供給する。即ち、カメラ11は、データが連続して入力される入力手段として機能する。   The image processing apparatus 1 includes a camera 11 and an image processing board 12. The camera 11 includes an optical system such as a lens (not shown) for receiving light, and an imaging device that can convert the light received by the optical system into an electrical signal and acquire an image (signal). The camera 11 sequentially acquires images in time series and sequentially supplies the acquired images to the image processing board 12. That is, the camera 11 functions as an input means for continuously inputting data.

画像処理ボード12は、カメラ11により取得した画像に対して種々の処理を施すユニットである。画像処理ボード12は、画像分配器13、CPU14A、及びCPU14Bを備えている。画像分配器13は、カメラ11から供給される画像を逐次後段のCPUに出力する。   The image processing board 12 is a unit that performs various processes on the image acquired by the camera 11. The image processing board 12 includes an image distributor 13, a CPU 14A, and a CPU 14B. The image distributor 13 sequentially outputs the images supplied from the camera 11 to the subsequent CPU.

CPU14A、及びCPU14Bは、カメラ11から供給される画像に対して種々の処理を行なう。CPU14A、及びCPU14Bは、記憶手段として機能するRAM141A及びRAM141Bをそれぞれ備えている。RAM141A及びRAM141Bは、ワーキングメモリとして機能し、CPUが処理中のデータなどを一時保管する。また、CPU14A、及びCPU14Bは、制御用のプログラム、および制御データなどを予め記憶する図示しないROMをそれぞれ備えている。CPU14A、及びCPU14Bによる処理結果は、画像処理ボード12に接続されているホストコンピュータ20に出力される。
また、画像処理ボード12の内部、若しくは外部に接続されている図示しない不揮発性メモリに、共通管理ソフト及びアルゴリズムが記憶されている。
The CPU 14 </ b> A and the CPU 14 </ b> B perform various processes on the image supplied from the camera 11. The CPU 14A and the CPU 14B respectively include a RAM 141A and a RAM 141B that function as a storage unit. The RAM 141A and RAM 141B function as working memory, and temporarily store data being processed by the CPU. The CPU 14A and the CPU 14B each include a ROM (not shown) that stores a control program, control data, and the like in advance. The processing results by the CPU 14A and CPU 14B are output to the host computer 20 connected to the image processing board 12.
Further, common management software and algorithms are stored in a nonvolatile memory (not shown) connected to the inside or outside of the image processing board 12.

共通管理ソフトは、カメラ11による画像収集機能、アルゴリズムへの情報送受機能などを持つ。即ち、共通管理ソフトは、入出力装置の制御するプログラムと、CPU14A及びCPU14Bにより実行するタスクの管理を行なうプログラムなどを備えている。
アルゴリズムは、処理プログラムの集合である。アルゴリズムは、カメラ11により入力された入力データに対して行なう複数の処理プログラムを備えている。
CPU14A、及びCPU14Bは、不揮発性メモリから共通管理ソフト及びアルゴリズムを読み出し、それぞれ内部のRAM141A及びRAM141Bに格納する。
The common management software has an image collection function by the camera 11, an information transmission / reception function to the algorithm, and the like. That is, the common management software includes a program that is controlled by the input / output device and a program that manages tasks executed by the CPU 14A and CPU 14B.
An algorithm is a set of processing programs. The algorithm includes a plurality of processing programs to be performed on input data input by the camera 11.
The CPU 14A and CPU 14B read the common management software and algorithm from the nonvolatile memory and store them in the internal RAM 141A and RAM 141B, respectively.

図2は、RAM141A及びRAM141Bに共通管理ソフト及びアルゴリズムが格納された場合のCPU14A、及びCPU14Bの処理を概略的に説明するための説明図である。なお、ここでは、CPU14Aがホストとして動作し、CPU14Bがスレーブとして動作すると仮定する。   FIG. 2 is an explanatory diagram for schematically explaining the processing of the CPU 14A and the CPU 14B when the common management software and the algorithm are stored in the RAM 141A and the RAM 141B. Here, it is assumed that the CPU 14A operates as a host and the CPU 14B operates as a slave.

図2に示すように、CPU14AのRAM141Aは、ホスト用の共通管理ソフト16Aとアルゴリズム17とを格納している。また、CPU14BのRAM141Bは、スレーブ用の共通管理ソフト16Bとアルゴリズム17とを格納している。   As shown in FIG. 2, the RAM 141A of the CPU 14A stores host common management software 16A and an algorithm 17. The RAM 141B of the CPU 14B stores slave common management software 16B and an algorithm 17.

CPU14Aは、共通管理ソフト16Aを実行することにより、種々の処理を実行する。例えば、図1に示すカメラ11により入力された入力データを受信した場合、CPU14Aは、アルゴリズム17を実行しているタスクに実行する処理プログラムの指示を含むメッセージを送信する。また、アルゴリズム17を実行しているタスクから中間結果を受信した場合、CPU14Aは、受信した中間結果をCPU14Bに送信する。即ち、CPU14Aは、CPU14Bに中間結果を供給する中間結果供給手段として機能する。   The CPU 14A executes various processes by executing the common management software 16A. For example, when the input data input by the camera 11 shown in FIG. 1 is received, the CPU 14A transmits a message including an instruction of the processing program to be executed to the task executing the algorithm 17. When an intermediate result is received from a task executing the algorithm 17, the CPU 14A transmits the received intermediate result to the CPU 14B. That is, the CPU 14A functions as an intermediate result supply unit that supplies an intermediate result to the CPU 14B.

また、CPU14Aは、アルゴリズム17を実行することにより、種々の処理プログラムを実行する。例えば、共通管理ソフト16Aを実行しているタスクからメッセージを受信すると、受信したメッセージの内容に基づいて処理プログラムを実行する。また、共通管理ソフト16Aを実行しているタスクに処理結果、若しくは中間結果を含むメッセージを送信する。即ち、CPU14Aは、入力されたデータに基づいてアルゴリズムの処理ステップを先頭から実行する処理手段として機能する。   Further, the CPU 14A executes various processing programs by executing the algorithm 17. For example, when a message is received from a task executing the common management software 16A, the processing program is executed based on the content of the received message. In addition, a message including a processing result or an intermediate result is transmitted to the task executing the common management software 16A. That is, the CPU 14A functions as a processing unit that executes the processing steps of the algorithm from the top based on the input data.

CPU14Bは、共通管理ソフト16Bを実行することにより、種々の処理を実行する。例えば、CPU14Aから中間結果を受信した場合、CPU14Bは、アルゴリズム17を実行しているタスクに実行する処理プログラムの指示を含むメッセージを送信する。また、アルゴリズム17を実行しているタスクから処理結果を受信した場合、CPU14Bは、受信した処理結果を出力データとして図1に示すホストコンピュータ20に出力する。   The CPU 14B executes various processes by executing the common management software 16B. For example, when the intermediate result is received from the CPU 14A, the CPU 14B transmits a message including an instruction of the processing program to be executed to the task executing the algorithm 17. When the processing result is received from the task executing the algorithm 17, the CPU 14B outputs the received processing result to the host computer 20 shown in FIG. 1 as output data.

また、CPU14Bは、アルゴリズム17を実行することにより、種々の処理プログラムを実行する。例えば、共通管理ソフト16Bを実行しているタスクからメッセージを受信すると、受信したメッセージの内容に基づいて処理プログラムを実行する。また、共通管理ソフト16Bを実行しているタスクに処理結果、若しくは中間結果を含むメッセージを送信する。即ち、CPU14Bは、供給された中間結果に基づいて中間結果を出力するステップの後の処理ステップを実行する処理手段として機能する。   Further, the CPU 14B executes various processing programs by executing the algorithm 17. For example, when a message is received from a task executing the common management software 16B, the processing program is executed based on the content of the received message. In addition, a message including a processing result or an intermediate result is transmitted to the task executing the common management software 16B. That is, the CPU 14B functions as a processing unit that executes a processing step after the step of outputting the intermediate result based on the supplied intermediate result.

なお、ホストコンピュータ20は、比較用データを記憶しており、画像処理ボード12から出力された処理結果と記憶している比較用データとの突合せを行ない、認証処理を行なう。即ち、ホストコンピュータ20は、比較用データとして顔画像を記憶しており、被認証者から取得した顔画像に対して種々の処理が施された画像と記憶している画像との類似度を算出して認証処理を行なう。   The host computer 20 stores comparison data, and performs a verification process by matching the processing result output from the image processing board 12 with the stored comparison data. That is, the host computer 20 stores a face image as comparison data, and calculates the similarity between the image obtained by performing various processes on the face image acquired from the person to be authenticated and the stored image. To perform the authentication process.

図3は、RAM141A及びRAM141Bに格納されているアルゴリズムの一連の処理ステップについて説明するためのフローチャートである。本実施形態で用いられるアルゴリズムの各処理プログラム(各処理ステップ)は、直列的に処理を行なうとする。即ち、各処理ステップは、前段の処理ステップの処理結果を用いて処理を行う。   FIG. 3 is a flowchart for explaining a series of processing steps of the algorithm stored in the RAM 141A and the RAM 141B. Assume that each processing program (each processing step) of the algorithm used in the present embodiment performs processing in series. That is, each processing step performs processing using the processing result of the previous processing step.

アルゴリズム17は、図2に示すように、CPU14A及びCPU14BのそれぞれのRAMに記憶され、CPU14AとCPU14Bとにより個別に実行されタスクが起動される。   As shown in FIG. 2, the algorithm 17 is stored in each RAM of the CPU 14A and the CPU 14B, and is individually executed by the CPU 14A and the CPU 14B to start a task.

図3に示すように、アルゴリズム17は、処理ステップAと処理ステップBと処理ステップCとを含んでいる。また、さらに、アルゴリズム17は、処理ステップA及び処理ステップCの前段にそれぞれメッセージを受信するステップを有している。また、さらに、アルゴリズム17は、処理ステップB及び処理ステップCの後段にそれぞれメッセージを送信するステップを有している。   As shown in FIG. 3, the algorithm 17 includes a processing step A, a processing step B, and a processing step C. Further, the algorithm 17 has a step of receiving a message before each of the processing step A and the processing step C. Further, the algorithm 17 has a step of transmitting a message after each of the processing step B and the processing step C.

なお、ここでは、処理ステップAは、例えば、カメラ11により取得した画像のうちの不必要な情報を削除するフィルタ処理を行う。また、処理ステップBは、例えば、所定の閾値に基づいて画像の画素データを二値化する二値化処理を行う。また、処理ステップCは、例えば、画像を個人認識のための特徴量に変換する特徴抽出処理を行う。   Here, in the processing step A, for example, a filtering process for deleting unnecessary information from the image acquired by the camera 11 is performed. Further, in the processing step B, for example, a binarization process for binarizing image pixel data based on a predetermined threshold is performed. Further, the processing step C performs, for example, a feature extraction process for converting an image into a feature amount for personal recognition.

アルゴリズム17を実行しているタスクは、起動されると、共通管理ソフト16Aを実行しているタスクからメッセージを受信するまで待機状態に置かれる(ステップS11)。   When the task executing the algorithm 17 is activated, it is placed in a standby state until a message is received from the task executing the common management software 16A (step S11).

共通管理ソフト16Aを実行しているタスクからメッセージを受信した場合(ステップS11、YES)、アルゴリズム17を実行しているタスクは、受信したメッセージに基づいて処理ステップを実行する。ここでは、処理ステップAを実行する(ステップS12)。さらに、アルゴリズム17を実行しているタスクは、処理ステップAの処理結果を用いて処理ステップBを実行する(ステップS13)。   When a message is received from a task executing the common management software 16A (step S11, YES), the task executing the algorithm 17 executes a processing step based on the received message. Here, processing step A is executed (step S12). Further, the task executing the algorithm 17 executes the processing step B using the processing result of the processing step A (step S13).

処理ステップBを実行すると、アルゴリズム17を実行しているタスクは、処理ステップBの処理結果を中間結果として送信バッファに記憶させ、共通管理ソフト16Aを実行しているタスクに対してメッセージを送信する(ステップS14)。即ち、ここでは、中間結果を共通管理ソフト16Aを実行しているタスクに対して送信する。   When processing step B is executed, the task executing algorithm 17 stores the processing result of processing step B as an intermediate result in the transmission buffer, and transmits a message to the task executing common management software 16A. (Step S14). That is, here, the intermediate result is transmitted to the task executing the common management software 16A.

メッセージを送信すると、アルゴリズム17を実行しているタスクは、再びメッセージを受信するまで待機状態に置かれる(ステップS15)。   When the message is transmitted, the task executing the algorithm 17 is put on standby until the message is received again (step S15).

共通管理ソフト16Bを実行しているタスクからメッセージを受信した場合(ステップS15、YES)、アルゴリズム17を実行しているタスクは、受信したメッセージに基づいて処理ステップを実行する。ここでは、処理ステップCを実行する(ステップS16)。   When a message is received from a task executing the common management software 16B (step S15, YES), the task executing the algorithm 17 executes a processing step based on the received message. Here, processing step C is executed (step S16).

処理ステップCを実行すると、アルゴリズム17を実行しているタスクは、処理ステップCの処理結果を送信バッファに記憶させ、共通管理ソフト16Bを実行しているタスクに対してメッセージを送信する(ステップS17)。即ち、ここでは、入力データに対してアルゴリズム17により行なわれた処理の処理結果を共通管理ソフト16Bを実行しているタスクに対して送信する。   When processing step C is executed, the task executing algorithm 17 stores the processing result of processing step C in the transmission buffer, and transmits a message to the task executing common management software 16B (step S17). ). That is, here, the processing result of the processing performed by the algorithm 17 on the input data is transmitted to the task executing the common management software 16B.

なお、各タスクにおいて行なわれる処理は、全てCPU14A及びCPU14Bの制御に基づいて行われる。   All processes performed in each task are performed based on the control of the CPU 14A and the CPU 14B.

また、共通管理ソフト16を実行しているタスクからメッセージを受信した場合、アルゴリズム17を実行しているタスクは、処理ステップA、処理ステップB、及び処理ステップCを実行するように説明したが、実行する処理ステップは上記したものに限定されない。共通管理ソフト16を実行しているタスクからのメッセージでは一連の処理ステップの開始位置が指示される。アルゴリズム17を実行しているタスクは、メッセージで指示される処理ステップから処理を実行する。   Further, when a message is received from a task executing the common management software 16, the task executing the algorithm 17 has been described to execute the processing step A, the processing step B, and the processing step C. The processing steps to be executed are not limited to those described above. A message from a task executing the common management software 16 indicates the start position of a series of processing steps. The task executing the algorithm 17 executes processing from the processing step indicated by the message.

図4は、RAM141Aに格納されている共通管理ソフト16Aの処理について説明するためのフローチャートである。   FIG. 4 is a flowchart for explaining the processing of the common management software 16A stored in the RAM 141A.

共通管理ソフト16Aを実行しているタスクは、起動されると、カメラ11からの入力データを受信するまで待機状態に置かれる(ステップS21)。   When the task executing the common management software 16A is activated, it is placed in a standby state until it receives input data from the camera 11 (step S21).

カメラ11からの入力データを受信した場合(ステップS21、YES)、共通管理ソフト16Aを実行しているタスクは、受信した入力データと一連の処理ステップのうちの開始位置を指示する情報とを含むメッセージをアルゴリズム17を実行しているタスクに対して送信する(ステップS22)。ここでは、共通管理ソフト16Aを実行しているタスクは、一連の処理ステップのうちの先頭の処理ステップ、即ち、処理ステップAから処理を開始するように指示する。   When the input data from the camera 11 is received (step S21, YES), the task executing the common management software 16A includes the received input data and information indicating the start position in a series of processing steps. A message is transmitted to the task executing the algorithm 17 (step S22). Here, the task executing the common management software 16A instructs to start processing from the first processing step in the series of processing steps, that is, processing step A.

メッセージを送信すると、共通管理ソフト16Aを実行しているタスクは、アルゴリズム17を実行しているタスクからメッセージを受信するまで待機状態に置かれる(ステップS23)。   When the message is transmitted, the task executing the common management software 16A is placed in a standby state until a message is received from the task executing the algorithm 17 (step S23).

アルゴリズム17を実行しているタスクからメッセージを受信した場合(ステップS23、YES)、共通管理ソフト16Aを実行しているタスクは、受信したメッセージに含まれている中間結果をCPU14Bの共通管理ソフト16Bを実行しているタスクに対して送信する(ステップS24)。   When a message is received from a task executing the algorithm 17 (step S23, YES), the task executing the common management software 16A uses the intermediate result included in the received message as the common management software 16B of the CPU 14B. Is transmitted to the task that is executing (step S24).

共通管理ソフト16Aを実行しているタスクは、中間結果をCPU14Bの共通管理ソフト16Bを実行しているタスクに対して送信すると、ステップS21に戻り、次の入力データに対する処理に移行する。   When the task executing the common management software 16A transmits the intermediate result to the task executing the common management software 16B of the CPU 14B, the task returns to step S21 and proceeds to processing for the next input data.

図5は、RAM141Bに格納されている共通管理ソフト16Bの処理について説明するためのフローチャートである。   FIG. 5 is a flowchart for explaining the processing of the common management software 16B stored in the RAM 141B.

共通管理ソフト16Bを実行しているタスクは、起動されると、CPU14Aからの中間結果を受信するまで待機状態に置かれる(ステップS31)。   When the task executing the common management software 16B is activated, it is placed in a standby state until it receives an intermediate result from the CPU 14A (step S31).

CPU14Aから中間結果を受信した場合(ステップS31、YES)、共通管理ソフト16Bを実行しているタスクは、受信した中間結果と一連の処理ステップのうちの開始位置を指示する情報とを含むメッセージをアルゴリズム17を実行しているタスクに対して送信する(ステップS32)。ここでは、共通管理ソフト16Bを実行しているタスクは、一連の処理ステップのうちの中間結果を送信するステップの後の処理ステップ、即ち、処理ステップCから処理を開始するように指示する。   When the intermediate result is received from the CPU 14A (step S31, YES), the task executing the common management software 16B receives a message including the received intermediate result and information indicating the start position of the series of processing steps. It transmits with respect to the task which is executing the algorithm 17 (step S32). Here, the task executing the common management software 16B instructs to start the processing from the processing step after the step of transmitting the intermediate result in the series of processing steps, that is, the processing step C.

メッセージを送信すると、共通管理ソフト16Bを実行しているタスクは、アルゴリズム17を実行しているタスクからメッセージを受信するまで待機状態に置かれる(ステップS33)。   When the message is transmitted, the task executing the common management software 16B is placed in a standby state until a message is received from the task executing the algorithm 17 (step S33).

アルゴリズム17を実行しているタスクからメッセージを受信した場合(ステップS33、YES)、共通管理ソフト16Bを実行しているタスクは、受信したメッセージに含まれている処理結果を図1に示すホストコンピュータ20に対して出力する(ステップS34)。   When a message is received from a task executing the algorithm 17 (step S33, YES), the task executing the common management software 16B displays the processing result included in the received message as shown in FIG. 20 (step S34).

共通管理ソフト16Bを実行しているタスクは、処理結果をホストコンピュータ20に対して出力すると、ステップS31に戻り、次に受信する中間結果に対する処理に移行する。   When the task executing the common management software 16B outputs the processing result to the host computer 20, the task returns to step S31 and shifts to the processing for the intermediate result received next.

なお、上記したように、カメラ11は連続して画像を取得する為、CPU14Aには連続して入力データが入力されることになる。CPU14A及びCPU14Bは、図6に示すように、並行して処理を行なうことになる。   As described above, since the camera 11 continuously acquires images, input data is continuously input to the CPU 14A. The CPU 14A and the CPU 14B perform processing in parallel as shown in FIG.

図6は、CPU14A及びCPU14Bにおいて行なわれる処理を説明するためのタイムチャートである。
図6に示すように、CPU14Aは、第1フェーズにおいて、1つ目の入力データAを取得し、取得した入力データAに対して処理ステップA、及び処理ステップBを行い、処理ステップBの処理結果である中間結果AをCPU14Bに対して送信する。CPU14Bは、第1フェーズでは処理を行なわない。
FIG. 6 is a time chart for explaining processing performed in CPU 14A and CPU 14B.
As illustrated in FIG. 6, the CPU 14A acquires the first input data A in the first phase, performs the processing step A and the processing step B on the acquired input data A, and performs the processing of the processing step B. The intermediate result A as a result is transmitted to the CPU 14B. The CPU 14B does not perform processing in the first phase.

CPU14Aは、第2フェーズにおいて、2つ目の入力データBを取得し、取得した入力データBに対して処理ステップA、及び処理ステップBを行い、処理ステップBの処理結果である中間結果BをCPU14Bに対して送信する。CPU14Bは、第2フェーズにおいて、CPU14Aから中間結果Aを取得し、取得した中間結果Aに対して処理ステップCを行う。   In the second phase, the CPU 14A acquires the second input data B, performs the processing step A and the processing step B on the acquired input data B, and obtains the intermediate result B that is the processing result of the processing step B. It transmits to CPU14B. In the second phase, the CPU 14B acquires the intermediate result A from the CPU 14A, and performs the processing step C on the acquired intermediate result A.

CPU14Aは、第3フェーズにおいて、3つ目の入力データCを取得し、取得した入力データCに対して処理ステップA、及び処理ステップBを行い、処理ステップBの処理結果である中間結果CをCPU14Bに対して送信する。CPU14Bは、第3フェーズにおいて、CPU14Aから中間結果Bを取得し、取得した中間結果Bに対して処理ステップCを行う。   In the third phase, the CPU 14A acquires the third input data C, performs processing step A and processing step B on the acquired input data C, and obtains an intermediate result C that is the processing result of processing step B. It transmits to CPU14B. In the third phase, the CPU 14B acquires the intermediate result B from the CPU 14A, and performs processing step C on the acquired intermediate result B.

なお、上記した実施形態において、CPU14Bは、CPU14Aにおいて処理ステップA及び処理ステップBが施されたデータに対して処理ステップCを行う。この為、例えば、処理ステップA及び処理ステップBの処理に要する時間が処理ステップCの処理に要する時間より長い場合、CPU14Bは、CPU14Aからデータが供給されるのを待機することになる。   In the above-described embodiment, the CPU 14B performs the processing step C on the data that has been subjected to the processing step A and the processing step B in the CPU 14A. For this reason, for example, when the time required for the processing step A and the processing step B is longer than the time required for the processing step C, the CPU 14B waits for data to be supplied from the CPU 14A.

また、例えば、処理ステップA及び処理ステップBの処理に要する時間が処理ステップCの処理に要する時間より短い場合、CPU14Bによる処理ステップCの処理が供給されるデータに追いつかなくなる。この為、全てのデータに対する処理が完了する時間がCPU14BとCPU14Aとで大きくずれ、全体としての処理効率が低下する。   Further, for example, when the time required for the processing step A and the processing step B is shorter than the time required for the processing step C, the processing of the processing step C by the CPU 14B cannot catch up with the supplied data. For this reason, the time for completing the processing for all the data is largely shifted between the CPU 14B and the CPU 14A, and the overall processing efficiency is lowered.

即ち、1つのフェーズにおけるCPU14Aによる処理時間とCPU14Bによる処理時間との差が少なくなるほど処理効率が向上する。   That is, the processing efficiency improves as the difference between the processing time by the CPU 14A and the processing time by the CPU 14B in one phase decreases.

上記した構成によれば、アルゴリズムの一連の処理ステップの中に中間結果を出力する処理ステップを持たせる。対象物から連続して取得するデータに対して複数の一連の処理を行なう場合、画像処理装置1は、まずCPU14Aにより取得したデータに対して一連の処理のうちの先頭の処理から順に実行し、中間結果が出力された場合出力結果をCPU14Bに供給する。   According to the configuration described above, a processing step for outputting an intermediate result is included in a series of processing steps of the algorithm. When a plurality of series of processes are performed on data continuously acquired from the object, the image processing apparatus 1 first executes the data acquired by the CPU 14A in order from the first process in the series of processes. When the intermediate result is output, the output result is supplied to the CPU 14B.

続けて、画像処理装置1は、CPU14Aにより次のデータに対する処理を行い、CPU14Bにより中間結果に対して、中間結果を出力する処理以降の処理を実行する。この為、2フェーズ目以降の処理において、CPU14AとCPU14Bとで並行して処理を行なうことができる。   Subsequently, in the image processing apparatus 1, the CPU 14A performs processing for the next data, and the CPU 14B executes processing subsequent to the processing for outputting the intermediate result for the intermediate result. For this reason, in the processes after the second phase, the CPU 14A and the CPU 14B can perform the processes in parallel.

この結果として、より効率的に複数のCPUを用いてアルゴリズムを実行する事ができるデータ処理装置、及びデータ処理方法を提供することができる。   As a result, it is possible to provide a data processing apparatus and a data processing method capable of executing an algorithm using a plurality of CPUs more efficiently.

なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。   In addition, this invention is not limited to the said embodiment as it is, It can implement by changing a component in the range which does not deviate from the summary in an implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine the component covering different embodiment suitably.

上記した実施形態では、2つのCPUを用いた例について説明したが、この構成に限定されない。CPUは少なくとも2つ以上であれば本発明を実施することが出来る。この場合、CPUの数に合わせてアルゴリズムの一連の処理ステップの中に中間結果を出力する処理ステップを持たせて処理ステップを分担させてもよい。   In the above-described embodiment, an example using two CPUs has been described. However, the present invention is not limited to this configuration. The present invention can be implemented if there are at least two CPUs. In this case, the processing steps may be shared by providing processing steps for outputting intermediate results in a series of processing steps of the algorithm in accordance with the number of CPUs.

また、CPU14A、及びCPU14Bは、不揮発性メモリから共通管理ソフト及びアルゴリズムを読み出し、それぞれ内部のRAM141A及びRAM141Bに格納するとしたが、この構成に限定されない。例えば、予めCPU14A、及びCPU14BのROMに共通管理ソフト及びアルゴリズムを記憶させて置くようにしてもよい。   Further, the CPU 14A and the CPU 14B read the common management software and the algorithm from the nonvolatile memory and store them in the internal RAM 141A and the RAM 141B, respectively. However, the present invention is not limited to this configuration. For example, common management software and algorithms may be stored in the ROM of the CPU 14A and the CPU 14B in advance.

またさらに、上記した実施形態におけるアルゴリズムは、処理ステップA、処理ステップB、及び処理ステップCから構成されているが、これに限定されない。また、アルゴリズムの一連の処理ステップのうちのどの位置に中間結果を出力するステップが置かれていてもよい。   Furthermore, although the algorithm in the above-described embodiment includes processing step A, processing step B, and processing step C, it is not limited to this. Further, a step of outputting the intermediate result may be placed at any position in the series of processing steps of the algorithm.

図1は、本実施の形態に係る画像処理装置の構成例を概略的に示す図である。FIG. 1 is a diagram schematically illustrating a configuration example of an image processing apparatus according to the present embodiment. 図2は、RAMに共通管理ソフト及びアルゴリズムが格納された場合のCPUの処理を概略的に説明するための説明図である。FIG. 2 is an explanatory diagram for schematically explaining the processing of the CPU when the common management software and the algorithm are stored in the RAM. 図3は、RAMに格納されているアルゴリズムの一連の処理ステップについて説明するためのフローチャートである。FIG. 3 is a flowchart for explaining a series of processing steps of the algorithm stored in the RAM. 図4は、RAMに格納されている共通管理ソフトの処理について説明するためのフローチャートである。FIG. 4 is a flowchart for explaining the processing of the common management software stored in the RAM. 図5は、RAMに格納されている共通管理ソフトの処理について説明するためのフローチャートである。FIG. 5 is a flowchart for explaining the processing of the common management software stored in the RAM. 図6は、CPUにおいて行なわれる処理を説明するためのタイムチャートである。FIG. 6 is a time chart for explaining processing performed in the CPU.

符号の説明Explanation of symbols

1…画像処理装置、11…カメラ、12…画像処理ボード、13…画像分配器、14B…CPU、14A…CPU、16A…共通管理ソフト、 16B…共通管理ソフト、16…共通管理ソフト、17…アルゴリズム、20…ホストコンピュータ、141A…RAM、141B…RAM。   DESCRIPTION OF SYMBOLS 1 ... Image processing apparatus, 11 ... Camera, 12 ... Image processing board, 13 ... Image distributor, 14B ... CPU, 14A ... CPU, 16A ... Common management software, 16B ... Common management software, 16 ... Common management software, 17 ... Algorithm, 20 ... host computer, 141A ... RAM, 141B ... RAM.

Claims (6)

第1及び第2のCPUを有するデータ処理装置であって、
少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶する記憶手段と、
データが連続して入力される入力手段と、
前記入力手段により入力されたデータに基づいて前記第1及び第2のCPUのうちのいずれかのCPUにより前記アルゴリズムの処理ステップを先頭から実行する第1の処理手段と、
前記第1の処理手段により前記中間結果を出力するステップが実行された場合に他方のCPUに前記中間結果を供給する中間結果供給手段と、
前記中間結果が供給された場合に前記中間結果に基づいて他方のCPUにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する第2の処理手段と、
を具備することを特徴とするデータ処理装置。
A data processing apparatus having first and second CPUs,
Storage means for storing in advance an algorithm having a plurality of series of processing steps including a step of outputting at least an intermediate result;
An input means for continuously inputting data;
First processing means for executing a processing step of the algorithm from the top by any one of the first and second CPUs based on data input by the input means;
Intermediate result supply means for supplying the intermediate result to the other CPU when the step of outputting the intermediate result is executed by the first processing means;
Second processing means for executing a processing step after the step of outputting the intermediate result of the algorithm by the other CPU based on the intermediate result when the intermediate result is supplied;
A data processing apparatus comprising:
前記入力手段は、対象物を時系列的に連続して撮像することにより連続して画像データを取得する撮像手段を具備することを特徴とする請求項1に記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the input unit includes an image capturing unit that continuously captures image data by sequentially capturing images of an object. 前記第1の処理手段と前記第2の処理手段とはそれぞれ並行して処理を実行することを特徴とする請求項1に記載のデータ処理装置。   The data processing apparatus according to claim 1, wherein the first processing unit and the second processing unit execute processing in parallel. 第1及び第2のCPUを有するデータ処理装置であって、
少なくとも中間結果を出力するステップを含む複数の一連の処理ステップを有するアルゴリズムを予め記憶し、
連続して入力されるデータがに基づいて前記第1及び第2のCPUのうちのいずれかのCPUにより前記アルゴリズムの処理ステップを先頭から実行し、
前記中間結果を出力するステップを実行した場合に他方のCPUに前記中間結果を供給し、
前記中間結果が供給された場合に前記中間結果に基づいて他方のCPUにより前記アルゴリズムの中間結果を出力するステップの後の処理ステップを実行する、
ことを特徴とするデータ処理方法。
A data processing apparatus having first and second CPUs,
Pre-stored an algorithm having a plurality of processing steps including at least a step of outputting an intermediate result;
Based on the continuously input data, the processing step of the algorithm is executed from the top by any one of the first and second CPUs,
When the step of outputting the intermediate result is executed, the intermediate result is supplied to the other CPU,
Performing a processing step after the step of outputting the intermediate result of the algorithm by the other CPU based on the intermediate result when the intermediate result is supplied;
A data processing method.
対象物を時系列的に連続して撮像することにより連続して画像データを取得することを特徴とする請求項4に記載のデータ処理方法。   The data processing method according to claim 4, wherein the image data is continuously acquired by continuously imaging the object in time series. 前記第1のCPUと前記第2のCPUとはそれぞれ並行して処理を実行することを特徴とする請求項4に記載のデータ処理方法。   The data processing method according to claim 4, wherein the first CPU and the second CPU execute processing in parallel.
JP2008133331A 2008-05-21 2008-05-21 Data processor and data processing method Pending JP2009282689A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008133331A JP2009282689A (en) 2008-05-21 2008-05-21 Data processor and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008133331A JP2009282689A (en) 2008-05-21 2008-05-21 Data processor and data processing method

Publications (1)

Publication Number Publication Date
JP2009282689A true JP2009282689A (en) 2009-12-03

Family

ID=41453096

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008133331A Pending JP2009282689A (en) 2008-05-21 2008-05-21 Data processor and data processing method

Country Status (1)

Country Link
JP (1) JP2009282689A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01295335A (en) * 1988-05-23 1989-11-29 Fujitsu Ltd Load scattering system
JPH02224468A (en) * 1989-02-27 1990-09-06 Mitsubishi Electric Corp Picture coding system
JPH10162129A (en) * 1996-11-28 1998-06-19 Mitsubishi Heavy Ind Ltd Image processor
JP2000182036A (en) * 1998-12-16 2000-06-30 Minolta Co Ltd Data processing system
JP2007188196A (en) * 2006-01-12 2007-07-26 Ricoh Co Ltd Image processor and imaging processing control method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01295335A (en) * 1988-05-23 1989-11-29 Fujitsu Ltd Load scattering system
JPH02224468A (en) * 1989-02-27 1990-09-06 Mitsubishi Electric Corp Picture coding system
JPH10162129A (en) * 1996-11-28 1998-06-19 Mitsubishi Heavy Ind Ltd Image processor
JP2000182036A (en) * 1998-12-16 2000-06-30 Minolta Co Ltd Data processing system
JP2007188196A (en) * 2006-01-12 2007-07-26 Ricoh Co Ltd Image processor and imaging processing control method

Similar Documents

Publication Publication Date Title
KR102383134B1 (en) Electronic device for processing image based on priority and method for operating thefeof
JP2004206687A (en) Optical code reading method and device
JP2019532389A5 (en)
JP2014033248A (en) Image pickup device
JP4893154B2 (en) Image processing apparatus and image processing method
JP2016201669A5 (en)
JP2016004419A (en) Print inspection device, print inspection method and program
US20180220023A1 (en) Image scanning device
US9826155B2 (en) Detecting a document
US10057444B2 (en) Mobile terminal, information processing system, and control method
JP2019133314A (en) Information processing system and information processing method
JP2021108022A5 (en)
JP2009282689A (en) Data processor and data processing method
JP7091606B2 (en) Terminals, character recognition systems, terminal control methods and programs
KR20180075075A (en) System for using cloud wireless scan
JP5061656B2 (en) Image information transmitting apparatus and image information transfer system
CN113454978B (en) Information processing apparatus, information processing method, and storage medium
US10380463B2 (en) Image processing device, setting support method, and non-transitory computer-readable media
JP7091974B2 (en) Image processing system, image processing device, image processing method, and image processing program
JP5606808B2 (en) Code reader
JP5325744B2 (en) Image processing apparatus and image processing program
US9100512B2 (en) Reading apparatus and method of controlling the same
JP2016039567A (en) Information processing terminal, image processing device, control method for them, program, and image processing system
KR20190011056A (en) Apparatus and method for processing data
CN113723416B (en) Image processing method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130115