Movatterモバイル変換


[0]ホーム

URL:


JP2013171435A - Service providing system, service providing method, resource manager and program - Google Patents

Service providing system, service providing method, resource manager and program
Download PDF

Info

Publication number
JP2013171435A
JP2013171435AJP2012034918AJP2012034918AJP2013171435AJP 2013171435 AJP2013171435 AJP 2013171435AJP 2012034918 AJP2012034918 AJP 2012034918AJP 2012034918 AJP2012034918 AJP 2012034918AJP 2013171435 AJP2013171435 AJP 2013171435A
Authority
JP
Japan
Prior art keywords
processing
accelerator
hardware
tile
function
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.)
Granted
Application number
JP2012034918A
Other languages
Japanese (ja)
Other versions
JP5876319B2 (en
Inventor
Hidekazu Hosoya
英一 細谷
Takuya Otsuka
卓哉 大塚
Takashi Aoki
孝 青木
Yusuke Sekihara
悠介 関原
Akira Onozawa
晃 小野澤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone CorpfiledCriticalNippon Telegraph and Telephone Corp
Priority to JP2012034918ApriorityCriticalpatent/JP5876319B2/en
Publication of JP2013171435ApublicationCriticalpatent/JP2013171435A/en
Application grantedgrantedCritical
Publication of JP5876319B2publicationCriticalpatent/JP5876319B2/en
Expired - Fee Relatedlegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Landscapes

Abstract

Translated fromJapanese

【課題】多数のユーザからの大容量な処理を高速に実行できず、汎用性が低いこと。
【解決手段】本発明のサービス提供システムは、ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能をサーバコンピュータに割り当てて実行させると共に、ハードウェア機能をアクセラレータに割り当てて実行させるリソースマネージャと、を有し、リソースマネージャは、サーバコンピュータまたはアクセラレータの処理結果に基づいて、サーバコンピュータに割り当てたソフトウェア機能の内容またはアクセラレータに割り当てたハードウェア機能の内容を変更する。
【選択図】図1−1
The large-capacity processing from a large number of users cannot be executed at high speed, and the versatility is low.
A service providing system according to the present invention constructs one or more server computers that execute software functions in accordance with a software program and a hardware circuit that can execute the hardware functions so that the hardware functions can be reconfigured. One or more accelerators to be executed and functions necessary for providing the service requested by the user are divided into software functions and hardware functions, and the software functions are assigned to the server computer for execution, and the hardware functions are assigned to the accelerator. A resource manager to be executed, and based on the processing result of the server computer or the accelerator, the resource manager includes the contents of the software function assigned to the server computer or the hardware assigned to the accelerator. To change the contents of the hardware function.
[Selection] Figure 1-1

Description

Translated fromJapanese

本発明は、ユーザから要求されたサービスを提供するサービス提供システム、サービス提供方法、リソースマネージャ、プログラムに関する。  The present invention relates to a service providing system, a service providing method, a resource manager, and a program for providing a service requested by a user.

(1)一般的なデータセンタでは、ネットワークを介して1つまたは複数のサーバコンピュータが接続し、高速かつ大容量の情報処理が行われ、多数のユーザにサービスを提供している。近年、ネットワークの高速・広帯域化に伴い、大容量かつリアルタイム処理が必要なデータが増加してきている。これに対し既存システムでは、特定のサーバコンピュータに処理負荷が集中することを避けるため、負荷分散機能を持たせて、処理負荷を複数のサーバコンピュータに分散させる方法が取られている(非特許文献1)。しかし、既存のシステムではデータ処理をサーバコンピュータ上のソフトウェアで行なっているため、処理の複雑化や処理量の増大により負荷分散させても処理が困難になるという問題があった。
(2)処理すべき処理量の増加に対する対応方法として、ハードウェアのアクセラレータをサーバコンピュータに接続する手段がある(非特許文献2)。既存のハードウェアアクセラレータは、ソフトウェア処理よりも高速かつ低消費電力である利点を持つが、機能が特定の処理に固定化されているため、汎用性が低いという問題があった。
(3)科学計算において、複数のサーバコンピュータと複数のアクセラレータを用いるシステムもある。このとき、全てのサーバコンピュータと全てのアクセラレータは、唯一つの科学計算課題の演算処理に利用される(特許文献1)。そのため、複数のユーザからの異なる要求に対して、並列に異なる処理を行うことができないという問題があった。
(4)画像を入力し、HOG特徴抽出処理を行い、得られた特徴量情報に対してRealAdaBoost識別処理を行い、物体の識別を行う画像認識処理がある(非特許文献3)。しかし、この画像認識処理は、計算量が膨大であるため、複数の映像入力を同時にリアルタイム画像処理して結果を複数同時に出力することが困難であるという問題があった。
(1) In a general data center, one or a plurality of server computers are connected via a network, high-speed and large-capacity information processing is performed, and services are provided to many users. In recent years, with the increase in speed and bandwidth of networks, data that requires large capacity and real-time processing has been increasing. On the other hand, in the existing system, in order to avoid the concentration of processing load on a specific server computer, a method of providing a load distribution function and distributing the processing load to a plurality of server computers has been taken (Non-Patent Document). 1). However, in the existing system, since data processing is performed by software on the server computer, there is a problem that processing becomes difficult even if the load is distributed due to complicated processing and increased processing amount.
(2) As a method for dealing with an increase in processing amount to be processed, there is means for connecting a hardware accelerator to a server computer (Non-Patent Document 2). Existing hardware accelerators have the advantage of higher speed and lower power consumption than software processing, but have the problem of low versatility because their functions are fixed to specific processing.
(3) There is a system that uses a plurality of server computers and a plurality of accelerators in scientific calculation. At this time, all the server computers and all the accelerators are used for calculation processing of only one scientific calculation task (Patent Document 1). Therefore, there is a problem that different processes cannot be performed in parallel for different requests from a plurality of users.
(4) There is an image recognition process in which an image is input, HOG feature extraction processing is performed, RealAdaBoost identification processing is performed on the obtained feature amount information, and an object is identified (Non-patent Document 3). However, this image recognition processing has a problem that it is difficult to output a plurality of results simultaneously by performing real-time image processing on a plurality of video inputs simultaneously because of the enormous amount of calculation.

特許第4477959号公報Japanese Patent No. 4477959

「クラウドコンピューティング スケールアウトの技術」、情報処理学会誌、2009年11月号、Vol.50、No.11、p.1080-1085"Cloud Computing Scale-out Technology", Journal of Information Processing Society, November 2009, Vol.50, No.11, p.1080-1085「アクセラレータ、再び アクセラレタ技術の影と光」、情報処理学会誌、2009年2月号、Vol.50、No.2、p.95-99"Accelerator, Shadow and Light of Accelerator technology again", Journal of Information Processing Society, February 2009, Vol.50, No.2, p.95-99「人検出のためのRealAdaBoostに基づくHOG特徴量の効率的な削減法」、情報処理学会、研究報告CVIM、2009年6月、松島ら"Efficient reduction of HOG features based on RealAdaBoost for human detection", IPSJ, Research Report CVIM, June 2009, Matsushima et al.

上述のように、従来のサービス提供システムにおいては、多数のユーザからの大容量な処理を高速に実行できず、汎用性が低いという課題があった。  As described above, the conventional service providing system has a problem in that large-capacity processing from a large number of users cannot be executed at high speed, and versatility is low.

そこで、本発明の目的は、多数のユーザからの大容量な処理を高速に実行可能な、高い汎用性・柔軟性を持つサービス提供システムを実現することができる技術を提供することにある。  Accordingly, an object of the present invention is to provide a technology capable of realizing a service providing system having high versatility and flexibility, capable of executing a large amount of processing from a large number of users at high speed.

本発明のサービス提供システムは、
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、
ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、
ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させるリソースマネージャと、を有し、
前記リソースマネージャは、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更する。
The service providing system of the present invention comprises:
One or more server computers executing software functions according to software programs;
One or more accelerators configured to reconfigurable hardware circuits capable of executing hardware functions and executing the hardware functions;
A resource manager that distributes a function required for providing a service requested by a user into a software function and a hardware function, assigns the software function to the server computer and executes the function, and assigns the hardware function to the accelerator and executes the function; Have
The resource manager changes the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator based on the processing result of the server computer or the accelerator.

本発明のサービス提供方法は、
サービス提供システムによるサービス提供方法であって、
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、
ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、
リソースマネージャと、を設け、
前記リソースマネージャが、ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させるステップと、
前記リソースマネージャが、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更するステップと、を有する。
The service providing method of the present invention includes:
A service providing method by a service providing system,
One or more server computers executing software functions according to software programs;
One or more accelerators configured to reconfigurable hardware circuits capable of executing hardware functions and executing the hardware functions;
A resource manager,
The resource manager allocates a function required for providing a service requested by a user to a software function and a hardware function, assigns the software function to the server computer and executes the function, and assigns a hardware function to the accelerator. Steps to be performed;
The resource manager has a step of changing the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator based on the processing result of the server computer or the accelerator.

本発明のリソースマネージャは、
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、に接続されたリソースマネージャであって、
ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させる処理内容制御部と、
前記サーバコンピュータまたは前記アクセラレータの処理結果を取得する結果データ取得部と、を有し、
前記処理内容制御部は、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更する。
The resource manager of the present invention
Connected to one or more server computers that execute software functions according to a software program, and one or more accelerators that reconfigurable hardware circuits that can execute the hardware functions and execute the hardware functions A resource manager,
Processing content control that distributes functions required for providing a service requested by a user into software functions and hardware functions, assigns the software functions to the server computer and executes them, and assigns the hardware functions to the accelerator and executes them And
A result data acquisition unit for acquiring a processing result of the server computer or the accelerator,
The processing content control unit changes the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator based on the processing result of the server computer or the accelerator.

本発明のプログラムは、
コンピュータを、前記リソースマネージャとして機能させるためのものである。
The program of the present invention
This is for causing a computer to function as the resource manager.

本発明によれば、サーバコンピュータによるソフトウェア処理と、ハードウェアを用いたアクセラレータによるハードウェア処理と、を組み合わせることにより、負荷の大きい処理はアクセラレータに割り当てることができるため、多数のユーザからの大容量かつリアルタイム処理が必要な処理に対して対応できるようになる。  According to the present invention, by combining software processing by a server computer and hardware processing by an accelerator using hardware, a processing with a large load can be assigned to the accelerator, and thus a large capacity from a large number of users. And it becomes possible to cope with processing that requires real-time processing.

また、ハードウェアのアクセラレータとして、従来のような機能が固定されたハードウェアではなく、再構成可能なハードウェア(FPGA等)を用いたアクセラレータとすることにより、処理高速化とともに高い汎用性・柔軟性を持つシステムを実現することができる。  In addition, the hardware accelerator is not a hardware with fixed functions as in the past, but an accelerator that uses reconfigurable hardware (FPGA, etc.), so that the processing speed is increased and the versatility and flexibility are high. System can be realized.

また、アクセラレータとして、サービス動作中に異なる機能回路をハードウェア上に再構成できるようにすることにより、複数のユーザからの異なる要求に対しても、サービスを止めることなく、高速な処理を並列かつ機能を変更して処理を実行することができる。  In addition, by enabling different functional circuits to be reconfigured on the hardware during service operation as an accelerator, even for different requests from multiple users, high-speed processing can be performed in parallel without stopping the service. The function can be changed to execute the process.

したがって、多数のユーザからの大容量な処理を高速に実行可能な、高い汎用性・柔軟性を持つシステムを実現することができるという効果が得られる。  Therefore, there is an effect that it is possible to realize a system with high versatility and flexibility that can execute high-capacity processing from a large number of users at high speed.

また、処理実行中であっても、サーバコンピュータやアクセラレータの処理内容を処理結果に基づいて最適な状態に変更することができるという効果が得られる。  In addition, even when processing is being executed, the processing contents of the server computer and the accelerator can be changed to an optimal state based on the processing result.

本発明の第1の実施形態のサービス提供システムの構成を示す図である。It is a figure which shows the structure of the service provision system of the 1st Embodiment of this invention.図1−1に示したアクセラレータの構成を示す図である。It is a figure which shows the structure of the accelerator shown to FIGS. 1-1.図1−1に示したリソースマネージャ、サーバコンピュータ、およびアクセラレータの構成を示す図である。It is a figure which shows the structure of the resource manager shown in FIG. 1-1, a server computer, and an accelerator.図1−1に示したリソースマネージャの処理手順を説明するフローチャートである。It is a flowchart explaining the processing procedure of the resource manager shown to FIGS. 1-1.本発明の第2の実施形態のサービス提供システムの構成を示す図である。It is a figure which shows the structure of the service provision system of the 2nd Embodiment of this invention.図2−1に示したアクセラレータの構成を示す図である。It is a figure which shows the structure of the accelerator shown to FIGS.本発明の第3の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 3rd Embodiment of this invention.本発明の第3の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 3rd Embodiment of this invention.本発明の第3の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 3rd Embodiment of this invention.本発明の第3の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 3rd Embodiment of this invention.本発明の第3の実施形態のサービス提供システムの具体的な処理例を説明する図である。It is a figure explaining the specific process example of the service provision system of the 3rd Embodiment of this invention.本発明の第4の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 4th Embodiment of this invention.本発明の第4の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 4th Embodiment of this invention.本発明の第4の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 4th Embodiment of this invention.本発明の第4の実施形態の再構成ハードウェア処理部内のタイル処理部の接続例を示す図である。It is a figure which shows the example of a connection of the tile process part in the reconstruction hardware process part of the 4th Embodiment of this invention.

以下に、本発明を実施するための形態について図面を参照して説明する。
(1)第1の実施形態
図1−1〜図1−4は、本発明の第1の実施形態を説明する図である。
EMBODIMENT OF THE INVENTION Below, the form for implementing this invention is demonstrated with reference to drawings.
(1) First Embodiment FIGS. 1-1 to 1-4 are diagrams for explaining a first embodiment of the present invention.

図1−1に示すように、本実施形態のサービス提供システムは、1つまたは複数のサーバコンピュータ20と、リソースマネージャ30と、1つまたは複数のアクセラレータ40と、サーバ・アクセラレータ間接続部50と、を有している。また、アクセラレータ40は、内部データ入出力制御部41と、外部データ入出力制御部42と、再構成ハードウェア処理部43と、を有している。  As illustrated in FIG. 1A, the service providing system according to the present embodiment includes one ormore server computers 20, aresource manager 30, one ormore accelerators 40, and a server-accelerator connection unit 50. ,have. Theaccelerator 40 includes an internal data input /output control unit 41, an external data input /output control unit 42, and a reconfigurationhardware processing unit 43.

また、図1−2に示すように、再構成ハードウェア処理部43は、タイル間接続部431と、1つまたは複数のタイルブロック部432と、を有している。また、タイルブロック部432は、1つまたは複数のタイル処理部433と、タイル制御部434と、を有している。  In addition, as illustrated in FIG. 1B, the reconfigurationhardware processing unit 43 includes aninter-tile connection unit 431 and one or a plurality oftile block units 432. Thetile block unit 432 includes one or moretile processing units 433 and atile control unit 434.

また、図1−3に示すように、リソースマネージャ30は、処理内容管理DB31と、処理内容制御部32と、結果データ取得部33と、を有している。また、サーバコンピュータ20は、ソフトウェア(SW)処理管理部21を有し、アクセラレータ40は、ハードウェア(HW)処理管理部44を有している。  As illustrated in FIG. 1C, theresource manager 30 includes a processingcontent management DB 31, a processing content control unit 32, and a resultdata acquisition unit 33. Theserver computer 20 has a software (SW)process management unit 21, and theaccelerator 40 has a hardware (HW)process management unit 44.

本実施形態のサービス提供システムは、ユーザ端末10からのサービス要求に対して、サーバコンピュータ20および再構成ハードウェア処理部43の持つソフトウェアリソース、ハードウェアリソースを用いて、ユーザに要求されたサービスを提供するシステムである。ユーザ端末10は1つまたは複数あり、ユーザはユーザ端末10から同時または別々のタイミングでサービスを要求できる。ユーザ端末10から送られたサービス要求は、ネットワーク(NW)を経由して、本システムに入力される。  In response to a service request from theuser terminal 10, the service providing system according to the present embodiment uses the software resources and hardware resources of theserver computer 20 and the reconfigurablehardware processing unit 43 to provide a service requested by the user. It is a system to provide. There are one or a plurality ofuser terminals 10, and the user can request a service from theuser terminals 10 at the same time or at different timings. The service request sent from theuser terminal 10 is input to the present system via the network (NW).

リソースマネージャ30は、ユーザからのサービス要求を受け取り、要求されたサービスの提供に必要な機能を、SW機能とHW機能に分け、それら機能の処理内容を制御する。リソースマネージャ30内の結果データ取得部33は、本システムから得られる結果データをフィードバックし、その結果データに関する情報を、リソースマネージャ30内の処理内容制御部32に送ることができる。処理内容制御部32は、ユーザからの要求情報に加え、結果データに関する情報も入力して、それらの情報の変化に応じて、サーバコンピュータ20およびアクセラレータ40での処理内容も必要に応じて変化させて制御することができる。処理内容管理DB31は、処理内容の進捗状況について、リアルタイムに保持・管理する。また、処理内容管理DB31は、SWリソースの利用状況と、HWリソースの利用状況についても、保持・管理する。処理内容制御部32で決定される処理内容は、SW機能はSW処理管理部21を介してサーバコンピュータ20に割り当て、HW機能はHW処理管理部44を介してアクセラレータ40に割り当てる。  Theresource manager 30 receives a service request from a user, divides functions necessary for providing the requested service into an SW function and an HW function, and controls processing contents of these functions. The resultdata acquisition unit 33 in theresource manager 30 can feed back the result data obtained from the present system and send information related to the result data to the processing content control unit 32 in theresource manager 30. The processing content control unit 32 also inputs information related to the result data in addition to the request information from the user, and changes the processing content in theserver computer 20 and theaccelerator 40 as necessary according to the change of the information. Can be controlled. The processingcontent management DB 31 holds and manages the progress status of the processing content in real time. The processingcontent management DB 31 also holds and manages the usage status of the SW resource and the usage status of the HW resource. The processing content determined by the processing content control unit 32 is assigned to theserver computer 20 through the SWprocessing management unit 21 and the HW function is assigned to theaccelerator 40 through the HWprocessing management unit 44.

SWリソースとは、例えば、1つまたは複数あるサーバコンピュータ20における、CPU、内部メモリ、外部記憶装置などのリソースが挙げられる。また、HWリソースとは、例えば、1つまたは複数あるアクセラレータ40における、処理回路の面積、メモリ容量、記憶装置容量、処理回路間やアクセラレータ40間の配線量などのリソースが挙げられる。それらリソースの利用状況とは、例えば、リソースの割り当て量、割り当て場所、割り当ての設定値などの情報が挙げられる。  Examples of the SW resource include resources such as a CPU, an internal memory, and an external storage device in one ormore server computers 20. Further, the HW resource includes, for example, resources such as the area of the processing circuit, the memory capacity, the storage device capacity, the wiring amount between the processing circuits and between theaccelerators 40 in one or a plurality ofaccelerators 40. Examples of the usage status of these resources include information such as the resource allocation amount, allocation location, allocation setting value, and the like.

処理内容制御部32は、処理内容管理DB31が持つSWリソースの利用状況を参照しながら、サーバコンピュータ20上で空いている最適なSWリソースを選出した上で、割り当てるソフトウェア機能をサーバコンピュータ20上でSW処理するように指示する。同様に、処理内容管理DB31が持つHWリソースの利用状況を参照しながら、アクセラレータ40上で空いている最適なHWリソースを選出した上で、当該ハードウェア機能をアクセラレータ40上でHW処理するように指示する。処理内容制御部32は、指示した内容に基づき処理内容管理DB31を更新する。  The processing content control unit 32 selects an optimum SW resource that is vacant on theserver computer 20 while referring to the usage status of the SW resource that the processingcontent management DB 31 has, and then assigns a software function to be assigned on theserver computer 20. Instructs to perform SW processing. Similarly, referring to the usage status of the HW resource possessed by the processingcontent management DB 31, an optimal HW resource that is available on theaccelerator 40 is selected, and the hardware function is subjected to HW processing on theaccelerator 40. Instruct. The processing content control unit 32 updates the processingcontent management DB 31 based on the instructed content.

また、リソースマネージャ30の処理内容制御に従って、サーバコンピュータ20上でのSW処理結果や処理条件の情報は、そのままサーバコンピュータ20内で次のSW処理に使うこともできるし、次の処理がHW処理であればアクセラレータ40に送信しアクセラレータ40上でHW処理に使うこともできる。同様に、リソースマネージャ30の処理内容制御に従って、アクセラレータ40上でのHW処理結果や処理条件の情報は、そのままアクセレレータ40内で次のHW処理に使うこともできるし、次の処理がSW処理であればサーバコンピュータ20に送信しサーバコンピュータ20上でSW処理に使うこともできる。サーバコンピュータ20とアクセラレータ40間で処理を接続する場合は、サーバ・アクセラレータ間接続部50を介して必要な情報を送受信することができる。  Further, according to the processing content control of theresource manager 30, the SW processing result and processing condition information on theserver computer 20 can be directly used for the next SW processing in theserver computer 20, and the next processing is HW processing. If so, it can be transmitted to theaccelerator 40 and used for HW processing on theaccelerator 40. Similarly, according to the processing content control of theresource manager 30, the HW processing result and processing condition information on theaccelerator 40 can be directly used for the next HW processing in theaccelerator 40, and the next processing is SW processing. If there is, it can be transmitted to theserver computer 20 and used for SW processing on theserver computer 20. When processing is connected between theserver computer 20 and theaccelerator 40, necessary information can be transmitted / received via the server /accelerator connection unit 50.

リソースマネージャ30では、SWリソースおよびHWリソースの利用状況の情報と、処理内容の情報を管理することにより、サーバコンピュータ20上では、どこのソフトウェア資源がどの程度利用されているかを把握でき、またアクセラレータ40上では、どこのハードウェア資源がどの程度利用されているかを把握できるので、ユーザ要求を実行するために必要な処理機能に対して、効率的な機能の割り当て管理と処理の制御を行うことができる。  Theresource manager 30 manages information on the usage status of SW resources and HW resources and information on processing contents, so that it is possible to grasp how much software resources are used on theserver computer 20, and accelerators. On 40, it is possible to grasp how much hardware resources are being used, and to perform efficient function allocation management and process control for the processing functions required to execute user requests. Can do.

さらに、リソースマネージャ30では、そのようなユーザ要求情報とリソース利用状況に基づいて制御を行うだけでなく、自身の当該システムの処理によって得られた処理結果データの情報も活用して、その情報に基づき処理内容の制御を行うことができる。また、日時、場所などの環境情報(ユーザ要求情報や結果データ情報ではないその他の情報)に基づいて処理内容の制御を行うこともできる。  Further, theresource manager 30 not only performs control based on such user request information and resource usage status, but also uses information of processing result data obtained by processing of the system itself, to The processing content can be controlled based on this. In addition, it is possible to control the processing content based on environmental information such as date and time (location information other than user request information and result data information).

リソースマネージャ30内における具体的な処理手順の例について、フローチャートを図1−4に示す。  A flowchart of an example of a specific processing procedure in theresource manager 30 is shown in FIGS.

ユーザ要求情報(ステップS101)、リソース利用状況情報(ステップS102)、環境情報(ステップS103)、および結果データ情報(ステップS104)のいずれかもしくは複数の情報に基づいて、処理内容を構成する(ステップS105)。処理内容の構成とは、ユーザ要求情報に従うために必要なSW処理、HW処理の内容を決定することを意味する。その決定に際し、リソース利用状況の変更が必要になった場合は(ステップS106のYes)、リソース利用状況の変更処理を行う(ステップS107)。次に、処理内容に従い、SW機能はサーバコンピュータ20に割り当て、HW機能はアクセラレータ40に割り当てる(ステップS108)。次に、サーバコンピュータ20、アクセラレータ40に対し、実行することが決定されたSW処理、HW処理の指示を出す(ステップS109,S110)。サーバコンピュータ20で行うSW処理の結果として得られる結果データは、リソースマネージャ30にフィードバックして入力することができる。またアクセラレータ40で行うHW処理の結果として得られる結果データは、リソースマネージャ30にフィードバックして入力することができる。いずれかの結果データだけ入力することもできるし、両方の結果データを入力することもできる。またリソースマネージャ30が必要と指示したときだけ入力させることもできる。その後、全てのSW機能が終了していない場合(ステップS111のNo)や、全てのHW機能が終了していない場合(ステップS112のNo)は、ステップS106に戻る。全てのSW機能とHW機能が終了した場合は(ステップS113のYes)、終了処理を行う(ステップS114)。  The processing content is configured based on one or a plurality of pieces of information of the user request information (step S101), resource usage status information (step S102), environment information (step S103), and result data information (step S104) (step S105). The configuration of the processing contents means determining the contents of SW processing and HW processing necessary for complying with user request information. If it is necessary to change the resource usage status (Yes in step S106), the resource usage status change processing is performed (step S107). Next, according to the processing contents, the SW function is assigned to theserver computer 20 and the HW function is assigned to the accelerator 40 (step S108). Next, theserver computer 20 and theaccelerator 40 are instructed to execute SW processing and HW processing (steps S109 and S110). Result data obtained as a result of the SW process performed by theserver computer 20 can be fed back to theresource manager 30 and input. Further, the result data obtained as a result of the HW process performed by theaccelerator 40 can be fed back to theresource manager 30 and input. Only one of the result data can be input, or both result data can be input. It can also be entered only when theresource manager 30 instructs it to be necessary. After that, when all the SW functions are not completed (No in Step S111) or when all the HW functions are not completed (No in Step S112), the process returns to Step S106. When all the SW functions and the HW functions are completed (Yes in step S113), an end process is performed (step S114).

リソース利用状況の変更が発生する例としては、ユーザ要求が変更された場合、環境情報が変動しリソースマネージャ30等が定める条件に合致するようになった場合、処理内容管理DB31が持つリソース利用状況の内容が変動しリソースマネージャ30等が定める条件に合致するようになった場合、また自システムの処理結果である結果データの内容が変動しリソースマネージャ30等が定める条件に合致するようになった場合などが考えられる。このような時にリソース利用状況を変更して処理を進めることで、リソースの利用を効率化することが可能になる。サーバコンピュータ20でリソース利用を変更することはソフトウェアであることから容易に可能であるとともに、アクセラレータ40でリソース利用を変更することもアクセラレータ40の中に再構成可能ハードウェアを利用して構築しておくことで、ハードウェアであっても変更は可能となる。  As an example of a change in the resource usage status, when the user request is changed, when the environment information fluctuates and matches the condition defined by theresource manager 30 or the like, the resource usage status held by the processingcontent management DB 31 When the contents of the data change and the conditions determined by theresource manager 30 etc. are met, the contents of the result data, which is the processing result of the own system, fluctuate and meet the conditions specified by theresource manager 30 etc. Cases can be considered. By changing the resource usage status at this time and proceeding with the processing, it becomes possible to improve the resource usage efficiency. Changing the resource usage in theserver computer 20 is easy because it is software, and changing the resource usage in theaccelerator 40 is also possible by constructing theaccelerator 40 using reconfigurable hardware. Therefore, even hardware can be changed.

ここで、処理内容の構成を行う場合、ユーザ要求情報、リソース利用状況情報、環境情報、および結果データ情報の内容や条件によっては、すべてをSW機能で実行する場合もあるし、すべてをHW機能で実行する場合もあるし、両方混在する場合も考えられる。また、混在する場合でも、複数のSW機能と複数のHW機能が代わる代わる組み合わさる場合もあるし、部分的にSW機能またHW機能のいくつかが並列に処理されたり、少しずれてパイプライン処理されたりすることも容易に考えられる。  Here, when processing contents are configured, depending on the contents and conditions of user request information, resource usage information, environment information, and result data information, all may be executed by the SW function, or all may be performed by the HW function. In some cases, both of them may be executed. Even if they are mixed, there are cases where a plurality of SW functions and a plurality of HW functions are replaced, and some SW functions or HW functions are partially processed in parallel, or pipeline processing is slightly shifted. It can be easily considered.

そのような機能を有する処理内容制御部32の具体的な実現例としては、プログラム言語(例えば、C言語など)による記述や、スクリプト言語(例えば、Perl、Python、Ruby、Lua、Java(登録商標)、LISP、AWK、Tcl、Windows(登録商標)のコマンドラインシェル、UNIX(登録商標)の各種シェルスクリプト、AppleScript、など)による記述を1つもしくは複数用いることができ、様々なアルゴリズムの処理内容を実行可能である。  Specific implementation examples of the processing content control unit 32 having such a function include descriptions in a programming language (for example, C language) and script languages (for example, Perl, Python, Ruby, Lua, Java (registered trademark)). ), LISP, AWK, Tcl, Windows (registered trademark) command line shell, UNIX (registered trademark) various shell scripts, AppleScript, etc.) Can be executed.

また、サーバコンピュータ20を制御する場合でも、アクセラレータ40を制御する場合でも、リソースマネージャ30からの制御用インタフェース(API)を規定しておくことにより、リソースマネージャ30ではその処理内容を自由に変更でき、またサーバコンピュータ20側やアクセラレータ40側ではそのインタフェースを守りさえすれば、任意に処理内容の構成等を変更することが可能である。すなわち、後から新しいサーバコンピュータ20上のSWのプログラムを追加や変更してもリソースマネージャ30の利用ルールを変えなくて済む利点があるし、また新しいアクセラレータ40上のHWのタイル処理部433を追加や変更してもリソースマネージャ30の利用ルールを変えなくて済む利点があるし、これによりいずれの場合も既存のアプリケーションは変更せずにそのまま利用できる。  Whether theserver computer 20 is controlled or theaccelerator 40 is controlled, theresource manager 30 can freely change the processing contents by defining a control interface (API) from theresource manager 30. In addition, the configuration of the processing contents can be arbitrarily changed as long as the interface is protected on theserver computer 20 side or theaccelerator 40 side. That is, there is an advantage that it is not necessary to change the usage rule of theresource manager 30 even if the SW program on thenew server computer 20 is added or changed later, and the HWtile processing unit 433 on thenew accelerator 40 is added. Even if it is changed, there is an advantage that it is not necessary to change the usage rule of theresource manager 30, and in this case, the existing application can be used as it is without being changed.

ここで、タイル処理部433の追加とは、現在利用されていない(処理内容も書き込まれていないか、もしくは利用していないが何らかの処理内容が書き込まれている)タイル処理部433に、必要とする処理内容の回路を書き込んで利用することである。  Here, the addition of thetile processing unit 433 is necessary for thetile processing unit 433 that is not currently used (the processing content is not written or the processing content is not used but is written). The circuit of the processing content to be written is used.

また、タイル処理部433の変更とは、現在利用しているタイル処理部433に書き込まれた処理内容を、必要とする別の処理内容に書き換えて利用することである。変更の場合は、現在利用している対象タイル処理部433と同じ処理内容を持つ別のタイル処理部433に配線等の接続関係を迂回させて(切り替えて)その別のタイル処理部433に処理を担当させ、対象タイル処理部433へ新しい処理内容を書き込み、書き込みが終わったらその元の対象タイル処理部433に配線等の接続関係を戻し処理も復活させればよい。または、書き込みが終わった後は、戻さないでそのまま別の新しいタイル処理部433で処理させておいてもよい。迂回しようとしても迂回して利用可能な別のタイル処理部433がない場合は、対象タイル処理部433の書き込み中にはその処理を中断し、書き込み後に処理を復活させてもよい。  Further, the change of thetile processing unit 433 is to use the processing content written in the currently usedtile processing unit 433 by rewriting it to other necessary processing content. In the case of a change, anothertile processing unit 433 having the same processing content as the targettile processing unit 433 currently being used is diverted (switched) to anothertile processing unit 433 and the processing is performed by the othertile processing unit 433. And writing new processing contents to the targettile processing unit 433, and returning the connection relation such as wiring to the original targettile processing unit 433 after the writing is completed. Alternatively, after the writing is finished, it may be processed by another newtile processing unit 433 without returning. If there is no othertile processing unit 433 that can be used by detouring, the processing may be interrupted while the targettile processing unit 433 is writing, and the processing may be resumed after writing.

処理内容制御部32での具体的な制御方法例を以下に示す。処理内容制御部32では、ユーザ要求情報、リソース利用状況情報、環境情報、および結果データ情報の内容や条件に基づいて、サーバコンピュータ20やアクセラレータ40の処理内容を変更する。  An example of a specific control method in the processing content control unit 32 is shown below. The processing content control unit 32 changes the processing content of theserver computer 20 and theaccelerator 40 based on the content and conditions of the user request information, resource usage status information, environment information, and result data information.

環境情報を用いた例として、例えば、ある時間(または日付、季節など)になった時に、自動で、サーバコンピュータ20であれば処理するプログラムの種類を切り替えたり、アクセラレータ40であればタイル処理部433の中身(ハードウェアによる処理内容)を切り替えたりすることによって、より適した処理を行うように自動変更することができる。具体的には、昼の時間帯は昼用アルゴリズムを使い、夜の時間帯は夜用アルゴリズムを使うことで、画像処理等の処理内容(学習データ等)を適したものに自動で変えることができる。時間以外でも、処理時の天候情報(天気、温度、湿度など)に基づいて、処理内容を切り変えることができる。また、例えば映像を処理する場合、その入力映像を撮影したカメラの場所や背景が変わった時に、その場所や背景に適した処理内容に変更することができる。  As an example using the environment information, for example, when a certain time (or date, season, etc.) is reached, theserver computer 20 automatically switches the type of program to be processed, or theaccelerator 40 is a tile processing unit. By switching the contents of 433 (processing contents by hardware), it is possible to automatically change so as to perform more suitable processing. Specifically, by using the daytime algorithm during the daytime and using the nighttime algorithm during the nighttime, the processing contents (learning data, etc.) such as image processing can be changed automatically. it can. Other than the time, the processing content can be switched based on the weather information (weather, temperature, humidity, etc.) at the time of processing. For example, when processing a video, when the location or background of the camera that shot the input video changes, the processing content can be changed to be suitable for the location or background.

その場所や背景に適した処理内容を決定する例としては、例えばカメラの場所が屋外か屋内か、背景がシンプルな映像か複雑な映像か、光(照明や太陽)がどのような向きでどの程度当たっている場所か、などの撮影条件等の違い(度合い)によって、画像処理する際の閾値等のパラメータをその場所の条件に適した値(例えば、背景や物体の明るさに応じて検出アルゴリズムのパラメータを変えたり、明るさを調整するフィルタ処理をほどこしたり、また背景の色合いや複雑度に応じてその背景に適した学習データに変えて画像認識処理を行うようにしたりすればよい)に設定・変更することで、カメラの場所を変えてもより精度の高い画像処理を行うことができる。また、その場所の映像中に検出したい物体(人や車など)について何がどの程度の数あるか、その物体はどの程度の大きさか、またその映像中の背景として(検出したい物体かどうかを問わず)動く物体があるか、などの撮影場所の条件の違いによって学習データや画像処理時のパラメータを変えることで、カメラの場所を変えてもより精度の高い画像処理を行うことができる。これらのようなパラメータや学習データ等の変更は、リソースマネージャ30が入力された映像に応じて判断し、より精度の高くなる状態に調整することができる。この際、カメラの場所の変化が検出されたことをトリガーとして、パラメータや学習データ等の変更を行うようにしてもよい。また、カメラの場所とパラメータや学習データ等とを対応付けて記憶したデータベースを予め用意しておき、カメラの場所の変化が検出された場合に、その場所に応じたパラメータや学習データ等をデータベースから読み出し、利用するようにしてもよい。  Examples of determining the processing content suitable for the location and background include, for example, whether the camera location is outdoor or indoor, whether the background is simple or complex, and in what direction the light (lighting or sun) is Depending on the difference (degree) in shooting conditions such as whether it is a place where it is hitting, parameters such as threshold values for image processing are detected according to the conditions of the place (for example, depending on the brightness of the background or object) (You may change the algorithm parameters, apply filter processing to adjust the brightness, or change the learning data suitable for the background according to the background color and complexity, and perform image recognition processing) By setting and changing to, image processing with higher accuracy can be performed even if the location of the camera is changed. Also, what is the number of objects (people, cars, etc.) that you want to detect in the image of the place, how big is the object, and the background in the image (whether it is the object you want to detect) Regardless of whether or not there is a moving object, the learning data and the parameters for image processing are changed depending on the conditions of the shooting location, so that more accurate image processing can be performed even if the location of the camera is changed. Such changes in parameters, learning data, and the like can be determined according to the input video by theresource manager 30 and adjusted to a higher accuracy state. At this time, it is also possible to change parameters, learning data, etc., triggered by detection of a change in the location of the camera. In addition, a database in which camera locations are associated with parameters, learning data, and the like is prepared in advance, and when changes in the camera location are detected, parameters, learning data, and the like corresponding to the locations are stored in the database. You may make it read and use from.

なお、背景の情報を取得する方法の例としては、例えば入力映像中の色に関する情報(RGBやHSVの割合や全体の明るさ等)を測定したり、入力映像中で時系列の変化を比較して動きのない領域(オプティカルフロー等の画像処理により容易に抽出可能であり、カメラ自体が動いている場合はその既知のカメラの動きを差し引けば同様に可能である)を背景領域として抽出したりすることが容易に可能である。  Examples of methods for obtaining background information include measuring information about the colors in the input video (ratio of RGB and HSV, overall brightness, etc.), and comparing changes over time in the input video. As a background area, a non-moving area (which can be easily extracted by image processing such as optical flow, or if the camera itself is moving, can be similarly subtracted). Can be easily done.

また、カメラの場所もしくはその変化を取得する方法としては、例えばカメラにGPS機能を搭載し常時カメラの地理的な位置をシステムが(リソースマネージャ30が)把握することは容易に可能である。また、ユーザが持ち運び可能なハンディカメラやモバイル機器のような移動可能なカメラであれば、ユーザがその場所の情報を手動入力したり、場所(エリア)のリスト一覧から選択して入力したりすることにより、ネットワークを介してリソースマネージャ30はそのカメラの場所を容易に把握することが可能である。そのような移動可能なカメラとしては、ユーザが手に持って常に動いている場合や、USBカメラや監視カメラのように利用時は場所を固定するが、取り外して設置場所を移動する場合や、首振り可能な監視カメラのように場所は同じでカメラの向きだけ変えられる場合などが考えられる。  As a method for acquiring the location of the camera or its change, for example, the GPS function is mounted on the camera, and it is possible for the system (the resource manager 30) to grasp the geographical position of the camera at all times. In addition, if the user can move a portable camera such as a handy camera or a mobile device, the user manually inputs the location information or selects and inputs the location (area) list. Thus, theresource manager 30 can easily grasp the location of the camera via the network. As such a movable camera, when the user is always moving in the hand, or when using it like a USB camera or surveillance camera, the place is fixed, but when removing it and moving the installation place, There are cases where the location is the same and only the direction of the camera can be changed, such as a surveillance camera that can be swung.

結果データ情報を用いた例として、例えばSWまたはHWで映像処理を実行させた場合、その結果データをリソースマネージャ30にフィードバックさせた時、リソースマネージャ30が、その結果からSWのプログラムの種類または処理パラメータを変更した方がよいと判断したら、もしくはHWのタイル処理部433の処理内容の種類または処理パラメータを変更した方がよいと判断したら、リソースマネージャ30は自動的に(自己判断で)サーバコンピュータ20またはアクセラレータ40へ処理内容を変更(種類の変更または処理パラメータの変更)するように指示を出すことが可能である。  As an example using the result data information, for example, when video processing is executed by SW or HW, when the result data is fed back to theresource manager 30, theresource manager 30 determines the SW program type or processing from the result. If it is determined that the parameter should be changed, or if it is determined that the type of processing content or the processing parameter of thetile processing unit 433 of the HW should be changed, theresource manager 30 automatically (by self-determination) 20 or theaccelerator 40 can be instructed to change the processing contents (type change or process parameter change).

リソースマネージャ30がこれらの変更をした方がよいと判断する場合の例としては、映像中から何かの物体(人や車など)を検出している時に、例えば結果データ情報として検出数が得られる場合に、その検出数が明らかに多過ぎたり(常に最大値だったり)、またはほとんど検出できなかったり(小さ過ぎたり常にゼロだったり)した時に、パラメータとして検出時の閾値を変更すべきと判断した場合、それを処理しているSWまたはHWに対して閾値の変更(検出数が多過ぎる場合は識別処理の閾値を上げ(下げ)ていき、少な過ぎる場合は閾値を下げ(上げ)ていけばよい)を実行すればよい。また他の例として、検出する物体のサイズによって処理が異なる場合に、初めは複数のサイズで並行して複数の検出処理を行わせ、ある程度の時間処理した後に(閾値等を前述のように変えても)検出されない(検出数がゼロのままの)サイズ設定の処理があれば、その映像ではそのサイズの検出処理は必要ないと判断し、処理を削除するようにしてもよい。これにより、映像に多く映る物体のサイズを推定したり、また処理のリソースを最小限に抑えることが可能になる。また、結果データ情報として物体検出座標が得られる場合に、その検出座標が画像上で一定の領域内のみである時は、画像上のその領域以外を対象とする処理は冗長な処理と判断して処理を省略(または停止)するようにSWまたはHWへ指示してもよい。これにより、処理量や消費電力を削減することが可能になる。  As an example of the case where theresource manager 30 determines that it is better to make these changes, for example, when a certain object (such as a person or a car) is detected in the video, the detection number is obtained as result data information, for example. If the number of detections is obviously too large (always the maximum value) or hardly detected (too small or always zero), the detection threshold should be changed as a parameter. If it is determined, change the threshold for the SW or HW that is processing it (if the number of detections is too high, increase (decrease) the threshold for identification processing, and if it is too small, decrease (increase) the threshold) Ikebana should be executed. As another example, when processing differs depending on the size of an object to be detected, first, a plurality of detection processes are performed in parallel at a plurality of sizes, and after a certain amount of time processing (the threshold value is changed as described above). If there is a size setting process that is not detected (the number of detections remains zero), it may be determined that the size detection process is not necessary for the video, and the process may be deleted. This makes it possible to estimate the size of an object that appears in many images and to minimize processing resources. In addition, when object detection coordinates are obtained as result data information, if the detection coordinates are only within a certain area on the image, it is determined that the processing for other areas on the image is a redundant process. The SW or HW may be instructed to omit (or stop) the process. Thereby, it becomes possible to reduce a processing amount and power consumption.

ユーザ要求情報を用いた例として、同じユーザがサービスを受けている途中で、映像等の外部データの量や種類を変更する要求を出してきた場合や、処理内容の変更を要求してきた場合に、リソースマネージャ30が予め定められた判断手順に基づいて、サーバコンピュータ20上やアクセラレータ40上の処理内容を変更できるようにすることによって、それら要求情報の変更に対して自動的に(ユーザによる作業を介さずに)対応することが可能である。その判断手順の内容は、リソースマネージャ30上でプログラム言語やスクリプト言語等を用いることで、柔軟な設定は容易に可能である。また、具体的なユーザ要求の例として、ユーザが処理したい映像(カメラ)数を増やしたい(減らしたい)という要求や、映像から検出したい物体の種類を(例えば人検出から車検出に)変えたいという要求などがあった場合、従来はSWのみを用いてプログラムの種類やパラメータを自動的に(予め定められた判断手順に基づいて)システム動作中に変更することは可能であっても、高速な処理を行うための専用HWを用いた場合には、HW自体(回路そのもの)を同様に自動的にシステム動作中に変更することはできず、ユーザ要求に合うようにHWを変えるにはシステムの中断と手動によるHW自体の入れ替えが必要であった。しかし、本システムでは、HWの処理回路構成自体も(予め定めた手順に基づく範囲で)自由に変更できるため、リソースマネージャ30がユーザ要求に基づき(SWの場合と同様に)自動的にかつシステムを中断せずに処理内容を変更することが可能である。  As an example of using user request information, when the same user is in service, when a request is made to change the amount or type of external data such as video, or a change in processing content is requested By allowing theresource manager 30 to change the processing contents on theserver computer 20 and theaccelerator 40 based on a predetermined determination procedure, the request information is automatically changed (work by the user). (Without intervention). The contents of the determination procedure can be easily set flexibly by using a program language, a script language, or the like on theresource manager 30. In addition, as an example of a specific user request, the user wants to increase (decrease) the number of videos (cameras) that the user wants to process, or want to change the type of object to be detected from the videos (eg, from human detection to car detection). In the past, it was possible to change the program type and parameters automatically using the SW alone (based on a predetermined determination procedure) during system operation, but it would be fast. When a dedicated HW for performing various processes is used, the HW itself (circuit itself) cannot be automatically changed during the system operation in the same manner, and the system is used to change the HW to meet user requirements. It was necessary to interrupt HW and replace HW itself manually. However, in this system, the processing circuit configuration of the HW itself can be freely changed (within a range based on a predetermined procedure), so that theresource manager 30 can automatically and systematically (as in the case of SW) based on a user request. It is possible to change the processing content without interrupting.

リソース利用状況情報を用いた例として、ユーザ要求情報に変化がなくても、サーバコンピュータ20上やアクセラレータ40上での処理内容の割り当て方を変更することが考えられる。例えば、サーバコンピュータ20上のリソースが多く利用されていてそれ以上処理を追加できなくなったような場合(処理用のマージンが少なくなるような場合)に、サーバコンピュータ20に割り当ててあった処理内容の一部をアクセラレータ40に移し変えたり、逆の場合にアクセラレータ40に割り当ててあった処理内容の一部をサーバコンピュータ20に移し変えたりすることが可能である。また、同様に、サーバコンピュータ20間での処理内容の移し変えや、アクセラレータ40間での処理内容の移し変えも可能である。このような仕組みにより、システムとして、より継続的に動作させられるようになる利点を持たせることができる。  As an example using the resource usage status information, it is conceivable to change the process content allocation method on theserver computer 20 or theaccelerator 40 even if the user request information does not change. For example, when the resources on theserver computer 20 are used so much that it becomes impossible to add more processing (when the processing margin is reduced), the processing contents assigned to theserver computer 20 It is possible to transfer a part to theaccelerator 40, or to transfer a part of the processing contents assigned to theaccelerator 40 to theserver computer 20 in the reverse case. Similarly, it is possible to transfer the processing contents between theserver computers 20 and the processing contents between theaccelerators 40. With such a mechanism, the system can have an advantage that it can be operated more continuously.

以上のような処理内容制御部32での具体的な制御方法例は、いずれも初めに制御方法を設定さえしておけば、人が場合に応じて手動で設定変更したりせずに、リソースマネージャ30が自己判断で自動的に、最適な状態になるよう制御を継続的に行うことができるようになり、人の稼動が不要でかつ迅速、確実、安定した対応が可能なシステムを実現できる。  As for the specific control method examples in the processing content control unit 32 as described above, as long as the control method is first set, the resource is not manually changed according to the situation. Themanager 30 can automatically perform control so as to automatically reach an optimum state based on self-judgment, and can realize a system that does not require any human operation and can respond quickly, reliably, and stably. .

リソースマネージャ30は、リソースマネージャ30専用のコンピュータ上にリソースマネージャ30用ソフトウェアプログラムとして搭載することもできるし、1つまたは複数のサーバコンピュータ20上にリソースマネージャ30用ソフトウェアプログラムとして搭載することもできる。  Theresource manager 30 can be installed as a software program for theresource manager 30 on a computer dedicated to theresource manager 30, or can be installed as a software program for theresource manager 30 on one or a plurality ofserver computers 20.

サーバコンピュータ20は、割り当てられたソフトウェア機能を実行可能なソフトウェアプログラムを、サーバコンピュータ20上で実行する。ソフトウェアであるので、サービス要求情報、結果データ、リソース利用状況、環境情報等の変化に基づいたリソース利用状況の変更指示に応じて、柔軟にプログラムの内容およびパラメータを変更して、実行することができる。本システム上には、1つまたは複数のサーバコンピュータ20を有することができる。  Theserver computer 20 executes a software program that can execute the assigned software function on theserver computer 20. Because it is software, program contents and parameters can be flexibly changed and executed in accordance with resource usage status change instructions based on changes in service request information, result data, resource usage status, environment information, etc. it can. There can be one ormore server computers 20 on the system.

サーバコンピュータ20が複数ある場合には、それらはサーバ・アクセラレータ間接続部50を介していずれもリソースマネージャ30と接続できる。その場合、リソースマネージャ30は、必要なソフトウェア機能を必要とする数のサーバコンピュータ20に対して割り当てることができる。リソースマネージャ30は、各サーバコンピュータ20上の処理状況情報をサーバ・アクセラレータ間接続部50を介して管理しておくことにより、処理に余裕のあるサーバコンピュータ20に優先して割り当てることもできる。  When there are a plurality ofserver computers 20, they can all be connected to theresource manager 30 via the server-accelerator connection unit 50. In that case, theresource manager 30 can be assigned to the number ofserver computers 20 that require the necessary software functions. Theresource manager 30 can also preferentially assign theserver computer 20 with sufficient processing by managing the processing status information on eachserver computer 20 via the server-accelerator connection unit 50.

アクセラレータ40は、割り当てられたハードウェア機能を実行可能なハードウェア回路を、アクセラレータ40上に構築し、当該機能を実行する。従来のハードウェアで処理を行う装置では固定の機能しか実行できなかったが、本システムでは再構成可能な(リコンフィギャラブルな)ハードウェアデバイスを搭載し、要求に応じて毎回異なる機能を実行するハードウェア回路に書き換えて利用することができる。また、複数のリソース変更指示に応じて、各々異なる回路を構成して利用できるとともに、利用しない回路の不活性化もしくは消去も行えるので、ハードウェアリソースを効率よく利用することができる。  Theaccelerator 40 constructs a hardware circuit capable of executing the assigned hardware function on theaccelerator 40 and executes the function. Conventional hardware processing devices can only execute fixed functions, but this system is equipped with reconfigurable (reconfigurable) hardware devices and performs different functions each time as required. It can be rewritten and used as a hardware circuit. In addition, according to a plurality of resource change instructions, different circuits can be configured and used, and circuits that are not used can be deactivated or erased, so that hardware resources can be used efficiently.

また書き換えたハードウェア上で処理を行う際の各種設定パラメータについては、回路自体の変更でも設定変更できるが、回路の書き換えをせずに、回路上に設定するレジスタ値やメモリ値を、リソースマネージャ30からの制御信号により変更することで、パラメータ値の変更をすることもできる。また回路上に物理的なディップスイッチのような固定的な変更スイッチにより手動で変更する方法も可能である。  Various setting parameters for processing on the rewritten hardware can also be changed by changing the circuit itself, but register values and memory values set on the circuit can be changed without changing the circuit. The parameter value can be changed by changing the control signal from 30. It is also possible to manually change the circuit by a fixed change switch such as a physical DIP switch.

アクセラレータ40は、内部データ入出力制御部41、外部データ入出力制御部42、および再構成ハードウェア処理部43から構成される、処理回路の再構成が可能なことを特徴とするハードウェアである。  Theaccelerator 40 is hardware that includes an internal data input /output control unit 41, an external data input /output control unit 42, and a reconfigurationhardware processing unit 43, and is capable of reconfiguring a processing circuit. .

内部データ入出力制御部41は、サーバコンピュータ20もしくは他のアクセラレータ40からのデータを受信したり、また自分の再構成ハードウェア処理部43の結果データを、サーバコンピュータ20もしくは他のアクセラレータ40へ送信したりするための入出力を制御する。また、リソースマネージャ30から送信されるアクセラレータ40内の処理パラメータ等を制御するための制御データを、アクセラレータ40内に取り込み、再構成ハードウェア処理部43を制御する。さらに、再構成ハードウェア処理部43の処理結果である結果データの情報を、サーバ・アクセラレータ間接続部50を介して、リソースマネージャ30へ送信するために必要な入出力制御も行える。  The internal data input /output control unit 41 receives data from theserver computer 20 or anotheraccelerator 40, and transmits the result data of its own reconfigurablehardware processing unit 43 to theserver computer 20 orother accelerator 40. Control the input and output. Further, control data for controlling processing parameters and the like in theaccelerator 40 transmitted from theresource manager 30 is taken into theaccelerator 40 and the reconfigurablehardware processing unit 43 is controlled. Furthermore, input / output control necessary for transmitting the result data information, which is the processing result of the reconfigurablehardware processing unit 43, to theresource manager 30 via the server-accelerator connection unit 50 can be performed.

例えば、サーバコンピュータ20でソフトウェア処理された結果データをアクセラレータ40に入力しハードウェア処理したり、アクセラレータ40でハードウェア処理された結果データをサーバコンピュータ20へ送ってソフトウェア処理したり、リソースマネージャ30からの各種指示情報(パラメータ条件など)をアクセラレータ40に入力しハードウェアの再構成時に用いたり、アクセラレータ40からの結果データをリソースマネージャ30にフィードバック送信したり、外部に送信したりすることができる。これらは、リソースマネージャ30で構成する処理内容において、細分化されたSW処理機能とHW処理機能を実行する際に、その機能間で入出力の接続関係がある場合において、サーバ・アクセラレータ間接続部50を介してデータを送受信することを意味する。また、リソースマネージャ30において、システムの処理結果データに基づいて、処理内容を変更する可能性がある場合に、結果データをリソースマネージャ30に送ることを意味する。  For example, the result data processed by theserver computer 20 is input to theaccelerator 40 for hardware processing, the result data hardware processed by theaccelerator 40 is sent to theserver computer 20 for software processing, and theresource manager 30 These instruction information (parameter conditions and the like) can be input to theaccelerator 40 and used when the hardware is reconfigured, result data from theaccelerator 40 can be fed back to theresource manager 30 or transmitted to the outside. In the processing contents configured by theresource manager 30, when the subdivided SW processing function and the HW processing function are executed, when there is an input / output connection relationship between the functions, the server-accelerator connection section This means that data is transmitted / received through 50. Further, in theresource manager 30, when there is a possibility of changing the processing content based on the processing result data of the system, this means that the result data is sent to theresource manager 30.

サーバコンピュータ20とアクセラレータ40間の送受信については、具体的には、あるSW機能の出力を別のSW機能で入力として用いる場合、あるHW機能の出力を別のHW機能で入力として用いる場合、あるSW機能の出力を別のHW機能で入力として用いる場合、あるHW機能の出力を別のSW機能で入力として用いる場合が考えられる。このような時にアクセラレータ40上では、サーバ・アクセラレータ間接続部50に対して、データを送信・受信するために内部データ入出力制御部41を利用する。サーバコンピュータ20とアクセラレータ40間のデータ通信は、リソースマネージャ30が管理して実行できる。  Regarding transmission / reception between theserver computer 20 and theaccelerator 40, specifically, there is a case where an output of a certain SW function is used as an input by another SW function, and an output of a certain HW function is used as an input by another HW function. When the output of the SW function is used as an input for another HW function, the output of a certain HW function may be used as an input for another SW function. In such a case, on theaccelerator 40, the internal data input /output control unit 41 is used to transmit / receive data to / from the server-accelerator connection unit 50. Data communication between theserver computer 20 and theaccelerator 40 can be managed and executed by theresource manager 30.

外部データ入出力制御部42は、外部から直接当該システムのアクセラレータ40に入力する外部データ(例えばカメラ映像データ、音声データ、各種センサデータ等)について、リソースマネージャ30の指示に基づいて、サーバ・アクセラレータ間接続部50を介してサーバコンピュータ20に送ったり、サーバ・アクセラレータ間接続部50を介して他のアクセラレータ40に送ったり、自分のアクセラレータ40内の再構成ハードウェア処理部43に送ったりするための入出力制御を行う。また、再構成ハードウェア処理部43で処理された結果データについて、リソースマネージャ30の指示に基づき、リソースマネージャ30にフィードバック送信したり、直接外部へ送ったりする場合の入出力制御を行う。外部データの入出力制御の機能は、すべてのアクセラレータ40が装備していてもよいし、複数のアクセラレータ40のうち任意の1個または複数個のアクセラレータ40に装備されていてもよいし、すべてのアクセラレータ40に装備されていなくてもよく、いずれも実行するサービスの内容に応じて変えることができる。  The external data input /output control unit 42 is a server accelerator for external data (for example, camera video data, audio data, various sensor data, etc.) input directly from the outside to theaccelerator 40 of the system based on an instruction from theresource manager 30. To send to theserver computer 20 via theinter-connection unit 50, to anotheraccelerator 40 via the server-accelerator connection unit 50, or to the reconfigurablehardware processing unit 43 in itsown accelerator 40 Perform input / output control. Further, the result data processed by the reconfigurablehardware processing unit 43 is subjected to input / output control in the case of feedback transmission to theresource manager 30 or direct transmission to the outside based on an instruction from theresource manager 30. The function of controlling the input / output of external data may be provided in allaccelerators 40, or may be provided in any one or a plurality ofaccelerators 40 among the plurality ofaccelerators 40, Theaccelerator 40 may not be installed, and any of them can be changed according to the contents of the service to be executed.

外部から入力するデータの例としては、映像、音声、センサデータ等が挙げられる。また外部へ出力するデータの例としては、映像、音声、または処理結果のデータ(値や値のリスト等)等が挙げられる。例えば複数のカメラ映像が本システムへ入力され、1つまたは複数のアクセラレータ40に接続し入力されることが考えられる。例えば、入力画像から、ユーザが要求する物体(人物、車などの物体)をリアルタイムに検出するような画像認識処理を例とした場合、リソースマネージャ30がその処理を割り振り、サーバコンピュータ20上のプログラムや、アクセラレータ40内のタイル処理部433においてそれぞれ割り当てられた処理を実行し、対象の物体をリアルタイムに検出することが可能になる。処理の結果得られた物体検出の結果データは、リソースマネージャ30や、ユーザ端末10や、ネットワーク上の他の装置に送ることも可能であるし、また外部データ入出力制御部42を通して、外部の装置(ディスプレイ、他の処理装置等)へ送ることも可能である。  Examples of data input from the outside include video, audio, sensor data, and the like. Examples of data to be output to the outside include video, audio, processing result data (values, a list of values, etc.), and the like. For example, it is conceivable that a plurality of camera images are input to the system and connected to one or a plurality ofaccelerators 40 and input. For example, when an example is an image recognition process in which an object (an object such as a person or a car) requested by a user is detected from an input image in real time, theresource manager 30 allocates the process and the program on theserver computer 20 Alternatively, it is possible to detect the target object in real time by executing the processes assigned by thetile processing unit 433 in theaccelerator 40. The object detection result data obtained as a result of the processing can be sent to theresource manager 30, theuser terminal 10, or other devices on the network, or through the external data input /output control unit 42. It is also possible to send it to a device (display, other processing device, etc.).

再構成ハードウェア処理部43は、その内部に、1つまたは複数のタイルブロック部432を有し、各タイルブロック部432は、内部データ入出力制御部41および外部データ入出力制御部42とタイル間接続部431を介して接続している。タイルブロック部432は、1つまたは複数のタイル処理部433と、それらをタイルブロック部432の外部と接続するタイル制御部434とから構成される。  The reconfigurablehardware processing unit 43 includes one or a plurality oftile block units 432 therein, and eachtile block unit 432 includes the internal data input /output control unit 41 and the external data input /output control unit 42 and tiles. The connection is made through theinter-connection portion 431. Thetile block unit 432 includes one or moretile processing units 433 and atile control unit 434 that connects them to the outside of thetile block unit 432.

再構成ハードウェア処理部43の具体的な例として、タイルブロック部432は、再構成可能なLSI、FPGA(Field Programmable Gate Array)などで構成できる。また、タイル処理部433はFPGA内に実装する単位処理回路であり、既存のIP(Intellectual Property)コアや、事前に作成した専用の論理回路ブロックや、メモリ回路ブロックなどとして構成される。またこの時、アクセラレータ40は、1個または複数のFPGAを搭載した1枚のボード(ハードウェア基板)として構成することができ、FPGAとFPGAを接続する配線部分が再構成ハードウェア処理部43に相当し、タイルブロック部432を接続するタイル間接続部431は、FPGAを搭載したボード上におけるFPGA間配線に相当する。タイル間接続部431は、再構成ハードウェア処理部43上のすべてのタイルブロック部432間を任意のネットワークトポロジ(メッシュ結合、リング結合、全結合、バス結合等)で接続できる。または、再構成ハードウェア処理部43上のすべてのタイル処理部433の間を任意のネットワークトポロジ(メッシュ結合、リング結合、全結合、バス結合等)で接続してもよい。これらのタイル処理部433の接続関係は、リソースマネージャ30の指示に基づいて接続が再構成できる。
(2)第2の実施形態
図2−1、図2−2は、本発明の第2の実施形態を説明する図である。
As a specific example of the reconfigurablehardware processing unit 43, thetile block unit 432 can be configured by a reconfigurable LSI, FPGA (Field Programmable Gate Array), or the like. Thetile processing unit 433 is a unit processing circuit mounted in the FPGA, and is configured as an existing IP (Intellectual Property) core, a dedicated logical circuit block created in advance, a memory circuit block, or the like. Further, at this time, theaccelerator 40 can be configured as one board (hardware board) on which one or a plurality of FPGAs are mounted, and a wiring portion connecting the FPGA and the FPGA is provided in the reconfigurablehardware processing unit 43. Theinter-tile connection unit 431 that connects thetile block unit 432 corresponds to the inter-FPGA wiring on the board on which the FPGA is mounted. Theinter-tile connecting unit 431 can connect all thetile block units 432 on the reconfigurablehardware processing unit 43 with an arbitrary network topology (mesh coupling, ring coupling, full coupling, bus coupling, etc.). Alternatively, alltile processing units 433 on the reconfigurablehardware processing unit 43 may be connected by an arbitrary network topology (mesh coupling, ring coupling, full coupling, bus coupling, etc.). The connection relationship of thesetile processing units 433 can be reconfigured based on an instruction from theresource manager 30.
(2) Second Embodiment FIGS. 2-1 and 2-2 are views for explaining a second embodiment of the present invention.

図2−1および図2−2に示すように、本実施形態のサービス提供システムは、第1の実施形態と同じく、ユーザからのサービス要求に対して、サーバコンピュータ20および再構成ハードウェア処理部43の持つソフトウェア(SW)リソース、ハードウェア(HW)リソースを用いて、ユーザが要求したサービスを提供するシステムである。ユーザ端末10は1つまたは複数あり、ユーザはユーザ端末10から同時または別々のタイミングでサービスを要求できる。ユーザ端末10から送られたサービス要求は、ネットワークを経由して、本システムに入力される。  As shown in FIGS. 2-1 and 2-2, the service providing system according to the present embodiment is similar to the first embodiment in that theserver computer 20 and the reconfigurable hardware processing unit respond to a service request from the user. This is a system that provides a service requested by a user using software (SW) resources and hardware (HW) resources of 43. There are one or a plurality ofuser terminals 10, and the user can request a service from theuser terminals 10 at the same time or at different timings. The service request sent from theuser terminal 10 is input to this system via the network.

本実施形態におけるリソースマネージャ30、サーバコンピュータ20、およびアクセラレータ40内の内部データ入出力制御部41、外部データ入出力制御部42に関する具体的な内容例は、本発明の第1の実施形態の内容を包含する(本実施形態では記載省略)。  Specific examples of contents related to theresource manager 30, theserver computer 20, and the internal data input /output control unit 41 and the external data input /output control unit 42 in theaccelerator 40 according to the present embodiment are the contents of the first embodiment of the present invention. (In this embodiment, description is omitted).

本実施形態では、これに加え、さらにアクセラレータ40間を接続する専用のアクセラレータ間接続部60を備える。また、アクセラレータ40内には、このアクセラレータ間接続部60と再構成ハードウェア処理部43との間をつなぐアクセラレータ間接続入出力制御部45を備える。  In this embodiment, in addition to this, a dedicatedinter-accelerator connection unit 60 for connecting theaccelerators 40 is further provided. Further, theaccelerator 40 includes an inter-accelerator connection input /output control unit 45 that connects theinter-accelerator connection unit 60 and the reconfigurablehardware processing unit 43.

これは、第1の実施形態でも、サーバ・アクセラレータ間接続部50を経由することにより、異なるアクセラレータ40上のタイル処理部433どうしでデータの受け渡しを行うことは可能であるが、このサーバ・アクセラレータ間接続部50は複数のサーバコンピュータ20、リソースマネージャ30、複数の外部データ入出力制御部42、およびネットワークを介して複数のユーザ端末10が接続されることも可能であり、さらには映像等の高速・大容量のデータが多数通信されることも可能であり、これによりサーバ・アクセラレータ間接続部50が通信のボトルネックになる問題ともなる。そこで、特に映像等の大容量データの高速処理を行わせる可能性の高いハードウェアのアクセラレータ40について、異なるアクセラレータ40上のタイル間を自由に高速通信可能なように接続させるために、アクセラレータ40間のみに、専用のアクセラレータ間接続部(専用のネットワーク)60を備える。  Even in the first embodiment, it is possible to exchange data betweentile processing units 433 ondifferent accelerators 40 via the server-accelerator connection unit 50. Theinter-connection unit 50 can be connected to a plurality ofserver computers 20, aresource manager 30, a plurality of external data input /output control units 42, and a plurality ofuser terminals 10 via a network. A large number of high-speed and large-capacity data can be communicated, which causes a problem that the server-accelerator connection unit 50 becomes a communication bottleneck. Therefore, in particular, with respect to ahardware accelerator 40 that is highly likely to perform high-speed processing of large-capacity data such as video, in order to connect the tiles ondifferent accelerators 40 so that high-speed communication can be freely performed, between theaccelerators 40 Only, a dedicated inter-accelerator connection section (dedicated network) 60 is provided.

アクセラレータ間接続部60について、その接続方式は、任意のネットワークトポロジ(メッシュ結合、リング結合、全結合、ハイパーキューブ、または一般的なバス結合等)で接続できる。これらの接続関係は、リソースマネージャ30の指示に基づいて接続関係が構築される。これにより、複数のアクセラレータ40間にまたがるタイル処理部433どうしの接続についても、常に高速な通信を保障して処理を結合して実行することができる。
(3)第3の実施形態
図3−1〜図3−5は、本発明の第3の実施形態を説明する図である。
Theinter-accelerator connection unit 60 can be connected by any network topology (mesh connection, ring connection, full connection, hypercube, general bus connection, etc.). These connection relationships are established based on instructions from theresource manager 30. As a result, even when thetile processing units 433 are connected to each other between the plurality ofaccelerators 40, it is possible to always guarantee the high-speed communication and execute the processes in combination.
(3) Third Embodiment FIGS. 3-1 to 3-5 are views for explaining a third embodiment of the present invention.

本実施形態のサービス提供システムは、第1および第2の実施形態と同じく、ユーザ端末10からのサービス要求に対して、サーバコンピュータ20および再構成ハードウェア処理部43の持つソフトウェアリソース、ハードウェアリソースを用いて、ユーザが要求したサービスを提供するシステムである。ユーザ端末10は1つまたは複数あり、ユーザはユーザ端末10から同時または別々のタイミングでサービスを要求できる。ユーザ端末10から送られたサービス要求は、ネットワークを経由して、本システムに入力される。  As in the first and second embodiments, the service providing system of the present embodiment responds to a service request from theuser terminal 10 with respect to the software resources and hardware resources of theserver computer 20 and the reconfigurablehardware processing unit 43. Is a system that provides a service requested by a user. There are one or a plurality ofuser terminals 10, and the user can request a service from theuser terminals 10 at the same time or at different timings. The service request sent from theuser terminal 10 is input to this system via the network.

本実施形態におけるリソースマネージャ30、サーバコンピュータ20、およびアクセラレータ40内の内部データ入出力制御部41、外部データ入出力制御部42、およびアクセラレータ間接続部60、アクセラレータ間接続入出力制御部45に関する具体的な内容例は、本発明の第1および第2の実施形態の内容を包含する(本実施形態では記載省略)。  Specifics on theresource manager 30,server computer 20, and internal data input /output control unit 41, external data input /output control unit 42,inter-accelerator connection unit 60, and inter-accelerator connection input /output control unit 45 in theresource manager 30 in this embodiment Examples of specific contents include the contents of the first and second embodiments of the present invention (not described in this embodiment).

以下具体的な処理例について説明する。  A specific processing example will be described below.

本実施形態は、外部からの入力データが画像または映像(カメラ映像やストリーミング映像等)の場合に関するものであり、ユーザは映像を画像処理した結果を要求し取得することができる。画像処理は、サーバコンピュータ20上のソフトウェアでも実行することは可能であるが、例えばソフトウェアで処理が困難な場合に、ハードウェアのアクセラレータ40で処理を実行させることにより、目的とする処理を可能にすることができる。ソフトウェアで処理が困難な場合の例としては、対象とする画像の解像度が大きい場合や、要求される画像処理のアルゴリズムが複雑で処理量が大きい場合や、要求される処理時間の制限が短い場合などが考えられる。  The present embodiment relates to a case where input data from the outside is an image or video (camera video, streaming video, etc.), and the user can request and acquire the result of image processing of the video. The image processing can be executed by software on theserver computer 20. For example, when processing is difficult with software, the processing can be executed by thehardware accelerator 40 to enable the target processing. can do. Examples of cases where software processing is difficult include when the resolution of the target image is large, when the required image processing algorithm is complex and the processing amount is large, or when the required processing time limit is short And so on.

アクセラレータ40上の再構成ハードウェア処理部43で、このような画像処理を実行する方法について説明する。  A method for executing such image processing in the reconfigurablehardware processing unit 43 on theaccelerator 40 will be described.

再構成ハードウェア処理部43内の1個のタイル処理部433(物体認識処理タイル)では、例えば画像を入力し、特徴抽出処理と物体識別処理を行い、認識された物体情報データを結果データとして出力することができる(図3−1)。また、2つのタイル処理部433を接続して用いることにより、1個のタイル処理部433(特徴抽出処理タイル)では、画像を入力し、特徴抽出処理を行い、抽出された特徴量情報を出力する処理を行い、別の1個のタイル処理部433(物体識別処理タイル)では、得られた特徴量情報を入力し、物体識別処理を行い、認識された物体情報データを出力することもできる(図3−2)。また、図3−2の物体識別処理タイルにおいて、そのアルゴリズム例として、学習に基づく識別処理(SVM(Support Vector Machine)、AdaBoost、部分空間法等)を行う場合は、事前に学習した学習データが必要になるが、この学習データは物体識別処理タイル内部に保持することも可能(この場合は識別処理は効率化高速化できる可能性がある利点を持つ)であるし、また別のタイル処理部433(学習データタイル)に保持することも可能(この場合は学習データ用のタイル処理部433を他の処理にも同時に利用可能となる利点を持つ)である(図3−3)。  In one tile processing unit 433 (object recognition processing tile) in the reconstructionhardware processing unit 43, for example, an image is input, a feature extraction process and an object identification process are performed, and the recognized object information data is used as result data. Can be output (FIG. 3-1). Further, by connecting and using twotile processing units 433, one tile processing unit 433 (feature extraction processing tile) inputs an image, performs feature extraction processing, and outputs extracted feature amount information. In another tile processing unit 433 (object identification processing tile), the obtained feature amount information can be input, the object identification processing can be performed, and the recognized object information data can be output. (Fig. 3-2). In addition, in the object identification processing tile of FIG. 3-2, when performing identification processing based on learning (SVM (Support Vector Machine), AdaBoost, subspace method, etc.) as an example of the algorithm, learning data learned in advance is used. Although it is necessary, this learning data can also be held inside the object identification processing tile (in this case, the identification processing has the advantage of being able to increase efficiency and speed), and another tile processing unit It is also possible to hold it in 433 (learning data tile) (in this case, there is an advantage that thetile processing unit 433 for learning data can be used simultaneously for other processing) (FIG. 3-3).

また、一般に画像処理として、画像を入力し各種フィルタ処理などの前処理を行うことができる。例えば、特徴抽出処理の前に入力画像をフィルタ処理(先鋭化、平滑化、エッジ抽出、FFT等による周波数変換、等の処理)し、その結果の画像を入力画像として特徴抽出処理に入力することもできる。これにより、特徴抽出処理や物体識別処理における抽出性能や識別性能を上げることができる可能性がある。また特徴抽出処理を行うために必要な前処理である場合もある。このような前処理を実装したタイル処理部433(前処理タイル)を、特徴抽出処理タイルの前に接続することにより、処理を連結して実行することができる(図3−4)。  In general, as image processing, an image can be input and preprocessing such as various filter processing can be performed. For example, before the feature extraction process, the input image is filtered (sharpening, smoothing, edge extraction, frequency conversion by FFT, etc.), and the resulting image is input to the feature extraction process as an input image You can also. Thereby, there is a possibility that the extraction performance and identification performance in the feature extraction processing and the object identification processing can be improved. In some cases, the pre-processing is necessary for performing feature extraction processing. By connecting the tile processing unit 433 (preprocessing tile) that implements such preprocessing before the feature extraction processing tile, the processing can be linked and executed (FIG. 3-4).

また、画像認識処理(物体識別処理)を行った後、クラスタリング等の後処理を行うことができる。例えば、物体識別処理の後に得られた物体情報データ(物体の座標位置情報、等)を入力として、後処理(例えば、物体個数のカウント処理、クラスタリング処理(統合処理)、時間平均処理、等)を行うことにより、さらに追加の物体情報データ(物体個数等)を得たり、クラスタリング処理(統合処理)により得られたデータから、より確からしい物体情報データ(座標位置)を取得したり、時間平均処理により誤認識した可能性のある物体情報データを減らしたり、するなどが可能であり、これにより物体認識性能を向上させることができる。このような後処理を実装したタイル処理部433(後処理タイル)を、物体識別処理タイルの後に接続することにより、処理を連結して実行することができる(図3−4)。もちろんこれら前処理タイルと後処理タイルを両方利用することも容易に可能である(図3−4)。  In addition, post-processing such as clustering can be performed after image recognition processing (object identification processing). For example, the object information data (object coordinate position information, etc.) obtained after the object identification process is used as an input, and post-processing (eg, object count processing, clustering process (integration process), time averaging process, etc.) To obtain additional object information data (number of objects, etc.), obtain more probable object information data (coordinate position) from the data obtained by clustering processing (integration processing), and time average It is possible to reduce or reduce the object information data that may have been erroneously recognized by the processing, thereby improving the object recognition performance. By connecting the tile processing unit 433 (post-processing tile) that implements such post-processing after the object identification processing tile, the processing can be linked and executed (FIG. 3-4). Of course, both the pre-processing tile and the post-processing tile can be easily used (FIG. 3-4).

これらのようなタイル処理部433に各々異なる処理を実装し、それらを連結させることにより、様々な組み合わせの画像処理を行うことが可能である。これらのタイル処理部433の連結方法は、リソースマネージャ30が、要求されている処理内容に基づき、タイル処理部433間の接続を切り替える処理を行ったり、新しくタイル処理部433を生成したり、不要なタイル処理部433を消去または休眠させたりすることにより、連結させて実行できる。  Various combinations of image processing can be performed by mounting different processes on thetile processing unit 433 and connecting them. The connection method of thesetile processing units 433 is unnecessary because theresource manager 30 performs a process of switching the connection between thetile processing units 433 based on the requested processing content, creates a newtile processing unit 433, or is unnecessary. Thetile processing units 433 can be linked and executed by erasing or sleeping.

タイル処理部433間の接続を切り替える処理は、タイルブロック部432内のタイル制御部434や、タイルブロック部432間のタイル間接続部431の設定を変更させることにより、アクセラレータ40内の任意の複数のタイル処理部433間を接続することができる。また、アクセラレータ間接続部60を介すれば、アクセラレータ40間にまたがる任意の複数のタイル処理部433間も接続することができる。  The process of switching the connection between thetile processing units 433 is performed by changing the setting of thetile control unit 434 in thetile block unit 432 and theinter-tile connection unit 431 between thetile block units 432, thereby changing an arbitrary plurality of items in theaccelerator 40. Thetile processing units 433 can be connected. Further, via theinter-accelerator connection unit 60, it is possible to connect between a plurality of arbitrarytile processing units 433 extending between theaccelerators 40.

また、新しくタイル処理部433を生成する処理は、例えば再構成可能なデバイスであるFPGAであれば、FPGAが通常持つ書き換え機能を用いて、FPGA単位もしくはFPGA内の一部の領域を書き換える(書き込む)ことにより、新しいタイル処理部433を生成したり、不要なタイル処理部433を消去(または休眠)させたりすることは容易に可能である。  For example, if the FPGA is a reconfigurable device, the processing for newly generating thetile processing unit 433 is to rewrite (write) a part of the FPGA unit or a part of the FPGA using a rewrite function that the FPGA normally has. Thus, it is possible to easily generate a newtile processing unit 433 and erase (or sleep) unnecessarytile processing units 433.

具体的な処理実施形態を図3−5に示す。これは、複数の異なる入力画像に対して、それぞれの入力画像毎にハードウェアのアクセラレータ40上に必要な複数のタイル処理部433を生成し処理している例である。入力#1,#2,#3に対しては、入力画像から人物を検出する処理を、入力#4に対しては、自動車を検出する処理を行っている。  A specific processing embodiment is shown in FIGS. This is an example of generating and processing a plurality oftile processing units 433 necessary on thehardware accelerator 40 for each of a plurality of different input images. For inputs # 1, # 2, and # 3, processing for detecting a person from the input image is performed, and for input # 4, processing for detecting a car is performed.

このとき、入力#1はアクセラレータ(#1)40の中でのみタイル処理部433が利用されているが、入力#2はアクセラレータ(#1)40とアクセラレータ(#2)40にまたがってタイル処理部433が利用できることを示している。同様に入力#3、入力#4についてもアクセラレータ40間をまたがってタイル処理部433を利用することができる。  At this time, thetile processing unit 433 is used only for the input # 1 in the accelerator (# 1) 40. However, the input # 2 is a tile process across the accelerator (# 1) 40 and the accelerator (# 2) 40. This indicates that thepart 433 can be used. Similarly, for theinput # 3 and the input # 4, thetile processing unit 433 can be used across theaccelerators 40.

また入力#1,#2のように、背景が異なる場所であれば、それぞれの場所に応じた設定を予め担当するタイル処理部433のパラメータに設定しておくことにより、それぞれに特化して識別性能が高く、かつハードウェアにより高速な認識処理を実行できる。また、入力#3では、人物を抽出した結果からさらにカウンタ処理により、人物の数を求めて出力したり、人物の大きさが小さいことを認識してその情報を出力したりしている。またハードウェアで並列処理しているので、入力#1〜#3が人物の検出処理をしている時に、入力#4に対しては自動車を検出する処理を行うことができる。  In addition, if the background is different as in the input # 1 and # 2, the settings corresponding to the respective locations are set in advance in the parameters of thetile processing unit 433 in charge, thereby identifying each of them in a specific manner. High-performance and high-speed recognition processing can be executed by hardware. Further, ininput # 3, the number of persons is obtained and output by further counter processing from the result of extracting the person, or the information is output by recognizing that the size of the person is small. In addition, since the hardware processes are performed in parallel, when the inputs # 1 to # 3 are performing the person detection process, the input # 4 can be detected.

また統合処理やカウンタ処理など、処理の一部をサーバコンピュータ20側で処理させることも可能である。このときは、アクセラレータ40で処理された結果データ(物体情報データ等)をサーバコンピュータ20側に送信し、サーバコンピュータ20上のソフトウェアで処理を行い結果を出力すればよい。ソフトウェアはハードウェアより処理が遅いことから、高速に処理が必要な部分はハードウェアのアクセラレータ40に割り当て、処理が遅くても問題にならない場合やソフトウェアでも十分に高速に処理できる簡易な処理などの部分はサーバコンピュータ20に割り当てることも可能である。
(4)第4の実施形態
図4−1〜から図4−4は、本発明の第4の実施形態を説明する図である。
Also, part of the processing such as integration processing and counter processing can be processed on theserver computer 20 side. At this time, the result data (object information data or the like) processed by theaccelerator 40 may be transmitted to theserver computer 20 side, processed by software on theserver computer 20, and the result output. Since software is slower than hardware, the part that needs to be processed at high speed is assigned to thehardware accelerator 40, and if it does not matter even if the process is slow, or simple processing that can be processed sufficiently sufficiently with software, etc. The portion can be assigned to theserver computer 20.
(4) Fourth Embodiment FIGS. 4A to 4D are diagrams for explaining a fourth embodiment of the present invention.

本実施形態のサービス提供システムは、第1、第2および第3の実施形態と同じく、ユーザ端末10からのサービス要求に対して、サーバコンピュータ20および再構成ハードウェア処理部43の持つソフトウェアリソース、ハードウェアリソースを用いて、ユーザが要求したサービスを提供するシステムである。ユーザ端末10は1つまたは複数あり、ユーザはユーザ端末10から同時または別々のタイミングでサービスを要求できる。ユーザ端末10から送られたサービス要求は、ネットワークを経由して、本システムに入力される。  As in the first, second, and third embodiments, the service providing system of the present embodiment responds to a service request from theuser terminal 10 with software resources that theserver computer 20 and the reconfigurablehardware processing unit 43 have, This is a system that provides a service requested by a user using hardware resources. There are one or a plurality ofuser terminals 10, and the user can request a service from theuser terminals 10 at the same time or at different timings. The service request sent from theuser terminal 10 is input to this system via the network.

本実施形態におけるリソースマネージャ30、サーバコンピュータ20、およびアクセラレータ40内の内部データ入出力制御部41、外部データ入出力制御部42、およびアクセラレータ間接続部60、アクセラレータ間接続入力制御部に関する具体的な内容例は、本発明の第1、第2および第3の実施形態の内容を包含する(本実施形態では記載省略)。  Specifics regarding theresource manager 30, theserver computer 20, and the internal data input /output control unit 41, the external data input /output control unit 42, theinter-accelerator connection unit 60, and the inter-accelerator connection input control unit in the present embodiment. Examples of contents include the contents of the first, second, and third embodiments of the present invention (not described in this embodiment).

以下具体的な処理例について説明する。  A specific processing example will be described below.

本実施形態は、第3の実施形態と同様に、外部からの入力データが画像または映像(カメラ映像やストリーミング映像等)の場合に関するものであり、ユーザは映像を画像処理した結果を要求し取得することができる。画像処理は、サーバコンピュータ20上のソフトウェアでも実行することは可能であるが、例えばソフトウェアで処理が困難な場合に、ハードウェアのアクセラレータ40で処理を実行させることにより、目的とする処理を可能にすることができる。ソフトウェアで処理が困難な場合の例としては、対象とする画像の解像度が大きい場合や、要求される画像処理のアルゴリズムが複雑で処理量が大きい場合や、要求される処理時間の制限が短い場合などが考えられる。  As in the third embodiment, the present embodiment relates to the case where the input data from the outside is an image or video (camera video, streaming video, etc.), and the user requests and obtains the result of image processing of the video. can do. The image processing can be executed by software on theserver computer 20. For example, when processing is difficult with software, the processing can be executed by thehardware accelerator 40 to enable the target processing. can do. Examples of cases where software processing is difficult include when the resolution of the target image is large, when the required image processing algorithm is complex and the processing amount is large, or when the required processing time limit is short And so on.

本実施形態では、特徴抽出処理としてHOG特徴量を抽出する処理を行い、また物体識別処理として、AdaBoost識別処理(RealAdaBoost識別処理を含む)を行う例である。HOG特徴抽出は、各画素位置における画素値の勾配方向と勾配強度をベースとした局所特徴量を抽出するものであり、背景、色、照明条件等に頑健な特徴量であるという利点を持ち、人物抽出等の物体認識のために使うことができることが知られている。またAdaBoostは、各々異なる特徴に着目した多数の弱い識別器を用意し、それらの多数決(または総和等)により、強い識別器を構成するものであり、検出したい物体の形状変化に頑健な学習方式の物体識別処理として使えることが知られている。一般的なAdaBoostアルゴリズムは、多数の弱識別器の出力から多数決により強識別器を作るもので、またこれを改良して、弱識別器の出力を実数値にしてそれらの総和を求めることにより強識別器を作ることにより性能向上を図ったReal AdaBoostアルゴリズム等がある。  This embodiment is an example in which processing for extracting a HOG feature amount is performed as feature extraction processing, and AdaBoost identification processing (including RealAdaBoost identification processing) is performed as object identification processing. HOG feature extraction extracts local feature values based on the gradient direction and gradient intensity of pixel values at each pixel position, and has the advantage of being robust feature values for background, color, lighting conditions, etc. It is known that it can be used for object recognition such as person extraction. AdaBoost prepares a number of weak classifiers that focus on different features, and constitutes a strong classifier based on their majority (or summation), and is a learning method that is robust to changes in the shape of the object you want to detect. It is known that it can be used as an object identification process. The general AdaBoost algorithm is to create a strong classifier by majority vote from the outputs of a large number of weak classifiers, and to improve this, the output of the weak classifiers is made a real value and the sum of them is obtained. There is a Real AdaBoost algorithm that improves performance by creating a classifier.

タイル処理部433としては、第3の実施形態の特徴抽出処理をHOG特徴抽出処理に特化し、また物体識別処理をAdaBoost識別処理に特化したものである。すなわち、HOGとAdaBoostをまとめて1つのタイルで処理するHOG+AdaBoost処理タイルを生成し、これに入力画像を入力し、物体情報データを出力することができる(図4−1)。また、HOG処理タイルと、AdaBoost処理タイルを分離しておき、それを連結して処理することもできる(図4−2)。また、HOG処理を行った結果を、複数の同じ設定(もしくは異なる設定)のAdaBoost処理に並列に入力させて並列処理を行わせることもできる(図4−3)。また、反対に、HOG処理を複数並列に実行させて1個のAdaBoost処理タイルに入力させることもできる(図4−4)。図4−3、図4−4のような方法については、HOG特徴抽出処理の負荷が大きい場合に図4−4のようにHOG処理タイルを並列に利用したり、AdaBoost識別処理の負荷が大きい場合に図4−3のようにAdaBoost処理タイルを複数並列に利用したりすることができ、リソースマネージャ30が処理負荷のバランスを考慮して効率よく組み合わせることにより、無駄の少ない効率的なハードウェア処理を実行できる。この点については、HOG処理タイルとAdaBoost処理タイルを、それぞれ特徴抽出処理と物体識別処理に置き換えた第3の実施形態においても同じような効率的な並列処理を行うことができる。  As thetile processing unit 433, the feature extraction processing of the third embodiment is specialized for HOG feature extraction processing, and the object identification processing is specialized for AdaBoost identification processing. That is, HOG + AdaBoost processing tiles for processing HOG and AdaBoost together with one tile can be generated, input images can be input to this, and object information data can be output (FIG. 4A). Alternatively, the HOG processing tile and the AdaBoost processing tile can be separated and connected to each other for processing (FIG. 4-2). Moreover, the result of performing the HOG process can be input in parallel to a plurality of AdaBoost processes with the same setting (or different settings) to perform parallel processing (FIG. 4-3). Conversely, multiple HOG processes can be executed in parallel and input to one AdaBoost process tile (FIG. 4-4). For methods such as FIGS. 4-3 and 4-4, when the load of the HOG feature extraction processing is large, the HOG processing tiles are used in parallel as shown in FIG. 4-4, or the load of the AdaBoost identification processing is large. In this case, a plurality of AdaBoost processing tiles can be used in parallel as shown in FIG. 4-3, and theresource manager 30 efficiently combines the processing loads in consideration of the balance of processing loads, thereby reducing the waste of efficient hardware. Processing can be executed. In this regard, the same efficient parallel processing can be performed in the third embodiment in which the HOG processing tile and the AdaBoost processing tile are replaced with the feature extraction processing and the object identification processing, respectively.

また、第3の実施形態と同様に、画像を入力し各種フィルタ処理などの前処理を行うことができる。例えば、HOG処理の前に入力画像をフィルタ処理(先鋭化、平滑化、エッジ抽出、FFT等による周波数変換、等の処理)し、その結果の画像を入力画像としてHOG処理に入力することもできる。これにより、HOG処理やAdaBoost処理における抽出性能や識別性能を上げることができる可能性がある。このような前処理をタイル処理部433に実装し、特徴抽出処理タイルの前に接続することにより、処理を連結して実行することもできる。  Further, as in the third embodiment, an image can be input and preprocessing such as various filter processing can be performed. For example, the input image can be filtered (sharpening, smoothing, edge extraction, frequency conversion by FFT, etc.) before the HOG processing, and the resulting image can be input as an input image to the HOG processing. . Thereby, there is a possibility that the extraction performance and identification performance in the HOG processing and AdaBoost processing can be improved. By implementing such pre-processing in thetile processing unit 433 and connecting it in front of the feature extraction processing tile, the processing can be linked and executed.

また、AdaBoost処理を行った後、クラスタリング等の後処理を行うことができる。例えば、AdaBoost処理の後に得られた物体情報データ(物体の座標位置情報、等)を入力として、後処理(例えば、物体個数のカウント処理、クラスタリング処理(統合処理)、時間平均処理、等)を行うことにより、さらに追加の物体情報データ(物体個数等)を得たり、クラスタリング処理(統合処理)により得られたデータからよりもっともらしい物体情報データ(座標位置)を取得したり、時間平均処理により誤認識した可能性のある物体情報データを減らしたり、するなどが可能であり、これにより物体認識性能を向上させることができる。このような後処理をタイル処理部433として実装し、AdaBoost処理を行うタイル処理部433の後に接続することにより、処理を連結して実行することができる。もちろんこれら前処理タイルと後処理タイルを両方利用することも容易に可能である。  Further, after the AdaBoost process, post-processing such as clustering can be performed. For example, the object information data (object coordinate position information, etc.) obtained after the AdaBoost process is used as an input, and post-processing (eg, object count processing, clustering process (integration process), time averaging process, etc.) is performed. To obtain additional object information data (number of objects, etc.), obtain more plausible object information data (coordinate position) from data obtained by clustering processing (integration processing), or perform time averaging processing It is possible to reduce or reduce the object information data that may have been erroneously recognized, thereby improving the object recognition performance. By implementing such post-processing as thetile processing unit 433 and connecting after thetile processing unit 433 that performs AdaBoost processing, the processing can be linked and executed. Of course, it is possible to easily use both these pre-processing tiles and post-processing tiles.

第3の実施形態と同様に、これらのようなタイル処理部433に各々異なる処理を実装し、それらを連結させることにより、様々な組み合わせの画像処理を行うことが可能である。これらのタイル処理部433の連結方法は、リソースマネージャ30が、要求されている処理内容に基づき、タイル処理部433間の接続を切り替える処理を行ったり、新しくタイル処理部433を生成したり、不要なタイル処理部433を消去または休眠させたりすることにより、連結させて実行できる。  Similar to the third embodiment, it is possible to perform various combinations of image processing by mounting different processes in thetile processing unit 433 and connecting them. The connection method of thesetile processing units 433 is unnecessary because theresource manager 30 performs a process of switching the connection between thetile processing units 433 based on the requested processing content, creates a newtile processing unit 433, or is unnecessary. Thetile processing units 433 can be linked and executed by erasing or sleeping.

タイル処理部433間の接続を切り替える処理は、タイルブロック部432内のタイル制御部434や、タイルブロック部432間のタイル間接続部431の設定を変更させることにより、アクセラレータ40内の任意の複数のタイル処理部433間を接続することができる。また、アクセラレータ間接続部60を介すれば、アクセラレータ40間にまたがる任意のタイル処理部433間も複数接続することができる。  The process of switching the connection between thetile processing units 433 is performed by changing the setting of thetile control unit 434 in thetile block unit 432 and theinter-tile connection unit 431 between thetile block units 432, thereby changing an arbitrary plurality of items in theaccelerator 40. Thetile processing units 433 can be connected. In addition, a plurality of arbitrarytile processing units 433 extending between theaccelerators 40 can be connected via theinter-accelerator connection unit 60.

また、新しくタイル処理部433を生成する処理は、例えば再構成可能なデバイスであるFPGAであれば、FPGAが通常持つ書き換え機能を用いて、FPGA単位もしくはFPGA内の一部の領域を書き換える(書き込む)ことにより、新しいタイルを生成したり、不要なタイルを消去(または休眠)させたりすることは容易に可能である。  For example, if the FPGA is a reconfigurable device, the processing for newly generating thetile processing unit 433 is to rewrite (write) a part of the FPGA unit or a part of the FPGA using a rewrite function that the FPGA normally has. ), It is easy to generate new tiles and erase (or dormant) unnecessary tiles.

具体的な処理実施形態は図3−5において特徴抽出をHOGに、物体識別をAdaBoostに置き換えた(特化した)場合に相当する。入力#1,#2,#3に対しては、入力画像から人物を検出する処理を、入力#4に対しては、自動車を検出する処理を行っている。  A specific processing embodiment corresponds to the case where the feature extraction is replaced with HOG and the object identification is replaced with AdaBoost in FIG. For inputs # 1, # 2, and # 3, processing for detecting a person from the input image is performed, and for input # 4, processing for detecting a car is performed.

このとき、入力#1はアクセラレータ(#1)40の中でのみタイル処理部433が利用されているが、入力#2はアクセラレータ(#1)40とアクセラレータ(#2)40にまたがってタイル処理部433が利用できることを示している。同様に入力#3、入力#4についてもアクセラレータ40間をまたがってタイル処理部433を利用することができる。  At this time, thetile processing unit 433 is used only for the input # 1 in the accelerator (# 1) 40. However, the input # 2 is a tile process across the accelerator (# 1) 40 and the accelerator (# 2) 40. This indicates that thepart 433 can be used. Similarly, for theinput # 3 and the input # 4, thetile processing unit 433 can be used across theaccelerators 40.

また入力#1,#2のように、背景が異なる場所であれば、それぞれの場所に応じた設定を予め担当するタイル処理部433のパラメータに設定しておくことにより、それぞれに特化して識別性能が高く、かつハードウェアにより高速な認識処理を実行できる。また、入力#3では、人物を抽出した結果からさらにカウンタ処理により、人物の数を求めて出力したり、人物の大きさが小さいことを認識してその情報を出力したりしている。またハードウェアで並列処理しているので、入力#1〜#3が人物の検出処理をしている時に、入力#4に対しては自動車を検出する処理を行うことができる。  In addition, if the background is different as in the input # 1 and # 2, the settings corresponding to the respective locations are set in advance in the parameters of thetile processing unit 433 in charge, thereby identifying each of them in a specific manner. High-performance and high-speed recognition processing can be executed by hardware. Further, ininput # 3, the number of persons is obtained and output by further counter processing from the result of extracting the person, or the information is output by recognizing that the size of the person is small. In addition, since the hardware processes are performed in parallel, when the inputs # 1 to # 3 are performing the person detection process, the input # 4 can be detected.

また統合処理やカウンタ処理など、処理の一部をサーバコンピュータ20側で処理させることも可能である。このときは、アクセラレータ40で処理された結果データ(物体情報データ等)をサーバコンピュータ20側に送信し、サーバコンピュータ20上のソフトウェアで処理を行い結果を出力すればよい。ソフトウェアはハードウェアより処理が遅いことから、高速に処理が必要な部分はハードウェアのアクセラレータ40に割り当て、処理が遅くても問題にならない場合やソフトウェアでも十分に高速に処理できる簡易な処理などの部分はサーバコンピュータ20に割り当てることも可能である。  Also, part of the processing such as integration processing and counter processing can be processed on theserver computer 20 side. At this time, the result data (object information data or the like) processed by theaccelerator 40 may be transmitted to theserver computer 20 side, processed by software on theserver computer 20, and the result output. Since software is slower than hardware, the part that needs to be processed at high speed is assigned to thehardware accelerator 40, and if it does not matter even if the process is slow, or simple processing that can be processed sufficiently sufficiently with software, etc. The portion can be assigned to theserver computer 20.

本実施形態は、外部からの入力データが画像または映像(カメラ映像やストリーミング映像等)の場合に関するものであり、また、処理内容としては、特徴抽出処理としてHOG特徴量を抽出する処理を行い、また物体識別処理として、AdaBoost識別処理(RealAdaBoost識別処理を含む)を行う例である。処理内容制御部32での具体的な制御方法例には、第1の実施形態で示したように、ユーザ要求情報、リソース利用状況情報、環境情報、および結果データ情報の内容や条件に基づいて、サーバコンピュータ20やアクセラレータ40の処理内容を変更することとなるが、本実施形態の場合の例について以下に示す。処理内容として、入力された映像から、物体(人や自動車など)を検出する識別処理を行う場合を例として考える。  The present embodiment relates to a case where input data from the outside is an image or video (camera video, streaming video, etc.), and as processing contents, a process for extracting a HOG feature amount as a feature extraction process is performed, Further, as an object identification process, an AdaBoost identification process (including a RealAdaBoost identification process) is performed. Specific examples of control methods in the processing content control unit 32 are based on the contents and conditions of user request information, resource usage status information, environment information, and result data information as shown in the first embodiment. The processing contents of theserver computer 20 and theaccelerator 40 will be changed. An example of this embodiment will be described below. As an example of processing content, consider the case of performing identification processing for detecting an object (such as a person or a car) from an input video.

環境情報を用いた例としては、例えば、これは画像認識処理であることから、昼の時間帯は昼用に特化した識別用の学習データを使い、夜は夜用に特化した識別用の学習データを使う方が識別率が高くなるので、時間によってSW上のプログラムもしくはアクセラレータ40上のタイル処理部433に書き込まれている処理内容を書き換えたり(もしくは既に書き込まれているタイル処理部433に切り替えたり)して、処理内容を最適なものに変更することが考えられる。同様に、天候情報によって学習データを変更したり(書き換えたり)、移動可能なカメラ映像の場合は、その場所や背景によって学習データを変更したりすることが考えられる。さらに、そのような環境情報の変化に応じて、画像処理のための各種パラメータ(特徴抽出処理等でのウィンドウサイズ、識別処理等での閾値処理時の閾値など)を最適になるように変更することも可能である。  As an example using environmental information, for example, since this is an image recognition process, learning data for identification specialized for daytime is used during the daytime period, and identification data specialized for nighttime is used at night. Since the learning rate becomes higher when the learning data is used, the processing content written in the program on the SW or thetile processing unit 433 on theaccelerator 40 is rewritten depending on the time (or thetile processing unit 433 that has already been written). It is conceivable to change the processing content to an optimum one. Similarly, it is conceivable to change (rewrite) the learning data according to the weather information, or to change the learning data depending on the location or background in the case of a movable camera image. Furthermore, various parameters for image processing (such as a window size in feature extraction processing, a threshold value in threshold processing in identification processing, etc.) are changed to be optimal according to such changes in environmental information. It is also possible.

その場所や背景に適したパラメータや学習データを決定する例としては、例えばカメラの場所が屋外か屋内か、背景がシンプルな映像か複雑な映像か、光(照明や太陽)がどのような向きでどの程度当たっている場所か、などの撮影条件等の違い(度合い)によって、画像処理する際の閾値等のパラメータをその場所の条件に適した値(例えば、背景や物体の明るさに応じて検出アルゴリズムのパラメータを変えたり、明るさを調整するフィルタ処理をほどこしたり、また背景の色合いや複雑度に応じてその背景に適した学習データに変えて画像認識処理を行うようにしたりすればよい)に設定・変更することで、カメラの場所を変えてもより精度の高い画像処理を行うことができる。また、その場所の映像中に検出したい物体(人や車など)について何がどの程度の数あるか、その物体はどの程度の大きさか、またその映像中の背景として(検出したい物体かどうかを問わず)動く物体があるか、などの撮影場所の条件の違いによって学習データや画像処理時のパラメータを変えることで、カメラの場所を変えてもより精度の高い画像処理を行うことができる。これらのようなパラメータや学習データ等の変更は、リソースマネージャ30が入力された映像に応じて判断し、より精度の高くなる状態に調整することができる。この際、カメラの場所の変化が検出されたことをトリガーとして、パラメータや学習データ等の変更を行うようにしてもよい。また、カメラの場所とパラメータや学習データ等とを対応付けて記憶したデータベースを予め用意しておき、カメラの場所の変化が検出された場合に、その場所に応じたパラメータや学習データ等をデータベースから読み出し、利用するようにしてもよい。  Examples of determining parameters and learning data suitable for the location and background include, for example, whether the camera location is outdoors or indoors, whether the background is simple or complex, or the direction of light (lighting or sun) Depending on the difference (degree) in the shooting conditions such as how much the location is hit, parameters such as the threshold for image processing are appropriate values for the location conditions (for example, depending on the brightness of the background or object) If you change the parameters of the detection algorithm, apply filter processing to adjust the brightness, or change the learning data suitable for the background according to the color and complexity of the background, and perform image recognition processing By setting / changing to (Good), it is possible to perform image processing with higher accuracy even if the location of the camera is changed. Also, what is the number of objects (people, cars, etc.) that you want to detect in the image of the place, how big is the object, and the background in the image (whether it is the object you want to detect) Regardless of whether or not there is a moving object, the learning data and the parameters for image processing are changed depending on the conditions of the shooting location, so that more accurate image processing can be performed even if the location of the camera is changed. Such changes in parameters, learning data, and the like can be determined according to the input video by theresource manager 30 and adjusted to a higher accuracy state. At this time, it is also possible to change parameters, learning data, etc., triggered by detection of a change in the location of the camera. In addition, a database in which camera locations are associated with parameters, learning data, and the like is prepared in advance, and when changes in the camera location are detected, parameters, learning data, and the like corresponding to the locations are stored in the database. You may make it read and use from.

なお、背景の情報を取得する方法の例としては、例えば入力映像中の色に関する情報(RGBやHSVの割合や全体の明るさ等)を測定したり、入力映像中で時系列の変化を比較して動きのない領域(オプティカルフロー等の画像処理により容易に抽出可能であり、カメラ自体が動いている場合はその既知のカメラの動きを差し引けば同様に可能である)を背景領域として抽出したりすることが容易に可能である。  Examples of methods for obtaining background information include measuring information about the colors in the input video (ratio of RGB and HSV, overall brightness, etc.), and comparing changes over time in the input video. As a background area, a non-moving area (which can be easily extracted by image processing such as optical flow, or if the camera itself is moving, can be similarly subtracted). Can be easily done.

また、移動可能なカメラの場所もしくはその変化を取得する方法としては、例えばカメラにGPS機能を搭載し常時カメラの地理的な位置をシステムが(リソースマネージャ30が)把握することは容易に可能である。また、ユーザが持ち運び可能なハンディカメラやモバイル機器のような移動可能なカメラであれば、ユーザがその場所の情報を手動入力したり、場所(エリア)のリスト一覧から選択して入力したりすることにより、ネットワークを介してリソースマネージャ30はそのカメラの場所を容易に把握することが可能である。そのような移動可能なカメラとしては、ユーザが手に持って常に動いている場合や、USBカメラや監視カメラのように利用時は場所を固定するが、取り外して設置場所を移動する場合や、首振り可能な監視カメラのように場所は同じでカメラの向きだけ変えられる場合などが考えられる。  In addition, as a method for acquiring the location of a movable camera or its change, for example, the camera is equipped with a GPS function, and the system (resource manager 30) can easily grasp the geographical position of the camera at all times. is there. In addition, if the user can move a portable camera such as a handy camera or a mobile device, the user manually inputs the location information or selects and inputs the location (area) list. Thus, theresource manager 30 can easily grasp the location of the camera via the network. As such a movable camera, when the user is always moving in the hand, or when using it like a USB camera or surveillance camera, the place is fixed, but when removing it and moving the installation place, There are cases where the location is the same and only the direction of the camera can be changed, such as a surveillance camera that can be swung.

また、結果データ情報を用いた例としては、画像識別処理の結果データとして、例えば、入力画像から得られた物体(人や自動車等)の識別個数の情報や、その識別した物体座標値(複数あればそのリスト)などが考えられる。識別個数の利用例としては、識別個数がある閾値以上となる場合は、検出人数が多すぎる(誤識別が含まれる)と判断して、識別個数を減らすように、識別処理の閾値(例えばRealAdaBoostであれば強識別器の出力値に対する最終閾値)を変更することができる。逆に、識別個数がずっと0の場合は、識別個数を増やすように、当該閾値を変更することができ、これを繰り返すことで最適な閾値になるように、リソースマネージャ30が自動で調整することができる。  Further, as an example using the result data information, as the result data of the image identification process, for example, information on the number of objects (persons, cars, etc.) obtained from the input image, and the identified object coordinate values (multiple If there is such a list), it can be considered. As an example of using the identification number, if the identification number is equal to or greater than a certain threshold, it is determined that the number of detected persons is too large (including erroneous identification) and the identification processing threshold (for example, RealAdaBoost) If so, the final threshold for the output value of the strong discriminator can be changed. On the contrary, when the number of identifications is always 0, the threshold value can be changed so as to increase the number of identifications, and theresource manager 30 automatically adjusts so that the optimum threshold value is obtained by repeating this. Can do.

また、結果データ情報を用いた他の例としては、入力画像から物体を検出する際に、検出ウィンドウの最適なサイズが分からない場合に、複数のプログラムもしくはタイル処理部433を利用して、複数のウィンドウサイズに対する処理を並行して処理させ、得られる識別個数などの結果データから、最適なウィンドウサイズを判定する方法が考えられる。また、並行に処理させず、1つのタイル処理部433で1つのウィンドウサイズに対する処理を行い、その結果データ(識別個数等)から、ウィンドウサイズを増減させ、最適なウィンドウサイズに収束させる方法も考えられる。  As another example using the result data information, when an object is detected from an input image and the optimum size of the detection window is not known, a plurality of programs ortile processing units 433 are used to A method of determining the optimum window size from the result data such as the number of identifications obtained is considered. In addition, a method is considered in which processing is performed for one window size by onetile processing unit 433 without performing parallel processing, and the window size is increased or decreased from the result data (identification number, etc.) to converge to an optimal window size. It is done.

これらは、第1の実施形態と同様に、初めに制御方法(判断手順)を設定さえしておけば、人が場合に応じて手動で設定変更したりせずに、リソースマネージャ30が自己判断で自動的に、最適な状態になるよう処理内容の変更制御を継続的に行うことができるようになり、人の稼動が不要でかつ迅速、確実、安定した対応が可能なシステムを実現できる。  As in the first embodiment, theresource manager 30 makes a self-judgement without having to manually change the setting according to circumstances as long as the control method (judgment procedure) is set first. As a result, it is possible to automatically and continuously control the change of processing contents so as to be in an optimum state, and it is possible to realize a system that does not require human operation and can respond quickly, reliably, and stably.

本発明によれば、サーバコンピュータ20によるソフトウェア処理と、ハードウェアを用いたアクセラレータ40によるハードウェア処理と、を組み合わせることにより、負荷の大きい処理はアクセラレータ40に割り当てることができるため、多数のユーザからの大容量かつリアルタイム処理が必要な処理に対して対応できるようになるという効果が得られる。  According to the present invention, a combination of software processing by theserver computer 20 and hardware processing by theaccelerator 40 using hardware can assign a heavy load to theaccelerator 40. Thus, it is possible to cope with processing that requires a large capacity and real-time processing.

また、ハードウェアのアクセラレータ40として、従来のような機能が固定されたハードウェアではなく、再構成可能なハードウェア(FPGA等)を用いたアクセラレータ40とすることにより、処理高速化とともに高い汎用性・柔軟性を持つシステムを実現することができるという効果が得られる。  In addition, thehardware accelerator 40 is not hardware with fixed functions as in the prior art, but is anaccelerator 40 using reconfigurable hardware (FPGA or the like), so that high processing speed and high versatility are achieved. -The effect that a system with flexibility can be realized is obtained.

また、アクセラレータ40として、サービス動作中に異なる機能回路をハードウェア上に再構成できるようにすることにより、複数のユーザからの異なる要求に対しても、サービスを止めることなく、高速な処理を並列かつ機能を変更して処理を実行することができるという効果が得られる。  Moreover, by enabling different functional circuits to be reconfigured on the hardware during the service operation as theaccelerator 40, high-speed processing can be performed in parallel without stopping the service even for different requests from multiple users. And the effect that a process can be performed by changing a function is acquired.

また、リソースマネージャ30として、ユーザ要求情報だけでなく、環境情報、および結果データ情報の内容や条件にも基づいて、サーバコンピュータ20やアクセラレータ40の処理内容を変更することができ、初めに制御方法を設定さえしておけば、途中で人が手動で設定変更する必要なく、リソースマネージャ30が自己判断で自動的に、最適な状態になるよう制御できるようになり、人の稼動が不要、かつ迅速、確実、安定した対応が可能なシステムを実現できるという効果が得られる。  Theresource manager 30 can change the processing contents of theserver computer 20 and theaccelerator 40 based not only on the user request information but also on the contents and conditions of the environment information and the result data information. As long as it is set, theresource manager 30 can automatically control to be in an optimum state by self-judgment without the need for manual change in the middle of the operation, and no human operation is required. The effect is that a system capable of prompt, reliable and stable response can be realized.

また、アクセラレータ40内の再構成可能なタイル処理部433に、HOG特徴抽出処理とRealAdaBoost識別処理の機能を実装することにより、複数の映像入力かつ膨大な計算量であっても、リアルタイム処理ができるという効果が得られる。  In addition, by implementing the functions of HOG feature extraction processing and RealAdaBoost identification processing in the reconfigurabletile processing unit 433 in theaccelerator 40, real-time processing can be performed even with a plurality of video inputs and an enormous amount of calculation. The effect is obtained.

本発明は、以下のようなサービスやシステムに利用可能である。
・利用者端末が通信(有線・無線問わず)を介してネットワーク上のサーバ、またはデータセンタと接続して利用する情報通信サービス。
・製造後にも再構成可能な(リコンフィギャラブルな)LSI、プロセッサ、デバイスを応用するシステム。
・映像または画像のリアルタイム処理を行うシステム。
・監視システム、見守りシステム、ディジタルサイネージ、ITSなど。
The present invention is applicable to the following services and systems.
An information communication service used by a user terminal connected to a server on a network or a data center via communication (whether wired or wireless).
A system that applies reconfigurable (reconfigurable) LSIs, processors, and devices after manufacturing.
A system that performs real-time processing of video or images.
・ Monitoring systems, watching systems, digital signage, ITS, etc.

10 ユーザ端末
20 サーバコンピュータ
21 ソフトウェア(SW)処理管理部
30 リソースマネージャ
31 処理内容管理DB
32 処理内容制御部
33 結果データ取得部
40 アクセラレータ
41 内部データ入出力制御部
42 外部データ入出力制御部
43 再構成ハードウェア処理部
431 タイル間接続部
432 タイルブロック部
433 タイル処理部
434 タイル制御部
44 ハードウェア(HW)処理管理部
45 アクセラレータ間接続入出力制御部
50 サーバ・アクセラレータ間接続部
60 アクセラレータ間接続部
DESCRIPTION OFSYMBOLS 10User terminal 20Server computer 21 Software (SW)process management part 30Resource manager 31 Process content management DB
32 processingcontent control unit 33 resultdata acquisition unit 40accelerator 41 internal data input /output control unit 42 external data input /output control unit 43 reconfigurablehardware processing unit 431inter-tile connection unit 432tile block unit 433tile processing unit 434tile control unit 44 Hardware (HW)processing management unit 45 Inter-accelerator connection input /output control unit 50 Server-accelerator connection unit 60 Inter-accelerator connection unit

Claims (8)

Translated fromJapanese
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、
ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、
ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させるリソースマネージャと、を有し、
前記リソースマネージャは、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更する、
サービス提供システム。
One or more server computers executing software functions according to software programs;
One or more accelerators configured to reconfigurable hardware circuits capable of executing hardware functions and executing the hardware functions;
A resource manager that distributes a function required for providing a service requested by a user into a software function and a hardware function, assigns the software function to the server computer and executes the function, and assigns the hardware function to the accelerator and executes the function; Have
The resource manager changes the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator based on the processing result of the server computer or the accelerator.
Service provision system.
請求項1に記載のサービス提供システムにおいて、
前記アクセラレータが複数あり、
前記複数のアクセラレータを互いに接続し、互いにデータを通信させるためのアクセラレータ間接続部をさらに有する、
サービス提供システム。
The service providing system according to claim 1,
A plurality of the accelerators;
Further comprising an inter-accelerator connection for connecting the plurality of accelerators to each other and communicating data with each other;
Service provision system.
請求項1または2に記載のサービス提供システムにおいて、
前記アクセラレータは、再構成可能なハードウェア回路として1以上のタイルブロック部を有し、
前記タイルブロック部は、1以上のタイル処理部と、該タイル処理部を自身のタイルブロック部の外部と接続するタイル制御部と、を備える、
サービス提供システム。
The service providing system according to claim 1 or 2,
The accelerator has one or more tile block units as a reconfigurable hardware circuit,
The tile block unit includes one or more tile processing units and a tile control unit that connects the tile processing unit to the outside of the tile block unit.
Service provision system.
請求項3に記載のサービス提供システムにおいて、
ユーザから、画像が入力されて該画像の画像処理のサービスを要求され、
前記タイル処理部は、
前記画像を入力し特徴抽出処理を行い特徴量情報を出力する第1のタイル処理部と、
前記第1のタイル処理部から出力された特徴量情報を入力し物体識別処理を行い識別結果を出力する第2のタイル処理部と、を含む、
サービス提供システム。
The service providing system according to claim 3,
The user inputs an image and requests an image processing service for the image.
The tile processing unit
A first tile processing unit that inputs the image, performs feature extraction processing, and outputs feature amount information;
A second tile processing unit that inputs feature amount information output from the first tile processing unit, performs object identification processing, and outputs an identification result.
Service provision system.
請求項4に記載のサービス提供システムにおいて、
前記第1のタイル処理部は、前記特徴抽出処理として、HOG特徴量を抽出する処理を行い、
前記第2のタイル処理部は、前記物体識別処理として、AdaBoost識別処理を行う、
サービス提供システム。
The service providing system according to claim 4,
The first tile processing unit performs a process of extracting a HOG feature value as the feature extraction process,
The second tile processing unit performs AdaBoost identification processing as the object identification processing.
Service provision system.
サービス提供システムによるサービス提供方法であって、
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、
ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、
リソースマネージャと、を設け、
前記リソースマネージャが、ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させるステップと、
前記リソースマネージャが、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更するステップと、を有する、
サービス提供方法。
A service providing method by a service providing system,
One or more server computers executing software functions according to software programs;
One or more accelerators configured to reconfigurable hardware circuits capable of executing hardware functions and executing the hardware functions;
A resource manager,
The resource manager allocates a function required for providing a service requested by a user to a software function and a hardware function, assigns the software function to the server computer and executes the function, and assigns a hardware function to the accelerator. Steps to be performed;
The resource manager, based on the processing result of the server computer or the accelerator, changing the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator,
Service provision method.
ソフトウェア機能をソフトウェアプログラムに従って実行する1以上のサーバコンピュータと、ハードウェア機能を実行可能なハードウェア回路を再構成可能に構築して該ハードウェア機能を実行する1以上のアクセラレータと、に接続されたリソースマネージャであって、
ユーザから要求されたサービスの提供に必要な機能をソフトウェア機能とハードウェア機能とに振り分け、ソフトウェア機能を前記サーバコンピュータに割り当てて実行させると共に、ハードウェア機能を前記アクセラレータに割り当てて実行させる処理内容制御部と、
前記サーバコンピュータまたは前記アクセラレータの処理結果を取得する結果データ取得部と、を有し、
前記処理内容制御部は、前記サーバコンピュータまたは前記アクセラレータの処理結果に基づいて、前記サーバコンピュータに割り当てたソフトウェア機能の内容または前記アクセラレータに割り当てたハードウェア機能の内容を変更する、
リソースマネージャ。
Connected to one or more server computers that execute software functions according to a software program, and one or more accelerators that reconfigurable hardware circuits that can execute the hardware functions and execute the hardware functions A resource manager,
Processing content control that distributes functions required for providing a service requested by a user into software functions and hardware functions, assigns the software functions to the server computer and executes them, and assigns the hardware functions to the accelerator and executes them And
A result data acquisition unit for acquiring a processing result of the server computer or the accelerator,
The processing content control unit changes the content of the software function assigned to the server computer or the content of the hardware function assigned to the accelerator based on the processing result of the server computer or the accelerator.
Resource manager.
コンピュータを、請求項7に記載のリソースマネージャとして機能させるためのプログラム。  A program for causing a computer to function as the resource manager according to claim 7.
JP2012034918A2012-02-212012-02-21 Service providing system, service providing method, resource manager, programExpired - Fee RelatedJP5876319B2 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
JP2012034918AJP5876319B2 (en)2012-02-212012-02-21 Service providing system, service providing method, resource manager, program

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
JP2012034918AJP5876319B2 (en)2012-02-212012-02-21 Service providing system, service providing method, resource manager, program

Publications (2)

Publication NumberPublication Date
JP2013171435Atrue JP2013171435A (en)2013-09-02
JP5876319B2 JP5876319B2 (en)2016-03-02

Family

ID=49265319

Family Applications (1)

Application NumberTitlePriority DateFiling Date
JP2012034918AExpired - Fee RelatedJP5876319B2 (en)2012-02-212012-02-21 Service providing system, service providing method, resource manager, program

Country Status (1)

CountryLink
JP (1)JP5876319B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2016009339A (en)*2014-06-242016-01-18キヤノン株式会社 Image processing apparatus, control method thereof, and program
US20170078148A1 (en)*2015-09-142017-03-16Yoshiki MatsumotoData processing system, data processing control apparatus, and data processing control method
WO2017119098A1 (en)*2016-01-072017-07-13株式会社日立製作所Computer system and method for controlling computer
JP2020004429A (en)*2019-08-082020-01-09キヤノン株式会社 Information processing apparatus, control method thereof, and program
KR20200085724A (en)*2019-01-042020-07-15바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 Method and system for providing secure communication between a host system and a data processing accelerator
JP2021086564A (en)*2019-11-292021-06-03Necソリューションイノベータ株式会社Dynamic reconstruction control device, dynamic reconstruction control method, and program

Citations (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH0275002A (en)*1988-09-101990-03-14Fujitsu Ltd digital control device
JP2002214336A (en)*2001-01-192002-07-31Japan Radio Co Ltd Weather radar equipment
JP2005531089A (en)*2002-06-262005-10-13コーヒレント・ロジックス・インコーポレーテッド Processing system with interspersed processors and communication elements
JP2007183726A (en)*2006-01-052007-07-19Nec CorpData processor and data processing method
JP2009284208A (en)*2008-05-222009-12-03Renesas Technology CorpMoving image encoder and moving image recorder
JP2011048579A (en)*2009-08-262011-03-10Univ Of TokyoImage processor and image processing method
WO2011092323A1 (en)*2010-02-012011-08-04Philippe ManetA tile-based processor architecture model for high efficiency embedded homogneous multicore platforms
JP2011248503A (en)*2010-05-252011-12-08Nippon Telegr & Teleph Corp <Ntt> Information service system
JP2013045219A (en)*2011-08-232013-03-04Nippon Telegr & Teleph Corp <Ntt>Data processing system, data processing method, resource manager device, accelerator device, and program

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH0275002A (en)*1988-09-101990-03-14Fujitsu Ltd digital control device
JP2002214336A (en)*2001-01-192002-07-31Japan Radio Co Ltd Weather radar equipment
JP2005531089A (en)*2002-06-262005-10-13コーヒレント・ロジックス・インコーポレーテッド Processing system with interspersed processors and communication elements
JP2007183726A (en)*2006-01-052007-07-19Nec CorpData processor and data processing method
JP2009284208A (en)*2008-05-222009-12-03Renesas Technology CorpMoving image encoder and moving image recorder
JP2011048579A (en)*2009-08-262011-03-10Univ Of TokyoImage processor and image processing method
WO2011092323A1 (en)*2010-02-012011-08-04Philippe ManetA tile-based processor architecture model for high efficiency embedded homogneous multicore platforms
JP2013529322A (en)*2010-02-012013-07-18フィリップ・マネ A tile-based processor architecture model for highly efficient embedded uniform multi-core platforms
JP2011248503A (en)*2010-05-252011-12-08Nippon Telegr & Teleph Corp <Ntt> Information service system
JP2013045219A (en)*2011-08-232013-03-04Nippon Telegr & Teleph Corp <Ntt>Data processing system, data processing method, resource manager device, accelerator device, and program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG201100204009; 青木 孝 外3名: 'リアルタイム画像識別におけるスケーラブルアーキテクチャの設計' 電子情報通信学会技術研究報告 VLSI設計技術 第110巻,第432号, 20110223, pp.75-80, 社団法人電子情報通信学会*
JPN6014044811; 青木 孝 外3名: 'リアルタイム画像識別におけるスケーラブルアーキテクチャの設計' 電子情報通信学会技術研究報告 VLSI設計技術 第110巻,第432号, 20110223, pp.75-80, 社団法人電子情報通信学会*

Cited By (10)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JP2016009339A (en)*2014-06-242016-01-18キヤノン株式会社 Image processing apparatus, control method thereof, and program
US20170078148A1 (en)*2015-09-142017-03-16Yoshiki MatsumotoData processing system, data processing control apparatus, and data processing control method
US10298455B2 (en)2015-09-142019-05-21Ricoh Company, Ltd.Data processing system, data processing control apparatus, and data processing control method
WO2017119098A1 (en)*2016-01-072017-07-13株式会社日立製作所Computer system and method for controlling computer
JPWO2017119098A1 (en)*2016-01-072018-11-08株式会社日立製作所 Computer system and computer control method
KR20200085724A (en)*2019-01-042020-07-15바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 Method and system for providing secure communication between a host system and a data processing accelerator
KR102323763B1 (en)*2019-01-042021-11-08바이두닷컴 타임즈 테크놀로지(베이징) 컴퍼니 리미티드 Methods and systems for providing secure communication between a host system and a data processing accelerator
US11328075B2 (en)2019-01-042022-05-10Baidu Usa LlcMethod and system for providing secure communications between a host system and a data processing accelerator
JP2020004429A (en)*2019-08-082020-01-09キヤノン株式会社 Information processing apparatus, control method thereof, and program
JP2021086564A (en)*2019-11-292021-06-03Necソリューションイノベータ株式会社Dynamic reconstruction control device, dynamic reconstruction control method, and program

Also Published As

Publication numberPublication date
JP5876319B2 (en)2016-03-02

Similar Documents

PublicationPublication DateTitle
JP5876319B2 (en) Service providing system, service providing method, resource manager, program
JP5653865B2 (en) Data processing system
EP3924845B1 (en)Responding to machine learning requests from multiple clients
CN112105035B (en)Deployment method and device of mobile edge computing server
CN115269717B (en) Storage device, distributed storage system and data processing method
CN105729491B (en)The execution method, apparatus and system of robot task
CN106375721A (en) An Intelligent Video Surveillance System Based on Cloud Platform
US10708496B2 (en)Analytics based power management for cameras
CN104657205A (en)Virtualization-based video content analyzing method and system
CN113934545A (en)Video data scheduling method, system, electronic equipment and readable medium
CN105025099A (en) Intelligent camera network system and camera network dynamic task assignment method
US20210141675A1 (en)Hotpluggable runtime
CN107181825B (en)Online processing method of terminal equipment data
CN111340016A (en)Image exposure method and apparatus, storage medium, and electronic apparatus
WO2020001427A1 (en)Analysis task execution method, apparatus and system, and electronic device
CN105827716A (en)LED advertisement screen control system based on big data
CN111897348A (en) Control method and system of cloud robot, cloud robot, cloud server
KR102257325B1 (en)Method and Apparatus for IoT Camera Virtualization Based on Multiple Service Request and Context-awareness
CN111160283B (en)Data access method, device, equipment and medium
CN108958286A (en)Multi-rotor aerocraft Cloud Server network system and its control method
US10074098B2 (en)Demographic information collection and content display based on demographic information
CN117749407A (en)6G communication network architecture generation method, system, electronic equipment and medium
Choi et al.Scout: Data center monitoring system with multiple mobile robots
CN111815772B (en) Plateau mountainous land use method, system, storage medium and computer equipment
CN115810276A (en)System and subsystem for realizing traffic signal control

Legal Events

DateCodeTitleDescription
A621Written request for application examination

Free format text:JAPANESE INTERMEDIATE CODE: A621

Effective date:20140128

A977Report on retrieval

Free format text:JAPANESE INTERMEDIATE CODE: A971007

Effective date:20141015

RD03Notification of appointment of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7423

Effective date:20141027

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20141028

RD04Notification of resignation of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7424

Effective date:20141031

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20141225

A131Notification of reasons for refusal

Free format text:JAPANESE INTERMEDIATE CODE: A131

Effective date:20150602

A521Request for written amendment filed

Free format text:JAPANESE INTERMEDIATE CODE: A523

Effective date:20150730

RD02Notification of acceptance of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7422

Effective date:20151001

RD04Notification of resignation of power of attorney

Free format text:JAPANESE INTERMEDIATE CODE: A7424

Effective date:20151005

TRDDDecision of grant or rejection written
A01Written decision to grant a patent or to grant a registration (utility model)

Free format text:JAPANESE INTERMEDIATE CODE: A01

Effective date:20160119

A61First payment of annual fees (during grant procedure)

Free format text:JAPANESE INTERMEDIATE CODE: A61

Effective date:20160121

R150Certificate of patent or registration of utility model

Ref document number:5876319

Country of ref document:JP

Free format text:JAPANESE INTERMEDIATE CODE: R150

LAPSCancellation because of no payment of annual fees

[8]ページ先頭

©2009-2025 Movatter.jp