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

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

▶ テキサス インスツルメンツ インコーポレイテッドの特許一覧

特表2023-509140予測フレーム比較を用いる交互フレーム処理動作
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-03-07
(54)【発明の名称】予測フレーム比較を用いる交互フレーム処理動作
(51)【国際特許分類】
   G06T 1/20 20060101AFI20230228BHJP
【FI】
G06T1/20 B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022540658
(86)(22)【出願日】2020-12-22
(85)【翻訳文提出日】2022-08-30
(86)【国際出願番号】 US2020066539
(87)【国際公開番号】W WO2021138137
(87)【国際公開日】2021-07-08
(31)【優先権主張番号】16/866,647
(32)【優先日】2020-05-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/955,095
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507107291
【氏名又は名称】テキサス インスツルメンツ インコーポレイテッド
(74)【代理人】
【識別番号】230129078
【弁護士】
【氏名又は名称】佐藤 仁
(72)【発明者】
【氏名】アイシュワルヤ ドゥベイ
(72)【発明者】
【氏名】シャシャンク ダブラル
(72)【発明者】
【氏名】ヴェーランマニカンダン ラジュ
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057AA16
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CH02
5B057CH11
5B057CH20
5B057DA16
5B057DA20
5B057DB02
5B057DB09
(57)【要約】
画像ストリームからのフレームが、独立して動作するデジタル信号プロセッサ(DSP)(404A、404B)によって処理され、フレームチェッキングマイクロプロセッサ(402A、402B)のみがロックステップモードで動作する。一例では二つのDSPは交互フレームに対して動作する。各DSPはフレームを処理し、次のフレームについて予測値を生成する。ロックステップマイクロプロセッサ(402A、402B)はそれ自体の次のフレーム予測を展開する。ロックステップマイクロプロセッサは発行されるフレームと前に展開された予測フレームとを一貫性について比較する。これらの予測が充分に近い場合、発行されたフレームはテストに合格する。次いでロックステップマイクロプロセッサは、同様の一貫性チェックのため、発行されたフレームを先行する二つのフレームと比較する。先行するフレームも充分に近い場合、発行されたフレームは許容可能である。

【特許請求の範囲】
【請求項1】
少なくとも一つの画像ストリームと共に用いるための画像処理システムであって、前記画像処理システムが、
前記少なくとも一つの画像ストリームのフレームを受信するための第1のデジタル信号プロセッサ(DSP)と、
前記少なくとも一つの画像ストリームのフレームを受信するための第2のDSPであって、前記第1のDSP及び前記第2のDSPが、前記少なくとも一つの画像ストリームの異なるフレームを受信するためのものである、前記第2のDSPと、
前記第1及び第2のDSPによって処理されるフレームを格納するために前記第1及び第2のDSPに結合されるデータメモリと、
ロックステップで動作するように構成され、前記データメモリに結合される一対のプロセッサと、
前記第1及び第2のDSPに結合されるDSPプログラムメモリであって、前記それぞれのDSPに前記それぞれの少なくとも一つの画像ストリームの受信フレームを処理させる命令を格納する、前記DSPプログラムメモリと、
前記一対のプロセッサに結合されるロックステッププログラムメモリと、
を含み、
前記ロックステッププログラムメモリが、前記一対のプロセッサに、
前記第1のDSP及び前記第2のDSPによって処理される各フレームに対して、前記処理されたフレームを代替フレーム情報について評価して、前記処理されたフレームが所与のレベルよりも大きく前記代替フレーム情報と異なるかを判定させ、
前記差が前記所与のレベルより大きい場合、エラー表示を提供させる、
命令を格納する、
画像処理システム。
【請求項2】
請求項1に記載の画像処理システムであって、前記少なくとも一つの画像ストリームが単一画像ストリームであり、前記第1及び第2のDSPが、前記単一画像ストリームの交互フレームを受信する、画像処理システム。
【請求項3】
請求項1に記載の画像処理システムであって、前記少なくとも一つの画像ストリームが二つの関連する画像ストリームであり、前記第1のDSPが一方の関連する画像ストリームのフレームを受信し、前記第2のDSPが他方の関連する画像ストリームのフレームを受信するためのものである、画像処理システム。
【請求項4】
請求項1に記載の画像処理システムであって、前記代替フレーム情報が、前記第1又は第2のDSPと前記一対のプロセッサとの少なくとも一方によって展開されるフレーム予測を含む、画像処理システム。
【請求項5】
請求項4に記載の画像処理システムであって、前記フレーム予測が、前記第1又は第2のDSPと前記一対のプロセッサとの両方によって展開される、画像処理システム。
【請求項6】
請求項4に記載の画像処理システムであって、前記代替フレーム情報が、前記少なくとも一つの画像ストリームの事前に処理されたフレームをさらに含む、画像処理システム。
【請求項7】
請求項1に記載の画像処理システムであって、前記代替フレーム情報が、前記少なくとも一つの画像ストリームの事前に処理されたフレームを含む、画像処理システム。
【請求項8】
請求項1に記載の画像処理システムであって、前記代替フレーム情報が、前記第1及び第2のDSPのレジスタ値を含む、画像処理システム。
【請求項9】
請求項1に記載の画像処理システムであって、
前記第1及び第2のDSPの各々のためのスヌープ及びコピーブロックをさらに含み、
各スヌープ及びコピーブロックが、前記第1及び第2のDSPのそれぞれと前記データメモリとに結合され、前記スヌープ及びコピーブロックが、前記処理されたフレームの評価中に前記一対のプロセッサによって用いられるための処理されたフレームをコピーするためのものである、
画像処理システム。
【請求項10】
請求項9に記載の画像処理システムであって、前記スヌープ及びコピーブロックが、前記DSPプログラムメモリに結合され、前記処理されたフレームの前記評価中に、前記それぞれの第1又は第2のDSPに、前記一対のプロセッサによって使用されるための処理されたフレームをコピーさせるように、前記DSPプログラムメモリに格納される命令を含む、画像処理システム。
【請求項11】
請求項9に記載の画像処理システムであって、前記スヌープ及びコピーブロックが、前記処理されたフレームの前記評価中に、前記一対のプロセッサによって使用されるための前記処理されたフレームをコピーするためのハードウェアブロックである、画像処理システム。
【請求項12】
請求項9に記載の画像処理システムであって、前記スヌープ及びコピーブロックがさらに、前記処理されたフレームの評価中に、前記一対のプロセッサによって使用されるための前記それぞれの第1又は第2のDSPにおけるレジスタ値を前記データメモリにコピーするためのものである、画像処理システム。
【請求項13】
請求項1に記載の画像処理システムであって、代替フレーム情報が、前記少なくとも一つの画像ストリームの事前に処理されたフレームを含み、前記画像処理システムがさらに、
前記第1及び第2のDSPの各々に対するハードウェアチェッカを含み、
各ハードウェアチェッカが、前記一対のプロセッサ及び前記データメモリに結合され、
各ハードウェアチェッカが、処理される各フレームについて、前記処理されたフレームと、前記少なくとも一つの画像ストリームの事前に処理されたフレームとを比較し、前記処理されたフレームが、所与のレベルよりも大きく前記代替フレーム情報と異なるかを判定するために、比較結果を前記一対のプロセッサに提供するように適合される、
画像処理システム。
【請求項14】
請求項1に記載の画像処理システムであって、前記ロックステッププログラムメモリが、前記一対のプロセッサに、前記第1のDSP及び前記第2のDSPによって処理された各フレームに対して、前記処理されたフレームを代替フレーム情報と比較して、評価されるべき比較結果を展開させる命令をさらに格納する、画像処理システム。
【請求項15】
請求項14に記載の画像処理システムであって、前記ロックステッププログラムメモリがさらに、前記一対のプロセッサに、前記第1のDSP及び前記第2のDSPによって処理される各フレームに対して、比較するために用いられる前記代替フレーム情報に含める予測される次のフレームを展開させる命令を格納する、画像処理システム。
【請求項16】
偶数フレーム及び奇数フレームを有する画像ストリームととも用いるための画像処理システムであって、前記画像処理システムが、
前記画像ストリームの前記偶数フレームを受信するための第1のDSPと、
前記画像ストリームの前記奇数フレームを受信するための第2のDSPと、
前記第1及び第2のDSPによって処理されるフレームを格納するために前記第1及び第2のDSPに結合されるデータメモリと、
ロックステップで動作するように構成され、前記データメモリに結合される一対のプロセッサと、
前記第1及び第2のDSPに結合されるDSPプログラムメモリであって、前記それぞれのDSPに、
前記画像ストリームの前記偶数及び奇数フレームのそれぞれを処理させ、
前記画像ストリームの前記偶数及び奇数フレームの他方における次のフレームを予測させ、
このような処理されたフレーム及びDSPによって予測された次のフレームを前記データメモリに格納させる、
命令を格納する、前記DSPプログラムメモリと、
前記一対のプロセッサに結合されるロックステッププログラムメモリであって、前記一対のプロセッサに、
前記画像ストリームの所与の奇数又は偶数フレームについて、次の偶数又は奇数フレームに対してロックステップ予測される次のフレームを展開させ、
前記データメモリから前記次の処理されたフレームを読み出させ、
前記データメモリからの前記次の処理されたフレームに対応する前記DSPによって予測された次のフレームを読み出させ、
前記ロックステップ予測された次のフレーム、前記DSPによって予測された次のフレーム、及び前記次の処理されたフレームを比較させて、前記予測された次のフレームと前記次の処理されたフレームとの差が所与のレベルより大きいかを判定させ、
前記予測された次のフレームと前記次の処理されたフレームの前記差が前記所与のレベルより大きい場合にエラー指示を提供させる、
命令を格納する、前記ロックステッププログラムメモリと、
を含む、画像処理システム。
【請求項17】
請求項16に記載の画像処理システムであって、前記ロックステッププログラムメモリがさらに、前記一対のプロセッサに、
前記次の処理されたフレームを前記先行する二つの処理されたフレームと比較して、前記先行する二つの処理されるフレームと前記次の処理されたフレームとの差が所与のレベルより大きいかを判定させ、
前記先行する二つの処理されたフレームと前記次の処理されたフレームの前記差が前記所与のレベルより大きい場合にエラー指示を提供させる、
命令を格納する、
画像処理システム。
【請求項18】
請求項16に記載の画像処理システムであって、
前記第1及び第2のDSPの各々のためのスヌープ及びコピーブロックをさらに含み、
各スヌープ及びコピーブロックが、前記第1及び第2のDSPのそれぞれと前記データメモリとに結合され、前記スヌープ及びコピーブロックが、前記次の処理されたフレームの評価中に、前記一対のプロセッサによって用いられるための処理されたフレームと予測される次のフレームと前記DSPにおける選択されるレジスタの値とをコピーするためのものである、
画像処理システム。
【請求項19】
偶数フレーム及び奇数フレームを有する画像ストリームととも用いるための画像処理システムであって、前記画像処理システムが、
前記画像ストリームの前記偶数フレームを受信するための第1のDSPと、
前記画像ストリームの前記奇数フレームを受信するための第2のDSPと、
前記第1及び第2のDSPによって処理されるフレームを格納するために前記第1及び第2のDSPに結合されるデータメモリと、
ロックステップで動作するように構成され、前記データメモリに結合される一対のプロセッサと、
前記第1及び第2のDSPに結合されるDSPプログラムメモリであって、前記それぞれのDSPに、
前記画像ストリームの前記偶数及び奇数フレームのそれぞれを処理させ、
前記データメモリにこのような処理されたフレームを格納させる、
命令を格納する、前記DSPプログラムメモリと、
前記第1及び第2のDSPの各々に対するハードウェアチェッカであって、各ハードウェアチェッカが、前記一対のプロセッサ及び前記データメモリに結合され、各ハードウェアチェッカが、処理される各フレームについて、前記処理されたフレームと、前記画像ストリームの事前に処理されたフレームとを比較し、前記処理されたフレームが、所与のレベルよりも大きく前記事前に処理されたフレームと異なるかを判定するために、比較結果を前記一対のプロセッサに提供するように適合される、前記ハードウェアチェックと、
前記一対のプロセッサに結合されるロックステッププログラムメモリと、
を更に含み、
前記ロックステッププログラムメモリが、前記一対のプロセッサに、
前記第1のDSP及び前記第2のDSPによって処理される各フレームに対して、前記処理されたフレームを事前に処理されたフレームについて評価して、前記処理されたフレームが、所与のレベルよりも大きく前記事前に処理されたフレームと異なるかを判定させ、
前記処理されたフレームと前記事前に処理されたフレームの前記差が前記所与のレベルよりも大きい場合にエラー指示を提供させる、
命令を格納する、
画像処理システム。
【請求項20】
請求項19に記載の画像処理システムであって、
前記第1及び第2のDSPの各々のためのスヌープ及びコピーブロックをさらに含み、
各スヌープ及びコピーブロックが、前記第1及び第2のDSPのそれぞれと前記データメモリとに結合され、
前記スヌープ及びコピーブロックが、前記処理されたフレームの評価中に、前記一対のプロセッサによって用いられるための、処理されたフレームと前記DSPにおける選択されるレジスタの値とをコピーするためのものである、
画像処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本分野は、画像処理動作における故障検出に関する。
【0002】
自動車における電子機器の使用が日々増加している。従来のエンジンコントローラ、トランスミッションコントローラ、インフォテインメントユニット、車体コントローラなどに加え、数々の安全システム及び自律システムの登場により、自動車内部においてなされる処理が著しく増加している。例えば、アダプティブクルーズコントロールは、レーダーシステム、エンジンコントローラ、及びトランスミッションコントローラの相互通信を用いる。別の例として、鳥瞰視ディスプレイにおいて、様々な位置に配置される幾つかの異なるカメラからの出力がプロセッサに提供されて、受信したビデオを処理して得られる鳥瞰視画像を展開し、次いでこの画像をインフォテインメントシステムに提供してドライバーに見せる。このように入力センサの数及び種類が増えると、センサデータを受け取るシステムオンチップ(SoC)デバイスに大きな負担がかかる。また、センサデータは複数のプロセスによって用いられることが多く、そのためSoCデバイスに対する要求が増大する。センサデータを用いる安全システムには信頼性が要求されるため、少なくとも計算ブロックの二重化が必要になることが多く、負担はさらに複雑になる。
【発明の概要】
【0003】
一つ又は複数の画像ストリームからの画像又はフレームが、独立して動作するデジタル信号プロセッサ(DSP)及びハードウェア支援論理によって処理され、フレームチェッキングマイクロプロセッサのみがロックステップモードで動作する。一例において、二つのDSPが或る画像ストリームに対して動作している。各DSPがロックステップモードで各フレームに対して動作するのではなく、一方のDSPが偶数のフレームに対して動作し、他方のDSPが奇数フレームに対して動作している。各DSPは、必要に応じて所与の動作についてフレームを処理し、次のフレームについて予測値を生成する。例えば、或るDSPが、フレーム1に対して動作し、フレーム2について予測を生成している。ロックステップマイクロプロセッサは、それら自体の次のフレーム予測、本例ではフレーム2予測を展開する。DSPがフレーム処理を完了し、フレーム及び次のフレーム予測を発行すると、ロックステッププロセッサは、発行されたフレームと事前に展開された予測フレームとを一貫性について比較する。これらの予測が充分に近い場合、発行されたフレームはテストに合格する。次いで、ロックステッププロセッサは、発行されたフレームを先行する二つのフレームと比較して、同様の一貫性チェックを行う。例えば、ロックステッププロセッサは、フレーム0及び1を発行されたフレーム2と比較し得る。先行するフレームも充分に近い場合、発行されたフレームは許容可能であり、エラーは提示されない。どの比較によってもフレーム同士が異なり過ぎると判定される場合、エラーが提供されて適切な安全性予防措置が取られる。
【0004】
別の例において、フレーム予測は用いられず、より多くの先行フレーム、例えば4つの先行フレームと現在のフレームを比較するために、ハードウェアチェッカが提供される。ハードウェアチェッカは、ロックステッププロセッサに比較結果を提供して、許容可能な変動限界に対して比較する。比較結果が変動限界を超える場合、エラーが提供される。
【0005】
各DSPはあらゆるフレームを処理せず、一つおきのフレームのみを扱うので、次のフレーム予測を展開する幾つかの例において、特定の画像処理タスクに加えてその他の機能を実施するためにDSP帯域幅のかなりの部分が開放される。多くのサンプルに対して複数の方法で各フレームがチェックされるが、処理帯域幅を犠牲にしてまで安全性は低減されていない。これにより、所与のSoCについてより大きな能力が可能になるか、又は、他の方式で必要とされるより少ないSoCが用いられ得る。
【図面の簡単な説明】
【0006】
様々な例の詳細な説明について、添付の図面を参照する。
【0007】
図1】車両及び様々なセンサの視野の図である。
【0008】
図2図1の車両におけるセンサシステムのブロック図である。
【0009】
図3A】ASIL Dモードで動作する従来のSoCのブロック図である。
【0010】
図3B図3AのSoCによって処理されるフレームを図示する図である。
【0011】
図4A】ASIL Dモードで動作するSoCの一例である。
【0012】
図4B図4AのSoCによって処理されるフレームを図示する図である。
【0013】
図5図4AのSoCの比較値を求めるための一例のブロック図である。
【0014】
図5A図4A及び図5において用いられるSoCのブロック図である。
【0015】
図6図4A及び図5のSoCの比較値を求めるための一例のブロック図である。
【0016】
図7図4AのSoCの比較値を求めるための第2の例のブロック図である。
【0017】
図8A図4Bに従った図4AのSoCの動作を図示するフローチャートである。
図8B図4Bに従った図4AのSoCの動作を図示するフローチャートである。
図8C図4Bに従った図4AのSoCの動作を図示するフローチャートである。
図8D図4Bに従った図4AのSoCの動作を図示するフローチャートである。
【0018】
図9A図7に従った図4AのSoCの動作を図示するフローチャートである。
図9B図7に従った図4AのSoCの動作を図示するフローチャートである。
図9C図7に従った図4AのSoCの動作を図示するフローチャートである。
図9D図7に従った図4AのSoCの動作を図示するフローチャートである。
【発明を実施するための形態】
【0019】
ここで図1を参照すると、車両100が示されている。車両100は、一連のカメラ又は光学センサを含む。左カメラ102及び右カメラ104が、車線逸脱警告、交通標識認識、衝突注意、及びオブジェクト検出のために、車両100の前方からの画像を提供する。左LIDAR(光検出及び測距)センサ106及び右LIDARセンサ108が、車線及びオブジェクト検出のために車両100の前方からの画像を提供する。これらのカメラ及びLIDARセンサは、様々な先進運転支援システム(ADAS)への入力を提供する。カメラ及びLIDARセンサは単なる例であり、レーダーや超音波などの多くの他のセンサも用いられ得る。
【0020】
次に図2を参照すると、カメラ102及び104が、フロントカメラモジュール202に接続されている。LIDARセンサ106及び108は、LIDARモジュール204に接続される。フロントカメラモジュール202及びLIDARモジュール204は、他のモジュールによって展開される様々なセンサ出力を統合するセンサフュージョンモジュール210に接続される。自律的処理モジュール212がセンサフュージョンモジュール210に接続されて、車両動作のための自律的処理を実施する。所与のモジュールに接続され得るセンサの数はより多くてもより少なくてもよく、単一モジュールに複数のセンサタイプが提供され得る。
【0021】
自動車応用において、電気システムの多くにおいて安全性が優先される。ISO26262は、様々な自動車安全水準(ASIL)を定義している。所与のシステムに対して用いられるASILレベルは、重大度、暴露確率、及び制御可能性に基づいている。暴露確率には、「極低確率」~「高確率」(E0~E4)の5つのクラスがある。重大度には、「障害なし」から「生命を脅かす障害(生存可能性不明)、致命的な障害」(S0~S3)の4つのクラスがある。車両の電子システムによるものではなく、ドライバーによる制御可能性を意味する「制御可能性」には、「総じて制御可能」から「制御困難又は制御不能」の4つのクラスがある。これらの値が組み合わされて、ASILレベルA~Dが得られ、Aが最低レベル、Dが最高レベルである。衝突警報、車線逸脱、及び自律運転は、概してASIL Dに分類される。
【0022】
図3Aは、ASIL D動作のために構成される、モジュール202、204、210、又は212などのモジュールにおいて用いられるSoC300の例示である。SoC300内の構成要素は、プロセッサ302、デジタル信号プロセッサ(DSP)304、及びハードウェア支援論理306の概略分類に分けられる。SoC300において、プロセッサ302は、ARMプロセッサなどの二つのマイクロプロセッサ302A、302Bであり、ロックステップで動作するように構成される。ロックステップ動作において、各プロセッサは、同一ソフトウェアを実行し、同じ入力データに対して動作する。検出ハードウェアが、マイクロプロセッサ302A、302Bの出力の差を監視し、差が検出されるとエラー表示を提供する。同様に、DSP304は、ロックステップで動作する二つのDSP304A、304Bを含む。ハードウェア支援論理306は、ロックステップで動作する同一ハードウェア支援論理306A、306Bを有する。
【0023】
ロックステップ動作はASIL D動作を達成するが、その代償としてSoCの必要とされるシリコン面積が実質的に二倍になり、そのためSoCの能力が制限される。
【0024】
図3Bは、マイクロプロセッサ303A、302B、DSP 304A、304B、及びハードウェア支援論理306A、306Bなど、各ブロックにおける各デバイスによって各フレームが動作されることを図示する。図3Bにおいて、上段がデバイス「A」によって動作されるフレームであり、下段がデバイス「B」によって動作されるフレームである。これは、各画像ソースからの各フレームが、ロックステップ対の各デバイスによって動作されることを示している。
【0025】
図4Aは、ASIL D準拠画像処理システムを形成するためにモジュール202、204、210、又は212において用いられ得るSoC400の第一の例のブロック図である。SoC400において、プロセッサ402のみが、ロックステップマイクロプロセッサ402A、402Bによって形成される。DSPのD0 404A、D1 404Bは独立して動作する。ハードウェア支援論理406A、406Bは独立して動作する。
【0026】
図4Bは、SoC400の基本動作を図示する。この例では、DSP D0 404Aが奇数フレームに対してのみ動作し、DSP D1 404Bが偶数フレームにおいてのみ動作し、そのため、DSP D0 404A及びDSP D1 404Bは、異なるフレームに対して動作する。各DSP D0、D1 404A、404Bは、次のフレームをそれが奇数又は偶数フレームなのかとともに予測する。ロックステッププロセッサ402は、次のフレームの独自の予測を展開し、次いで、DSP及びプロセッサ自体が行った予測を実際のフレームと比較し、さらに、実際のフレームを二つの先行フレームと比較する。例えば、図4Bに示すように、フレーム3について、ロックステッププロセッサ402は、実際のフレーム3と、先行フレーム2及び1と、フレーム2を用いてなされる予測とを用いて、実際のフレーム3が先行フレームとこれらの予測の許容可能な偏差内にあるかを判定する。次いで、フレーム4について、ロックステッププロセッサ402は、実際のフレーム4と、先行フレーム3及び2と、フレーム3を用いてなされる予測とを用いて、実際のフレーム4を評価する。フレームが許容可能偏差外である場合、ロックステッププロセッサ402はエラー信号を提供する。
【0027】
各DSP D0、D1 404A、404Bについて連続するフレーム間のギャップに留意されたい。このギャップは、DSPが或るフレームを処理するのに必要とされる時間よりもわずかに短い。DSPは、この時間をASIL Dに準拠するために成されている図示のフレーム処理以外の他の処理タスクに用いることができる。フレーム間に事実上ちょうど名目上のギャップ又は時間がある図3Bと比較すると、図4Bでは、このギャップはかなり大きく、そのため、重要な他の処理がDSP D0 404A、D1 404Bによって実施され得る。図4Bに示すように動作させることによって、図3Bと比較して、ほぼDSP一個分の処理が取り戻されている。DSPは、DSPの実際の能力に応じて、図3Bに示すほぼ100%のデューティサイクルよりも短い時間でフレーム演算を実施し得、図4Bの改善は、或るフレームの処理に要する時間よりもわずかに少ないだけであり、これは、フレーム処理以外の他のタスクを実施する能力の大きな改善である。
【0028】
ここで、図5を参照すると、DSP D0 504Aが図示されている。DSP504Aには、一連の選択される制御レジスタ503が存在する。DSP D0 504Aは、マルチコア共有メモリコントローラ(MSMC)510に接続される。MSMC510にはL3 RAM512が接続される。L3 RAM512には、DSP D0フレームバッファ554Aとともに、診断メモリD0 552Aが位置しており、診断メモリD0 552A及びDSP D0フレームバッファ554Aは共に、DSP D0 504A及びロックステッププロセッサ402A、402Bなどの他のプロセッサによって実行される命令又はプログラムを格納するプログラムメモリ領域とは異なり、L3 RAM512におけるデータメモリ領域とみなされる。診断メモリD0 552A及びDSP D0フレームバッファ554Aは、動作を簡略化するために既知の位置に位置する。DSP D0フレームバッファ554Aは、特定の対象フレームを展開するためにDSP D0 504Aによって用いられる付加的なスクラッチパッドメモリを含み得る。スヌープ及びコピーブロック550Aが、DSP D0 504Aにおける選択された制御レジスタ503、DSP D0フレームバッファ554A、診断メモリD0 552A、及び汎用タイマ592に接続される。一例におけるスヌープ及びコピーブロック550Aは、読み出し動作及び書き込み動作を実施するハードウェアブロックである。別の例において、スヌープ及びコピーブロック550Aは、DSPによって実行される命令が読み出し及び書き込み動作を実施するソフトウェアブロックである。スヌープ及びコピーブロック550Aが動作されると、スヌープ及びコピーブロック550Aは、汎用タイマ592からタイムスタンプを取り込み、DSP D0 504Aから選択された制御レジスタ503の値と、DSP D0フレームバッファ554Aからのフレームとを診断メモリ552にコピーし、そのため、DSP D0 504Aの動作のタイムスタンプスナップショットが作成される。
【0029】
二つのソースが、スヌープ及びコピーブロック550Aの動作をトリガする。第一のソースはDSP D0 504Aにおいて実行される命令であり、第二のソースは汎用タイマ592である。DSP D0 504Aは、フレーム演算を実施するための命令を実行し得る。一例において、付加的な命令が提供されて、各フレームの完了時に、DSP D0 504Aにおいて実行されるこれらの付加的命令がスヌープ及びコピーブロック550Aをトリガする。これは、図5において、スヌープ及びコピーブロック550Aに接続されるコンパイラブロック590によって示されている。ソフトウェア版のスヌープ及びコピーブロック550Aが実行される一方、レジスタビット等を設定してハードウェア版のスヌープ及びコピーブロック550Aをトリガする。その結果、各フレーム処理完了時に、タイムスタンプ、制御レジスタ値、及びDSPフレームが診断メモリD0 552Aに配置される。このスヌープ及びコピー動作をあらゆるフレームの完了に基づいてトリガすることによって、DSPの交互フレームスキュー動作が同期されて、診断メモリD0 552A、D1 552Bの内容間の比較が一層容易になされ得る。これに加えて、汎用タイマ592は、ハードウェア版のスヌープ及びコピーブロック550Aの書き込み事象をトリガするように構成される。好ましくは、汎用タイマ592は、これらの書き込み事象がフレーム計算に対して一貫した間隔で生じるように構成され、そのため二つのDSPが同期され得る。スヌープ及びコピーブロック550Aは、汎用タイマ592のタイムスタンプを取り込み、選択された制御レジスタ503及びDSP D0フレームバッファ554Aを読み出し、全ての値が診断メモリD0 552Aに書き込まれる。このようにして、あらゆるフレーム処理完了事象後であって、同期書き込み事象時に、タイムスタンプ、フレーム情報、及び制御レジスタを取り込むことによって、DSPの交互フレーム動作が効果的に同期されて比較動作が簡略化される。
【0030】
図5Aは、SoC400として用いられ得るSoC500の第一の例のブロック図である。ARM A72又はA53コアなど、一連のより強力なマイクロプロセッサ501が、SoC500の主要汎用処理ブロックを形成する。ARM R5Fコアなどの個々のマイクロプロセッサ502A、502Bを備えたロックステッププロセッサ502が、ロックステッププロセッサ402と等価である。DSP 0 504A及びDSP 1 504Bの二つのDSPは、DSP D0 404A、D1 404Bと等価である。一つ又は複数のARM R5Fコアなど、より簡易なマイクロプロセッサ506が、SoC500において一般的制御能力を提供する。高速相互接続508が、マイクロプロセッサ501、ロックステッププロセッサ502、DSP 0 504A、DSP 1 504B、及びマイクロプロセッサ506を、SoC500における様々な他の構成要素に接続する。例えば、オンボードメモリ又はL3 RAM512を含むマルチコア共有メモリコントローラ510が、高速相互接続508に接続されて、SoC500のオンボードRAM及びコントローラとして動作する。DDRメモリコントローラシステム514が、高速相互接続508に接続され、外部DRAMメモリに対する外部メモリインタフェースとして動作する。同様に、高速相互接続508には、ビデオアクセラレーションモジュール516及びレーダー処理アクセラレータ(PAC)モジュール518が接続される。二つのビジョン処理アクセラレータモジュール520A、520Bが、高速相互接続508に接続され、ハードウェア支援論理406A、406Bを表すが、図示しないブロックの組み合わせであるこれらのブロックの多くがハードウェア支援論理由来である。深さ及び動きPACモジュール522が高速相互接続508に接続される。グラフィックスアクセラレーションモジュール524が高速相互接続508に接続される。ディスプレイサブシステム526が、高速相互接続508に接続され、変換論理528及び出力論理530を含み、それにより、適当な場合には様々なビデオモニタを用いる動作及びそれらへの接続が可能になる。DMAコントローラ、メモリ管理ユニット、汎用I/O、メールボックスなどの品目を含むシステムサービスブロック532が、SoC500の正常動作のために提供される。シリアル接続性モジュール534が、高速相互接続508に接続され、SoCに通常あるようなモジュールを含む。車両接続性モジュール536が、PCIeブロック538、USBブロック540、イーサネットスイッチ542などの外部通信インターフェースのための相互接続を提供する。キャプチャ/MIPIモジュール544が、4レーンCSI-2準拠の送信ブロック546並びに4レーンCSI-2受信モジュール及びハブを含む。CSI-2受信モジュール及びハブの詳細は下記に示される。
【0031】
MCUアイランド560が、二次サブシステムとして提供され、省エネルギーのために他の構成要素の電源がオフされるときに統合SoC500の動作を取り扱う。MCU ARMプロセッサ562が、マスターとして動作し、絶縁インターフェース561を介して高速相互接続508に結合される。MCU汎用I/O(GPIO)ブロック564がスレーブとして動作する。MCU RAM566が、MCU ARMプロセッサ562のためのローカルメモリとして動作するように提供される。付加的な外部通信インターフェースであるCANバスブロック568が接続されて、車両100において従来のCANバス環境での動作が可能になる。イーサネットMAC(メディアアクセス制御)ブロック570が、車両100におけるさらなる接続性のために提供される。不揮発性メモリ(NVM)(図示せず)が、NVRAMインターフェース571を介してMCU ARMプロセッサ562に接続される。MCU ARMプロセッサ562は、安全性プロセッサとして動作し、SoC500の動作を監視してSoC500が適切に動作することを保証する。
【0032】
一例では、ハードウェア版のスヌープ及びコピーブロック550A、550Bが、それらの関連するDSP 0 504A、DSP 1 504Bと協働するように提供される。関連するDSP 0 504A、DSP 1 504Bと協働する診断メモリD0 552A、D1 552Bは、L3 RAM512の既知の位置に設けられる。DSP 0及びDSP 1フレームバッファ554A、554Bは、L3 RAM512の既知の位置に設けられる。ハードウェアチェッカ505A及び505Bが一例として提供されるが、これらはより詳細に下記で説明する。
【0033】
上記は説明のために提供されるSoCの一例であり、プロセッサ、DSP、アクセラレータなどの数は様々で、多くの他のSoCの例が可能である。
【0034】
図6は、図5の変形例であり、DSP D0 504A及びDSP D1 504Bを示す。DSP D0 504A、D1 504Bのそれぞれにおけるスヌープ及びコピーブロック550A、550Bには、共通の汎用タイマ592が接続される。図5に示すようにスヌープ及びコピーブロック550A、550Bのトリガがかかると、制御レジスタ値、フレームデータ、及びタイムスタンプがそれぞれの診断メモリD0 552A、D1 552Bに渡される。汎用タイマ592は、ロックステッププロセッサ502にトリガ指示も提供して、ロックステッププロセッサ502に診断メモリD0 552A、D1 552Bを読み出させ、診断メモリD0 552A、D1 552Bのデータを比較させて、DSP D0 504A、D1 504Bの動作が許容可能な量又は所与のレベルを超えて異なっているかを判定し、異なっている場合、エラー割り込み又はメッセージを提供する。
【0035】
一例において、スヌープ及びコピーブロックが転送動作を完了した直後に、この診断メモリの比較動作がトリガされる。これらの診断メモリの比較、及び前述のフレームとフレームの予測演算の双方において、データのすべてが厳密に一致する必要はない。制御レジスタデータなどの幾つかの領域は同一であるべきだが、フレームデータ、特にフレーム演算を実施する展開されたスクラッチメモリ値は、選択される量だけ変化し得るが、なお良好と見なされる。この比較において「充分に近い」ことは、多くの場合、車両100が移動しており、そのため画像同士がわずかに異なるという事実に基づいている。左右の前方視カメラからの画像ストリームなど、カメラが斜め又はわずかに斜めの注視方向に対して構成されているその他の場合において、一方のDSPが左画像ストリームを処理し、他方のDSPが右画像ストリームを処理すると、これらの画像は異なるものの、比較及び予測が安全性の目的で充分に正確となる程度に充分に近い。フレーム間の車両の動きや注視方向に対処するために、画像の多少の違いは許容可能であり、ASIL Dの介在を必要とする構成要素の故障を示すものではない。オブジェクトの位置に対する距離及び角度など、画像に対して算出される様々な寸法において画像が5%以内であれば、その画像は許容可能であり、故障は発生していないと判定されていた。許容値が5%未満になると偽陽性の数が増加し、動作に支障をきたす。概して故障は完全な形で生じ、そのため差が非常に大きくなるので、5%を超える許容値を用い得るが、故障は常に完全な形で生じるとは限らないので、より低い数値が好ましい。5%は偽陽性と偽陰性のバランスが良いと判定されてきた。一例において、画像の移動分散値を展開し、次いで3シグマ値を許容限界として設定することによって、許容差又は許容レベルが判定される。
【0036】
上記の例において、許容可能な差であるかをチェックする値としてオブジェクト距離及び方向角が用いられた。これらは例示の変数であり、画像用につくられる任意の目標変数が用いられ得、そのため、複数の寸法に対して許容差が判定され得る。目標変数のためのこれらの許容差はまた、或る数の先行時間サイクルにわたる計算に対する分散分析により統計的に判定され得る。
【0037】
図6はさらに、スヌープ及びコピーブロック550A、550Bの動作600を図示する。所与のスヌープ及びコピー動作において、そのスヌープ及びコピー動作のための、幾つかの例において動作のタイムスタンプを含む、トリガーソースを示す事象指示又はハンドラが展開される(602)。制御レジスタ情報が読み出される(604)。これに続いて、それぞれのフレーム情報のデータパケットが読み出される(606)。最後に、これらの展開されて読み出された値が診断メモリに書き込まれる(608)。好ましくは、複数のスナップショットを診断メモリに順次格納できるように、循環バッファポインタが増分される。診断メモリにおける各スナップショットのサイズは既知であるため、これにより、ハードウェアチェッカ505A、505B又はロックステッププロセッサ502が、二つの異なるDSPのためのそれぞれの診断メモリ552A、552Bによって関連フレームを簡単に見つけ得る。
【0038】
一例におけるハードウェア版のスヌープ及びコピーブロック550A、550Bは、事実上、直接メモリアクセス(DMA)ブロックであり、DSP D0 504A、D1 504Bから制御レジスタ情報を収集してそれを診断メモリに移動し、フレーム情報を診断メモリにコピーするように構成され、診断メモリの位置は、循環バッファポインタを用いる各動作により進められる。
【0039】
一例において、ソフトウェア版のスヌープ及びコピーブロック550A、550Bは、各DSP D0 504A、D1 504Bの割り込み駆動タスクである。割り込みルーチンにおいて、DSPは、スタックから所望の制御レジスタ情報を読み出し、フレームバッファから画像情報を読み出し、両方を診断メモリに書き込む。
【0040】
図7に示すように、好ましくは、診断メモリD0 552A、D1 552Bは、DSP 1 504B及びDSP 0 504A両方からのフレーム1、3、5、又は2、4、6、すなわちフレームT、TN-1、及びTN-2などの、様々なフレームからのデータスナップショットを含む。これにより、ハードウェアチェッカ505A、505B及びロックステッププロセッサ502は、フレーム1~5又はフレーム2~6を用いてチェックを実施して、特定の対象レジスタ又はフレーム情報が許容可能量を超えて変化したかを判定し得る。これらが許容可能量を超えて変化していた場合、ロックステッププロセッサ502はエラー表示を提供する。汎用タイマ592がロックステッププロセッサ502をトリガする代わりに、ハードウェアチェッカ505A、505Bが汎用タイマ592によってトリガされる。ロックステッププロセッサ502に比較結果を提供するハードウェアチェッカ505A、505Bは、比較結果を評価するようロックステッププロセッサ502をトリガする。
【0041】
スナップショットは診断メモリD0 552A、D1 552Bの既知の位置に提供され、診断メモリD0 552A、D1 552B自体も既知の位置にあるので、それぞれのフレームのチェックはハードウェアチェッカ505A、505Bによってなされ得、ロックステッププロセッサ502の負荷が軽減され得る。一例において、ハードウェアチェッカ505A、505Bは、関連するフレーム及びレジスタ値を診断メモリ552から読み出し、それらの値を比較するシンプルなALUを含む。例えば、フレーム6がTであるとすると、ハードウェアチェッカ0 505Aは、フレーム5(D1_TN-2)、3(D1_TN-1)、4(D0_TN-1)、及び2(D0_TN-2)のためのフレーム及びレジスタデータを読み出し、フレーム6とこれらのフレームの各々とを比較する。比較の結果は、ロックステッププロセッサ502に提供される。ロックステッププロセッサ502は次いで、その結果を許容可能な差の限界に対してチェックする。比較が許容可能なレベルを超える差を示す場合、ロックステッププロセッサ502はエラー表示を提供する。ハードウェアチェッカ505A、505Bを用いることにより、ロックステッププロセッサ502に要求される処理が軽減される。ハードウェアチェッカ505A、505Bによってなされる比較は、ロックステッププロセッサ502によってなされるソフトウェアチェックのように予測値を含まないが、付加的なフレームを用いることにより、予測値に代わる充分なデータが提供される。
【0042】
ここで図8A図8Dを参照して、DSP0、DSP1、及び、ハードウェアチェッカを備えないロックステッププロセッサの動作のフローチャートをおおよその時間関係において説明する。ステップ802において、DSP0は、フレーム1を処理し、フレーム2についての予測を展開する。同時に、ステップ804におけるDSP1は、他の非フレーム処理タスクを実施する。DSP0によるステップ802のフレーム処理の完了の少し前に図示されるステップ806において、ロックステッププロセッサは、診断メモリからDSP1のフレーム1予測を読み出し、ステップ808においてロックステッププロセッサ自体のフレーム1予測を展開する。ステップ810において、DSP0は、フレーム1と、フレーム2の予測とを発行する。このフレーム1及びフレーム2予測の発行は、スヌープ及びコピーブロックがフレームを診断メモリにコピーすることを含み、DSPレジスタの値が格納されている場合はそれらの値もコピーする。フレームのこのような発行はいずれも、スヌープ及びコピーブロック動作を含むものとし、下記においてはわかりやすくするために省略する。フレーム1が発行した後、ロックステッププロセッサは、ステップ812において診断メモリからフレーム1を読み出し、ステップ814においてDSP1及びロックステッププロセッサのフレーム1予測を実際のフレーム1と比較する。このとき、ステップ816において、DSP0は、他の非フレーム処理タスクに進んでいる。また、このとき、ステップ818において、DSP1は、フレーム2の処理を開始し、フレーム3についての予測を展開している。ステップ814の比較後、ロックステッププロセッサは、ステップ820において、比較結果が実際のフレーム1が予測フレーム1に充分に近かったことを示すかを評価又は判定する。比較結果が充分に近かったことを示さない場合、ステップ822においてエラー割り込みが発行されて、より上位の処理によりASIL Dの懸念が評価され得る。比較が好結果だった場合、ステップ824において、ロックステッププロセッサは、先行する二つのフレーム、フレーム0及びフレーム-1をフレーム1と比較する。ステップ826のようにフレームが差の許容可能限界に入らない場合、ステップ828においてエラー割り込みが発行される。
【0043】
比較が好結果だった場合、ステップ829においてDSP0のフレーム2予測が読み出され、次いでステップ830においてロックステッププロセッサはフレーム2予測を展開する。このとき、ステップ832においてDSP1はフレーム2及びフレーム3予測を発行している。ロックステッププロセッサは、ステップ834においてフレーム2を読み出し、ステップ836においてDSP0及びロックステッププロセッサのフレーム2予測を実際のフレーム2と比較する。ステップ838で判定されるように差が許容可能限界を超えている場合、ステップ840においてエラー割り込みが発行される。差が許容可能限界内であれば、動作はステップ842に進み、フレーム0及び1をフレーム2と比較する。このとき、ステップ844において、DSP0は、フレーム3の処理を開始し、フレーム4についての予測を展開している。DSP1は、ステップ846において他の処理タスクにかかりきりである。ステップ848において3フレーム比較が受け入れられないと判定される場合、ステップ850においてエラーが発行される。許容し得る場合、ステップ851において、ロックステッププロセッサは、ステップ832において発行されたDSP1のフレーム3予測を読み出す。ステップ852において、DSP0はフレーム3及びフレーム4予測を発行する。ステップ854において、ロックステッププロセッサは、フレーム3についてそのフレーム予測を展開する。DSP0はステップ856において他のタスクの実施を開始し、ロックステッププロセッサはステップ858においてフレーム3を読み出す。
【0044】
ステップ860においてロックステッププロセッサは、DSP1とロックステッププロセッサのフレーム3予測を実際のフレーム3と比較する。ステップ862において判定される許容可能限界外の場合、ステップ864においてエラー割り込みが発行される。許容可能である場合、ステップ866においてロックステッププロセッサはフレーム1、2、及び3を比較する。このとき、ステップ868において、DSP1は、フレーム4を処理し、フレーム5についての予測を展開している。ロックステッププロセッサは、ステップ870において、3フレーム比較が受け入れ可能であったかを判定する。受け入れ可能でない場合、ステップ871において、エラー割り込みが発行される。受け入れられる場合、ステップ872においてロックステッププロセッサはDSP0のフレーム4予測を読み出し、ステップ874においてロックステッププロセッサはそれ自体のフレーム4予測を実施する。このとき、DSP1は、ステップ876において、フレーム4及びフレーム5予測を発行する。これにより、ロックステッププロセッサは、ステップ878においてフレーム4を読み出し得る。DSP1は、ステップ880において、フレーム処理以外の他のタスクに進む。ステップ882においてロックステッププロセッサは、DSP0及びロックステッププロセッサのフレーム4予測を実際のフレーム4と比較する。ステップ884において、DSP0は、フレーム5の処理を開始し、フレーム6についての予測を展開している。ステップ882の比較がステップ886において判定される許容し得ない差を示す場合、ステップ888においてエラー割り込みが発行される。
【0045】
ステップ886において差が許容し得る限界内である場合、ステップ890においてロックステッププロセッサはフレーム2及び3をフレーム4と比較する。ステップ892において判定されるようにフレーム同士が違い過ぎる場合、ステップ894においてエラー割り込みが発行される。フレーム同士が充分に近い場合、ステップ896においてロックステッププロセッサはDSP1のフレーム5予測を読み、ステップ898においてロックステッププロセッサ自体のフレーム5予測を展開する。このとき、ステップ900においてDSP0は、フレーム処理を完了しており、フレーム5及びフレーム6予測値を発行する。ステップ902においてロックステッププロセッサは、ステップ904においてDSP0が他のタスクに進むのと基本的に同じ時間にフレーム5を読み出す。ステップ906においてロックステッププロセッサは、DSP1及びARMのフレーム5予測を実際のフレーム5と比較する。ほぼこの時間に、ステップ908においてDSP1はフレーム6の処理を開始し、フレーム7についての予測を展開している。ステップ910において、ロックステッププロセッサは、ステップ906の比較が受け入れられなかったかを判定する。受け入れられなかった場合、ステップ912においてエラー割り込みが発行される。許容可能である場合、ステップ914においてロックステッププロセッサはフレーム3、4、及び5を比較する。ステップ916においてロックステッププロセッサは、エラーが許容不能であったかを判定し、その場合、ステップ918においてエラー割り込みが発行される。
【0046】
フレーム処理は、それが不要になるまで同様に継続する。
【0047】
図8A図8Dに見られるように、DSPは、ロックステップフレーム処理を行うのではなく、他のタスクを実施するためにかなりの時間を費やし得る。このため、所与のDSPについてSoCの性能を増加させ得、又は、ASIL Dレベルの安全性を維持しながらより非力なDSPを用い得る。
【0048】
上記の説明では、フレーム予測をDSP及びロックステッププロセッサの両方で実施したが、一例において、DSP及びロックステッププロセッサの一方のみがフレーム予測を展開し、それにより、ロックステッププロセッサ又はDSPのいずれかのなんらかの帯域幅が解放される。
【0049】
図9A図9Dは、DSP0、DSP1、ロックステッププロセッサ、及びハードウェアチェッカの動作をおおよその時間関係において図示するフローチャートである。ステップ930において、DSP0はフレーム1を処理する。ステップ932において、ハードウェアチェッカは、事前にDSP1フレーム0、-2、及びDSP0フレーム-1、-3を読み出している。ステップ930と同時に、ステップ934においてDSP1は、他の非フレーム処理タスクを実施する。ステップ936において、DSP0はフレーム1を発行する。フレーム1が発行された後、ステップ938において、汎用タイマ592に基づいて、ハードウェアチェッカはフレーム1を読み出し、ステップ940において、DSP0フレーム1をDSP1フレーム0、-2、及びDSP0フレーム-1、-3と比較する。このとき、ステップ942において、DSP0は、他の非フレーム処理タスクに進んでいる。また、同時に、ステップ944において、DSP1はフレーム2の処理を開始している。ステップ940の比較後、ステップ946においてハードウェアチェッカは比較結果をロックステッププロセッサに提供する。ステップ948において、ロックステッププロセッサは、許される偏差限界に対して比較結果を評価又はチェックする。ステップ950において、ロックステッププロセッサは、比較結果が許容限界内であるかを判定する。許容限界内でない場合、ステップ952においてエラー割り込みが発行されて、上位の処理がASIL Dの懸念を評価し得る。比較が好結果だった場合、ハードウェアチェッカから次の比較結果を受け取るまで、この動作はロックステッププロセッサにおいて終了する。
【0050】
DSP1は、フレーム2の処理を終了し、ステップ954においてフレーム2を発行し、ステップ956において他のタスクに進む。フレーム2が発行された後、ハードウェアチェッカは、ステップ958においてフレーム2を読み出し、ステップ960においてDSP1フレーム2をDSP1フレーム0、-2及びDSP0フレーム1、-1と比較する。このとき、ステップ962において、DSP0はフレーム3の処理を開始している。ステップ960の比較後、ステップ964においてハードウェアチェッカは比較結果をロックステッププロセッサに提供する。ステップ966において、ロックステッププロセッサは、許される偏差限界について比較結果をチェックする。ステップ968において、ロックステッププロセッサは、比較結果が許容可能限界内であるかを判定する。許容可能限界内でない場合、ステップ970においてエラー割り込みが発行されて、上位の処理がASIL Dの懸念を評価し得る。比較が好結果だった場合、ハードウェアチェッカから次の比較結果を受け取るまで、この動作はロックステッププロセッサにおいて終了する。
【0051】
ステップ972において、DSP0はフレーム3を発行し、ステップ974において他のタスクに進む。フレーム3が発行された後、ステップ976において、ハードウェアチェッカはフレーム3を読み出し、ステップ978において、DSP0フレーム3をDSP1フレーム2、0及びDSP0フレーム1、-1と比較する。このとき、ステップ980において、DSP1は、フレーム4の処理を開始している。ステップ978の比較後、ステップ982においてハードウェアチェッカは比較結果をロックステッププロセッサに提供する。ステップ984において、ロックステッププロセッサは、許される偏差限界に対して比較結果をチェックする。ステップ986において、ロックステッププロセッサは、比較結果が許容し得る限界内であるかを判定する。許容し得る限界内でない場合、ステップ988においてエラー割り込みが発行されて、上位の処理がASIL Dの懸念を評価し得る。比較が好結果だった場合、ハードウェアチェッカから次の比較結果を受け取るまで、この動作はロックステッププロセッサにおいて終了する。
【0052】
DSP1は、ステップ990においてフレーム4を発行し、ステップ991において他のタスクに進む。フレーム4が発行された後、ハードウェアチェッカは、ステップ992においてフレーム4を読み出し、ステップ994においてDSP1フレーム4をDSP1フレーム2、0及びDSP0フレーム3、1と比較する。このとき、ステップ996において、DSP0はフレーム5の処理を開始している。ステップ994の比較後、ステップ998においてハードウェアチェッカは比較結果をロックステッププロセッサに提供する。ステップ1000において、ロックステッププロセッサは、許される偏差限界に対して比較結果をチェックする。ステップ1002において、ロックステッププロセッサは、比較結果が許容可能限界内であるかを判定する。許容可能限界内でない場合、ステップ1004においてエラー割り込みが発行されて、上位の処理がASIL Dの懸念を評価し得る。比較が好結果だった場合、ハードウェアチェッカから次の比較結果を受け取るまで、この動作はロックステッププロセッサにおいて終了する。
【0053】
ステップ1006において、DSP0がフレーム5を発行し、ステップ1008において他のタスクに進む。フレーム5が発行された後、ハードウェアチェッカは、ステップ1010においてフレーム5を読み出し、ステップ1012においてDSP0フレーム5をDSP1フレーム4、2及びDSP0フレーム3、1と比較する。このとき、ステップ1014において、DSP1はフレーム6の処理を開始している。ステップ1012の比較後、ステップ1016においてハードウェアチェッカは比較結果をロックステッププロセッサに提供する。ステップ1018において、ロックステッププロセッサは、許容し得る偏差限界に対して比較結果をチェックする。ステップ1020において、ロックステッププロセッサは、比較結果が許容し得る限界内であるかを判定する。許容し得る限界内でない場合、ステップ1022においてエラー割り込みが発行されて、上位の処理がASIL Dの懸念を評価し得る。比較が好結果だった場合、ハードウェアチェッカから次の比較結果を受け取るまで、この動作はロックステッププロセッサにおいて終了する。
【0054】
フレーム処理が、終了するまで同様に継続する。
【0055】
図9A図9Dは、図8A図8Dと同様に、DSPが、ロックステップフレーム処理を実施するのではなく、他のタスクの実施にかなりの時間を費やし得ることを図示する。また、ロックステッププロセッサの負荷も軽減され、そのため、他のタスクに一層長い時間を割くことができる。これにより、所与のDSP及びロックステッププロセッサについてSoCの画像処理システムの性能が増加し得、又は、ASIL Dレベルの安全性を維持しながらより非力なDSP及びロックステッププロセッサが用いられ得る。
【0056】
図8A図8D及び図9A図9Dの説明において、フレームと予測フレームの比較を説明しているが、本例が各フレームについてのDSPレジスタ値も記憶している場合、この比較はDSPレジスタ値の比較を含む。
【0057】
上述のように、処理されたフレームが許容可能であるか、又は、報告され得るエラーが生じたかを判定するために、様々な要素が用いられる。これらの要素は、DSP及びロックステッププロセッサによるフレーム予測、事前に処理されるフレーム及びDSPレジスタ値を含む。これらの要素はいずれも、次のフレームにエラーがない場合、次のフレームのためのデータが何に近くなるべきかを示すため、代替フレーム情報とみなされる。フレーム予測、及び事前処理されたフレームは、代替フレームバージョンであり、DSPレジスタ値は、フレームに関する代替情報、フレームの展開に関連する情報、又は代替フレームバージョンである。そのため、代替フレーム情報は、フレーム予測、事前に処理されたフレーム、及びDSPレジスタ値の三項目すべてを網羅する。
【0058】
上記説明では、単一画像ストリームを用いる動作の説明に焦点を当て、異なるDSPが偶数フレーム及び奇数フレームを扱うことを説明してきた。二つの関連する画像ストリームが処理されており、これらの画像ストリームが充分に関連するか又は重なる場合、一例において、各DSPは別々の画像ストリームを処理することができ、各DSPは割り当てられたストリームにおける各画像を処理し、そのため、DSPは異なるフレームに対して再び動作し、同じフレームに対して動作しない。例えば、画像ストリームが左右の対である場合、一つのDSPが右のストリームを処理し、一つのDSPが左のストリームを処理するが、比較と、予測がなされる場合には予測とが、両方のストリームに対してなされる。別の例において、こういった二画像ストリームの場合、一つのDSPが各画像ストリームからの偶数画像を処理し得、他方のDSPが各画像ストリームからの奇数画像を処理し得る。この例において、予測がなされる場合予測と、比較とが、同じ画像ストリームのフレームに対してなされ、他の画像ストリームのフレームにはなされない。そのため、第一のDSPは、画像ストリーム1のフレーム1を処理し、フレーム2を予測し得、次いで第一のDSPは、画像ストリーム2のフレーム1を処理し、フレーム2を予測し得る。
【0059】
上述の説明において、エラー状態を検出するための付加情報のための比較動作において、DSPにレジスタ値が含まれている。幾つかの例において、レジスタ値は利用されず、スヌープ及びコピーブロックは、フレームデータを診断メモリにコピーするだけである。
【0060】
上述の説明並びに図8A図8D及び図9A図9Dのフローチャートにおいて、許容可能範囲を超えて異なる単一フレームに対してエラーが表示されることを示した。或る設計において、単一フレームを用いる代わりに、三つの連続する失敗フレームが用いられる。第一のフレームが失敗する場合、そのフレームは破棄され、次のフレームが第一のフレームに用いられた基準と比較される。この第二のフレームも失敗する場合、これも破棄し、次のフレームが比較される。この第三のフレームも失敗する場合、エラー表示が提供される。これにより、単一の過渡的なエラーがエラー状態を引き起こすことを回避するための簡単なフィルタリング作用が提供される。
【0061】
上述の説明は画像処理に焦点を当てたが、他のストリームも同様に処理され得る。例えば、レーダー信号処理、ライダー信号処理、及びオブジェクトレベルのセンサフュージョン処理は、どれも同様に成され得、利用可能なDSP処理帯域幅において同様の改善を達成し得る。許容差の判定は、関連ストリームのために展開される目標変数に基づく。
【0062】
上述の説明は例示であり、限定するものではない。例えば、上述の例は、互いに組み合わせて用いられ得る。多くの他の例が、上述の説明を検討すれば明らになろう。したがって、特許請求の範囲は、添付の請求項を参照し、そのような請求項が権利を有する均等物の全範囲と共に判定されるべきである。添付の特許請求の範囲において、「含む(including)」及び「そこで(in which)」という用語は、それぞれ、「含む(comprising)」及び「そこで(wherein)」という用語の平易な英語の均等物として用いられる。
図1
図2
図3A
図3B
図4A
図4B
図5
図5A
図6
図7
図8A
図8B
図8C
図8D
図9A
図9B
図9C
図9D
【国際調査報告】