JP2022075565A - 協調演算装置および協調演算方法 - Google Patents
協調演算装置および協調演算方法 Download PDFInfo
- Publication number
- JP2022075565A JP2022075565A JP2021176559A JP2021176559A JP2022075565A JP 2022075565 A JP2022075565 A JP 2022075565A JP 2021176559 A JP2021176559 A JP 2021176559A JP 2021176559 A JP2021176559 A JP 2021176559A JP 2022075565 A JP2022075565 A JP 2022075565A
- Authority
- JP
- Japan
- Prior art keywords
- module
- calculation module
- calculation
- image frame
- image frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 264
- 238000000034 method Methods 0.000 claims description 20
- 238000003491 array Methods 0.000 claims 1
- 238000009877 rendering Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/22—Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
- G06F7/24—Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
【課題】協調演算装置および協調演算方法を提供する。
【解決手段】協調演算装置は指令配付モジュール、第一計算モジュール、第二計算モジュールおよび画像配列モジュールを備える。指令配付モジュールは複数のオリジナル画像フレームをキャッチし、負荷結果に基づいて複数のオリジナル画像フレームを第一数量のオリジナル画像フレームおよび第二数量のオリジナル画像フレームに機動的に分ける。第一計算モジュールおよび第二計算モジュールは異なる形態の計算モジュールである。第一計算モジュールは第一数量のオリジナル画像フレームをキャッチし、第一数量の処理済み画像フレームを生成する。第二計算モジュールは第二数量のオリジナル画像フレームをキャッチし、第二数量の処理済み画像フレームを生成する。画像配列モジュールは第一数量の処理済み画像フレームおよび第二数量の処理済み画像フレームをキャッチし、第一タイミングの時点の順に基づいて複数の処理済み画像フレームの配列を復元し、負荷結果を出す。協調演算方法は協調演算装置に応用される。
【選択図】 図1
【解決手段】協調演算装置は指令配付モジュール、第一計算モジュール、第二計算モジュールおよび画像配列モジュールを備える。指令配付モジュールは複数のオリジナル画像フレームをキャッチし、負荷結果に基づいて複数のオリジナル画像フレームを第一数量のオリジナル画像フレームおよび第二数量のオリジナル画像フレームに機動的に分ける。第一計算モジュールおよび第二計算モジュールは異なる形態の計算モジュールである。第一計算モジュールは第一数量のオリジナル画像フレームをキャッチし、第一数量の処理済み画像フレームを生成する。第二計算モジュールは第二数量のオリジナル画像フレームをキャッチし、第二数量の処理済み画像フレームを生成する。画像配列モジュールは第一数量の処理済み画像フレームおよび第二数量の処理済み画像フレームをキャッチし、第一タイミングの時点の順に基づいて複数の処理済み画像フレームの配列を復元し、負荷結果を出す。協調演算方法は協調演算装置に応用される。
【選択図】 図1
Description
本発明は、協調演算装置および協調演算方法に関し、詳しくは二つの異なる形態のプロセッサーの間の協調演算装置およびその方法に関するものである。
様々な技術分野に人工知能(AI)を大幅に応用する現今において、顔認証システムは人工知能を採用することがよく知られる。顔認証システムの人工知能が演算を行う際、CPU(中央処理装置)とGPU(グラフィックス プロセッシング ユニット)によって大量計算を処理すると同時にシステムの時間遅延が発生するため、グラフィックスの計算およびグラフィックスの表示をリアルタイム(real-time)で行うことができる。
CPUおよびGPUに効率よく演算を進めさせるために、従来の技術は下記の二つの方式を掲示した。一つは異なる形態の演算を行うCPUおよびGPUを採用することである。例えば、CPUは論理(logic)演算を行うのに対し、GPUはレンダリング(render)操作を行う。一つはCPUおよびGPUを統合し、リソースプールのストリーミング処理をまとめた(unified streaming processing resource pool)うえでレンダリングによって生成したオリジナルフレームを分割し、CPUおよびGPUに配付することによってビデオ通信のストリーミング処理を行って整合し、それらを動画ストリームに変換することである。
上述した方式において、CPUおよびGPUは計算力および負荷状況がことなるため、CPUおよびGPUのいずれか一つが過度稼働であるのに対し、別の一つがあまり稼働しなくてもよいという現象が発生し、CPUまたはGPUの計算資源を無駄にする。つまり、CPUまたはGPUのハードウェアパフォーマンスを最大限に利用することはできない。
従って、上述した従来の技術の問題点を解決できる協調演算装置および協調演算方法を探ることは最も重要な課題である。言い換えれば、二つの異なる形態の計算モジュール(例えばCPU計算モジュールおよびGPU計算モジュール)に計算作業を良好な配付構造によって分担させれば、二つの異なる形態の計算モジュールの計算能力を同時に考慮し、それらのハードウェアパフォーマンスを無駄にせず十分に発揮することができる。
本発明は上述した技術的問題に鑑み、二つの計算モジュール(例えばCPU計算モジュールおよびGPU計算モジュール)のハードウェアパフォーマンスを良好な配付構造によって効果的に利用することができる協調演算装置および協調演算方法を提供することを主な目的とする。
上述した課題を解決するため、協調演算装置は指令配付モジュール、第一計算モジュール、第二計算モジュールおよび画像配列モジュールを備える。指令配付モジュールは複数の第一タイミングに対応するオリジナル画像フレームおよび負荷結果を別々にキャッチし、負荷結果に基づいて複数のオリジナル画像フレームを複数の第一数量のオリジナル画像フレームおよび複数の第二数量のオリジナル画像フレームに機動的に分ける。第一計算モジュールは指令配付モジュールに電気的に接続され、複数の第一数量のオリジナル画像フレームをキャッチし、複数の第一数量の処理済み画像フレームを生成する。第二計算モジュールは指令配付モジュールに電気的に接続されて複数の第二数量のオリジナル画像フレームをキャッチし、複数の第二数量の処理済み画像フレームを生成する。画像配列モジュールは指令配付モジュール、第一計算モジュールおよび第二計算モジュールに別々に電気的に接続されて複数の第一数量の処理済み画像フレームおよび複数の第二数量の処理済み画像フレームをキャッチし、第一タイミングに基づいて複数の処理済み画像フレームの配列を復元し、負荷結果を出す。第一計算モジュールおよび第二計算モジュールは異なる形態の計算モジュールである。画像配列モジュールは第一計算モジュールおよび第二計算モジュールの各自の計算能力および負荷状態に基づいて負荷結果を機動的に判断する。
一実施形態において、第一計算モジュールはCPU(中央処理装置)計算モジュールである。第二計算モジュールはGPU(グラフィックス プロセッシング ユニット)計算モジュールである。
一実施形態において、一枚ごとの画像フレーム処理に対する第一計算モジュールおよび第二計算モジュールのそれぞれの所要時間に基づいて画像配列モジュールは第一計算モジュールおよび第二計算モジュールの各自の計算能力または負荷状態を判断し、負荷結果を表示する。
一実施形態において、第二数量および第一数量の比は一枚ごとの画像フレーム処理に対する第一計算モジュールおよび第二計算モジュールの所要時間の比に関連がある。
一実施形態において、協調演算装置はさらに画像取り込みモジュールおよび画像出力モジュールを備える。画像取り込みモジュールは指令配付モジュールに電気的に接続され、一つ以上の対象物の画像を取り込んでオリジナル画像フレームを生成する。画像出力モジュールは画像配列モジュールに電気的に接続され、配列が復元された処理済み画像フレームをキャッチする。
一実施形態において、第一計算モジュールまたは第二計算モジュールは対象物の一つ以上の特徴部位の座標位置を算出し、算出した特徴部位の座標位置を画像配列モジュールによって指令配付モジュールへ伝送する。
上述した課題を解決するため、協調演算方法は下記のステップを含む。ステップ1は複数の第一タイミングに対応するオリジナル画像フレームをキャッチすることである。ステップ2は第一計算モジュールおよび第二計算モジュールの各自の計算能力または負荷状況を表示する負荷結果を読み取ることである。第一計算モジュールおよび第二計算モジュールは異なる形態の計算モジュールである。ステップ3は負荷結果に基づいて複数のオリジナル画像フレームを第一数量のオリジナル画像フレームおよび第二数量のオリジナル画像フレームに機動的に分けることである。ステップ4は複数の第一数量のオリジナル画像フレームを第一計算モジュールに配付し、複数の第二数量のオリジナル画像フレームを第二計算モジュールに配付することである。ステップ5は第一計算モジュールによって複数の第一数量のオリジナル画像フレームを処理し、第一数量の処理済み画像フレームを生成することである。ステップ6は第二計算モジュールによって複数の第二数量のオリジナル画像フレームを処理し、第二数量の処理済み画像フレームを生成することである。ステップ7は第一タイミングに基づいて複数の第一数量の処理済み画像フレームおよび複数の第二数量の処理済み画像フレームの配列を復元することである。
一実施形態において、負荷結果は一枚ごとの画像フレーム処理に対する第一計算モジュールおよび第二計算モジュールのそれぞれの所要時間に基づいて判断される。
一実施形態において、第二数量および第一数量の比は一枚ごとの画像フレーム処理に対する第一計算モジュールおよび第二計算モジュールの所要時間の比に関連がある。
一実施形態において、協調演算方法はさらに下記のステップを含む。一つは複数のオリジナル画像フレームをキャッチする前に一つ以上の対象物の画像を取り込んで対象物の一つ以上の特徴部位の座標位置を計算し、伝送することである。一つは複数の第一数量の処理済み画像フレームおよび複数の第二数量の処理済み画像フレームの配列を復元した後、複数の配列が復元された処理済み画像フレームを別のモジュールまたはユニットに出力することである。
一実施形態において、対象物の一つ以上の特徴部位の座標位置は第一計算モジュールおよび第二計算モジュールまたはいずれか一つに伝送される。
上述した技術特徴および実施形態により、本発明による協調演算装置および協調演算方法は前回の計算作業においての第一計算モジュール(CPU計算モジュール)および第二計算モジュール(GPU計算モジュール)の各自の負荷状態を参考に、次回の計算作業を行う際、第一計算モジュールおよび第二計算モジュールに配付する画像フレームの比を機動的に調整して第一計算モジュールおよび第二計算モジュールの負荷を平衡させるため、第一計算モジュールおよび第二計算モジュールのハードウェアパフォーマンスを無駄にせず十分に発揮することができる。
以下、本発明による協調演算装置および協調演算方法を図面に基づいて説明する。
(第1実施形態)
図1に示すように、本発明の第1実施形態による協調演算装置2は画像取り込みモジュール21、指令配付モジュール22、第一計算モジュール23、第二計算モジュール24、画像配列モジュール25および画像出力モジュール26を備える。本実施形態において、第一計算モジュール23はCPU計算モジュールである。第二計算モジュール24はGPU計算モジュールである。
図1に示すように、本発明の第1実施形態による協調演算装置2は画像取り込みモジュール21、指令配付モジュール22、第一計算モジュール23、第二計算モジュール24、画像配列モジュール25および画像出力モジュール26を備える。本実施形態において、第一計算モジュール23はCPU計算モジュールである。第二計算モジュール24はGPU計算モジュールである。
画像取り込みモジュール21はウェブカメラ(Web CAM)または画像キャプチャカードから構成され、対象物の画像を取り込んで処理前のオリジナル画像フレーム(Frame)Fo1からFo7を出力する。オリジナル画像フレームFo1からFo7の配列の順は第一タイミング(時点T1からT7)に対応する。画像取り込みモジュール21は指令配付モジュール22に電気的に接続され、オリジナル画像フレームFo1からFo7を指令配付モジュール22に伝送する。
指令配付モジュール22は画像取り込みモジュール21、CPU計算モジュール23、GPU計算モジュール24および画像配列モジュール25に別々に電気的に接続される。指令配付モジュール22は画像配列モジュール25から前回の計算作業の負荷結果R1をキャッチする。負荷結果R1は前回の計算作業でのCPU計算モジュール23およびGPU計算モジュール24の各自の負荷状況を表示する。指令配付モジュール22は負荷結果R1に基づいて次回オリジナル画像フレームFo1からFo7をCPU計算モジュール23およびGPU計算モジュール24に配付し、処理させる方式を決める。
本実施形態において、オリジナル画像フレームFo1からFo7は計算時間が異なって連続した複数の同じオリジナル画像フレームであり、数が増減してもよい。
前回の計算作業の負荷結果R1は一枚ごとの画像フレーム処理に対するCPU計算モジュール23の所要時間TcおよびGPU計算モジュール24の所要時間Tgを表示する。CPU計算モジュール23の所要時間TcがGPU計算モジュール24の所要時間Tgより長ければ(即ちTc>Tgの場合)、前回の計算作業において、CPU計算モジュール23の計算処理効率が比較的低いか、CPU計算モジュール23の計算処理の負荷が比較的大きいため、画像演算時間が長くなることを表示する。言い換えれば、次回の計算作業を行う際、指令配付モジュール22が前回の計算作業の負荷結果R1を参考に、GPU計算モジュール24に配付するオリジナル画像フレームの数を増やすことによってCPU計算モジュール23の負荷を減らし、CPU計算モジュール23およびGPU計算モジュール24の負荷を平衡させれば、CPU計算モジュール23およびGPU計算モジュール24の協調演算のパフォーマンスを最適化することができる。
CPU計算モジュール23の所要時間TcがGPU計算モジュール24の所要時間Tgより短ければ(即ちTc<Tgの場合)、前回の計算作業において、CPU計算モジュール23の計算処理効率が比較高いか、CPU計算モジュール23の計算処理の負荷が比較的小さいため、画像演算時間が短くなることを表示する。上述した技術特徴により、次回の計算作業を行う際、指令配付モジュール22は前回の計算作業の負荷結果R1を参考に、CPU計算モジュール23に配付するオリジナル画像フレームの数を増やす。
第1実施形態において、指令配付モジュール22は前回の計算作業において一枚ごとに画像フレームを処理するCPU計算モジュール23およびGPU計算モジュール24の所要時間の比を参考に、次回の計算作業を行う際にCPU計算モジュール23およびGPU計算モジュール24に別々に配付する画像フレームの数を決める。
表1は前回の計算作業の負荷結果R1である。表1に示すように、CPU計算モジュール23は3枚の画像フレームを処理する時間が12ms(即ち4ms/1枚)ある。GPU計算モジュール24は5枚の画像フレームを処理する時間が15ms(即ち3ms/1枚)である。つまり、一枚ごとの画像フレームに対するCPU計算モジュール23およびGPU計算モジュール24の処理時間の比は4:3であるため、次回の計算作業を行う際に、指令配付モジュール22はCPU計算モジュール23およびGPU計算モジュール24に別々に配付する画像フレームの数の比を3:4に調整する。
CPU計算モジュール23およびGPU計算モジュール24に別々に配付する画像フレームの数の比が3:4であれば、指令配付モジュール22は画像取り込みモジュール21からオリジナル画像フレームFo1からFo7をキャッチし、そのうちの3枚(即ち第一数量)のオリジナル画像フレームをCPU計算モジュール23、別の4枚(即ち第二数量)のオリジナル画像フレームをGPU計算モジュール24に配付する。第1実施形態において、指令配付モジュール22は3枚のオリジナル画像フレームFo1、Fo3、Fo6をCPU計算モジュール23、別の4枚のオリジナル画像フレームFo2、Fo4、Fo5、Fo7をGPU計算モジュール24に配付する。指令配付モジュール22は非連続のオリジナル画像フレームを配布するが、これに限定されない。別の一実施形態において、指令配付モジュール22は3枚の連続したオリジナル画像フレームFo1、Fo2、Fo3をCPU計算モジュール23、別の連続した4枚のオリジナル画像フレームFo4、Fo5、Fo6、Fo7をGPU計算モジュール24に配付する。また別の一実施形態において、指令配付モジュール22は任意の3枚のオリジナル画像フレームFo1、Fo5、Fo6をCPU計算モジュール23、別の4枚のオリジナル画像フレームFo2、Fo3、Fo4、Fo7をGPU計算モジュール24に配付する。つまり、指令配付モジュール22が画像フレームの選択方法に限定されず、画像フレームの数の比に基づいて画像フレームを配付すればよい。
続いて、CPU計算モジュール23およびGPU計算モジュール24はそれぞれキャッチしたした画像フレームを処理する。第1実施形態において、CPU計算モジュール23はオリジナル画像フレームFo1、Fo3、Fo6を処理し、処理済み画像フレームFc1、Fc2、Fc3を生成すると同時にそれらを画像配列モジュール25に伝送する。GPU計算モジュール24はオリジナル画像フレームFo2、Fo4、Fo5、Fo7を処理し、処理済み画像フレームFg1、Fg2、Fg3、Fg4を生成すると同時にそれらを画像配列モジュール25に伝送する。
本発明と従来の技術の違いは下記の通りである。従来の技術はCPU計算モジュールによって論理(logic)演算を行い、GPU計算モジュールによってレンダリング(render)を行う。それに対し、本発明において、CPU計算モジュール23およびGPU計算モジュール24はそれぞれ画像フレームに一枚ずつ論理演算およびレンダリングを行うことができる。つまり、CPU計算モジュール23はオリジナル画像フレームFo1、Fo3、Fo6に一枚ずつ論理演算およびレンダリングを行うことができる。GPU計算モジュール24はオリジナル画像フレームFo2、Fo4、Fo5、Fo7に一枚ずつ論理演算およびレンダリングを行うことができる。
別の一実施形態において、本発明により掲示されたCPU計算モジュール23およびGPU計算モジュール24は人工知能(AI)として画像フレーム中の顔認証を行い、顔の位置座標を算出することができる。CPU計算モジュール23およびGPU計算モジュール24によって算出された顔の位置座標は指令配付モジュール22に伝送され、次回の顔認証を行う際の参考になる。つまり、次回の顔認証を行う際、前回確認された顔の位置座標およびそのあたりをスキャンすれば計算時間を節約することができる。
画像配列モジュール25はCPU計算モジュール23、GPU計算モジュール24、指令配付モジュール22および画像出力モジュール26に別々に電気的に接続される。画像配列モジュール25はCPU計算モジュール23からの処理済み画像フレームFc1、Fc2、Fc3およびGPU計算モジュール24からの処理済み画像フレームFg1、Fg2、Fg3、Fg4をキャッチする。続いて、画像配列モジュール25はオリジナル画像フレームFo1からFo7の順序に基づいて処理済み画像フレームFc1、Fc2、Fc3の配列および処理済み画像フレームFg1、Fg2、Fg3、Fg4の配列を復元する。
本発明の第1実施形態において、画像配列モジュール25は図2に示すように処理済み画像の配列を復元する。図2に示すように、CPU計算モジュール23において、処理済み画像フレームFc1、Fc2、Fc3は処理前のオリジナル画像フレームFo1、Fo3、Fo6に対応するため、時点T1、T3、T6の順によって配列が復元される。
GPU計算モジュール24において、処理済み画像フレームFg1、Fg2、Fg3、Fg4は処理前のオリジナル画像フレームFo2、Fo4、Fo5、Fo7に対応するため、時点T2、T4、T5、T7の順によって配列が復元される。
まとめてみると、オリジナル画像フレームの配列の順(時点T1からT7を含む第一タイミング)に基づいて画像配列モジュール25は処理済み画像フレームFc1、Fc2、Fc3および処理済み画像フレームFg1、Fg2、Fg3、Fg4の配列を、処理済み画像フレームFc1、Fg1、Fc2、Fg2、Fg3、Fc3、Fg4の順に復元する。図1に示すように、画像配列モジュール25は配列を順に復元した処理済み画像フレームFc1、Fg1、Fc2、Fg2、Fg3、Fc3、Fg4を画像出力モジュール26に伝送する。
今回の計算作業において一枚ごとに画像ファイルを処理するCPU計算モジュール23およびGPU計算モジュール24のそれぞれの所要時間に基づいて、画像配列モジュール25は今回の計算作業に対するCPU計算モジュール23およびGPU計算モジュール24の各自の計算能力、処理速度または負荷状態を判断し、負荷結果R2を表示する。続いて、画像配列モジュール25は負荷結果R2を指令配付モジュール22に伝達する。次回の計算作業を行う際、指令配付モジュール22は負荷結果R2に基づいてCPU計算モジュール23およびGPU計算モジュール24に配付する画像フレームの数を調整する。
今回の計算作業において画像フレーム中の人物の顔位置はCPU計算モジュール23およびGPU計算モジュール24によって計算され、それに対応するデータが画像配列モジュール25によって記録される。画像配列モジュール25は人物の顔位置に対応するデータを指令配付モジュール22に伝達する。次回の計算作業を行う際、指令配付モジュール22は人物の顔位置に対応するデータを参考としてCPU計算モジュール23およびGPU計算モジュール24に伝送する。CPU計算モジュール23およびGPU計算モジュール24が次回のAI顔認証を行う際、前回の人物の顔位置座標およびそのあたりのエリアを予めスキャンすることができる。
(第2実施形態)
図3に示すように、本発明の第2実施形態による協調演算方法はステップ301から307を含む。
図3に示すように、本発明の第2実施形態による協調演算方法はステップ301から307を含む。
図1から図3に示すように、ステップ301において、第1実施形態により掲示された画像取り込みモジュール21は一つ以上の対象物(例えば顔などの特徴部位を有する人)の画像を取り込み、第一タイミング(例えば時点T1からT7の順序)によってそれぞれの時点に対応するオリジナル画像フレームFo1からFo7を出力する。
ステップ302は前回の計算作業の負荷結果R1をキャッチし、続いて第一計算モジュール(CPU計算モジュール23)または第二計算モジュール(GPU計算モジュール24)にオリジナル画像フレームFo1からFo7を負荷結果R1に基づいて配付する。表1に示すように、前回の負荷結果R1において、CPU計算モジュール23は3枚の画像フレームを処理する時間が12ms(即ち4ms/1枚)ある。GPU計算モジュール24は5枚の画像フレームを処理する時間が15ms(即ち3ms/1枚)である。一枚ごとの画像フレームに対するCPU計算モジュール23およびGPU計算モジュール24の処理時間の比は4:3であるため、次回の計算作業を行う際に、指令配付モジュール22はCPU計算モジュール23およびGPU計算モジュール24に別々に配付する画像フレームの数の比を3:4に調整する。つまり、第一数量(3枚)のオリジナル画像フレームFo1、Fo3、Fo6はCPU計算モジュール23に配付される。第二数量(4枚)のオリジナル画像フレームFo2、Fo4、Fo5、Fo7はGPU計算モジュール24に配付される。
ステップ303において、CPU計算モジュール23は第一数量のオリジナル画像フレームFo1、Fo3、Fo6に論理演算およびレンダリングなどの処理を行い、処理済み画像フレームFc1、Fc2、Fc3を生成すると同時にそれらを画像配列モジュール25に伝送する。
(ステップ303と同時に進行してもよい)ステップ304において、GPU計算モジュール24は第二数量のオリジナル画像フレームFo2、Fo4、Fo5、Fo7に論理演算およびレンダリングなどの処理を行い、処理済み画像フレームFg1、Fg2、Fg3、Fg4を生成すると同時にそれらを画像配列モジュール25に伝送する。
ステップ305において、第1実施形態により掲示された画像配列モジュール25は処理済み画像フレームFc1、Fc2、Fc3の配列および処理済み画像フレームFg1、Fg2、Fg3、Fg4の配列を復元する。図2に示すように、ステップ301において出力されたオリジナル画像フレームFo1からFo7はそれぞれ第一タイミングの時点T1からT7に対応する。従って、処理済み画像フレームFc1、Fc2、Fc3および処理済み画像フレームFg1、Fg2、Fg3、Fg4の配列は第一タイミングの時点T1からT7によって処理済み画像フレームFc1、Fg1、Fc2、Fg2、Fg3、Fc3、Fg4の順に復元される。
(ステップ305と同時に進行してもよい)ステップ306において、今回の計算作業を進めたCPU計算モジュール23およびGPU計算モジュール24の各自の計算能力または負荷状況は、処理済み画像フレームFc1、Fc2、Fc3および処理済み画像フレームFg1、Fg2、Fg3、Fg4の枚数の比およびタイミングの分布状況に基づいて判断され、判断結果即ち負荷結果R2によって表示される。続いて、負荷結果R2を指令配付モジュール22に伝送する。次回の計算作業を行う際、指令配付モジュール22は負荷結果R2に基づいてCPU計算モジュール23およびGPU計算モジュール24に配付する画像フレームの枚数の比を機動的に調整する。
ステップ307において、配列が復元された処理済み画像フレームFc1、Fg1、Fc2、Fg2、Fg3、Fc3、Fg4を出力し、後続の画像処理を行う。例えば、処理済み画像フレームFc1、Fg1、Fc2、Fg2、Fg3、Fc3、Fg4を第1実施形態により掲示された画像出力モジュール26に出力する。
上述をまとめてみると、第1実施形態により掲示された協調演算装置2および第2実施形態により掲示された協調演算方法は、前回の計算作業においての第一計算モジュール(CPU計算モジュール23)および第二計算モジュール(GPU計算モジュール24)の各自の計算能力または負荷状態に基づいて、第一計算モジュールおよび第二計算モジュールに配付する画像フレームの枚数の比を機動的に調整し、第一計算モジュールおよび第二計算モジュールの計算負荷を平衡させるため、第一計算モジュールおよび第二計算モジュールのいずれか一つが過度稼働であるのに対し、別の一つがあまり稼働しなくてもよいという現象を抑制し、協調演算のパフォーマンスを最適化することができる。
以上、本発明は、上記実施形態になんら限定されるものではなく、発明の趣旨を逸脱しない範囲において種々の形態で実施可能である。
2:協調演算装置、
21:画像取り込みモジュール、
22:指令配付モジュール、
23:第一計算モジュール、CPU計算モジュール
24:第二計算モジュール、GPU計算モジュール
25:画像配列モジュール、
26:画像出力モジュール、
301から307:ステップ、
Fc1からFc3:処理済み画像フレーム、
Fo1からFo7:オリジナル画像フレーム、
Fg1からFg4:処理済み画像フレーム、
R1、R2:負荷結果、
T1からT7:時点、
Tc、Tg:所要時間
21:画像取り込みモジュール、
22:指令配付モジュール、
23:第一計算モジュール、CPU計算モジュール
24:第二計算モジュール、GPU計算モジュール
25:画像配列モジュール、
26:画像出力モジュール、
301から307:ステップ、
Fc1からFc3:処理済み画像フレーム、
Fo1からFo7:オリジナル画像フレーム、
Fg1からFg4:処理済み画像フレーム、
R1、R2:負荷結果、
T1からT7:時点、
Tc、Tg:所要時間
Claims (12)
- 指令配付モジュール、第一計算モジュール、第二計算モジュールおよび画像配列モジュールを備え、
前記指令配付モジュールは、複数の第一タイミングに対応するオリジナル画像フレームおよび負荷結果を別々にキャッチし、前記負荷結果に基づいて複数の前記オリジナル画像フレームを第一数量の前記オリジナル画像フレームおよび第二数量の前記オリジナル画像フレームに機動的に分け、
前記第一計算モジュールは、前記指令配付モジュールに電気的に接続されて前記第一数量の前記オリジナル画像フレームをキャッチし、前記第一数量の処理済み画像フレームを生成し、
前記第二計算モジュールは、前記指令配付モジュールに電気的に接続されて前記第二数量の前記オリジナル画像フレームをキャッチし、前記第二数量の処理済み画像フレームを生成し、
前記画像配列モジュールは、前記指令配付モジュール、前記第一計算モジュールおよび前記第二計算モジュールに別々に電気的に接続され、前記第一数量の前記処理済み画像フレームおよび前記第二数量の前記処理済み画像フレームをキャッチし、前記第一タイミングに基づいて複数の前記処理済み画像フレームの配列を復元し、前記負荷結果を出し、
前記第一計算モジュールおよび前記第二計算モジュールは異なる形態の計算モジュールであり、
前記画像配列モジュールは、前記第一計算モジュールおよび前記第二計算モジュールの各自の計算能力または負荷状態に基づいて前記負荷結果を機動的に判断することを特徴とする協調演算装置。 - 前記第一計算モジュールはCPU計算モジュールであり、
前記第二計算モジュールはGPU計算モジュールであることを特徴とする請求項1に記載の協調演算装置。 - 前記画像配列モジュールは、一枚ごとの画像フレーム処理に対する前記第一計算モジュールおよび前記第二計算モジュールのそれぞれの所要時間に基づいて前記第一計算モジュールおよび前記第二計算モジュールの各自の計算能力または負荷状態を判断し、前記負荷結果を表示することを特徴とする請求項1に記載の協調演算装置。
- 前記第二数量および前記第一数量の比は、一枚ごとの画像フレーム処理に対する前記第一計算モジュールおよび前記第二計算モジュールのそれぞれの前記所要時間の比に関連があることを特徴とする請求項3に記載の協調演算装置。
- さらに画像取り込みモジュールおよび画像出力モジュールを備え、
前記画像取り込みモジュールは、前記指令配付モジュールに電気的に接続され、一つ以上の対象物の画像を取り込んで複数の前記オリジナル画像フレームを生成し、
前記画像出力モジュールは、前記画像配列モジュールに電気的に接続され、配列が復元された前記処理済み画像フレームをキャッチすることを特徴とする請求項1に記載の協調演算装置。 - 前記第一計算モジュールおよび前記第二計算モジュールまたはいずれか一つは対象物の一つ以上の特徴部位の座標位置を算出し、算出した前記特徴部位の前記座標位置は前記画像配列モジュールによって前記指令配付モジュールへ伝送されることを特徴とする請求項1に記載の協調演算装置。
- 複数の第一タイミングに対応するオリジナル画像フレームをキャッチするステップと、
異なる形態の第一計算モジュールおよび第二計算モジュールの各自の計算能力または負荷状況を表示する負荷結果を読み取るステップと、
前記負荷結果に基づいて複数の前記オリジナル画像フレームを第一数量の前記オリジナル画像フレームおよび第二数量の前記オリジナル画像フレームに機動的に分けるステップと、
前記第一数量の前記オリジナル画像フレームを前記第一計算モジュールに配付し、前記第二数量の前記オリジナル画像フレームを前記第二計算モジュールに配付するステップと、
前記第一計算モジュールによって前記第一数量の前記オリジナル画像フレームを処理し、前記第一数量の処理済み画像フレームを生成するステップと、
前記第二計算モジュールによって前記第二数量の前記オリジナル画像フレームを処理し、前記第二数量の処理済み画像フレームを生成するステップと、
前記第一タイミングに基づいて前記第一数量の前記処理済み画像フレームおよび前記第二数量の前記処理済み画像フレームの配列を復元するステップと、を含むことを特徴とする協調演算方法。 - 前記第一計算モジュールはCPU計算モジュールであり、前記第二計算モジュールはGPU計算モジュールであることを特徴とする請求項7に記載の協調演算方法。
- 前記負荷結果は、一枚ごとの画像フレーム処理に対する前記第一計算モジュールおよび前記第二計算モジュールのそれぞれの所要時間に基づいて判断されることを特徴とする請求項7に記載の協調演算方法。
- 前記第二数量および前記第一数量の比は一枚ごとの画像フレーム処理に対する前記第一計算モジュールおよび前記第二計算モジュールの前記所要時間の比に関連があることを特徴とする請求項9に記載の協調演算方法。
- さらに、複数の前記オリジナル画像フレームをキャッチする前に一つ以上の対象物の画像を取り込んで前記対象物の一つ以上の特徴部位の座標位置を計算し、伝送するステップと、
前記第一数量の前記処理済み画像フレームおよび前記第二数量の前記処理済み画像フレームの配列を復元した後、複数の配列が復元された前記処理済み画像フレームを別のモジュールまたはユニットに出力するステップと、を含むことを特徴とする請求項7に記載の協調演算方法。 - 前記対象物の一つ以上の前記特徴部位の前記座標位置は前記第一計算モジュールおよび前記第二計算モジュールまたはいずれか一つへ伝送されることを特徴とする請求項11に記載の協調演算方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109138791A TW202219760A (zh) | 2020-11-06 | 2020-11-06 | 協同運算裝置及其協同運算方法 |
TW109138791 | 2020-11-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022075565A true JP2022075565A (ja) | 2022-05-18 |
Family
ID=81454466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021176559A Pending JP2022075565A (ja) | 2020-11-06 | 2021-10-28 | 協調演算装置および協調演算方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12026543B2 (ja) |
JP (1) | JP2022075565A (ja) |
TW (1) | TW202219760A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627746B (zh) * | 2023-07-21 | 2023-09-15 | 四川华鲲振宇智能科技有限责任公司 | 一种gpu服务器的测试设备及方法 |
CN117009089B (zh) * | 2023-09-28 | 2023-12-12 | 南京庆文信息科技有限公司 | 基于分布式计算与uwb定位的机器人集群监督管理*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104765886A (zh) * | 2015-04-29 | 2015-07-08 | 百度在线网络技术(北京)有限公司 | 一种基于图像的信息获取方法和装置 |
US10229470B2 (en) * | 2016-08-05 | 2019-03-12 | Intel IP Corporation | Mechanism to accelerate graphics workloads in a multi-core computing architecture |
US10467056B2 (en) * | 2017-05-12 | 2019-11-05 | Google Llc | Configuration of application software on multi-core image processor |
US10475150B2 (en) * | 2017-09-29 | 2019-11-12 | Intel Corporation | GPU minimum latency dispatch for short-duration tasks |
-
2020
- 2020-11-06 TW TW109138791A patent/TW202219760A/zh unknown
-
2021
- 2021-10-28 JP JP2021176559A patent/JP2022075565A/ja active Pending
- 2021-11-03 US US17/517,728 patent/US12026543B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US12026543B2 (en) | 2024-07-02 |
US20220147383A1 (en) | 2022-05-12 |
TW202219760A (zh) | 2022-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2022075565A (ja) | 協調演算装置および協調演算方法 | |
US6466222B1 (en) | Apparatus and method for computing graphics attributes in a graphics display system | |
Feldmann et al. | Real-time depth estimation for immersive 3D videoconferencing | |
Webb | Implementation and performance of fast parallel multi-baseline stereo vision | |
CN114049421A (zh) | 基于cpu的静态场景光线追踪棋盘渲染方法、***及存储介质 | |
JP2019194902A (ja) | 情報処理方法、機器、システム及び記憶媒体 | |
US11055820B2 (en) | Methods, apparatus and processor for producing a higher resolution frame | |
CN106251291A (zh) | 利用OpenGL与OpenCL协作实现图像缩放的方法及*** | |
CN114463178A (zh) | 一种图像处理芯片、方法及设备 | |
CN109416743A (zh) | 一种用于识别人为动作的三维卷积装置 | |
Arita et al. | Rpv-ii: A stream-based real-time parallel vision system and its application to real-time volume reconstruction | |
KR20090086660A (ko) | 신경망회로와 병렬처리 프로세서를 결합한 컴퓨터구조 및그를 이용한 처리방법 | |
CN109448092B (zh) | 一种基于动态任务粒度的负载均衡集群渲染方法 | |
CN105160622B (zh) | 基于fpga的图像超分辨率的实现方法 | |
CN108960203B (zh) | 一种基于fpga异构计算的车辆检测方法 | |
CN101221657A (zh) | 一种图像缩放处理方法和装置 | |
Jiang et al. | A distributed dynamic parallel algorithm for SIFT feature extraction | |
Zhang et al. | An FPGA-accelerated ultra-high-speed stereo rectification for event-based camera | |
CN115187718A (zh) | 一种基于网格混合场景光线追踪的光线处理方法及*** | |
CN116824289A (zh) | 模型训练方法、图像分割方法、终端设备以及存储介质 | |
JP4540191B2 (ja) | 画像処理装置 | |
CN114897665A (zh) | 可配置实时视差点云计算装置及方法 | |
JPH0416996A (ja) | ディスプレイ装置 | |
CN112116683B (zh) | 一种并行绘制中进行图像合成的方法 | |
CN116108902B (zh) | 采样操作实现***、方法、电子设备及存储介质 |