IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングの特許一覧

特表2024-537903複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク
<>
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図1
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図2
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図3
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図4
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図5
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図6
  • 特表-複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-16
(54)【発明の名称】複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理するための方法、データ処理モジュール、およびデータ処理ネットワーク
(51)【国際特許分類】
   G06F 15/82 20060101AFI20241008BHJP
   G06F 9/38 20180101ALI20241008BHJP
【FI】
G06F15/82 610L
G06F9/38 310J
G06F9/38 370X
G06F15/82 650A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024523213
(86)(22)【出願日】2022-09-28
(85)【翻訳文提出日】2024-06-14
(86)【国際出願番号】 EP2022076949
(87)【国際公開番号】W WO2023066626
(87)【国際公開日】2023-04-27
(31)【優先権主張番号】102021211731.7
(32)【優先日】2021-10-18
(33)【優先権主張国・地域又は機関】DE
(81)【指定国・地域】
(71)【出願人】
【識別番号】591245473
【氏名又は名称】ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】エゲンター,シュテファン
(72)【発明者】
【氏名】ペーンル,ミヒャエル
(72)【発明者】
【氏名】ディツィオル,ラファエル
【テーマコード(参考)】
5B013
【Fターム(参考)】
5B013AA18
5B013DD00
(57)【要約】
それぞれが少なくとも1つのデータ処理要素(6)を含む複数のデータ処理モジュール(5)を含むデータ処理ネットワーク(4)を用いてデータを処理する方法、特に車両(1)においてセンサーデータ(3)を処理するための方法であって、各データ処理要素(6)は、データ(2)を処理するための規定されたデータ処理タスクに適合されており、各データ処理モジュール(5)は、少なくとも1つのデータソース(13)からのデータ(2)および/または別のデータ処理モジュール(5)の出力データ(8)を入力データ(7)として取得して、データ処理ネットワーク(4)のネットワーク出力データ(14)および/または別のデータ処理モジュール(5)の入力データ(7)である出力データ(8)を生成する、方法。
【特許請求の範囲】
【請求項1】
それぞれが少なくとも1つのデータ処理要素(6)を含む複数のデータ処理モジュール(5)を含むデータ処理ネットワーク(4)を用いてデータを処理する方法、特に車両(1)においてセンサーデータ(3)を処理するための方法であって、
各前記データ処理要素(6)が前記データ(2)を処理するための規定されたデータ処理タスクに適合されており、
各前記データ処理モジュール(5)が、少なくとも1つのデータソース(13)からのデータ(2)および/または別のデータ処理モジュール(5)の出力データ(8)を入力データ(7)として取得して、前記データ処理ネットワーク(4)のネットワーク出力データ(14)および/または別のデータ処理モジュール(5)の入力データ(7)である出力データ(8)を生成し、
該方法において、少なくとも1つのデータ処理モジュール(5)について、
a)各前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)において前記データ処理タスクを実施するための少なくとも1つの入力データ(7)のセットを受信する工程と、
b)前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)を起動するための刺激(9)を受信し、前記少なくとも1つのデータ処理要素(6)にパイプラインステージ(28)を割り当てる工程と、
c)工程a)において前記入力データ(7)のセットを、工程b)において前記刺激(9)を受信した場合に、前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)の前記パイプラインステージ(28)を起動させ、各前記入力データ(7)を用いて前記データ処理要素(6)が適合されている前記データ処理タスクを実施することによって出力データ(8)を生成する工程と、
d)前記出力データ(8)をさらなるデータ処理のために、および/またはネットワーク出力データ(14)として提供する工程とが実施される、方法。
【請求項2】
複数のパイプラインステージ(28)において工程c)における前記データ処理タスクが互いにずらされて並行して実行されるように、工程a)から工程d)が複数回繰り返し実行される、請求項1に記載の方法。
【請求項3】
工程b)において使用される前記刺激(9)を生成するために少なくとも1つのタイマー(10)が使用され、前記タイマー(10)が、前記データ処理要素(6)を用いた前記データ処理タスクの実施を規則的に繰り返すための時間パターン(11)を規定する、請求項1または2に記載の方法。
【請求項4】
工程b)において使用される前記刺激(9)を生成するために、データ(2)の利用可能性を示す少なくとも1つの利用可能信号(12)が使用される、請求項1~3のいずれか一項に記載の方法。
【請求項5】
工程a)が、前記データ処理モジュール(5)の入力データ受信モジュール(15)を用いて実施され、前記入力データ受信モジュール(15)が、まだ完全ではない入力データ(7)を中間保存するための入力記憶装置(16)を有し、前記入力データ(7)のセットの完全性検査を実施する、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記入力データ受信モジュール(15)の前記入力記憶装置(16)が入力データ(7)を格納するための複数の入力ステージ(29)を有しており、
複数の異なる入力データ(7)の受信間に前記入力ステージ(29)の変更が行われることによって、前記入力データ受信モジュール(15)において、入力データ(7)のうち最後に受信されたものの列(31)が利用可能となり、
少なくとも1つの入力データ(7)のセットが、工程b)における刺激(9)の受信の結果としての前記入力記憶装置に保管された入力データ(7)へのアクセスによって規定される、請求項5に記載の方法。
【請求項7】
前記少なくとも1つのデータ処理要素(6)が、最後に受信された入力データ(7)の列(31)を入力データ(7)のセットとしてまとめて処理することによって出力データ(8)を生成するように適合されている、請求項1~6のいずれか一項に記載の方法。
【請求項8】
入力ステージ(29)が入力ステージインデックス(32)を介してアドレス可能であり、前記入力ステージインデックス(32)が工程b)における刺激(9)の受信によって起動され、変更される、請求項1~7のいずれか一項に記載の方法。
【請求項9】
工程d)が出力データ提供モジュール(17)を用いて実施され、前記出力データ提供モジュール(17)が、まだ完全ではない出力データ(8)の中間保存が行われる出力記憶装置(18)を有する、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記出力データ提供モジュール(17)の前記出力記憶装置(18)が、出力データ(8)のセットを格納するための複数の出力ステージ(30)を有する、請求項9に記載の方法。
【請求項11】
工程d)において提供される出力データ(8)が、同一のデータ処理モジュール(5)を用いて工程a)からd)を再度実施するための入力データ(7)として少なくとも部分的に使用される、請求項1~10のいずれか一項に記載の方法。
【請求項12】
工程d)において提供される出力データ(8)が部分データ量(19)を含み、前記部分データ量(19)が、前記データ処理タスクの実施の際に前記データ処理モジュール(5)の複数の異なるデータ処理要素(6)によって生成され、
工程d)における前記出力データ(8)の提供が、前記出力データ(8)を構成する全ての前記部分データ量(19)が利用可能になって初めて行われる、請求項1~11のいずれか一項に記載の方法。
【請求項13】
工程d)において追加的に利用可能信号(12)が生成され、前記利用可能信号(12)に基づいて、出力データ(8)がさらなる処理のために提供されたことを認識可能である、請求項1~12のいずれか一項に記載の方法。
【請求項14】
工程c)の間に、
-パイプラインステージ(28)における前記データ処理タスクの実施を中断し、中断信号(22)が受信されたときに別の入力データ(7)を用いて工程c)を新たに開始する工程、が任意的に実施される、請求項1~13のいずれか一項に記載の方法。
【請求項15】
請求項1~14のいずれか一項に記載の方法を実施するためのデータ処理ネットワーク(4)用のデータ処理モジュール(5)であって、
入力記憶装置(16)が割り当てられている入力データ受信モジュール(15)と、出力記憶装置(18)が割り当てられている出力データ提供モジュール(17)とを有し、
さらに、前記入力記憶装置(16)内の前記入力データ(7)に基づいてデータ処理タスクを実施するための、および前記出力記憶装置(18)内に格納される出力データ(8)を生成するための少なくとも1つのデータ処理要素(6)を有する、データ処理モジュール(5)。
【請求項16】
少なくとも前記入力記憶装置(16)または前記出力記憶装置(18)が、入力データ(7)または出力データ(8)のセットを格納するための複数のステージ(29、30)を有する、請求項14に記載のデータ処理モジュール(5)。
【請求項17】
請求項13または14に記載のデータ処理モジュール(5)を複数含むデータ処理ネットワーク(4)。
【発明の詳細な説明】
【技術分野】
【0001】
運転者支援または自動運転のためのシステムは、通例はデータフローに関してグラフで表すことができる多くの個々のソフトウェアユニットからなる。これらのソフトウェアユニット(しばしば、ランナブル、ノード、またはデータ処理要素とも呼ばれる)は、ある量の入力データが処理され、そこからある量の出力データが生成されることを特徴とする。
【背景技術】
【0002】
データ処理要素からなるシステムのそのようなグラフは、システムを通過するデータフローに対する静的視野を視覚化する。
様々なソフトウェアユニットは、センサーデータを処理するために用いられる複雑なデータ処理ネットワークを規則的に構築することによって、センサーデータに基づいて行動を実施する。そのような行動として、例えば車両の自律運転操作の枠内における制御タスクが挙げられる。データ処理ネットワークにおけるデータ処理は通常、データ処理要素を用いて実行される複数の互いに基づくデータ処理工程またはデータ処理タスクを含む。
【0003】
このようなデータ処理ネットワークでは、通常はデータ処理タスクの実行あるいは起動は対応する条件によって左右される。この条件には時間ステップまたはデータの到着のような刺激が含まれ得る。データ処理要素の実行を規定する制御フローは、通例はデータフローから導出される。
【0004】
データ処理タスクあるいはデータ処理要素の実行がデータフローに対応するデータ駆動型手法がある。
さらに、データ処理タスクあるいはデータ処理要素の時間駆動型の実行を用いる手法がある。このような手法は近年、最悪実行時間(考えられる最長の実行時間)の概念によって強化された。
【0005】
厳密なデータ駆動型の手法では、データ処理タスクあるいはデータ処理要素の実行がデータパケットの到着によって引き起こされる。データ処理要素の実行におけるデータパケットの送付は、対応するグラフの場合に、それに依存するデータ処理要素の即時の実行につながり得る。あるデータ処理要素がまだ実行されている間に新たなデータパケットが到着した場合には、データ処理要素の複数回の並行した実行さえ考えられる。このようなシステムは待ち時間が少ないが、可能な状態の数が多い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記を背景に、ここではデータ処理の再現性を同時に高い性能で実現することを目標とするデータ処理方法について説明する。特に、データ処理要素の複数回の並行した実行が可能になると同時に、可能な状態の数が制御可能あるいは監視可能であり続ける。
【課題を解決するための手段】
【0007】
ここでは、それぞれが少なくとも1つのデータ処理要素を含む複数のデータ処理モジュールを含むデータ処理ネットワークを用いてデータを処理する方法、特に車両においてセンサーデータを処理するための方法であって、各データ処理要素は、データを処理するための規定されたデータ処理タスクに適合されており、各データ処理モジュールは、少なくとも1つのデータソースからのデータおよび/または別のデータ処理モジュールの出力データを入力データとして取得して、データ処理ネットワークのさらなるネットワーク出力データおよび/または別のデータ処理モジュールの入力データである出力データを生成し、該方法において、少なくとも1つのデータ処理モジュールについて、
a)各データ処理モジュールの少なくとも1つのデータ処理要素においてデータ処理タスクを実施するための少なくとも1つの入力データのセットを受信する工程と、
b)データ処理モジュールの少なくとも1つのデータ処理要素を起動するための刺激を受信し、少なくとも1つのデータ処理要素にパイプラインステージを割り当てる工程と、
c)工程a)において入力データのセットを、工程b)において刺激を受信した場合に、データ処理モジュールの少なくとも1つのデータ処理要素のパイプラインステージを起動させ、各入力データを用いてデータ処理要素が適合されているデータ処理タスクを実施することによって出力データを生成する工程と、
d)出力データをさらなるデータ処理のために、および/またはネットワーク出力データとして提供する工程とが実施される、方法について説明する。
【0008】
この方法によって、特に、従来の手法では予測可能性および再現性を実現することが非常に困難であるという問題が解決される。このことは、例えば同じソフトウェアが2つのマイクロプロセッサ上で同時に実行されるSWロックステップのような安全対策の実施を困難にする。また、他のランタイム挙動、したがって場合によっては他の結果を考慮に入れなければならないので、記録された運転状況を可能な限り忠実に計算し直すこと(再計算)も困難である。
【0009】
ここで説明している方法の基礎は、データ処理ネットワークの多数のデータ処理要素がそれぞれいわゆるデータ処理モジュールに集約され、それによってデータ処理ネットワークの追加的な上位の構造が形成されることである。この構造レベルにおいて、モジュール内の個々のデータ処理要素のそれぞれの入力データおよび出力データが集約され、データフローがデータ処理ネットワークによってこのレベルで規制あるいは制御される。
【0010】
制御技術の割合が高い自動車部門では、タイムスライスでの実行がこれまで常に優勢であった(例えば、10ミリ秒、20ミリ秒、100ミリ秒のタスク)。特に、このようなデータ処理ネットワークを用いてデータ処理を実行するためのハードウェアとしてマルチコアシステムが使用される場合、さらなる問題が生じる。特にマルチコアシステムではデータ処理ネットワークのデータ処理要素のランタイムの変動が生じる。このようなランタイムの変動によって、データ処理要素の出力データを別のデータ処理要素の入力データとして割り当てることが困難になる、あるいは、もはや予測不可能になる。この予測可能性は、例えば考えられる最長の実行時間/処理時間の概念によって、場合によっては再び改善することができる。しかし、このような概念は(マルチコアシステムの)ハードウェア能力を最大限利用する可能性を低下させる。ハードウェアは寸法がかなり大きくなければならない。
【0011】
特に、高度に複雑な運転者支援を使用することによって、あるいは自動運転を使用する場合に、処理すべきセンサーのデータの量が大幅に増加する。しかし、このようなシステムに要求される反応時間は、従来の運転者支援の用途の場合のものと同等か、より短くさえある。つまり、より多くの、より計算負荷の高い計算を、より長い処理連鎖において同等の時間で実施しなければならない。その結果、連鎖全体における個々のタイムスライス間の移行による追加的な待ち時間が加算されるので、既存の時間駆動型の手法では許容できない待ち時間が生じる。
【0012】
提示している方法によって、データ駆動型の実行に基づく手法をデータ処理要素の時間駆動型の実行の成果と組み合わせることが可能になる。それによって、純粋な時間駆動型のシステムの場合よりも生じる待ち時間が短くなり(性能が向上し)、厳密なデータ駆動型のシステムの場合よりも再現性が向上するように、データ処理ネットワークを運用することが可能になる。その結果、自動運転のためのシステムにおいて待ち時間に関する高い要求を満たすことができ、同時に、SWロックステップにおける実行および再計算における正確な再現性を可能にするシステムを得ることができる。工程b)については、工程c)におけるデータ処理の実施を規定する適切な刺激を規定することができる。その場合、工程a)において受信される入力データを利用することができる。次に、工程d)によって出力データが後続の処理工程のために提供される。その時のデータ処理モジュールがデータ処理ネットワークにおける最後のデータ処理モジュールである場合、データをネットワーク出力データまたはシステム出力データとも称することができる。その場合、このデータは例えば同時に制御部の入力データであり、制御部はこのデータを処理する、あるいはある用途のために考慮する。
【0013】
説明している方法によって、データ処理タスクの時間駆動型およびデータ駆動型の両方の実行が可能になる。データ処理の本来の開始は、工程b)にて刺激が受信されたときに行われる。データは、刺激の到着とともにデータ処理要素にとってある程度は可視となる。したがって、時間的に一致するデータ構造は共にデータ処理モジュール間を移動させられる。データ処理要素用のデータの提供は、上位の構造において提供されるデータ処理モジュールを用いて行われる。上位のデータ処理モジュールの構造、および、この構造レベルでデータが提供されるという事実によって、データ処理ネットワーク全体のシステム状態の数が著しく減少する。
【0014】
工程b)においてデータ処理要素の起動のための刺激が受信される時点で、入力データまたは新たな入力データが(その時のデータ処理タスクが最後に処理されてから存在していない)こともあり得る。この方法は、その場合、データ処理タスクが新たに実行されないように、刺激を次に受信するまで待機するように適合させることができる。この方法の実施例では、例えば中央部において、エラー出力も行うことができる。
【0015】
工程b)では、データ処理タスクの実行の前に、その時々のデータ処理要素にパイプラインステージが割り当てられ、このパイプラインステージでは、その時々に意図されている入力データを用いてデータ処理タスクが実行される。パイプラインステージは、データ処理タスクの一種の実行主体のようなものであり、例えば、マイクロプロセッサ上に確保された記憶領域を、場合によってはマイクロプロセッサ上に確保された計算能力をも備えている。好ましくは、各データ処理要素について特定数のパイプラインステージが存在しており、これらのパイプラインステージにおいて、データ処理タスクを並行して(時間的に重複して、ただし場合によっては互いにずらされて開始および終了するように)実行することができる。パイプラインステージの数は、可能な並行の程度を示す。
【0016】
好ましくは、パイプラインステージの割り当ては、データ処理タスクがその時に行われていない、空いているパイプラインステージも存在しているときにのみ行われる。空いている(既に終了した)パイプラインステージが存在しなくなるほど刺激が前後して素早く繰り返し受信されれば、好ましくは待機する、あるいはデータ処理タスクの開始が先延ばしされる。
【0017】
パイプラインステージの使用は特に、計算時間がかかるデータ処理タスクの際に可能な限り早期に最新の出力データを取得するために役立つ。というのは、あるパイプラインステージにおいて先に開始されたデータ処理タスクの実施がまだ終了していないときに、別のパイプラインステージにおいてデータ処理タスクの新たな実施を既に開始することができるからである。
【0018】
これに関連して、複数のパイプラインステージにおいて工程c)におけるデータ処理タスクが互いにずらされて並行して実行されるように、工程a)から工程d)が複数回繰り返し実行されることも特に有利である。
【0019】
特に好ましくは、工程d)の後にさらに、
e)少なくとも1つのデータ処理要素を用いた少なくとも1つのデータ処理タスクの実施を検証するために、入力データのセットと、刺激と、および/または出力データとからなる検証データセットを提供する工程、が実施される。
【0020】
好ましくは、検証データセットが追加的に少なくとも1つの時間情報を含み、時間情報が、刺激の時点および/または少なくとも1つのデータ処理タスクの処理に関する時間情報を可能にする。
【0021】
このような時間情報は、例えばデータ処理タスクの実行の開始および終了の記録によって得ることができる。したがって、処理された入力データおよび生成された出力データを共通の論理的なタイムライン上に表すことができ、説明している方法の検証のための計算が可能になる。
【0022】
別のデータ処理モジュールの出力データを入力データとして処理するあるデータ処理モジュールは、刺激が起動因子として生じたときに処理を開始することが可能である。このように、時間駆動型の手法と比較して、最悪実行時間による、受信するデータ処理モジュールのタイムスライスの開始までの追加の待ち時間を回避することができる。
【0023】
ここで説明している方法によって、その時々に処理される入力データに関する情報が再現可能であるので、個々のデータ処理タスクの実施の再現性が確保される。
提示している方法では、データ処理モジュールは、実行中(工程cの実施中)、世界あるいは処理される入力データに対して常に視野を固定している。方法の実行中、入力データは変化しない。これは、工程a)において到着する入力データが収集されることによって達成される。データは制御されて論理的時間で自動的に順送りすることができる。データ処理モジュールの出力データをその実行に関して一貫して他のデータ処理モジュールによって処理するために、出力データが好ましくは同様に収集される。
【0024】
好ましくは、工程b)において使用される刺激を生成するために少なくとも1つのタイマーが使用され、タイマーが、データ処理要素を用いたデータ処理タスクの実施を規則的に繰り返すための時間パターンを規定する。
【0025】
このタイマーは、例えば、データ処理ネットワークが運用されるハードウェアであって、各データ処理モジュールについて、刺激を構成するとともに方法の実施を引き起こすタイマー信号を一定の間隔で出力するハードウェア上の対応する構成要素であってもよい。
【0026】
その他、好ましくは、工程b)において使用される刺激を生成するために、データの利用可能性を示す少なくとも1つの利用可能信号が使用される。この利用可能信号は、例えば、他のデータ処理モジュールにおける説明している方法の先行する実行によって引き起こされたものであってもよい。
【0027】
特に好ましくは、刺激がタイマーと利用可能信号とからなる組み合わせによって構成される。新たなデータが利用可能信号を介して示されると、必ずデータ処理モジュールがタイマーに反応する準備ができた状態にされる。タイマーおよび(少なくとも1つの)利用可能信号の両方がデータ処理を開始すべきことを示す場合にのみ、そのデータ処理モジュールのデータ処理要素におけるデータ処理が行われる(工程c))。
【0028】
特に好ましくは、工程a)が、データ処理モジュールの入力データ受信モジュールを用いて実施され、入力データ受信モジュールが、まだ完全ではない入力データを中間保存するための入力記憶装置を有し、入力データのセットの完全性検査を実施する。
【0029】
これに関連して、特に好ましくは、入力データ受信モジュールの入力記憶装置が入力データを格納するための複数の入力ステージを有しており、複数の異なる入力データの受信間に入力ステージの変更が行われることによって、入力データ受信モジュールにおいて、入力データのうち最後に受信されたものの列が利用可能となり、少なくとも1つの入力データのセットが、工程b)における刺激の受信の結果としての入力記憶装置に保管された入力データへのアクセスによって規定される。
【0030】
アクセスは、工程b)において刺激が受信されたときに行うことができる。刺激の到着とともに、入力データに対する視野が形成される。その時々のパイプラインステージにおいて処理される入力データのセットが規定される。この入力データのセットは、並行して格納することもできるので、データ処理要素を用いたデータ処理タスクの実行が追跡可能となる。
【0031】
入力記憶装置の入力ステージを用いた様々な動作形態が可能である。刺激が到着した際に、最後に受信された入力データの列においてデータ処理タスクにまだ提供されていない最新の入力データのみが常に処理されることが可能である。また、入力データの列において(個々の)入力データが複数回処理されることによって、常にデータ処理タスクが入力データ(例えば、遡って入力データのNセット)からなるスライド式のウィンドウについて実行されることも可能である。
【0032】
また好ましくは、少なくとも1つのデータ処理要素が、最後に受信された入力データの列を入力データのセットとしてまとめて処理することによって出力データを生成するように適合されている。
【0033】
好ましくは、入力ステージは入力ステージインデックスを介してアドレス可能であり、この入力ステージインデックスが、工程b)における刺激の受信によって起動され、変更される。
【0034】
入力ステージインデックスは、例えば刺激が受信されるたびに値が増加される。
その他、好ましくは、工程d)が出力データ提供モジュールを用いて実施され、出力データ提供モジュールが、まだ完全ではない出力データの中間保存が行われる出力記憶装置を有する。
【0035】
これに関連して、特に有利には、出力データ提供モジュールの出力記憶装置が、出力データのセットを格納するための複数の出力ステージを有する。
したがって、好ましくは、データ処理モジュールはデータ処理タスクを実施するために特別なゲート(入力データ受信モジュール=入力ゲート、出力データ提供モジュール=出力ゲート)を有する。
【0036】
制御部は、これらのゲートを通して、データ処理モジュール間のデータフローを制御することができる。制御部が、データ処理モジュールの実行の開始および終了を、ゲートを介したデータの順送りと同期させれば、どのデータ処理モジュールがいつどのデータを用いて実行されるかを制御することができる。データ処理モジュールの開始について決定するために、前述の刺激が利用される。
【0037】
実行の変形例では、工程d)において提供される出力データが、同一のデータ処理モジュールを用いて工程a)から工程d)(場合によっては工程e)も)を再度実施するための入力データとして少なくとも部分的に使用される。
【0038】
これによって、データ処理モジュールがデータ処理モジュールの以前の実行に基づく過去のデータを処理することを可能にする一種のフィードバックが表される。このようなフィードバックによって、データ処理ネットワークにおいてある種の記憶能力が実現される。
【0039】
データ処理モジュールの計算工程内にフィードバックがあれば、このデータパスがデータ処理モジュールのその時の入力データ受信モジュールおよびその時の出力データ受信モジュールを介して実現されるようにこのデータパスが構成される。
【0040】
好ましくは、工程d)において提供される出力データが部分データ量を含み、部分データ量が、データ処理タスクの実施の際にデータ処理モジュールの複数の異なるデータ処理要素によって生成され、工程d)における出力データの提供が、出力データを構成する全ての部分データ量が利用可能になって初めて行われる。
【0041】
部分データ量が生じるのは、例えば、データ処理モジュール内の異なるデータ処理要素のデータ処理タスクの処理時間の長さが異なるからである。出力データが完全に利用可能になるまで部分データ量を集めることによって、および全ての部分データ量を同時に提供することによって、いつどのデータがデータ処理ネットワークを用いたデータ処理の間に利用可能であったかを追跡することがかなり容易になる。
【0042】
また、好ましくは、工程d)において追加的に利用可能信号が生成され、利用可能信号に基づいて、出力データがさらなる処理のために提供されたことを認識可能である。
先に既述したように、このような利用可能信号は説明している方法のさらなる実行のための刺激として使用することができる。
【0043】
特に好ましくは、工程c)の間に、
ある実行主体におけるデータ処理タスクの実施を中断し、中断信号が受信されたときに別の入力データを用いて工程c)を新たに開始する工程、が任意的に実施される。
【0044】
このような手法は特に、利用可能なパイプラインステージの数が尽きている、あるいは全てのパイプラインステージがデータ処理タスクの実行に使用されているが、新たな入力データが到着しており、パイプラインステージにおけるデータ処理タスクの現在の実行の終了よりこの新たな入力データの処理により高い重要度が認められる場合に考慮に値する。
【0045】
その他、好ましくは、方法の実施中に、後のさらなる処理のために、
・工程a)において受信される入力データのセット、
・工程b)において受信される刺激、
・工程d)において提供される出力データ、
・工程d)において提供される利用可能信号、の情報のうちの少なくとも1つの永久記録が行われる。
【0046】
特に好ましくは、記録の際に、追加的に時間情報の格納が行われ、時間情報が、タイムラインに対する方法の実施の時間的な割り当てを可能にする。
このような記録は、例えば、場合によっては個々のデータ処理要素における不具合を調査することが可能なデバッグタスクを事後に行うために、追加的なデバッグデータ記憶装置において行うことができる。このような記録を、完成された使用中のシステムにおいて利用することもできる。それによって、特に、データ処理タスクの実行におけるハードウェアに起因した不具合を事後の検証を通して認識し、それに基づいて修正タスクを実行することができるようになる。
【0047】
ここでは、説明している方法を実施するためのデータ処理ネットワーク用のデータ処理モジュールであって、入力記憶装置が割り当てられている入力データ受信モジュールと、出力記憶装置が割り当てられている出力データ提供モジュールとを有し、さらに、入力記憶装置内の入力データに基づいてデータ処理タスクを実施するための、および出力記憶装置内に格納される出力データを生成するための少なくとも1つのデータ処理要素を有する、データ処理モジュールについても説明する。
【0048】
特に有利には、少なくとも入力記憶装置または出力記憶装置が、入力データまたは出力データのセットを格納するための複数のステージを有する。
さらに、このようなデータ処理モジュールを複数含むデータ処理ネットワークについて説明する。
【0049】
方法に関する上述の説明は、データ処理モジュールおよびデータ処理ネットワークにも転用可能および適用可能である。
以下では方法を図面に基づいてより詳しく説明する。
【図面の簡単な説明】
【0050】
図1】説明しているデータ処理ネットワークが使用され、説明している方法が適用される車両の図である。
図2】説明している方法を実施するためのデータ処理モジュールの図である。
図3】複数の異なるパイプラインステージにおけるデータ処理タスクの実行のフローチャートである。
図4】説明している方法を実施するためのデータ処理モジュールの別の図である。
図5】タイムライン上に表された、説明している方法を用いたデータ処理の形式の図である。
図6】タイムライン上に表された、説明している方法を用いたデータ処理の別の形式の図である。
図7】タイムライン上に表された、説明している方法を用いたデータ処理のさらに別の形式の図である。
【発明を実施するための形態】
【0051】
図1には、車両1が概略的に表されている。車両1は、特に道路車両、例えば乗用自動車または貨物自動車である。車両1は、様々な運転者支援システムによって利用され得る、例えば車両1の周囲からの周囲データのような情報を取得するためのセンサー23を有している。このようなシステムは、例えば積極的または消極的な安全性のシステムであってよく、自律的(または一部自律的)な運転操作のためのシステムであってもよい。このようなシステムは、図1では制御部20として表されている。
【0052】
制御部20がセンサー23のデータを処理できるように、このデータが準備されなければならない。この目的のために、車両1はデータ処理ネットワーク4を有する。センサー23はこのデータ処理ネットワーク4にセンサーデータ3を提供するデータ処理ネットワーク4用のデータソース13を構成する。制御部20は、このデータ処理ネットワーク4のネットワーク出力データ14を受信する、データ処理ネットワーク4用の出力データ受信器21を構成する。
【0053】
データ処理ネットワーク4は、それぞれが(1つまたは複数の)データ処理要素6からなる複数のデータ処理モジュール5からなる。ここでは、個々のデータ処理要素6がそれぞれ複数のパイプラインステージ28において並行して存在することができ、その結果、データ処理要素6を用いたデータ処理タスクを互いに並行して/重複して実行可能であることが概略的に示されている。データ処理モジュール5およびデータ処理要素6を備えたデータ処理ネットワーク4は、好ましくは、特にデータ処理ネットワーク4がデータ2を格納することができるデータ記憶装置27を有するハードウェア25であって、さらにデータ処理ネットワーク4のための他の様々なハードウェア機能、例えばタイマー10を提供することができるハードウェア25上に実現される。
【0054】
図2には、説明しているデータ処理ネットワーク4用のデータ処理モジュール5の可能な実施例が示されている。説明している方法は、その都度それぞれの個々のデータ処理モジュール5レベルで実施される。各データ処理モジュール5は、入力データ7を受信するための入力記憶装置16を備えた入力データ受信モジュール15と、出力データ8を提供するための出力記憶装置18を備えた出力データ提供モジュール17と、入力データ7から出力データ8までのデータ処理を行うためのデータ処理要素6を備えたデータ処理要素構造26とを備えている。入力データ受信モジュール15は、データ処理要素6を用いたデータ処理を開始させることができる刺激9を受信するためのインターフェースを備えることができる。出力データ提供モジュール17は、データ処理要素6を用いたデータ処理が終了して出力データ8が利用可能であるときに利用可能信号12を出力するためのインターフェースを有し得る。
【0055】
説明している方法の工程a)および工程b)は入力データ7の受信に関し、主に入力データ受信モジュール15を用いて実行される。説明している方法の工程d)および工程e)は出力データ8の提供に関し、主に出力データ提供モジュール17によって実行される。本来のデータ処理は工程c)において、その時のデータ処理モジュール5のデータ処理要素構造26を構成するデータ処理要素6において行われる。
【0056】
ここで、図1に既に示したパイプラインステージ28の実装についてさらに幾分より詳細に説明する。パイプラインステージ28は、好ましくはデータ処理モジュール5のデータ処理要素6だけに関連している。全てのパイプラインステージ28は、好ましくは共通の入力データ受信モジュール15および共通の出力データ提供モジュール17にアクセスする。入力データ受信モジュール15の入力記憶装置16および出力データ提供モジュール17の出力記憶装置18は、好ましくはそれぞれが複数の入力ステージ29および出力ステージ30を有しており、これらのステージがそれぞれ入力ステージインデックス32あるいは出力ステージインデックス33を介してアドレス可能である。あるパイプラインステージ28のデータ処理要素6におけるデータ処理タスクの実行の際に、その都度入力データ7の列31がアクセスされ、それによって、その都度のデータ処理タスク処理のための入力データ7のセットが規定される。入力データ7のセットを構成する入力データ7の列31は、刺激が到着するたびに変位させることができる。実施例では、この列31は長さが固定されている。別の実施例では、この列は常に(あるパイプラインステージにおけるデータ処理タスクの実行が最後に開始されてから)最後に到着した入力データ7のみに該当する。
【0057】
図2にはさらに、パイプラインステージ(28)におけるデータ処理の実行の中断につながる中断信号の可能性も(純粋に概略的であるが)表されている。
図3のタイムライン24上の方法の描写を用いれば、パイプラインステージ28を使用することによって出力データがより早く利用可能になることに関して、パイプラインステージ28において方法を実行することの利点を説明することができる。図3の上方には、センサー23あるいは他のデータソース13からの入力データ7が規則的に繰り返し到着することが表されている。その下には、2つのデータ処理モジュール5.1および5.2あるいはこれらのモジュールにそれぞれ含まれるデータ処理要素6.1および6.2における互いに基づくデータ処理タスクの実行が表されている。両方のデータ処理タスクがそれぞれ複数回並行して実行されることによって、既により早くから出力データ8を提供することができる。これが当てはまるのは特に、データ処理タスクについて、その時々の入力データ受信モジュールにおいて連続的に/ある期間にわたって延びるように増加する入力データの列がその都度処理される場合である。
【0058】
図4には、入力データ受信モジュール15と、データ処理要素6と、出力データ提供モジュール17とを備えたデータ処理モジュール5の別の図が示されている。入力データ受信モジュール15には、入力データ用の入力記憶装置16がより詳細に表されている。入力記憶装置16が、入力ステージインデックス32を介してアドレス可能な入力ステージ29を有していることが認識できる。ここでは、出力データ提供モジュール17の出力記憶装置18も概略的に示されており、ここでは詳細には表されていないが、出力記憶装置18は入力記憶装置16に対応するように構成することができる。
【0059】
図5、6、および7は、説明しているデータ処理ネットワーク4あるいは説明している方法を用いて実施され得る異なる種類のデータ処理を示す。
これらの描写には、それぞれ異なるデータ処理モジュール5.1、5.2、および/または5.3が示されており、それぞれデータ処理モジュール5に属するデータ処理要素6を用いたデータ処理の実行の継続時間がタイムライン24上にバーとして示されている。それぞれ上方には概略的にデータソース13(ここではそれぞれセンサー23)が表されており、このデータソース13によってデータ2(ここではセンサーデータ3)がデータ処理ネットワーク4に導入され得る。
【0060】
個々のデータ処理モジュール5.1、5.2、および/または5.3は、タイムライン24を越えて連続して複数回示されている。これによって、個々のデータ処理モジュール5.1、5.2、および/または5.3が、その都度複数回繰り返し実行され、そのたびに他の入力データを利用することが表されている。データ処理モジュール5.1、5.2、および/または5.3のうちの1つの実行の開始は、刺激9が存在するときにその都度行われる。
【0061】
図5、6、および7は、ここで使用することができるそれぞれ異なる種類の刺激9を示す。
図5は、データ処理モジュール5.1、5.2、および/または5.3を用いた特定のデータ処理タスクを実施するためのデータが利用可能であることを示す利用可能信号12のみが刺激9として使用されることを示す。図4に表された方法は、データ技術的にかなり無制御に進行する。新たなデータが利用可能になるとすぐに、それぞれのデータ処理モジュール5.1、5.2、および/または5.3の実行が開始される。これによって、高い処理速度が実現される。しかし、どのデータがそれぞれのデータ処理モジュール5.1、5.2、および/または5.3によって処理されたかの追跡可能性が非常に低い。これは特に、データ処理モジュール5.1、5.2、および/または5.3を用いたデータ処理の継続時間を正確に予測することができず、したがってどのデータ処理モジュール5.1、5.2、および/または5.3がどの入力データに反応するかの再現性が皆無である、あるいは低いからである。「再現性」は、ここではデータ処理ネットワーク4を用いたデータ処理の再現性を指す。これに関連して、低い再現性とは、個々のデータ処理モジュール5.1、5.2、および/または5.3を用いたデータ処理を追跡するために、例えばデバッグタスク、または冗長システムにおいてデータ処理の正確性を確保するためのタスクに必要とされるような、非常に多くの労力がかかるという意味である。
【0062】
図6は、固定された時間パターン11に従うタイマー10の信号がその都度刺激9として使用されることを示す。データ処理モジュール5.1、5.2、および/または5.3を用いたデータ処理を引き起こすためのこのような刺激9によって、データ処理モジュール5.1、5.2、および/または5.3を用いたデータ処理がどの入力データを用いて開始するかを常に正確に知ることが可能になる。これによって、上述の意味での高い再現性が達成されるが、同時に、データ処理ネットワーク4の性能が大幅に低下する。データ処理ネットワーク4の性能は、ここでは可能な限り少ないハードウェア資源を用いて運用可能であるデータ処理ネットワーク4の能力を指す。第1のデータ処理モジュールの出力データ8を入力データとして処理する別のデータ処理モジュール(例えば、データ処理モジュール5.2)の開始が行われる前に、データ処理モジュール(例えば、データ処理モジュール5.1)を用いたデータ処理が終了していることを、その都度保証しなければならないからである。データ処理モジュール5.1、5.2、および/または5.3を用いたデータ処理の継続時間を正確に予測できないので、考えられる最長の実行時間に基づいて時間パターンの十分な設計を行わなければならない。
【0063】
図7による実施例は、図5および6による実施例の態様を組み合わせることによって、一方では高い再現性を、他方では良好な性能を達成する。データ処理ネットワーク4では、タスクに応じて利用可能信号12またはタイマー10を刺激9として用いて処理が行われる。
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2024-06-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
それぞれが少なくとも1つのデータ処理要素(6)を含む複数のデータ処理モジュール(5)を含むデータ処理ネットワーク(4)を用いてデータを処理する方法、特に車両(1)においてセンサーデータ(3)を処理するための方法であって、
各前記データ処理要素(6)が前記データ(2)を処理するための規定されたデータ処理タスクに適合されており、
各前記データ処理モジュール(5)が、少なくとも1つのデータソース(13)からのデータ(2)および/または別のデータ処理モジュール(5)の出力データ(8)を入力データ(7)として取得して、前記データ処理ネットワーク(4)のネットワーク出力データ(14)および/または別のデータ処理モジュール(5)の入力データ(7)である出力データ(8)を生成し、
該方法において、少なくとも1つのデータ処理モジュール(5)について、
a)各前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)において前記データ処理タスクを実施するための少なくとも1つの入力データ(7)のセットを受信する工程と、
b)前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)を起動するための刺激(9)を受信し、前記少なくとも1つのデータ処理要素(6)にパイプラインステージ(28)を割り当てる工程と、
c)工程a)において前記入力データ(7)のセットを、工程b)において前記刺激(9)を受信した場合に、前記データ処理モジュール(5)の前記少なくとも1つのデータ処理要素(6)の前記パイプラインステージ(28)を起動させ、各前記入力データ(7)を用いて前記データ処理要素(6)が適合されている前記データ処理タスクを実施することによって出力データ(8)を生成する工程と、
d)前記出力データ(8)をさらなるデータ処理のために、および/またはネットワーク出力データ(14)として提供する工程とが実施される、方法。
【請求項2】
複数のパイプラインステージ(28)において工程c)における前記データ処理タスクが互いにずらされて並行して実行されるように、工程a)から工程d)が複数回繰り返し実行される、請求項1に記載の方法。
【請求項3】
工程b)において使用される前記刺激(9)を生成するために少なくとも1つのタイマー(10)が使用され、前記タイマー(10)が、前記データ処理要素(6)を用いた前記データ処理タスクの実施を規則的に繰り返すための時間パターン(11)を規定する、請求項1に記載の方法。
【請求項4】
工程b)において使用される前記刺激(9)を生成するために、データ(2)の利用可能性を示す少なくとも1つの利用可能信号(12)が使用される、請求項1に記載の方法。
【請求項5】
工程a)が、前記データ処理モジュール(5)の入力データ受信モジュール(15)を用いて実施され、前記入力データ受信モジュール(15)が、まだ完全ではない入力データ(7)を中間保存するための入力記憶装置(16)を有し、前記入力データ(7)のセットの完全性検査を実施する、請求項1に記載の方法。
【請求項6】
前記入力データ受信モジュール(15)の前記入力記憶装置(16)が入力データ(7)を格納するための複数の入力ステージ(29)を有しており、
複数の異なる入力データ(7)の受信間に前記入力ステージ(29)の変更が行われることによって、前記入力データ受信モジュール(15)において、入力データ(7)のうち最後に受信されたものの列(31)が利用可能となり、
少なくとも1つの入力データ(7)のセットが、工程b)における刺激(9)の受信の結果としての前記入力記憶装置に保管された入力データ(7)へのアクセスによって規定される、請求項5に記載の方法。
【請求項7】
前記少なくとも1つのデータ処理要素(6)が、最後に受信された入力データ(7)の列(31)を入力データ(7)のセットとしてまとめて処理することによって出力データ(8)を生成するように適合されている、請求項1に記載の方法。
【請求項8】
入力ステージ(29)が入力ステージインデックス(32)を介してアドレス可能であり、前記入力ステージインデックス(32)が工程b)における刺激(9)の受信によって起動され、変更される、請求項1に記載の方法。
【請求項9】
工程d)が出力データ提供モジュール(17)を用いて実施され、前記出力データ提供モジュール(17)が、まだ完全ではない出力データ(8)の中間保存が行われる出力記憶装置(18)を有する、請求項1に記載の方法。
【請求項10】
前記出力データ提供モジュール(17)の前記出力記憶装置(18)が、出力データ(8)のセットを格納するための複数の出力ステージ(30)を有する、請求項9に記載の方法。
【請求項11】
工程d)において提供される出力データ(8)が、同一のデータ処理モジュール(5)を用いて工程a)からd)を再度実施するための入力データ(7)として少なくとも部分的に使用される、請求項1に記載の方法。
【請求項12】
工程d)において提供される出力データ(8)が部分データ量(19)を含み、前記部分データ量(19)が、前記データ処理タスクの実施の際に前記データ処理モジュール(5)の複数の異なるデータ処理要素(6)によって生成され、
工程d)における前記出力データ(8)の提供が、前記出力データ(8)を構成する全ての前記部分データ量(19)が利用可能になって初めて行われる、請求項1に記載の方法。
【請求項13】
工程d)において追加的に利用可能信号(12)が生成され、前記利用可能信号(12)に基づいて、出力データ(8)がさらなる処理のために提供されたことを認識可能である、請求項1に記載の方法。
【請求項14】
工程c)の間に、
-パイプラインステージ(28)における前記データ処理タスクの実施を中断し、中断信号(22)が受信されたときに別の入力データ(7)を用いて工程c)を新たに開始する工程、が任意的に実施される、請求項1に記載の方法。
【請求項15】
請求項1に記載の方法を実施するためのデータ処理ネットワーク(4)用のデータ処理モジュール(5)であって、
入力記憶装置(16)が割り当てられている入力データ受信モジュール(15)と、出力記憶装置(18)が割り当てられている出力データ提供モジュール(17)とを有し、
さらに、前記入力記憶装置(16)内の前記入力データ(7)に基づいてデータ処理タスクを実施するための、および前記出力記憶装置(18)内に格納される出力データ(8)を生成するための少なくとも1つのデータ処理要素(6)を有する、データ処理モジュール(5)。
【請求項16】
少なくとも前記入力記憶装置(16)または前記出力記憶装置(18)が、入力データ(7)または出力データ(8)のセットを格納するための複数のステージ(29、30)を有する、請求項14に記載のデータ処理モジュール(5)。
【請求項17】
請求項13に記載のデータ処理モジュール(5)を複数含むデータ処理ネットワーク(4)。

【国際調査報告】