JP7218594B2 - 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム - Google Patents

処理装置、ドライバモニタリングシステム、処理方法、及びプログラム Download PDF

Info

Publication number
JP7218594B2
JP7218594B2 JP2019016053A JP2019016053A JP7218594B2 JP 7218594 B2 JP7218594 B2 JP 7218594B2 JP 2019016053 A JP2019016053 A JP 2019016053A JP 2019016053 A JP2019016053 A JP 2019016053A JP 7218594 B2 JP7218594 B2 JP 7218594B2
Authority
JP
Japan
Prior art keywords
processing
data
unit
processed
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019016053A
Other languages
English (en)
Other versions
JP2020123255A (ja
Inventor
和彦 今竹
紘志 澤田
直樹 廣部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2019016053A priority Critical patent/JP7218594B2/ja
Publication of JP2020123255A publication Critical patent/JP2020123255A/ja
Application granted granted Critical
Publication of JP7218594B2 publication Critical patent/JP7218594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

本発明は、処理装置、ドライバモニタリングシステム、処理方法、及びプログラムに関する。
特許文献1には、センサからのデータを時系列に記憶する解析用キューと、解析用キューのデータを解析する複数のインスタンスを有するデータ解析手段とを備え、データ解析手段の複数のインスタンスが並行して解析用キューのデータを解析する技術について記載されている。
特許文献2には、2以上のプロセッサを単方向のリング状バスで接続し、これら各プロセッサ間でデータの転送を可能とし、リングに沿った順序で、各プロセッサに接続された各ローカルメモリに対して、連続する時系列画像を順次入力させるように制御する技術について記載されている。
特許文献3には、逐次処理を行う回路を前半の分割部と後半の分割部とに分割して並列処理し、最後に統合部により各段の結果を統合する処理を実行する技術について記載されている。
特許文献4には、並列演算手段のデータ並列性を発現する並列数よりも小さい値で画像上の並列数を決定し、画像識別手法に含まれる複数の小識別器を順番に判断する判断順にしたがって当該画像識別手法に含まれる全ての小識別器の個数である全数の値よりも十分に小さく且つ早期棄却の間隔に近い値の個数を含むようにグループを決定し、決定された画像上の並列数とグループ内の小識別器の個数とを乗じた個数を処理単位として画像識別手法にしたがって並列演算手段に並列処理させ、その処理結果から、各画像位置毎に早期棄却を行うか否かの判断、識別結果の出力、画像上の識別位置の移動を行う技術について記載されている。
[発明が解決しようとする課題]
特許文献1記載の技術では、解析が終わった順に結果が反映されるため、並列解析される各データの解析時間にばらつきがある場合、入力データの順番に結果が反映されず、時系列の結果を得ることが保証されないという課題があった。
特許文献2記載の技術では、プロセッサ間で中間結果を転送して時系列処理を行うので、中間処理に要する時間が変動する場合、処理の待ちや詰まりが発生し、時系列の結果を安定的に得ることができないという課題があった。
特許文献3記載の技術では、複数の入力データに対する一連の演算処理が前半と後半に分割される構成となっているが、処理時間がデータ入力の時点で分かっていなければ、前半と後半を正確に分割することができず、時系列の結果を安定的に得ることができないという課題があった。
また、特許文献4記載の技術では、画像の内容で処理時間が異なる場合、効果的な並列化が困難であり、次の並列化までの待ちが発生し、時系列の結果を安定的に得ることができないという課題があった。
特開2009-87190号公報 特開平10-162129号公報 特開2017-191405号公報 特開2016-189108号公報
課題を解決するための手段及びその効果
本発明は上記課題に鑑みなされたものであって、各処理対象データの処理時間にばらつきが生じたりして、各処理が起動順に終了しないような場合であっても、処理結果を時系列で安定的に出力することができる処理装置、ドライバモニタリングシステム、処理方法、及びプログラムを提供することを目的としている。
上記目的を達成するために本開示に係る処理装置(1)は、時系列順に入力される処理対象データに対して所定の処理を行う処理装置であって、
前記所定の処理を行う複数の処理ユニットと、
これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
前記管理ユニットが、
所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定部と、
該判定部により実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理部と、
前記判定部により実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼部と、
該処理依頼部により処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力部とを備え、
前記一の処理ユニットが、
前記処理依頼部からの依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行うものであることを特徴としている。
上記処理装置(1)によれば、前記判定部により、前記複数の処理ユニットのうちの一の処理ユニットが実行可能状態であることが巡回的に判定され続けた場合、時系列順に入力される処理対象データの入力間隔(例えば、時間Tとする)と、前記複数の処理ユニットの数(例えば、N個:Nは2以上とする)とを掛け合わせた間隔(T×N時間)内で、各処理ユニットが前記所定の処理を巡回的に実行できることとなる。したがって、各処理ユニットで実行される、前記処理対象データの処理時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その処理時間が前記T×N時間内であれば、全ての処理対象データの処理結果データを、前記T×N時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる。
また本開示に係る処理装置(2)は、上記処理装置(1)において、
前記管理ユニットが、
前記判定部により実行可能状態であると判定された前記一の処理ユニットと、
前記格納処理部により前記処理対象データが格納される前記一のバッファ領域と、
前記一巡前の処理結果データの有無状態と、
前記一巡前の処理結果データが格納されたバッファ領域と、
を紐付けて管理するものであることを特徴としている。
上記処理装置(2)によれば、前記管理ユニットによって、前記処理対象データの処理を依頼する前記一の処理ユニットと、前記処理対象データが格納される前記一のバッファ領域と、前記一巡前の処理結果データの有無状態と、前記一巡前の処理結果データが格納されたバッファ領域とが紐付けて管理される。したがって、これらの管理情報を前記処理対象データの処理毎に更新することで、前記一の処理ユニットにより実行される前記処理対象データの処理と、当該一の処理ユニットにより実行される前記一巡前の処理結果データの出力とを時系列で安定的に行えるように適切に管理することができる。
また本開示に係る処理装置(3)は、上記処理装置(1)又は(2)において、
前記判定部が、
前記一の処理ユニットの一巡前の処理が終了していない場合に、前記一の処理ユニットが実行可能状態ではないと判定するものであり、
前記一の処理ユニットが実行可能状態ではないと判定した場合、前記一の処理ユニットに処理させるタイミングの前記処理対象データを処理対象から外すことを特徴としている。
上記処理装置(3)によれば、前記一の処理ユニットの一巡前の処理が終了していない場合(換言すれば、一巡前の処理が継続して行われている場合)、前記判定部によって、前記一の処理ユニットが実行可能状態ではないと判定され、この場合は、前記一の処理ユニットに処理させるタイミングの前記処理対象データが処理対象から外される(例えば、前記処理対象データは破棄される)。これにより、前記一の処理ユニットの一巡前の処理が終了した後、前記複数の処理ユニットの個数分の時間(一巡するまでの間)の処理結果データの出力が一時的に遅れることとなるが、その後の処理は全て時系列で実行することができる。また、処理対象から外された前記処理対象データの処理結果データは得られないこととなるが、その処理結果データが欠けるだけで、その他の処理結果データは時系列に安定的に出力することができる。
また本開示に係る処理装置(4)は、上記処理装置(1)~(3)のいずれかにおいて、
前記処理対象データが、画像データであり、
前記所定の処理が、所定の画像処理であることを特徴としている。
上記処理装置(4)によれば、時系列順に入力される画像データに対して所定の画像処理を行う場合に、上記処理装置(1)~(3)のいずれかの効果を得ることができ、各処理ユニットで実行される画像処理時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その画像処理時間が前記T×N時間内であれば、全ての画像データの処理結果データを、前記T×N時間(一巡)遅れの時系列で安定的に出力することができる。
また本開示に係るドライバモニタリングシステムは、
ドライバを撮影するカメラと、
上記処理装置(4)とを備え、
前記画像データが、前記カメラで撮影された画像データであり、
前記所定の画像処理が、前記ドライバの状態を把握するための画像処理であることを特徴としている。
上記ドライバモニタリングシステムによれば、前記ドライバの状態を時系列で安定的に把握することが可能となり、前記ドライバのリアルタイムでのモニタリング精度を高めることができる。
また本開示に係る処理方法は、時系列順に入力される処理対象データに対して所定の処理を行う処理方法であって、
前記所定の処理を行う複数の処理ユニットと、
これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備えた装置を用い、
前記管理ユニットが、
所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
該処理依頼ステップにより処理を依頼した前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを含み、
前記一の処理ユニットが、
前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行うことを特徴としている。
上記処理方法によれば、前記判定ステップにより、前記複数の処理ユニットのうちの一の処理ユニットが実行可能状態であることが巡回的に判定され続けた場合、時系列順に入力される処理対象データの入力間隔(例えば、時間Tとする)と、前記複数の処理ユニットの数(例えば、N個:Nは2以上とする)とを掛け合わせた間隔(T×N時間)内で、各処理ユニットが前記所定の処理を巡回的に実行できることとなる。したがって、各処理ユニットで実行される処理時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その処理時間が前記T×N時間内であれば、全ての処理対象データの処理結果データを、前記T×N時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる。
また本開示に係るプログラムは、時系列順に入力される処理対象データに対して所定の処理をプロセッサに実行させるためのプログラムであって、
前記プロセッサが、
前記所定の処理を行う複数の処理ユニットと、
これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
前記管理ユニットに、
所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
該処理依頼ステップにより処理を依頼した前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを実行させ、
前記一の処理ユニットに、
前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を実行させるためのプログラムであることを特徴としている。
上記プログラムによれば、上記処理方法と同様の効果を得ることができ、各処理ユニットで実行される処理時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その処理時間が前記T×N時間内であれば、全ての処理対象データの処理結果データを、前記T×N時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる装置、又はシステムを実現することができる。上記プログラムは、記憶媒体に保存されたプログラムであってもよいし、通信ネットワークを介して転送可能なプログラムであってもよい。
実施の形態に係る処理装置が適用されたドライバモニタリングシステムの概略ブロック図である。 実施の形態に係る処理装置の機能構成例を示すブロック図である。 実施の形態に係る処理装置を構成するバッファメモリの構成例を示す模式図である。 実施の形態に係る処理装置を構成する各部の動作を説明するためのタイミングチャートであり、処理コア数×フレームレート間隔の時間内に、画像データの処理が実行できている場合の動作例を示す図である。 実施の形態に係る処理装置を構成する各部の動作を説明するためのタイミングチャートであり、処理コア数×フレームレート間隔の時間内に、画像データの処理が実行できない場合が発生したときの動作例を示す図である。 実施の形態に係る処理装置を構成する管理コアと処理コアとが行う処理動作の一例を示すフローチャートである。
以下、本発明に係る処理装置、ドライバモニタリングシステム、処理方法、及びプログラムの実施の形態を図面に基づいて説明する。
[適用例]
図1は、実施の形態に係る処理装置が適用されたドライバモニタリングシステムの概略ブロック図である。
ドライバモニタリングシステム3は、車両1のドライバ2の顔を含む画像を撮影するカメラ4と、カメラ4に接続された処理装置10とを含んで構成されている。処理装置10は、バス5を介して、情報系ECU(Electronic Control Unit)群6、走行系ECU群7、及び安全機能系ECU群8などに接続されている。バス5を介して接続された処理装置10と各ECU群とは、例えば、CAN(Controller Area Network)プロトコルなどの通信規格に従って相互通信可能に構成されている。なお、処理装置10は、情報系ECU群6に含まれるECUの一つとして構成してもよいし、バス5に接続させないで、独立したシステムとして構成してもよい。
ドライバモニタリングシステム3は、カメラ4で撮影された画像を処理装置10に出力し、処理装置10で所定の画像処理を実行して、ドライバ2の状態(例えば、運転可能な状態であるか否か)をリアルタイムで検出し、その検出結果に基づいて、所定の制御信号を出力するシステムである。
カメラ4は、ドライバ2を撮影する装置であり、所定のフレームレート(例えば、毎秒30~60フレーム)で画像を撮影し、撮影した画像データを処理装置10へ出力する。カメラ4は、例えば、図示しないレンズ部、撮像素子部、光照射部、及びこれら各部を制御するカメラ制御部などを含んで構成される。カメラ制御部は、撮像素子部や光照射部を制御して、該光照射部から光(例えば、近赤外線など)を照射し、撮像素子部でその反射光を撮像し、撮像された画像データを処理装置10へ出力する制御などを行う。
カメラ4の数は、1台でもよいし、2台以上であってもよい。カメラ4の設置位置は、少なくともドライバ2の顔を含む視野を撮影できる位置であれば、特に限定されない。また、カメラ4は、処理装置10と別体(別筐体)で構成してもよいし、処理装置10と一体(同一筐体)で構成してもよい。
情報系ECU群6は、インフォテイメント装置、テレマティクス装置、又はITS(Intelligent Transport Systems)関連装置が含まれている。インフォテイメント装置には、カーナビゲーション装置、又はオーディオ機器などが含まれ、テレマティクス装置には、携帯電話網等へ接続するための通信ユニットなどが含まれている。ITS関連装置には、ETC(Electronic Toll Collection System)、又はITSスポットなどの路側機との路車間通信、若しくは車々間通信を行うための通信ユニットなどが含まれている。
走行系ECU群7には、駆動系ECUと、シャーシ系ECUとが含まれている。駆動系ECUには、エンジン、モータ、燃料、電池、又はトランスミッション等の「走る」機能に関する制御ユニットが含まれている。シャーシ系ECUには、ブレーキ、又はステアリング等の「止まる、曲がる」機能に関する制御ユニットが含まれている。
安全機能系ECU群8には、自動ブレーキ、車線維持制御、又は車間距離制御等、走行系ECU群7などとの連携により自動的に安全性の向上、又は快適な運転を実現する機能に関する制御ユニットが含まれている。
これらECU群の他に、さらにボディ系ECU群、ゲートウェイECU、又は外部インターフェースがバス5に接続されてもよい。ボディ系ECU群には、ドアロック、パワーウインドウ、エアコン、ライト、又はウインカ等の車体の機能に関する制御ユニットが含まれている。ゲートウェイECUは、バス5を介して接続された各ECU群などとの間で、CANプロトコルに従ってフレームデータの授受を安全に実行するための制御ユニットである。
処理装置10は、カメラ4から時系列順に(すなわち、所定のフレームレートで)入力される画像データに対して所定の画像処理を行う装置であり、プロセッサ11と、メモリ20とを含んで構成されている。プロセッサ11は、例えば、CPU(Central Processing Unit)などの演算処理装置を含んで構成されている。メモリ20は、RAM(Random Access Memory)、ROM(Read Only Memory)などを含んで構成されている。プロセッサ11に実行させるための、本実施の形態に係るプログラム、及び該プログラムの実行に必要なデータなどがメモリ20のROMに記憶され、プロセッサ11が実行するプログラムやデータがメモリ20のRAMに一時的に格納されるようになっている。
処理装置10で実行される所定の画像処理には、例えば、カメラ4で撮影された各画像データからドライバ2の顔を検出する処理、検出された顔の領域から、目、鼻、口、眉などの顔器官の位置又は形状を検出する処理、顔器官の位置又は形状に基づいてドライバ2の顔の向き、若しくはドライバ2の視線方向を検出する処理などが含まれる。これら画像処理により、撮影された各画像データからドライバ2の状態(例えば、ドライバ2が運転可能な状態であるか否かなどの状態)が検出される。そして、その検出結果に基づいて、所定の制御信号、例えば、運転可能な状態ではない場合に、ドライバ2に警告するための警報信号などがバス5を介して所定のECUに出力されるようになっている。
上記した各画像データの画像処理に要する時間は、常に同一ではなく、処理時間が短い(換言すれば、処理負荷が小さい)画像データもあれば、処理時間が長い(換言すれば、処理負荷が大きい)画像データもあり、処理時間にばらつきが生じることもあり、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)することもある。
本実施の形態では、ドライバ2の状態を把握するための画像処理が高速かつ安定的に実行できるように、処理装置10に搭載されているプロセッサ11は、複数のコアプロセッサが搭載されたマルチコアプロセッサで構成されている。なお、マルチコアプロセッサに代えて、例えば、シングルコアプロセッサを処理装置10に複数搭載し、複数のシングルコアプロセッサによりプロセッサ11と同様の機能を実現するように構成してもよい。
そして、プロセッサ11では、複数(例えば、3つ以上)のコアプロセッサのうちの一つを管理ユニットとして機能させ、残りの2以上のコアプロセッサを、画像処理を行う処理ユニットとして機能させるように構成されている。なお、一つのコアプロセッサに、管理ユニットとしての機能と、処理ユニットとしての機能を実行させるようにしてもよい。
管理ユニットは、複数の処理ユニットに、カメラ4から取得した画像データを時系列順に分散させて、所定の画像処理を巡回的に実行させるための管理を行う。管理ユニットは、所定の順番で複数の処理ユニットのうちの一の処理ユニットに画像データの処理を依頼するために、該処理を依頼する一の処理ユニットと、処理対象の画像データ及びその処理結果データが格納されるバッファとを紐付けて管理する。そして、管理ユニットが、上記一の処理ユニットへの画像データの処理依頼と、一巡前に依頼した画像データの処理結果データの出力とを管理するようになっている。
処理装置10によれば、時系列順に入力される画像データの入力間隔(フレームレート)を例えば、時間Tとし、複数の処理ユニットの数を、例えば、N個(Nは2以上)とした場合、各処理ユニットで実行される画像処理の時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、画像データの処理時間がT×N時間内であれば、全ての画像データの処理結果データを、T×N時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することが可能となる。
[構成例]
図2は、実施の形態に係る処理装置10の機能構成例を示すブロック図である。
処理装置10は、時系列順に入力される画像データ(処理対象データ)に対して所定の画像処理を行う装置である。処理装置10に搭載されているプロセッサ11は、例えば、1つのパッケージ内に複数のコアプロセッサが搭載されたマルチコアプロセッサで構成されている。
図2に示す例では、プロセッサ11に4つのコアプロセッサが搭載されている。4つのコアプロセッサのうち、1つのコアプロセッサが管理ユニット(以下、管理コアという)12として動作し、残りの3つのコアプロセッサが第1~第3処理ユニット(以下、第1~第3処理コアという)13~15として動作する構成となっている。すなわち、処理装置10は、管理コア12と、第1処理コア13、第2処理コア14、及び第3処理コア15とを含み、さらにバッファメモリ21を含んで構成されている。バッファメモリ21は、例えば、メモリ20のRAM内に設けられ、カメラ4から取得した画像データと当該画像データの処理結果データとが時系列順に格納される複数のバッファ領域を有している。
図3は、バッファメモリ21の構成例を示す模式図である。
図3に示す例では、バッファメモリ21は、第1~第5バッファ領域(以下、第1~第5バッファという)23~27を有するリングバッファ22を含んで構成されている。第1バッファ23~第5バッファ27のそれぞれには、管理コア12が各処理コアに画像処理を依頼する画像データと、当該画像データの処理結果データとが時系列順に格納される領域が設けられている。なお、リングバッファ22のバッファ数は、処理コアの数よりも多くなるように構成されている。
管理コア12は、第1処理コア13~第3処理コア15に画像データを時系列順に分散させて、所定の画像処理を巡回的に実行させるための管理を行う。管理コア12は、画像取得部12a、判定部12b、格納処理部12c、処理依頼部12d、及び結果出力部12eを含んで構成されている。
画像取得部12aは、カメラ4から所定のフレームレートで撮影された時系列の画像データを取得する。
判定部12bは、所定の順番で第1処理コア13~第3処理コア15のうちの一の処理コアの実行可能状態を判定する処理を行う。実行可能状態の判定は、例えば、処理コアが新たな画像データの画像処理を実行できるReady状態であるか、又は新たな画像処理を実行できないBusy状態(前回依頼した処理が終わっていない状態)であるかを判定する。
格納処理部12cは、判定部12bにより実行可能状態であると判定された一の処理コアに処理させる画像データを、バッファメモリ21に設けられたリングバッファ22の第1バッファ23~第5バッファ27のうちの、指定された一のバッファ領域に格納する処理を行う。
処理依頼部12dは、判定部12bにより実行可能状態であると判定された一の処理コアに、格納処理部12cによって一のバッファ領域に格納された画像データの画像処理を依頼する処理を行う。
結果出力部12eは、処理依頼部12dにより処理が依頼された一の処理コアの一巡前の処理結果データをリングバッファ22から取り込んで出力する処理を行う。当該一の処理コアの一巡前の処理結果データは、一巡前に処理依頼された画像データが格納されたバッファ領域に格納されている。
第1処理コア13、第2処理コア14、及び第3処理コア15は、管理コア12の処理依頼部12dからの依頼に基づいて、リングバッファ22の一のバッファ領域から画像データを取り込んで、所定の画像処理を行い、その処理結果データを前記一のバッファ領域(すなわち、処理依頼された画像データが格納されていたバッファ領域)に格納する処理を行う。
図4は、実施の形態に係る処理装置10を構成する各部の動作を説明するためのタイミングチャートである。図4は、各処理コアが、処理コア数(N=3)×フレームレート間隔(時間T)の時間3T内に、画像データの処理を実行できている場合の動作例を示す図である。
管理コア12の内部メモリ(例えば、キャッシュメモリ、またはレジスタなど)には、[1]依頼コア、[2]画像データ格納バッファ、[3]処理結果の有無、及び[4]処理結果格納バッファを含む管理情報(インデックス情報)が紐付けて格納されるようになっている。これら管理情報は、例えば、管理コア12が[1]依頼コアの対象となっている処理コアへの処理依頼を実行する度に更新されるようになっている。
内部メモリの[1]依頼コアの格納領域には、処理依頼部12dが画像データの処理を依頼する処理コアの情報、本例では、第1処理コア13~第3処理コア15のいずれかの情報が格納され、更新される。
[2]画像データ格納バッファの格納領域には、格納処理部12cにより処理対象の画像データが格納される一のバッファ領域の情報、本例では、第1バッファ23~第5バッファ27のいずれかの情報が格納され、更新される。
[3]処理結果の有無の格納領域には、[1]の処理コアにおける一巡前の処理結果データの有無に関する情報が格納される。
[4]処理結果格納バッファの格納領域には、[1]の処理コアにおける一巡前の処理結果データが格納されたバッファ領域の情報が格納され、更新される。
図4では、カメラ4の起動後、画像データF1~F7が、所定のフレームレート間隔(時間T)で、処理装置10に取り込まれる場合について説明する。
カメラ4の起動後、管理コア12は、管理情報([1]~[4])の初期値を読み込む。時刻t1において、管理コア12は、画像データF1を取得すると、管理情報([1]依頼コア)に基づいて、画像データF1を分散させる処理コアを決定する。本例では、カメラ4の起動後、第1処理コア13から第3処理コア15の順に巡回させながら画像データを分散させるようにプログラムされており、[1]依頼コアの初期値に第1処理コア13が設定されている。したがって、管理コア12は、第1処理コア13の実行可能状態を判定する。
具体的には、判定部12bが、第1処理コア13の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。なお、カメラ4の起動後、第1処理コア13~第3処理コア15での画像処理が一巡するまでは、いずれの処理コアもReady状態となっている。
判定部12bが、第1処理コア13のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第4バッファ26(本例では、初期値が「処理コア数+1」のバッファ領域に設定されている)に、処理対象データである画像データF1を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第1処理コア13に、第4バッファ26に格納された画像データF1の処理を依頼する。一方、第1処理コア13は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第4バッファ26の画像データ格納領域に格納された画像データF1を取り込み、所定の画像処理を開始する。図4では、矢印の長さが、処理時間の長さを示している。
なお、起動時に、格納処理部12cが、最初の処理対象データを処理コアの個数分ずらしたバッファ領域(処理コア数+1のバッファ領域)に格納する理由として、以下の理由が挙げられる。すなわち、本例において、画像データの処理依頼のタイミングにおいて結果出力部12eから出力される処理結果データは、当該処理コアで一巡前に処理依頼された画像データの処理結果データとなる。そのため、起動時に、第1バッファ23に格納された結果(換言すれば、結果格納位置のカウンタ1の結果)から出力されるようにするために、起動時には、最初の処理対象となる画像データを処理コアの個数分ずらしたバッファ領域に格納する構成となっている。
また、起動時、各処理コアでの処理が一巡するまでは、[1]依頼コアである第1処理コア13における一巡前の処理結果データはない。そのため、[3]処理結果の有無の管理情報には、各処理コアでの処理が一巡するまで、結果無を示す情報が格納されるようになっている。
また、[4]処理結果格納バッファの管理情報には、第1バッファ23の情報が初期値として格納されているが、起動時には、[1]依頼コアである第1処理コア13における一巡前の処理結果データはない。したがって、結果出力部12eは、第1バッファ23の処理結果データがない状態を示す信号を出力するようになっている。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t2において、管理コア12は、画像データF2を取得すると、画像データF2を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第2処理コア14の実行可能状態を判定する。具体的には、判定部12bが、第2処理コア14の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。
判定部12bが、第2処理コア14のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第5バッファ27に、処理対象データである画像データF2を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第2処理コア14に、第5バッファ27に格納された画像データF2の処理を依頼する。一方、第2処理コア14は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第5バッファ27の画像データ格納領域に格納された画像データF2を取り込み、所定の画像処理を実行する。
なお、起動時、各処理コアでの処理が一巡するまでは、[1]依頼コアである第2処理コア14における一巡前の処理結果データはない。そのため、[3]処理結果の有無の管理情報には、結果無を示す情報が格納されている。
また、[4]処理結果格納バッファの管理情報には、第2バッファ24の情報が初期値として格納されているが、起動時には、[1]依頼コアである第2処理コア14における一巡前の処理結果データはない。したがって、結果出力部12eは、第2バッファ24の処理結果データがない状態を示す信号を出力するようになっている。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t3において、第1処理コア13に依頼した画像データF1の画像処理が終了すると、第1処理コア13は、画像データF1の処理結果データを第4バッファ26の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t4において、管理コア12は、画像データF3を取得すると、画像データF3を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第3処理コア15の実行可能状態を判定する。具体的には、判定部12bが、第3処理コア15の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。
判定部12bが、第3処理コア15のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、第1バッファ23の情報を格納し、リングバッファ22の第1バッファ23に、処理対象データである画像データF3を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第3処理コア15に、第1バッファ23に格納された画像データF3の処理を依頼する。一方、第3処理コア15は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第1バッファ23の画像データ格納領域に格納された画像データF3を取り込み、所定の画像処理を実行する。
なお、起動時、各処理コアでの処理が一巡するまでは、[1]依頼コアである第3処理コア15における一巡前の処理結果データはない。そのため、[3]処理結果の有無の管理情報には、結果無を示す情報が格納されている。
また、[4]処理結果格納バッファの管理情報には、第3バッファ25の情報が初期値として格納されているが、起動時には、[1]依頼コアである第3処理コア15における一巡前の処理結果データはない。したがって、結果出力部12eは、第3バッファ25の処理結果データがない状態を示す信号を出力するようになっている。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t5において、第2処理コア14に依頼した画像データF2の画像処理が終了すると、第2処理コア14は、画像データF2の処理結果データを第5バッファ27の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t6において、管理コア12は、画像データF4を取得すると、画像データF4を分散させる処理コアを決定する。すなわち、管理コア12は、更新された管理情報([1]依頼コア)に基づいて、第1処理コア13の実行可能状態を判定する。
具体的には、判定部12bが、第1処理コア13の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。第1処理コア13は、時刻t3において画像処理を終え、Ready状態となっている。
判定部12bが、第1処理コア13のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第2バッファ24に、処理対象データである画像データF4を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第1処理コア13に、第2バッファ24に格納された画像データF4の処理を依頼する。一方、第1処理コア13は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第2バッファ24の画像データ格納領域に格納された画像データF4を取り込み、所定の画像処理を開始する。
また、第1処理コア13は、時刻t3において、一巡前の画像処理を終え、その画像データF1の処理結果データが、第4バッファ26の処理結果データ格納領域に格納されている。また、[3]処理結果の有無の管理情報には、起動後、第1処理コア13、第2処理コア14、及び第3処理コア15による処理が一巡した後、結果有を示す情報が格納されるようになっている。
また、[4]処理結果格納バッファの管理情報には、第4バッファ26の情報が格納されているので、結果出力部12eは、第4バッファ26の処理結果データとして、一巡前の画像データF1の処理結果データを出力する。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t7において、第1処理コア13に依頼した画像データF4の画像処理が終了すると、第1処理コア13は、画像データF4の処理結果データを第2バッファ24の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t8において、管理コア12は、画像データF5を取得すると、画像データF5を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第2処理コア14の実行可能状態を判定する。
具体的には、判定部12bが、第2処理コア14の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。第2処理コア14は、時刻t5において画像処理を終え、Ready状態となっている。
判定部12bが、第2処理コア14のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第3バッファ25に、処理対象データである画像データF5を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第2処理コア14に、第3バッファ25に格納された画像データF5の処理を依頼する。一方、第2処理コア14は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第3バッファ25の画像データ格納領域に格納された画像データF5を取り込み、所定の画像処理を実行する。
また、第2処理コア14は、時刻t5において、一巡前の画像処理を終え、その画像データF2の処理結果データが、第5バッファ27の処理結果データ格納領域に格納されている。
また、[4]処理結果格納バッファの管理情報には、第5バッファ27の情報が格納されているので、結果出力部12eは、第5バッファ27の処理結果データとして、一巡前の画像データF2の処理結果データを出力する。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t9において、第3処理コア15に依頼した画像データF3の画像処理が終了すると、第3処理コア15は、画像データF3の処理結果データを第1バッファ23の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t10において、管理コア12は、画像データF6を取得すると、画像データF6を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第3処理コア15の実行可能状態を判定する。
具体的には、判定部12bが、第3処理コア15の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。第3処理コア15は、時刻t9において画像処理を終え、Ready状態となっている。
判定部12bが、第3処理コア15のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第4バッファ26に、処理対象データである画像データF6を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第3処理コア15に、第4バッファ26に格納された画像データF6の処理を依頼する。一方、第3処理コア15は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第4バッファ26の画像データ格納領域に格納された画像データF6を取り込み、所定の画像処理を実行する。
また、第3処理コア15は、時刻t9において、一巡前の画像処理を終え、その画像データF3の処理結果データが、第1バッファ23の処理結果データ格納領域に格納されている。
また、[4]処理結果格納バッファの管理情報には、第1バッファ23の情報が格納されているので、結果出力部12eは、第1バッファ23の処理結果データとして、一巡前の画像データF3の処理結果データを出力する。その後、管理コア12は、管理情報([1]~[4])を、次の画像データを処理するための情報に更新する。
次に時刻t11において、第2処理コア14に依頼した画像データF5の画像処理が終了すると、第2処理コア14は、画像データF5の処理結果データを第3バッファ25の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t12において、管理コア12は、画像データF7を取得すると、画像データF7を分散させる処理コアを決定する。すなわち、管理コア12は、更新された管理情報([1]依頼コア)に基づいて、第1処理コア13の実行可能状態を判定する。
具体的には、判定部12bが、第1処理コア13の実行可能状態(すなわち、Ready状態であるか、又はBusy状態であるか)を判定する。第1処理コア13は、時刻t7において一巡前の画像処理を終え、Ready状態となっている。
判定部12bが、第1処理コア13のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、第5バッファ27の情報を格納し、リングバッファ22の第5バッファ27に、処理対象データである画像データF7を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第1処理コア13に、第5バッファ27に格納された画像データF7の処理を依頼する。一方、第1処理コア13は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第5バッファ27の画像データ格納領域に格納された画像データF7を取り込み、所定の画像処理を開始する。
また、第1処理コア13は、時刻t7において、一巡前の画像処理を終え、その画像データF4の処理結果データが、第2バッファ24の処理結果データ格納領域に格納されている。
また、[4]処理結果格納バッファの管理情報には、第2バッファ24の情報が格納されているので、結果出力部12eは、第2バッファ24の処理結果データとして、一巡前の画像データF4の処理結果データを出力し、その後、管理情報([1]~[4])を更新する。以下同様にして、第1処理コア13~第3処理コア15に画像データを時系列順に分散させて、所定の画像処理と、処理結果データの出力処理とを巡回的に実行させるようになっている。
図4に示す処理装置10では、時系列順に入力される画像データの入力間隔が時間T、処理コア数Nが3となっており、第1処理コア13~第3処理コア15のそれぞれで実行される画像処理の時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その処理時間がN×T=3Tの時間内であれば、全ての画像データの処理結果データを、T×N=3Tの時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することが可能となっている。
図5は、実施の形態に係る処理装置10を構成する各部の動作を説明するためのタイミングチャートである。図5は、処理コア数(N=3)×フレームレート間隔(時間T)=時間3T内に、画像データの処理が実行できない場合が発生したときの動作例を示す図である。
図5に例示する時刻t21~t24における各部の動作は、図4に例示した時刻t1~t4における各部の動作と同一であるので、その説明を省略し、また、その他の同様の動作の説明も省略する。図5に示す例では、第2処理コア14が、時刻t22で開始した画像データF2の処理が、時間3T内に完了できなかった場合を示している。
時刻t24後の時刻t25において、管理コア12は、画像データF4を取得すると、画像データF4を分散させる処理コアを決定する。時刻t25における、管理コア12の動作は、図4に例示した時刻t6における動作と同じである。
次に時刻t26において、第1処理コア13に依頼した画像データF4の画像処理が終了すると、第1処理コア13は、画像データF4の処理結果データを第2バッファ24の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t27において、管理コア12は、画像データF5を取得すると、画像データF5を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第2処理コア14の実行可能状態を判定する。
具体的には、判定部12bが、第2処理コア14の実行可能状態を判定する。第2処理コア14は、時刻t27において、一巡前の画像データF2の画像処理を継続している状態、すなわち、Busy状態となっている。
判定部12bが、第2処理コア14のBusy状態を判定すると、その後の一連の処理(すなわち、格納処理部12cによるリングバッファ22への画像データF5の格納処理、処理依頼部12dによる第2処理コア14への画像データF5の処理依頼、及び結果出力部12eによる一巡前の画像データF2の処理結果データの出力処理)を実行することなく、これら一連の処理を飛ばす。
この場合、管理情報は更新されずに保持され、出力結果として、前回の結果(この場合、画像データF1の処理結果)が保持されるようになっている。
また、時刻t27において取得した画像データF5は、画像処理されずに、処理対象から外される(例えば、破棄される)。このため、画像データF5の処理結果データが欠けることとなる。
次に時刻t28において、第2処理コア14に依頼した画像データF2の画像処理が終了すると、第2処理コア14は、画像データF2の処理結果データを第5バッファ27の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t29において、第3処理コア15に依頼した画像データF3の画像処理が終了すると、第3処理コア15は、画像データF3の処理結果データを第1バッファ23の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t30において、管理コア12は、画像データF6を取得すると、画像データF6を分散させる処理コアを決定する。すなわち、管理コア12が、保持された管理情報([1]依頼コア)に基づいて、第2処理コア14の実行可能状態を判定する。時刻t30における、管理コア12の動作は、図4に例示した時刻t8における動作と基本的に同じであるが、図4に例示した場合と比較して、結果出力部12eによって第5バッファ27から出力される、画像データF2の処理結果データの出力が、1フレームレート分(時間T)遅れることとなる。
次に時刻t31において、管理コア12は、画像データF7を取得すると、画像データF7を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第3処理コア15の実行可能状態を判定する。時刻t31における、管理コア12の動作は、図4に例示した時刻t10における動作と基本的に同じであるが、図4に例示した場合と比較して、結果出力部12eによって第1バッファ23から出力される、画像データF3の処理結果データの出力が、1フレームレート分(時間T)遅れることとなる。
次に時刻t32において、第2処理コア14に依頼した画像データF6の画像処理が終了すると、第2処理コア14は、画像データF6の処理結果データを第3バッファ25の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t33において、管理コア12は、画像データF8を取得すると、画像データF8を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第1処理コア13の実行可能状態を判定する。時刻t33における、管理コア12の動作は、図4に例示した時刻t12における動作と基本的に同じであるが、図4に例示した場合と比較して、結果出力部12eによって第2バッファ24から出力される、画像データF4の処理結果データの出力が、1フレームレート分(時間T)遅れることとなる。
次に時刻t34において、第3処理コア15に依頼した画像データF7の画像処理が終了すると、第3処理コア15は、画像データF7の処理結果データを第4バッファ26の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t35において、第1処理コア13に依頼した画像データF8の画像処理が終了すると、第1処理コア13は、画像データF8の処理結果データを第5バッファ27の処理結果データ格納領域に格納して処理を終え、Ready状態で待機する。
次に時刻t36において、管理コア12は、画像データF9を取得すると、画像データF9を分散させる処理コアを決定する。すなわち、管理コア12が、更新された管理情報([1]依頼コア)に基づいて、第2処理コア14の実行可能状態を判定する。
第2処理コア14は、時刻t32において画像処理を終え、Ready状態となっている。判定部12bが、第2処理コア14のReady状態を判定すると、次に格納処理部12cが、管理情報([2]画像データ格納バッファ)に基づいて、リングバッファ22の第1バッファ23に、処理対象データである画像データF9を格納する。
次に処理依頼部12dが、[1]依頼コアの対象となっている第2処理コア14に、第1バッファ23に格納された画像データF9の処理を依頼する。一方、第2処理コア14は、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、第1バッファ23の画像データ格納領域に格納された画像データF9を取り込み、所定の画像処理を実行する。
なお、第2処理コア14は、時刻t32において、一巡前の画像処理を終え、その画像データF6の処理結果データが、第3バッファ25の処理結果データ格納領域に格納されている。
また、[4]処理結果格納バッファの管理情報には、第3バッファ25の情報が格納されているので、結果出力部12eは、第3バッファ25の処理結果データとして、一巡前の画像データF6の処理結果データを出力し、以下同様の処理が繰り返されるようになっている。
図4に例示した場合と比較して、図5に例示した場合では、時刻t27において、第2処理コア14がBusy状態であったため、その後の時刻t30、t31、t33において、結果出力部12eが出力する画像データF2、F3、F4の処理結果データの出力タイミングが、1フレームレート分(時間T)遅れることとなるが、時系列は確保される。
そして、画像データF5は処理対象から外され、画像データF5の処理結果データは出力されないため、時刻t36において、画像データF6の処理結果データが出力されることとなり、図4に示した場合(すなわち、各処理コアが、時間3T内に画像データの処理を実行できた場合)と同じ状態に復旧し、処理結果データの出力の遅延も解消されることとなる。
[動作例]
図6は、実施の形態に係る処理装置10を構成する管理コア12と、[1]依頼コアの対象となっている処理コアとで実行される処理動作を示したフローチャートである。本処理は、処理装置10が、起動後にカメラ4から画像データを取得するタイミング(すなわち、フレームレート間隔)で実行される。
まず、ステップS1では、管理コア12は、カメラ4から画像データを取得して、ステップS2に処理を進める。ステップS2では、管理コア12が、管理情報に基づいて、[1]依頼コアの対象となっている処理コア(第1処理コア13、第2処理コア14、又は第3処理コア15)の実行可能状態(Ready状態であるか、又はBusy状態であるか)を判定する。なお、管理コア12は、起動後、内部メモリの管理情報([1]~[4]の初期値)を読み込む。
ステップS2において、管理コア12が、[1]依頼コアの対象となっている処理コアがBusy状態(前回依頼した処理が終わっていない状態)であると判定すれば、ステップS3に処理を進める。ステップS3では、管理コア12は、ステップS1で取得した画像データを処理対象から外す処理を行い、その後処理を終える。ステップS3では、例えば、ステップS1で取得した画像データを破棄する処理を行ってもよい。
一方ステップS2において、管理コア12が、[1]依頼コアの対象となっている処理コアがReady状態であると判定すれば、ステップS4に処理を進める。ステップS4では、ステップS1で取得した画像データをリングバッファ22の一のバッファ領域に格納する処理を行い、ステップS5に処理を進める。前記一のバッファ領域は、管理情報([2]画像データ格納バッファ)に指定されているバッファ領域である。
ステップS5では、管理コア12は、[1]依頼コアに、前記一のバッファ領域に格納された画像データの処理を依頼し、ステップS6に処理を進める。
ステップS6では、管理コア12は、管理情報における[3]の処理結果が有るか否かを判定し、ステップS6において、処理結果はない、すなわち、起動後、各処理コア(第1処理コア13、第2処理コア14、第3処理コア15)における処理が一巡していない状態であると判定すれば、ステップS7に処理を進める。
ステップS7では、管理コア12は、処理結果を出力せずに、その後ステップS9に処理を進める。
一方ステップS6において、管理コア12が、[3]の処理結果が有る、すなわち、起動後、各処理コア(第1処理コア13、第2処理コア14、第3処理コア15)における処理が一巡している状態(一巡後の状態)であると判定すれば、ステップS8に処理を進める。
ステップS8では、管理コア12は、管理情報([4]処理結果格納バッファ)に基づいて、[1]依頼コアの対象となっている処理コア(同一コア)の一巡前の処理結果データが格納されたバッファ領域から、一巡前の処理結果データを取り込んで出力する処理を行い、その後ステップS9に処理を進める。
ステップS9では、管理コア12は、管理情報[1]~[4]を更新する。すなわち、[1]の依頼コアは、次に処理を依頼する対象となる処理コアの情報に更新される。
[2]の画像データ格納バッファは、次の処理対象の画像データが格納される一のバッファ領域の情報に更新される。
[3]の処理結果の有無は、起動後、各処理コアでの処理が一巡するまでは、「無し」の情報、一巡後は、「有り」の情報に更新される。なお、[3]の処理結果の有無はフラグ(1又は0)で示してもよい。
[4]の処理結果格納バッファは、[1]の依頼コアの対象となっている処理コアにおける一巡前の処理結果データが格納されるバッファ領域の情報に更新される。これら管理情報を更新した後、処理を終える。
一方、ステップS5において、管理コア12から画像データの処理依頼を受けた処理コア([1]依頼コアの対象となっている処理コア)は、ステップS21において、管理コア12からの処理依頼に基づいて、Ready状態からBusy状態に移行し、ステップS22に処理を進める。
ステップS22では、処理コアは、[2]の画像データ格納バッファに指定されているリングバッファ22のバッファ領域から画像データを取り込み、ステップS23に処理を進め、ステップS23では、所定の画像処理を実行し、ステップS24に処理を進める。
ステップS24では、処理コアは、その処理結果データを[2]の画像データ格納バッファに指定されているバッファ領域に格納する処理を行い、ステップS25に処理を進める。ステップS25では、処理コアは、Busy状態からReady状態に移行し、その後処理を終える。
[作用・効果]
上記した実施の形態に係る処理装置10によれば、判定部12bにより、第1処理コア13~第3処理コア15のうちの一の処理コアが実行可能状態であることが巡回的に判定され続けた場合、時系列順に入力される画像データの入力間隔(時間T)と、処理コア数(N=3個)とを掛け合わせた間隔(時間T×N=3T)内で、第1処理コア13~第3処理コア15のそれぞれが所定の画像処理を巡回的に実行できることとなる。したがって、第1処理コア13~第3処理コア15のそれぞれで実行される画像処理時間にばらつきが生じたりして、各処理が起動順に終了せず、処理の終了タイミングが逆転(前後)した場合であっても、その処理時間が時間T×N=3T内であれば、全ての画像データの処理結果データを、T×N=3T時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる。
また、実施の形態に係る処理装置10によれば、管理コア12によって、[1]当該処理を実行する処理コアと、[2]処理対象の画像データが格納されるバッファ領域と、[3]一巡前の処理結果データの有無状態と、[4]一巡前の処理結果データが格納されたバッファ領域とが紐付けて管理される。したがって、これらの管理情報を画像データの処理毎に更新することで、[1]依頼コアの対象となる処理コアにより実行される画像データの処理と、当該一の処理コアにより実行される一巡前の処理結果データの出力とを時系列で安定的に行えるように適切に管理することができる。
また、実施の形態に係る処理装置10によれば、[1]依頼コアの対象となる処理コアの一巡前の処理が終了していない場合(換言すれば、一巡前の処理が継続して行われている場合)、判定部12bによって、処理コアがBusy状態と判定され、この場合は、画像データが処理対象から外される。これにより、処理コアの一巡前の処理が終了した後、第1処理コア13~第3処理コア15の個数分の時間(一巡するまでの間)の処理結果データの出力が一時的に遅れることとなるが、その後の処理は全て時系列で実行することができる。また、処理対象から外された画像データの処理結果データは得られないこととなるが、その処理結果データが欠けるだけで、その他の処理結果データは時系列で安定的に出力することができる。
また、実施の形態に係るドライバモニタリングシステム3によれば、カメラ4と、処理装置10とを含んで構成されているので、ドライバ2の状態を時系列で安定的に把握することが可能となり、複雑な処理構成とすることなく、シンプルな処理構成でドライバ2のリアルタイムでのモニタリング精度、又は高速安定処理の性能を高めることができる。
[変形例]
以上、本発明の実施の形態を詳細に説明したが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく、種々の改良や変更を行うことができることは言うまでもない。
例えば、上記実施の形態に係る処理装置10では、プロセッサ11に、1つの管理コア12と、3つの処理コアが装備されていたが、処理コアの数は、2以上であればよい。
例えば、2つの処理コアが装備される場合は、各処理コアでの画像処理時間が時間T×N=2T内であれば、全ての画像データの処理結果データを、T×N=2T時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる。
また、8つの処理コアが装備される場合は、各処理コアでの画像処理時間が時間T×N=8T内であれば、全ての画像データの処理結果データを、T×N=8T時間遅れ(すなわち、一巡遅れ)の時系列で安定的に出力することができる。処理コア数が多くなると、一つの処理コアで実行させる処理時間を確保しやすくなり、負荷の大きい処理であっても時系列で安定的に処理結果を出力することが可能となる。
また、上記実施の形態に係る処理装置10では、各処理コアが、1フレームずつ画像データを処理するように構成されているが、各処理コアで実行させる処理はこれに限定されない。例えば、各処理コアに、2以上の処理を並列的に行う並列処理を実行させる構成としてもよい。係る構成によれば、処理コア毎に並列処理を巡回的に実行させて、並列処理の結果を時系列で安定的に出力することが可能となる。
また、上記実施の形態に係る処理装置10では、処理対象データが、カメラ4から取得する画像データである場合について説明したが、処理対象データは、画像データに限定されるものではない。本発明に係る処理装置は、カメラ4の他、各種の計測装置、制御装置、又はセンサなどから時系列順に入力される処理対象データに対して、所定周期で所定の処理を実行する装置に広く適用することができ、所定の処理の結果を時系列で安定的に取り出すことが可能となる。
[付記]
本発明の実施の形態は、以下の付記の様にも記載され得るが、これらに限定されない。
(付記1)
時系列順に入力される処理対象データに対して所定の処理を行う処理装置(10)であって、
前記所定の処理を行う複数の処理ユニット(13、14、15)と、
これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニット(12)と、
前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリ(21)とを備え、
前記管理ユニット(12)が、
所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定部(12b)と、
該判定部(12b)により実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理部(12c)と、
前記判定部(12b)により実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼部(12d)と、
該処理依頼部(12d)により処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力部(12e)とを備え、
前記一の処理ユニット(13、14、15)が、
前記処理依頼部(12d)からの依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行うものであることを特徴とする処理装置。
(付記2)
時系列順に入力される処理対象データに対して所定の処理を行う処理方法であって、
前記所定の処理を行う複数の処理ユニット(13、14、15)と、
これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニット(12)と、
前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリ(21)とを備えた装置(10)を用い、
前記管理ユニット(12)が、
所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップ(S4)と、
該判定ステップ(S4)により実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップ(S6)と、
前記判定ステップ(S4)により実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップ(S7)と、
該処理依頼ステップ(S7)により処理を依頼した前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップ(S10)とを含み、
前記一の処理ユニット(13、14、15)が、
前記処理依頼ステップ(S7)による依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理(S24、S25、S26)を行うことを特徴とする処理方法。
1 車両
2 ドライバ
3 ドライバモニタリングシステム
4 カメラ
5 バス
6 情報系ECU群
7 走行系ECU群
8 安全機能系ECU群
10 処理装置
11 プロセッサ
12 管理コア(管理ユニット)
12a 画像取得部
12b 判定部
12c 格納処理部
12d 処理依頼部
12e 結果出力部
13 第1処理コア(第1処理ユニット)
14 第2処理コア(第2処理ユニット)
15 第3処理コア(第3処理ユニット)
20 メモリ
21 バッファメモリ
22 リングバッファ
23 第1バッファ
24 第2バッファ
25 第3バッファ
26 第4バッファ
27 第5バッファ

Claims (9)

  1. 時系列順に入力される処理対象データに対して所定の処理を行う処理装置であって、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
    前記管理ユニットが、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定部と、
    該判定部により実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理部と、
    前記判定部により実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼部と、
    該処理依頼部により処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力部とを備え、
    前記一の処理ユニットが、
    前記処理依頼部からの依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行うものであり、
    前記管理ユニットが、
    前記判定部により実行可能状態であると判定された前記一の処理ユニットと、
    前記格納処理部により前記処理対象データが格納される前記一のバッファ領域と、
    前記一巡前の処理結果データの有無状態と
    前記一巡前の処理結果データが格納されたバッファ領域と、
    を紐付けて管理するものであることを特徴とする処理装置。
  2. 前記判定部が、
    前記一の処理ユニットの一巡前の処理が終了していない場合に、前記一の処理ユニットが実行可能状態ではないと判定するものであり、
    前記一の処理ユニットが実行可能状態ではないと判定した場合、前記一の処理ユニットに処理させるタイミングの前記処理対象データを処理対象から外すことを特徴とする請求項1記載の処理装置。
  3. 時系列順に入力される処理対象データに対して所定の処理を行う処理装置であって、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
    前記管理ユニットが、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定部と、
    該判定部により実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理部と、
    前記判定部により実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼部と、
    該処理依頼部により処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力部とを備え、
    前記一の処理ユニットが、
    前記処理依頼部からの依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行うものであり、
    前記判定部が、
    前記一の処理ユニットの一巡前の処理が終了していない場合に、前記一の処理ユニットが実行可能状態ではないと判定するものであり、
    前記一の処理ユニットが実行可能状態ではないと判定した場合、前記一の処理ユニットに処理させるタイミングの前記処理対象データを処理対象から外すことを特徴とする処理装置。
  4. 前記処理対象データが、画像データであり、
    前記所定の処理が、所定の画像処理であることを特徴とする請求項1~3のいずれかの項に記載の処理装置。
  5. ドライバを撮影するカメラと、
    請求項4記載の処理装置とを備え、
    前記画像データが、前記カメラで撮影された画像データであり、
    前記所定の画像処理が、前記ドライバの状態を把握するための画像処理であることを特徴とするドライバモニタリングシステム。
  6. 時系列順に入力される処理対象データに対して所定の処理を行う処理方法であって、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備えた装置を用い、
    前記管理ユニットが、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
    該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
    前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
    該処理依頼ステップにより処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを含み、
    前記一の処理ユニットが、
    前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行い、
    前記管理ユニットが、
    前記判定部により実行可能状態であると判定された前記一の処理ユニットと、
    前記格納処理部により前記処理対象データが格納される前記一のバッファ領域と、
    前記一巡前の処理結果データの有無状態と、
    前記一巡前の処理結果データが格納されたバッファ領域と、
    を紐付けて管理することを特徴とする処理方法。
  7. 時系列順に入力される処理対象データに対して所定の処理をプロセッサに実行させるためのプログラムであって、
    前記プロセッサが、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
    前記管理ユニットに、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
    該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
    前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
    該処理依頼ステップにより処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを実行させ、
    前記一の処理ユニットに、
    前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を実行させ、
    前記管理ユニットに、
    前記判定部により実行可能状態であると判定された前記一の処理ユニットと、
    前記格納処理部により前記処理対象データが格納される前記一のバッファ領域と、
    前記一巡前の処理結果データの有無状態と、
    前記一巡前の処理結果データが格納されたバッファ領域と、
    を紐付けて管理する処理を実行させることを特徴とするプログラム。
  8. 時系列順に入力される処理対象データに対して所定の処理を行う処理方法であって、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備えた装置を用い、
    前記管理ユニットが、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
    該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
    前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
    該処理依頼ステップにより処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを含み、
    前記一の処理ユニットが、
    前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を行い、
    前記判定ステップが、
    前記一の処理ユニットの一巡前の処理が終了していない場合に、前記一の処理ユニットが実行可能状態ではないと判定するものであり、
    前記一の処理ユニットが実行可能状態ではないと判定した場合、前記一の処理ユニットに処理させるタイミングの前記処理対象データを処理対象から外す処理を行うことを特徴とする処理方法。
  9. 時系列順に入力される処理対象データに対して所定の処理をプロセッサに実行させるためのプログラムであって、
    前記プロセッサが、
    前記所定の処理を行う複数の処理ユニットと、
    これら複数の処理ユニットに前記処理対象データを時系列順に分散させて、前記所定の処理を巡回的に実行させるための管理を行う管理ユニットと、
    前記処理対象データと当該処理対象データの処理結果データとが時系列順に格納される複数のバッファ領域を有するバッファメモリとを備え、
    前記管理ユニットに、
    所定の順番で前記複数の処理ユニットのうちの一の処理ユニットの実行可能状態を判定する判定ステップと、
    該判定ステップにより実行可能状態であると判定された前記一の処理ユニットに処理させる前記処理対象データを、前記複数のバッファ領域のうちの一のバッファ領域に格納する格納処理ステップと、
    前記判定ステップにより実行可能状態であると判定された前記一の処理ユニットに、前記一のバッファ領域に格納された前記処理対象データの処理を依頼する処理依頼ステップと、
    該処理依頼ステップにより処理が依頼された前記一の処理ユニットの一巡前の処理対象データが格納されたバッファ領域に格納されている、一巡前の処理結果データを出力する結果出力ステップとを実行させ、
    前記一の処理ユニットに、
    前記処理依頼ステップによる依頼に基づいて、前記一のバッファ領域から前記処理対象データを取り込んで、前記所定の処理を行い、その処理結果データを前記一のバッファ領域に格納する処理を実行させ、
    前記判定ステップが、
    前記一の処理ユニットの一巡前の処理が終了していない場合に、前記一の処理ユニットが実行可能状態ではないと判定するものであり、
    前記一の処理ユニットが実行可能状態ではないと判定した場合、前記一の処理ユニットに処理させるタイミングの前記処理対象データを処理対象から外す処理を実行させることを特徴とするプログラム。
JP2019016053A 2019-01-31 2019-01-31 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム Active JP7218594B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019016053A JP7218594B2 (ja) 2019-01-31 2019-01-31 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019016053A JP7218594B2 (ja) 2019-01-31 2019-01-31 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020123255A JP2020123255A (ja) 2020-08-13
JP7218594B2 true JP7218594B2 (ja) 2023-02-07

Family

ID=71992788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019016053A Active JP7218594B2 (ja) 2019-01-31 2019-01-31 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7218594B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174994A (ja) 2013-03-11 2014-09-22 Samsung Electronics Co Ltd 静的スケジュールプロセッサのノンブロッキング実行装置及び方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162129A (ja) * 1996-11-28 1998-06-19 Mitsubishi Heavy Ind Ltd 画像処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014174994A (ja) 2013-03-11 2014-09-22 Samsung Electronics Co Ltd 静的スケジュールプロセッサのノンブロッキング実行装置及び方法

Also Published As

Publication number Publication date
JP2020123255A (ja) 2020-08-13

Similar Documents

Publication Publication Date Title
EP3830716B1 (en) Storage edge controller with a metadata computational engine
US11250240B1 (en) Instance segmentation using sensor data having different dimensionalities
WO2017148113A1 (zh) 自动行车方法和装置
WO2019047656A1 (zh) 用于控制无人驾驶车辆的方法和装置
US20150057869A1 (en) Locality adapted computerized assisted or autonomous driving of vehicles
JP7553176B2 (ja) ハードウェアアクセラレータをスケジューリングするための方法およびタスクスケジューラ
US20180018591A1 (en) Subscription-based safety features in car sharing
US10572748B2 (en) Autonomous vehicle adaptive parallel image processing system
CN111301422B (zh) 在用于车辆的自主驾驶的不同驾驶模式之间进行选择的系统和方法
US20230333229A1 (en) Sensor triggering based on sensor simulation
WO2019047642A1 (zh) 应用于自动驾驶汽车的控制方法和装置
JP7218594B2 (ja) 処理装置、ドライバモニタリングシステム、処理方法、及びプログラム
JP6359089B2 (ja) 不定の所要時間を有する計算をタイム・トリガ型アーキテクチャに統合する方法
CN108986253B (zh) 用于多线程并行处理的存储数据方法和装置
CN112712608B (zh) 用于通过车辆收集性能数据的系统和方法
CN109886229A (zh) 基于fpga的车牌人脸识别系统及方法
JP7363684B2 (ja) リソース管理装置及びリソース管理方法
US11496567B2 (en) Data processing method, apparatus, device and storage medium based on unmanned vehicle
US20200117914A1 (en) Algorithm Triggered Sensor Data Acquisition
CN113791843A (zh) 一种执行方法、装置、设备及存储介质
US11808858B2 (en) Systems and methods for constructing and utilizing field-of-view (FOV) information
US11966756B2 (en) Method for scheduling feature services with a distributed data flow service framework
US11909822B2 (en) Streaming algorithm for deficit round robin arbitration
CN115047937B (zh) 基于实时通信的任务控制方法、装置和车辆控制系统
WO2023233596A1 (ja) 通信システム、通信装置、及び通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230109

R150 Certificate of patent or registration of utility model

Ref document number: 7218594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150