以下は、添付図面を参照して本発明の実施形態を説明する。
本発明におけるいくつかの概念または技術用語が、まず説明される。
行データとも呼ばれる構造化データは、2次元テーブル構造を使用することによって論理的に表現され実現されるデータである。構造化データは、結果データをより良く提示するために、特定のデータフォーマットおよび特定のデータ長仕様に厳密に従う。一例として画像データが使用される。コンピューティングデバイスは、画像データを対応する構造化データに変換し得る。構造化データは、画像に含まれる検出物体、例えば車両および人をより良く提示することができる。
次元削減は、データ量が削減される処理方式であり、低次元性の概念は、高次元性の概念に類似する。例えば、コンピューティングデバイスは、高次元グラフを低次元グラフに変換し、低次元グラフをさらに処理して、グラフの計算量を削減する。本発明では、次元削減において使用される特定の処理方式は、フレームレートの削減、受信される検知装置の数の削減(略してセンサ数削減)、解像度削減、および同様のものを含むが、これらに限定されない。本発明における詳細が、以下で詳細に説明される。
コンピューティングパワーは、データ処理中のコンピューティングデバイスのコンピューティング能力であり、コンピューティングデバイスのデータ処理能力の値を測定するために使用される。コンピューティングデバイスによって処理される必要があるセンサデータのデータ量は、センサデータを処理するためにコンピューティングデバイスによって要求されるコンピューティングパワーに正比例する。センサデータのより大きいデータ量は、センサデータを処理するためにコンピューティングデバイスによって要求されるより高いコンピューティングパワーを示す。反対に、センサデータのより少ないデータ量は、センサデータを処理するためにコンピューティングデバイスによって要求されるより低いコンピューティングパワーを示す。これは、本発明において限定されない。
加えて、2つのコンピューティングシステムに基づく既存のデータ処理解決策において、低い電力消費および高いコンピューティングパワーについての車両の大量生産の要件が満たされることが可能でないという課題を解決するために、本発明は、2つのコンピューティングシステムに基づく別の車両制御方法、この方法に適用可能なネットワークフレームワーク、および関連するデバイスを提供する。図1Aは、本発明の一実施形態によるコンピューティングデバイスのフレームワークの概略図である。図1Aに表されるコンピューティングデバイス100は、検知装置102、コンピューティングシステム104、およびマイクロコントローラユニット(microcontroller unit、MCU)106を含む。コンピューティングシステム104は、ネットワークを使用することによって、検知装置102およびマイクロコントローラユニット106と別々に通信し得る。加えて、検知装置102、コンピューティングシステム104、およびマイクロコントローラユニット106の数は限定されない。任意選択で、マイクロコントローラユニット106の数は、コンピューティングシステム104の数以下である。言い換えれば、各コンピューティングシステムは、1つのマイクロコントローラユニットと対応して通信することが可能であり、1つのマイクロコントローラユニットは、1つまたは複数のコンピューティングシステムと対応して通信することが可能である。図1Aに表されるように、本発明では、第1のコンピューティングシステムおよび第2のコンピューティングシステム(コンピューティングシステムAおよびコンピューティングシステムBとして表される)ならびに1つのマイクロコントローラユニットを含む2つのコンピューティングシステムが例として使用される。
検知装置102は、対応するセンサデータを収集するために、事前設定された検知範囲内の環境を検出するように構成される。検知装置102が車両の環境の関連するデータを収集するように構成されるとき、検知装置102によって収集されたセンサデータは、車両データとも呼ばれ得る。事前設定された検知範囲は、具体的には、システムによって定義されてもよく、検知装置のハードウェアによって制限される。図2Aは、検知装置の検知範囲の概略図である。図2Aに表されるように、検知装置によって検出されることが可能である検知範囲は、検知装置を原点として使用することによってカバーされるエリア、半径として100メートルの検出距離、および視野角Aのラジアンである。
検知装置102は、具体的には、コンピューティングデバイス100の内部または外部に配置され、例えば、コンピューティングデバイス100以外の別のデバイス内に配置され得る。図1Aに表されるように、本発明のこの実施形態は、検知装置102がコンピューティングデバイス100以外の別のデバイス内に配置される例を使用することによって表される。しかしながら、他のデバイス内の検知装置102の配置位置および配置角度は本発明において限定されない。例えば、図2Bは、検知装置配置シナリオの概略図である。図2Bに表されるように、例えば、デバイスは車両であり、検知装置102は、具体的には、車両の前部に配置される、例えば、図に表される前方検知装置1であり得る。その代わりに、検知装置102は、車両の後部に配置される、例えば図に表される後方検知装置2であり得る。その代わりに、検知装置102は、車両の左側に配置される、例えば、図に表される左検知装置3であり得る。その代わりに、検知装置102は、車両の右側に配置される、例えば、図に表される右検知装置4であり得る。その代わりに、検知装置102は、車両のサンルーフの上に配置され得る、全方位検知装置として使用される、例えば、図に表される検知装置5、または同様のものである。これは、本発明のこの実施形態において限定されない。
実際の適用では、検知装置102は、具体的には、デバイス内の異なるサブエリアに配置され得る。サブエリアの数は本発明では限定されず、1つまたは複数のサブエリアがあってもよい。一般に、少なくとも2つのサブエリアがある。本発明におけるサブエリアは方向を指すことがあり、サブエリアは、具体的には、システムによって定義され得る。例えば、デバイスは車両である。車両の環境のパノラマデータを取得するために、システムは、4つのサブエリアに検知装置クラスタを配置してもよく、具体的には、サブエリアは、車両の方向に基づいて区分されてもよく、例えば、車両の前方サブエリア、後方サブエリア、左サブエリア、および右サブエリアである。前方サブエリアに配置された検知装置は、前方検知装置とも呼ばれることがあり、後方サブエリアに配置された検知装置は、後方検知装置とも呼ばれることがあり、左サブエリアに配置された検知装置は、左検知装置とも呼ばれることがあり、右サブエリアに配置された検知装置は、右検知装置とも呼ばれることがある。実際の適用では、検知装置102は、具体的には、撮像デバイス(例えば、カメラレンズまたはカメラ)、全地球測位システム(global positioning system、GPS)、レーザレーダセンサ、感光性検知ユニット、慣性測定ユニット(inertial measurement unit、IMU)、温度センサ、気圧センサ、環境測定のために使用される別のセンサ、または同様のものを含んでもよいが、これらに限定されない。
本発明において、検知装置102によって収集されるセンサデータは、検知装置102のタイプによって相違する。例えば、検知装置102が撮像デバイスであるとき、撮像デバイスは、カメラレンズ、カメラ、カメラモジュール、および同様のものを含むが、これらに限定されず、撮像デバイスによって収集されるセンサデータは、具体的には、画像データであり得る。別の例として、検知装置102がレーザレーダセンサであるとき、レーザレーダセンサによって収集されたセンサデータは、具体的には、レーザ点群データであり得る。具体的には、レーザ点群データは、レーザレーダセンサを使用することによって対象物体を走査することによって取得された点群データである。点群データは、点の形式で記録される。各点は3次元座標を含み、点の幾何学的位置を示すことに加えて、3次元座標は深度情報、および同様のものを含み得る。これは、本発明において限定されない。
任意選択の実施形態では、検知装置102は、有線通信技術または無線通信技術を使用することによってコンピューティングシステム104と通信し得る。有線通信技術は、2つのデバイスがネットワークケーブル、光ファイバ、または同様のものを使用することによって互いに通信することを意味し得る。無線通信技術は、グローバル・システム・フォー・モバイル・コミュニケーションズ(global system for mobile communications、GSM)、汎用パケット無線サービス(general packet radio service、GPRS)、符号分割多元接続(code division multiple access、CDMA)、広帯域符号分割多元接続(wideband code division multiple access、WCDMA(登録商標))、時分割符号分割多元接続(time-division code division multiple access、TD-SCDMA)、ロングタームエボリューション(long term evolution、LTE)、無線ローカルエリアネットワーク(wireless local area networks、WLAN)(例えば、ワイヤレスフィデリティ(wireless fidelity、Wi-Fi)ネットワーク)、ブルートゥース(登録商標)(Bluetooth、BT)、全地球航法衛星システム(global navigation satellite system、GNSS)、周波数変調(frequency modulation、FM)、近距離無線通信(near field communication、NFC)、赤外線(infrared、IR)、および同様のものを含むが、これらに限定されない。
コンピューティングシステム104は、コンピューティングシステム104と通信するグループ検知装置によって収集されたセンサデータを処理するように構成される。データ処理をどのように実現するかに関する詳細は、本発明において以下で説明される。ここでのグループ検知装置は、1つまたは複数の検知装置102を含み、各グループ検知装置によって収集されたセンサデータは、1つのコンピューティングシステムによって対応して処理され、1つのコンピューティングシステムは、1つまたは複数のグループ検知装置によって収集されたセンサデータを対応して処理し得る。これは、本発明において限定されない。センサデータの完全性または網羅性を保証するために、各グループ検知装置は、現在の環境のパノラマデータを収集する必要があり、したがって、各グループ検知装置は、各サブエリア内に少なくとも1つの検知装置を含む必要があることが理解され得る。例えば、各グループ検知装置は、前方検知装置、後方検知装置、左検知装置、右検知装置、全方位検知装置、および同様のものを含む。
コンピューティングシステム104の数は限定されず、1つまたは複数のコンピューティングシステムがあり得る。複数のコンピューティングシステム104があるとき、各コンピューティングシステム104に対応するグループ検知装置に含まれる検知装置は、同一であっても異なってもよい。これに対応して、グループ検知装置によって収集され、各コンピューティングシステム104によって対応して処理される必要があるセンサデータも、同じであっても異なってもよい。任意選択で、任意の2つのコンピューティングシステム104によって処理される必要があるセンサデータが異なるとき、データの完全性およびデータ管理の信頼性を保証するために、任意の2つのコンピューティングシステムは、データ処理中に生成された中間データまたはデータ処理後に生成された結果データを交換し得る。これは、本発明において限定されない。例えば、本発明の以下の説明では、コンピューティングシステムは、第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む。第1のコンピューティングシステムおよび第2のコンピューティングシステムは、グループ検知装置によって収集されたセンサデータを別々に処理することによって取得される構造化データおよび他のデータを交換し得る。これは、本発明において以下で詳細に説明される。
実際の適用では、コンピューティングシステム104は、コンピューティングシステム104と通信するグループ検知装置によって収集されたセンサデータを処理するように構成される。グループ検知装置は、具体的には、グラフィック処理ユニット(graphics processing unit、GPU)、ビデオカード、フィールドプログラマブルゲートアレイ(field-programmable gate array、FPGA)、および中央処理ユニット(central processing unit、CPU)、またはデータ処理のために使用される他の装置を含み得るが、これらに限定されない。
任意選択の実施形態において、以下は、コンピューティングシステム104内のいくつかの特定の構造を説明する。図1Aに表されるように、コンピューティングシステム104(これは、具体的には、図1Aに表されるコンピューティングシステムAまたはコンピューティングシステムBであり得る)は、具体的には、管理モジュール1041、前処理モジュール1042、処理モジュール1043、および命令生成モジュール1044を含み得る。任意選択で、コンピューティングシステム104は、選択モジュール1045をさらに含む。
管理モジュール1041は、コンピューティングシステム104に関連するデータを管理するように構成される。例えば、管理モジュール1041は、グループ検知装置によって収集され、コンピューティングシステム104によって受信されたセンサデータを記憶し、記憶されたセンサデータを定期的に検出する、例えば、記憶期間が事前設定された期間を超えるセンサデータを削除する、言い換えれば、期限切れデータを定期的に取り除く責任を負ってもよい。事前設定された期間は、データの最長バッファ時間であり、具体的にはシステムによって定義されてもよく、例えば、事前設定された期間は、ユーザ体験に基づいて設定された経験値である。
前処理モジュール1042は、コンピューティングシステム104によって処理される必要があるセンサデータを前処理するように構成される。前処理は、データ変換、データスクリーニング(例えば、異常データの除去)、データエンコード、データデコード、データ補正、および同様のものを含むが、これらに限定されない。センサデータは、例えば、画像データである。前処理は、具体的には、画像スケーリング、画像補正、または画像スティッチングなどの演算処理であってもよい。これは、本発明において限定されない。
処理モジュール1043は、前処理されたセンサデータを処理して構造化データを取得するように構成される。具体的には、処理モジュール1043は、前処理されたセンサデータについてベクトルまたはスカラなどの指定されたアルゴリズム規則の計算を実行して、対象物体を検出および追跡し、したがって対応する構造化データを取得し得る。例えば、対象物体は交通信号である。構造化データは、車両の運転環境における交通信号の数、車両と交通信号との間の距離、および車両が通過することを交通信号が許容する期間などの情報を含むが、これらに限定されない。
命令生成モジュール1044は、構造化データを処理して車両の安全運転を制御するように構成される。具体的には、命令生成モジュール1044は、処理によって処理モジュール1043によって取得された構造化データに基づいて、そして任意選択で、処理によって別のコンピューティングシステム104によって取得された構造化データなどの情報、および車両測位情報にも基づいて、対応する制御命令を生成し得る。さらに、制御命令に従って車両の安全運転が制御される。例えば、図1Aでは、データの完全性または車両制御のセキュリティを保証するために、コンピューティングシステムA内の処理モジュール1043およびコンピューティングシステムB内の処理モジュール1043は、それぞれの処理によって取得された構造化データを交換することが可能であり、それによって、コンピューティングシステムAまたはコンピューティングシステムB内の命令生成モジュール1044は、続いて、それぞれの処理によって2つのコンピューティングシステムによって取得された構造化データに基づいて車両の安全制御を実現することができる。詳細は本発明において以下で説明される。
任意選択で、コンピューティングシステム104は、選択モジュール1045をさらに含み得る。選択モジュール1045は、グループ検知装置によって収集され、コンピューティングシステム104によって処理される必要があるセンサデータを決定するために、少なくとも1つの検知装置によって収集され、コンピューティングシステム104によって受信されたセンサデータをスクリーニングするように構成される。具体的には、選択モジュール1045は、コンピューティングパワー平衡化規則またはデータ量平衡化規則に従って、グループ検知装置によって収集されたセンサデータをさらに処理するために、コンピューティングシステム104に通信可能に接続された複数の検知装置からコンピューティングシステム104によって処理される必要があるグループ検知装置を選択し得る。複数のコンピューティングシステムがあるならば、コンピューティングデバイスは、グループ検知装置の、各コンピューティングシステムによって処理される必要があるセンサデータのコンピューティングパワー(またはデータ量)がおよそ同じであることを保証し得る。
コンピューティングパワーは、データ処理能力の値を測定するために使用される。より高いコンピューティングパワーは、より強いまたはより大きいデータ処理能力がサポートされることを示す。反対に、より低いコンピューティングパワーは、より弱いデータ処理能力がサポートされることを示す。理解できるように、センサデータのデータ量は、センサデータの処理のために要求されるコンピューティングパワーに正比例する。コンピューティングシステム104(またはコンピューティングデバイス)によって処理される必要があるセンサデータのデータ量がより大きいとき、要求されるコンピューティングパワーはより高い。逆に、コンピューティングシステム104(またはコンピューティングデバイス)によって処理される必要があるセンサデータのデータ量がより小さいとき、要求されるコンピューティングパワーはより低い。データ量を例として使用することによって、本発明における関連する内容が以下で説明される。これに対応して、データ量の関連する説明は、コンピューティングパワーの説明にも適用可能であり、ここでは限定されない。
図1Aに表されるコンピューティングシステム104は、実際の適用においてより多くのまたはより少ない構成要素を含むことが可能であり、図1Aは単に例であり、限定を構成しないことが留意されるべきである。これは、本発明において限定されない。
マイクロコントローラユニット106は、コンピューティングシステム104の処理結果に基づいて対応する管理動作の実現を制御するように構成される。例えば、車両の自律運転の分野では、マイクロコントローラユニット106は、具体的には、コンピューティングシステム104の処理結果に基づいて車両の安全運転を制御し得る。
複数のコンピューティングシステム104があるとき、マイクロコントローラユニット106は、各コンピューティングシステム104の実行ステータスを監視し、各コンピューティングシステム104の実行ステータスおよび処理結果に基づいて車両の安全運転を制御し得る。実行ステータスは、コンピューティングシステムの実行ステータス、例えば正常または故障を示すために使用される。実行ステータスは、具体的には、健全状態および故障状態を含む。具体的には、マイクロコントローラユニット104は、実行ステータスが健全状態であるコンピューティングシステム104の処理結果を使用することによって、車両の安全運転を制御してもよい。詳細は本発明において以下で説明される。
マイクロコントローラユニット106は、コンピューティングデバイス内に配置されたソフトウェアまたはハードウェアを監視することによってコンピューティングシステム104の実行ステータスを取得し得る。コンピューティングデバイス内に配置されたソフトウェアは、ユーザによってカスタマイズされインストールされたアプリケーションソフトウェア、またはコンピューティングデバイス内に配置されたシステムソフトウェア、例えばオペレーティングシステムOSを含むが、これらに限定されない。具体的には、一例として監視ソフトウェアを使用して、コンピューティングシステムの実行中にキースレッド(例えば、データ処理関連スレッド)またはシステム基本ソフトウェアなどのプログラムが一時停止されたことを検出するとき、マイクロコントローラユニットは、リアルタイムまたは定期的に故障通知メッセージを報告して、コンピューティングシステムが重大な故障を有することを通知し得る。これに対応して、故障通知メッセージを受信するとき、コンピューティングデバイスは、コンピューティングシステムの実行ステータスが故障状態であると判定することが可能であり、そうでなければ、コンピューティングデバイスは、コンピューティングシステムの実行ステータスが健全状態であると判定する。任意選択で、メッセージの誤った報告を防止し、データ処理の精度を向上させるために、コンピューティングデバイスは、コンピューティングデバイスが故障通知メッセージを受信した回数に基づいて、コンピューティングシステムの実行ステータスをさらに判定し得る。具体的には、コンピューティングデバイスが故障通知メッセージを受信した回数が事前設定された回数以上であるとき、コンピューティングシステムの実行ステータスが故障状態であると判定され得る。事前設定された回数は、システムによって定義され、例えば、ユーザ要件または好みに基づいてカスタマイズされる。コンピューティングデバイスが故障通知メッセージを受信した回数が事前設定された回数より小さいとき、故障通知メッセージが誤ってトリガされ報告され、コンピューティングシステムの実行ステータスは健全状態であり得ると考えられ得る。
一例として監視ハードウェアを使用して、コンピューティングデバイスは、コンピューティングシステムに関連するハードウェアが故障しているかどうかをリアルタイムでまたは定期的に監視し得る。例えば、コンピューティングシステム内に配置されたキーインタフェース(例えば、通信インタフェース)、電源、およびクロックなどのハードウェアが故障しているとき、コンピューティングシステムは、コンピューティングシステムが故障していることを通知するために故障通知メッセージを自動的に報告し得る。これに対応して、故障通知メッセージを受信した後、コンピューティングデバイスは、コンピューティングシステムが故障していると判定することが可能であり、そうでなければ、コンピューティングデバイスは、コンピューティングシステムが故障していないと判定する。任意選択で、誤った報告を回避するために、コンピューティングデバイスは、コンピューティングデバイスが故障通知メッセージを受信した回数を考慮することによって、コンピューティングシステムの実行ステータスをさらに判定し得る。詳細については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。任意選択で、コンピューティングシステムの一部のハードウェアで重大な故障が発生したとき、故障通知メッセージは報告されることが可能でない。この場合、コンピューティングデバイスは、システムの現在時刻と、ハードウェアによって送信されたハートビートパケットが最後に受信された時刻との間の時間間隔に基づいて、コンピューティングシステムの実行ステータスを判定し得る。例えば、時間間隔が事前設定された期間以上であるとき、コンピューティングデバイスは、コンピューティングシステムの実行ステータスが故障状態であると判定することが可能であり、そうでなければ、コンピューティングデバイスは、コンピューティングシステムの実行ステータスが健全状態であると判定する、および同様である。
任意選択で、マイクロコントローラユニット106およびコンピューティングシステム104は、ハートビートパケット(すなわち、ハートビートメッセージ)を交換して、コンピューティングシステム104の実行ステータスを検出し得る。ハートビートメッセージ(heartbeat message)は、送信者によって受信者に送信されるメッセージであり、受信者は、メッセージに基づいて、送信者が故障しているか終了されたか、およびいつ送信者が故障したか終了されたかを判定し得る。一般に、ハートビートメッセージは、送信者が電源を切られて動作を停止するまで、送信者が開始するとき送信され始める。この期間において、送信者は定期的にまたはリアルタイムで受信者にメッセージを送信する。受信者がメッセージ受信期間内にメッセージを受信しないならば、受信者は、送信者が故障しているか、または現在利用できないと考え得る。任意選択で、送信者によって送信されたメッセージを受信した後、受信者は対応する応答メッセージを送信者にフィードバックしてもよい。送信者は、応答メッセージに基づいて、受信者が故障しているかどうかを判定し得る。
具体的には、本発明のこの実施形態では、コンピューティングシステム104は、リアルタイムまたは定期的に、コンピューティングシステム104と通信するマイクロコントローラユニット106にハートビートメッセージを送信し得る。これに対応して、マイクロコントローラユニット106が、コンピューティングシステム104によって送信されたハートビートメッセージがメッセージ受信期間内に受信されないことを検出したとき、コンピューティングシステム104が故障している、言い換えれば、コンピューティングシステム104の実行ステータスが故障状態であると判定され得る。そうでなければ、コンピューティングシステム104の実行ステータスが健全状態であると判定される。
その代わりに、マイクロコントローラユニット106は、マイクロコントローラユニット106と通信するコンピューティングシステム104にハートビートメッセージを能動的に送信し得る。これに対応して、マイクロコントローラユニット106がコンピューティングシステム104によって送信された応答メッセージを受信した後、コンピューティングシステム104の実行ステータスが健全状態である、言い換えれば、コンピューティングシステム104が故障していないと判定され得る。反対に、マイクロコントローラユニット106がコンピューティングシステム104によって送信された応答メッセージを受信しないとき、コンピューティングシステム104の実行ステータスが故障状態である、言い換えれば、コンピューティングシステム104が故障していると判定され得る。
実際の適用では、具体的には、1つまたは複数のマイクロコントローラユニット106があり得る。1つのマイクロコントローラユニット106があるとき、マイクロコントローラユニット106は、対応するデバイス管理動作を実現するために、すべてのコンピューティングシステム104を管理するように構成される。図1Aに表されるように、1つのマイクロコントローラユニットは、2つのコンピューティングシステムと通信し、対応するデバイス管理動作を実現するために、2つのコンピューティングシステムの処理結果を管理するように構成される。
複数のマイクロコントローラユニット106があるとき、マイクロコントローラユニット106の数は、コンピューティングシステム104の数以下である必要がある。各マイクロコントローラユニット106は、1つまたは複数のコンピューティングシステム104を管理するように構成されてもよく、各コンピューティングシステム104は、1つのマイクロコントローラユニット106によって対応して管理されてもよい。任意の2つのマイクロコントローラユニット106は、マイクロコントローラユニット106によって別々に監視されるコンピューティングシステムの実行ステータスを交換することが可能であり、それによって、コンピューティングデバイスは、その実行ステータスが健全状態であるコンピューティングシステム104を決定し、その実行ステータスが健全状態であるコンピューティングシステム104によって取得された処理結果に基づいて車両の安全運転をさらに制御することができる。図1Bは、別のコンピューティングデバイスの構造の概略図である。図1Bに表されるように、コンピューティングデバイスは、例として2つのコンピューティングシステムおよび2つのマイクロコントローラユニットを使用することによって表される。2つのコンピューティングシステムはそれぞれコンピューティングシステムAおよびコンピューティングシステムBであり、2つのマイクロコントローラユニットはそれぞれマイクロコントローラユニットAおよびマイクロコントローラユニットBである。マイクロコントローラユニットAはコンピューティングシステムAと通信し、コンピューティングシステムAを管理および監視するように構成される。マイクロコントローラユニットBはコンピューティングシステムBと通信し、コンピューティングシステムBを管理および監視するように構成される。
これに対応して、マイクロコントローラユニットAおよびマイクロコントローラユニットBは、マイクロコントローラユニットAおよびマイクロコントローラユニットBによって別々に監視されるコンピューティングシステムの実行ステータスを相互に交換し得る。コンピューティングシステムAの実行ステータスが故障状態(言い換えれば、コンピューティングシステムAは故障しており、利用できない)であると仮定すると、マイクロコントローラユニットAとマイクロコントローラユニットBとの間でステータスを交換することによって、マイクロコントローラユニットBは、コンピューティングシステムBの実行ステータスが健全状態であり、コンピューティングシステムAの実行ステータスが故障状態であると判定することが可能であり、マイクロコントローラユニットBは、処理結果に基づいて車両の安全運転を制御するために、コンピューティングシステムBの処理結果を取得し得る。処理結果についての詳細および処理結果に基づく車両の安全運転をどのように制御するかは、本発明において以下で説明される。
任意選択の実施形態では、以下は、マイクロコントローラユニット106内のいくつかの特定の構造を説明する。図1Aまたは図1Bに表されるように、マイクロコントローラユニット106(例えば、図1Bに表されるマイクロコントローラユニットAまたはマイクロコントローラユニットB)は、具体的には、監視モジュール1061、調停モジュール1062、および相互接続モジュール1063を含む。
監視モジュール1061は、マイクロコントローラユニット106と通信する少なくとも1つのコンピューティングシステム104の実行ステータスを監視するように構成される。具体的には、監視ユニット1061は、ハードウェア、ソフトウェア、ハートビートメッセージ、または同様のものを使用することによって、コンピューティングシステム104の実行ステータスを監視の手段によって取得し得る。監視ユニット1061が監視の手段によってコンピューティングシステム104の実行ステータスをどのように取得するかについての詳細については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。
調停モジュール1062は、コンピューティングシステム104の、監視の手段によって監視モジュール1061によって取得された実行ステータスに基づいて、コンピューティングシステム104が故障しているかどうかを判定し、故障していないコンピューティングシステム104によって生成された制御命令に従って車両の安全運転を制御するかどうかを相互接続モジュール1063にさらに通知するように構成される。具体的には、マイクロコントローラユニット106と通信するコンピューティングシステムの実行ステータスが健全状態である(言い換えれば、コンピューティングシステムは故障していない)と判定した場合、調停モジュール1062は、コンピューティングシステムによって生成された制御命令に従って車両の安全運転を制御するように相互接続モジュール1063に通知し得る。そうでなければ、マイクロコントローラユニット106と通信するコンピューティングシステムの実行ステータスが故障状態である(言い換えれば、コンピューティングシステムは故障している)と判定したとき、調停モジュール1062は、プロセスを終了し、またはコンピューティングシステムが故障していることを通知するために使用される故障通知メッセージを報告し得る。
相互接続モジュール1063は、車両の安全運転を制御するように構成される。具体的には、調停モジュール1062からの通知を受信した後、相互接続モジュール1063は、故障していないコンピューティングシステム104によって生成された制御命令に従って車両の安全運転を制御し得る。
具体的な実装の間、以下の2つの実装シナリオがある。第1の実装シナリオでは、1つのマイクロコントローラユニット1061がコンピューティングデバイス内に配置され、1つのマイクロコントローラユニット1061が複数のコンピューティングシステム104と相互接続し/管理する責任を負う。具体的には、マイクロコントローラユニット106内に複数の監視モジュール1061があってもよく、各監視モジュール1061は、1つのコンピューティングシステム104の実行ステータスを監視する責任を負う。さらに、調停モジュール1062は、複数のコンピューティングシステムの実行ステータスに基づいて、その実行ステータスが健全状態であるコンピューティングシステム(言い換えれば、故障していないコンピューティングシステム)を決定する。さらに、相互接続モジュール1063は、決定されたコンピューティングシステムによって生成された制御命令に従って車両の安全運転を制御する。
図1Aに表されるように、1つのマイクロコントローラユニット106は、2つのコンピューティングシステム(コンピューティングシステムAおよびコンピューティングシステムB)を管理するように構成される。マイクロコントローラユニット106は、監視モジュール1061を使用することによって監視の手段によってコンピューティングシステムAの実行ステータスおよびコンピューティングシステムBの実行ステータスを別々に取得し、実行ステータスを調停のために調停モジュール1062に送信する。具体的には、マイクロコントローラユニット106内の監視モジュール1061の数は限定されない。一例として2つの監視モジュール1061を使用して、マイクロコントローラユニット1061は、一方の監視モジュールを使用することによって監視の手段によってコンピューティングシステムAの実行ステータスを取得し、他方の監視モジュールを使用することによって監視の手段によってコンピューティングシステムBの実行ステータスを取得する。これは、本発明において限定されない。
これに対応して、調停モジュール1062は、コンピューティングシステムAおよびコンピューティングシステムBの受信された実行ステータスに基づいて、その実行ステータスが健全状態であるコンピューティングシステムを判定する、言い換えれば、故障していないコンピューティングシステムを判定する。さらに、相互接続モジュール1063は、決定されたコンピューティングシステムによって生成された制御命令に従って車両の安全運転を制御する。例えば、コンピューティングシステムAが故障しているか、またはコンピューティングシステムBが故障していないと仮定すると、調停モジュール1062は、コンピューティングシステムBの実行ステータスが健全状態であると判定することが可能であり、相互接続モジュール1063を使用することによって、コンピューティングシステムBによって生成された制御命令に従って車両の安全運転をさらに制御する。
第2の実装シナリオでは、複数のマイクロコントローラユニット1061がコンピューティングデバイス内に配置され、各マイクロコントローラユニット1061は、1つのコンピューティングシステム104を管理する役責任を負う。具体的には、各マイクロコントローラユニット106内の監視モジュール1061は、一方のコンピューティングシステムの実行ステータスを監視する責任を負う。これに対応して、各マイクロコントローラユニット106が、マイクロコントローラユニット106によって監視されるコンピューティングシステムの実行ステータスを取得した後、複数のマイクロコントローラユニット106は、複数のマイクロコントローラユニット106によって監視されるコンピューティングシステムの実行ステータスを交換し得る。これに対応して、別のマイクロコントローラユニットによって送信されたコンピューティングシステムの実行ステータスを受信した後、任意のマイクロコントローラユニット106は、マイクロコントローラユニット106の調停モジュール1062を使用することによって、マイクロコントローラユニット106による監視の手段によって受信され取得された複数のコンピューティングシステムの実行ステータスに基づいて、その実行ステータスが健全状態であるコンピューティングシステムを決定する。したがって、コンピューティングデバイスは、決定されたコンピューティングシステムによって対応して管理されるマイクロコントローラユニット106を使用し、マイクロコントローラユニット106内の相互接続モジュール1063を使用することによって、決定されたコンピューティングシステムによって生成された制御命令に従って、車両の安全運転を制御する。
図1Bに表されるように、2つのマイクロコントローラユニットは、2つのコンピューティングシステムと相互接続し、管理するように構成される。具体的には、マイクロコントローラユニットAはコンピューティングシステムAを管理し、マイクロコントローラユニットBはコンピューティングシステムBを管理する。マイクロコントローラユニットAおよびマイクロコントローラユニットBの構造の具体的な概略図は各々、監視モジュール1061、調停モジュール1062、および相互接続モジュール1063を含む。
具体的には、マイクロコントローラユニットA内の監視モジュール1061は、監視の手段によってコンピューティングシステムAの実行ステータスを取得することが可能であり、マイクロコントローラユニットB内の監視モジュール1061は、監視の手段によってコンピューティングシステムBの実行ステータスを取得することが可能である。マイクロコントローラユニットAおよびマイクロコントローラユニットBが、それぞれマイクロコントローラユニットAおよびマイクロコントローラユニットBによって監視されるコンピューティングシステムの実行ステータスを取得した後、マイクロコントローラユニットAおよびマイクロコントローラユニットBは、それぞれマイクロコントローラユニットAおよびマイクロコントローラユニットBによって取得されるコンピューティングシステムの実行ステータスを交換し得る。この場合、マイクロコントローラユニットAおよびマイクロコントローラユニットBの両方が、コンピューティングシステムAの実行ステータスおよびコンピューティングシステムBの実行ステータスを知ることができる。
これに対応して、マイクロコントローラユニットAおよびマイクロコントローラユニットB内の調停モジュール1062は各々、コンピューティングシステムAおよびBの実行ステータスに基づいて、その実行ステータスが健全状態であるコンピューティングシステム、例えばコンピューティングシステムAまたはコンピューティングシステムBを決定し得る。ここでは、コンピューティングシステムAの実行ステータスは健全状態であり、コンピューティングシステムBの実行ステータスは故障状態であると仮定される。コンピューティングシステムBの実行ステータスは故障状態である(言い換えれば、コンピューティングシステムBは故障している)ため、コンピューティングデバイスは、車両の安全運転の実現を制御するために、コンピューティングシステムAと通信するマイクロコントローラユニットAを選択し得る。具体的には、コンピューティングデバイスは、マイクロコントローラユニットA内の相互接続モジュール1063を使用することによって、コンピューティングシステムAによって生成された制御命令に従って、車両の安全運転を制御し得る。
任意選択で、各マイクロコントローラユニット106が、各コンピューティングシステムの実行ステータスが健全状態であると判定したとき、マイクロコントローラユニット106は、コンピューティングシステムのプライマリ-セカンダリ関係を交換して、プライマリ・コンピューティングシステムによって対応して管理されるマイクロコントローラユニット106内の相互接続モジュール1063に基づいて、車両の安全運転をさらに制御し得る。例えば、図1Bの例では、マイクロコントローラユニットAおよびマイクロコントローラユニットBによって取得されたコンピューティングシステムの実行ステータスを交換するとき、マイクロコントローラユニットAおよびマイクロコントローラユニットBは、マイクロコントローラユニットAおよびマイクロコントローラユニットBによってそれぞれ監視されるコンピューティングシステムの属性情報(これは、具体的には、コンピューティングシステムのプライマリ-セカンダリ関係を記述するために使用される属性情報であり得る)をさらに交換し得る。ここでは、コンピューティングシステムAおよびコンピューティングシステムBの実行ステータスはそれぞれ健全状態であり、コンピューティングシステムAはプライマリ・コンピューティングシステムであり、コンピューティングシステムBはセカンダリ・コンピューティングシステムであると仮定される。これに対応して、マイクロコントローラユニットAおよびマイクロコントローラユニットBは、情報を交換することによって、コンピューティングシステムAもコンピューティングシステムBも故障しておらず、コンピューティングシステムAがプライマリ・コンピューティングシステムであることを知り得る。さらに、コンピューティングデバイスは、コンピューティングシステムAと相互接続して管理するマイクロコントローラユニットAを使用することによって車両の安全運転の実現を制御することを決定し得る。具体的には、コンピューティングデバイスは、マイクロコントローラユニットB内の相互接続ユニット1063を呼び出すことによって、プライマリ・コンピューティングシステムAによって生成された制御命令に従って、車両の安全運転を制御する。
図1Aまたは図1Bに表されるマイクロコントローラユニット106は、実際の適用においてより多くのまたはより少ない構成要素を含むことが可能であり、図は単に一例であり、限定を構成するものではないことが留意されるべきである。これは、本発明において限定されない。実際の適用では、図1Aまたは図1Bに表される各モジュールまたは各ユニットは、具体的には、ソフトウェアまたはハードウェアを使用することによって実現され得る。ソフトウェアが使用されるとき、図に表される各モジュールまたは各ユニットは、具体的にはソフトウェアモジュールであってもよい。ハードウェアが使用されるとき、図に表される各モジュールまたは各ユニットは、具体的には、特定用途向け集積回路(application-specific integrated circuit、ASIC)またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)を使用することによって実現され得る。PLDは、複合プログラマブル・ロジック・デバイス(complex programmable logic device、CPLD)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array、FPGA)、ジェネリック・アレイ・ロジック(generic array logic、GAL)、またはそれらの任意の組合せであり得る。これは、本発明において限定されない。
本発明のこの実施形態におけるコンピューティングデバイスは、具体的には、車両、携帯電話、タブレット・パーソナル・コンピュータ(tablet personal computer)、パーソナル・デジタル・アシスタント(personal digital assistant、PDA)、モバイル・インターネット・デバイス(mobile internet device、MID)、ウェアラブル・デバイス(wearable device)、車載デバイス、ネットワーク通信をサポートする別のデバイス、または同様のもののうちのいずれか1つを含み得るが、これらに限定されない。
前述の実施形態に基づいて、以下は、本発明における車両制御方法を説明する。図4は、本発明の一実施形態による車両制御方法の概略フローチャートである。車両制御方法は、少なくとも2つのコンピューティングシステムを含むコンピューティングデバイスに適用される。本発明のこの実施形態では、それぞれ第1のコンピューティングシステムおよび第2のコンピューティングシステムである2つのコンピューティングシステムが、車両制御の関連する実施形態を説明するための例として使用される。少なくとも2つのコンピューティングシステムがあるとき、本発明の実施形態において以下で説明される車両制御方法を参照されたい。図4に表される方法は、以下の実現ステップを含み得る。
ステップS402:コンピューティングデバイスは、第1のコンピューティングシステムによって処理される必要がある第1の車両データと、第2のコンピューティングシステムによって処理される必要がある第2の車両データとを決定する。第1の車両データは、第1の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データであり、第2の車両データは、第1の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データである。
本発明では、コンピューティングデバイスは、各コンピューティングシステムによって処理される必要がある車両データを決定し得る。ここでの車両データは、各コンピューティングシステムが対応して責任を負うグループ検知装置によって、特定の時点(例えば、第1の時点)で、事前設定された検知範囲内の環境をスキャンおよび検出することによって取得される環境データを指す。車両データは、センサデータとも呼ばれ得る。各コンピューティングシステムは、1つのグループ検知装置によって収集されたセンサデータを処理する責任を負い、1つのグループ検知装置によって収集されたセンサデータは、1つまたは複数のコンピューティングシステムによって対応して処理され得る。これは、本発明において限定されない。
ここでは、2つのコンピューティングシステムが例として使用される。コンピューティングデバイスは、第1のコンピューティングシステムによって処理される必要がある第1の車両データと、第2のコンピューティングシステムによって処理される必要がある第2の車両データとを決定する必要がある。第1の車両データは、具体的には、第1の時点で第1の検知範囲内の環境を検出することによって、第1のグループ検知装置によって取得される環境データであり得る。第2の車両データは、具体的には、第1の時点で第2の検知範囲内の環境を検出することによって、第2のグループ検知装置によって取得される環境データであり得る。ここでの第1のグループ検知装置は、第1のコンピューティングシステムと相互接続する責任を負う検知装置である。第2のグループ検知装置は、第2のコンピューティングシステムと相互接続する責任を負う検知装置である。各グループ検知装置に含まれる検知装置の数は限定されない。第1のグループ検知装置および第2のグループ検知装置に含まれる検知装置は、同じであっても異なってもよい。これは、本発明において限定されない。これに対応して、第1のグループ検知装置によって対応して検出された第1の検知範囲と、第2のグループ検知装置によって対応して検出された第2の検知範囲も、同じであっても異なってもよい。これは、本発明において限定されない。任意選択で、各グループ検知装置に対応する事前設定された検知範囲(例えば、第1の検知範囲または第2の検知範囲)は、具体的には、車両の環境内の360度パノラマ視覚範囲であってもよく、言い換えれば、各グループ検知装置は、パノラマ視覚範囲内の現在の環境内のパノラマデータを収集することができる。検知装置が事前設定された検知範囲内の環境データをどのように検出および取得するかについての詳細については、前述の実施形態の関連する説明を参照されたい。
各グループ検知装置に対応する事前設定された検知範囲が、グループ検知装置のハードウェア制限または異なる配置角度などの要因によって制限された360度パノラマ視覚範囲であり得るとしても、各グループ検知装置によって収集されるセンサデータは相違することが留意されるべきである。一例として第1のグループ検知装置および第2のグループ検知装置を使用して、第1のグループ検知装置によって収集された第1の車両データは、第2のグループ検知装置によって収集された第2の車両データとは異なる。
以下は、グループ検知装置およびコンピューティングシステムに関連する実施形態を説明する。具体的には、本発明における検知装置は、グループ概念を使用することによってデバイス内に配置され得る。各コンピューティングシステムが1つのグループ検知装置によって収集されたセンサデータを対応して処理することを保証するために、グループの数はコンピューティングシステムの数以下である必要があり、各グループ検知装置によって収集されたセンサデータは、1つまたは複数のコンピューティングシステムによって処理され得る。検知装置のグループ配置の規則は、具体的には、以下のうちの少なくとも1つを含み得る。1.各グループ検知装置は、現在の環境におけるパノラマデータを収集することができる。任意のグループ検知装置が故障しているとき、現在の環境におけるパノラマデータは、別のグループ検知装置を使用することによって収集されることが可能であり、ここでのパノラマデータは、現在の環境のパノラマ(360度のシーン)をスキャンおよび検出することによってグループ検知装置によって取得されたデータを指す。2.各グループ検知装置によって収集されるセンサデータのデータ量はおよそ同じである。言い換えれば、任意の2つのグループ検知装置によって収集されたセンサデータのデータ量の間の差は、事前設定された閾値以下である。事前設定された閾値は、システムによって定義され、例えば、ユーザ体験に基づいて設定された経験値であり、または一連の実験データに基づく統計収集によって取得される。
実際の適用では、各検知装置は、1つまたは複数のコンピューティングシステムと通信接続し得る。通信接続は、具体的には、有線接続または無線接続であってもよく、これは本発明では限定されない。検知装置とコンピューティングシステムとの間に有線接続があるとき、コンピューティングデバイスは、検知装置のグループ配置の前述の規則を使用することによって、パノラマデータ取得および/またはデータ量平衡化についての要件を満たす各グループ検知装置を、対応するコンピューティングシステムに有線方式で通信可能に接続されているものとして配置し得る。したがって、コンピューティングシステムは、続いて、有線通信接続モードに基づいて、グループ検知装置によって収集され、コンピューティングシステムによって処理される必要があるセンサデータを直接判定することができる。
検知装置とコンピューティングシステムとの間に無線接続があるとき、コンピューティングデバイスは、検知装置のグループ配置の前述の規則を使用し、ソフトウェアを使用することによって、コンピューティングシステムと通信するすべての検知装置から、パノラマデータ取得および/またはデータ量平衡化についての要件を満たすことができる1つのグループ検知装置を選択することが可能であり、コンピューティングシステムが、グループ検知装置によって収集されたセンサデータを処理する責任を負うとさらに決定する。
例えば、図3Aおよび図3Bは、2つの通信接続の概略図である。図3Aは、具体的には、無線通信接続の概略図である。図3Bは、具体的には、有線通信接続の概略図である。図に表されるコンピューティングデバイスでは、2つのコンピューティングシステム、すなわちコンピューティングシステムAおよびコンピューティングシステムBが配置される。加えて、3つのサブエリア、すなわちサブエリアA、サブエリアB、およびサブエリアC内の検知装置が、コンピューティングデバイス内に配置される。例えば、コンピューティングデバイスは、コンピューティングデバイスの環境の方向(例えば、前、後ろ、左、および右の方向)に基づいて区分される。サブエリアAは前方サブエリアであってもよく、サブエリアBは後方サブエリアであってもよく、サブエリアCは側方サブエリアであってもよく、具体的には、左側サブエリア、右側サブエリア、および同様のものを含んでもよい。各サブエリア内に、検知装置1、検知装置2、および検知装置3の3つの検知装置が含まれる(配置される)。
図3Aに表されるように、3つのサブエリア内の各検知装置は、コンピューティングシステムAおよびコンピューティングシステムBに接続され得る。これに対応して、コンピューティングシステムが続いてデータを処理するとき、コンピューティングシステムAに対応する第1のグループ検知装置およびコンピューティングシステムBに対応する第2のグループ検知装置が、パノラマデータを収集することができ、データ量平衡化規則を満たすことができることを保証するために、コンピューティングデバイスは、ソフトウェアを使用することによって3つのサブエリア内の検知装置をグループ化し得る。例えば、第1のグループ検知装置は、サブエリア1内の検知装置1、サブエリア2内の検知装置2および3、およびサブエリア3内の検知装置1を含む。第2のグループ検知装置は、サブエリア1内の検知装置2および3、サブエリア2内の検知装置1、およびサブエリア3内の検知装置2および3を含む。
図3Bに表されるように、3つのサブエリア内のいくつかの検知装置は、コンピューティングシステムAに有線方式で接続され、いくつかの検知装置は、コンピューティングシステムBに有線方式で接続される。例えば、図3Bでは、サブエリアAの検知装置1および2、サブエリアBの検知装置1、およびサブエリアCの検知装置3は、コンピューティングシステムAに有線方式で接続され、サブエリアAの検知装置3、サブエリアBの検知装置2、およびサブエリアCの検知装置1は、コンピューティングシステムAおよびコンピューティングシステムBに別々に有線方式で接続されてもよく、サブエリアB内の検知装置3およびサブエリアC内の検知装置2は、コンピューティングシステムBに有線方式で接続されてもよい。任意選択で、データカバレッジの完全性を保証し、コンピューティングシステムの高いコンピューティングパワー要件を満たすために、コンピューティングデバイスは、検知装置のグループ配置の前述の規則を使用することによって図3Bの検知装置を配置してもよい。これに対応して、図3Bでは、有線方式でコンピューティングシステムAに接続されたすべての検知装置が第1のグループ検知装置を形成し、有線方式でコンピューティングシステムBに接続されたすべての検知装置が第2のグループ検知装置を形成する。したがって、コンピューティングシステムAは、第1のグループ検知装置によって収集されたセンサデータを処理することができ、コンピューティングシステムBは、第2のグループ検知装置によって収集されたセンサデータを処理することができる。これは、本発明において限定されない。
言い換えれば、本発明では、グループ検知装置とコンピューティングシステムとの間に対応関係(関連付け関係または結合関係とも呼ばれる)がある。コンピューティングシステムは、対応関係に基づいて、グループ検知装置によって収集され、コンピューティングシステムによって処理される必要があるセンサデータ(すなわち、車両データ)を決定することができる。対応関係は、具体的には、システムによって定義されてもよく、または実際の要件または個人の好みに基づいてユーザによってカスタマイズされてもよい。例えば、コンピューティングデバイスは、検知装置のグループ配置の前述の規則に従って、対応するコンピューティングシステムへのパノラマデータ取得および/またはデータ量平衡化の要件を満たすグループ検知装置を事前に照合し得る。例えば、グループ検知装置を配置するとき、コンピューティングデバイスは、有線方式でコンピューティングシステムに接続された検知装置としてグループ検知装置を直接配置するか、またはグループ検知装置とコンピューティングシステムとの間の対応関係を作成し、例えば、対応関係をテキストまたはテーブルの形式で記憶する。これは、本発明において限定されない。
具体的には、コンピューティングシステムが第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む例では、コンピューティングデバイスは、第1のコンピューティングシステムと第1のグループ検知装置との間の予め記憶された対応関係に基づいて、第1のコンピューティングシステムによって処理される必要がある車両データは、第1のグループ検知装置によって収集されたセンサデータ、具体的には、第1の検知範囲内の現在の環境を検出することによって第1のグループ検知装置によって取得されたセンサデータであると決定し得る。これに対応して、コンピューティングデバイスは、第2のコンピューティングシステムと第2のグループ検知装置との間の予め記憶された対応関係に基づいて、第2のコンピューティングシステムによって処理される必要がある車両データは、第2のグループ検知装置によって収集されたセンサデータ、具体的には、第2の検知範囲内の現在の環境を検出することによって第2のグループ検知装置によって取得されたセンサデータであると決定し得る。
本発明では、コンピューティングデバイスは、検知装置のグループ配置の前述の規則に従って、ステップS402が、具体的には、以下のいくつかの方式で実現され得ることを知り得る。
第1の実装では、コンピューティングデバイスは、検知装置によって収集されたセンサデータのデータ量に基づいて、グループ検知装置によって収集され、コンピューティングシステムによって対応して処理されるセンサデータを決定して、各コンピューティングシステムによって処理されるセンサデータのデータ量がおよそ同じであることを保証する。言い換えれば、任意の2つのコンピューティングシステムによって処理される必要があるセンサデータのデータ量の間の差は、事前設定された閾値以下であり、事前設定された閾値は、システムによって定義される。
具体的には、コンピューティングシステムが第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む例では、コンピューティングシステムは、データ量平衡化規則に従って検知装置を割り当て得る。例えば、第1のコンピューティングシステムによって処理される必要がある第1の車両データは、第1のグループ検知装置によって収集されたセンサデータであり、第2のコンピューティングシステムによって処理される必要がある第2の車両データは、第2のグループ検知装置によって収集されたセンサデータである。加えて、第1の車両データのデータ量と第2の車両データのデータ量との間の差は、事前設定された閾値、例えば0以下である。
例えば、検知装置は撮像デバイスであり、異なる撮像デバイスによって収集された画像データの解像度は異なり得る。言い換えれば、コンピューティングデバイスがコンピューティングシステムを使用することによって解像度の画像データを処理するときに要求されるコンピューティングパワー(または画像データのデータ量)も異なる。コンピューティングデバイス内に5つの撮像デバイス、すなわち、撮像デバイスA、撮像デバイスB、撮像デバイスC、撮像デバイスD、および撮像デバイスEが配置されると仮定される。撮像デバイスAの解像度は3840×2160であり、撮像デバイスBの解像度と撮像デバイスCの解像度の両方は1920×1080であり、撮像デバイスDの解像度と撮像デバイスEの解像度の両方は960×540である。データ処理プロセスでは、各コンピューティングシステムのデータ量平衡化(すなわち、コンピューティングパワー平衡化)規則を考慮して、コンピューティングデバイスは、撮像デバイスAおよび撮像デバイスDを第1のグループ検知装置として使用し、第1のグループ検知装置を第1のコンピューティングシステムに割り当ててもよく、コンピューティングデバイスは、撮像デバイスB、C、およびEを第2のグループ検知装置として使用し、第2のグループ検知装置を第2のコンピューティングシステムに割り当ててもよい。言い換えれば、コンピューティングパワー平衡化を実現し、単一のコンピューティングシステムの計算量を削減するために、コンピューティングデバイスは、第1のコンピューティングシステムを使用することによって、第1のグループ検知装置(これは、具体的には、撮像デバイスAおよびDであり得る)によって収集された画像データを処理し、第2のコンピューティングシステムを使用することによって、第2のグループ検知装置(これは、具体的には、撮像デバイスB、C、およびEであり得る)によって収集された画像データを処理する。
第2の実装では、コンピューティングデバイスは、異なる検知装置の配置位置に基づいて、グループ検知装置によって収集され、コンピューティングシステムによって処理される必要があるセンサデータを決定し、センサデータをコンピューティングシステムによって処理される必要がある車両データとして使用し得る。グループ検知装置は、1つまたは複数の検知装置を含む。データカバレッジの網羅性を保証するために、各グループ検知装置は、各方向(またはサブエリア)に配置された検知装置を含む。ここでの方向は、検知装置の配置方向を指し、具体的には、システムによって定義および配置され得る。例えば、各コンピューティングシステムに対応するグループ検知装置は、図2Bに表される例では、前方検知装置、後方検知装置、左検知装置、右検知装置、全方位検知装置、および同様のものを含む。これは、本発明において限定されない。
言い換えれば、各コンピューティングシステムは、全方向に配置されたグループ検知装置を制御し、またはそれらと相互接続することができ、それによって、コンピューティングデバイス内の任意のコンピューティングシステムが故障した後、故障していないコンピューティングシステムは、コンピューティングシステムに対応するグループ検知装置に基づいて現在の環境のパノラマデータを収集することができ、したがって、車両の安全運転し、および同様のものを制御する。これは、車両の運転安全性を向上させることを助ける。
例えば、コンピューティングシステムは、第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む。コンピューティングデバイスでは、検知装置は5つのサブエリア、すなわちサブエリアA、サブエリアB、サブエリアC、サブエリアD、およびサブエリアEに配置されると仮定される。3つの前方検知装置(これらは、具体的には、前方検知装置1から3であり得る)はサブエリアA内に配置され、2つの後方検知装置(これらは、具体的には、後方検知装置1および2であり得る)はサブエリアB内に配置され、2つの左検知装置(これらは、具体的には、左検知装置1および2であり得る)はサブエリアC内に配置され、4つの右検知装置(これらは、具体的には、右検知装置1から4であり得る)はサブエリアD内に配置され、2つの全方位検知装置はサブエリアE内に配置される。各コンピューティングシステムの広域制御を考慮して、コンピューティングデバイスは、第1のグループ検知装置として、サブエリアA内の前方検知装置1および2、後方検知装置2、左検知装置1、右検知装置1および2、ならびに全方位検知装置1を使用してもよく、第1のグループ検知装置を第1のコンピューティングシステムに割り当て、言い換えれば、第1のグループ検知装置によって収集されたデータを、第1のコンピューティングシステムによって処理される必要がある第1の車両データとして使用する。これに対応して、コンピューティングデバイスは、第2のグループ検知装置として、サブエリアA内の前方検知装置3、後方検知装置1、左検知装置2、右検知装置3および4、ならびに全方位検知装置2を使用してもよく、第2のグループ検知装置を第2のコンピューティングシステムに割り当て、言い換えれば、第2のグループ検知装置によって収集されたデータを、第2のコンピューティングシステムによって処理される必要がある第2の車両データとして使用する。任意選択で、同じ方向に配置された任意の2つの検知装置の検出範囲は、同じであってもよく、異なってもよく、または完全に同じでなくてもよく、例えば、検出範囲のいくつかの部分は重複する。例えば、図5Aは、2つの前方検知装置の検出シナリオの概略図である。図5Aに表されるように、検知装置Aの検出範囲は、100メートルの検出距離および視野角Aを使用することによってカバーされるエ
リアであり、検知装置Bの検出範囲は、100メートルの検出距離および視野角Bを使用することによってカバーされるエリアである。図5Aに表されるように、検知装置Aおよび検知装置Bの検出範囲は完全には同じではなく、いくつかのエリアは重複する。
任意選択で、コンピューティングデバイスは、第1および第2の実装をさらに組み合わせてもよい。データ量平衡化が満たされるとき、コンピューティングデバイスは、処理のために同じコンピューティングシステムにすべての方向に配置されたグループ検知装置によって収集されたセンサデータを割り当てるために、異なる検知装置の配置位置をさらに考慮してもよい。これは、本発明において限定されない。
第3の実装では、コンピューティングデバイスは、異なる検知装置の属性情報に基づいて、グループ検知装置によって収集され、各コンピューティングシステムによって処理される必要があるセンサデータをさらに決定し、センサデータをコンピューティングシステムによって処理される必要がある車両データとして使用し得る。具体的には、コンピューティングデバイスは、1つのグループ検知装置と同じ属性情報を有する少なくとも1つの検知装置を使用することが可能であり、グループ検知装置によって収集されたデータを処理のために同じコンピューティングシステムに割り当てる。属性情報は、具体的には、検知装置の属性を記述するために使用される情報であり、例えば、属性情報は、検知装置の動作周波数(これはサンプリング周波数とも呼ばれ得る)、検知装置のタイプ、検知装置が属するカテゴリ、検知装置の機能、および同様のものを含み得るが、これらに限定されない。
例えば、検知装置は、レーダセンサ、撮像デバイス、およびレーザ測定ユニットを含む。単位時間内にレーダセンサによって収集されるセンサデータのデータ量はQ1であり、単位時間内に撮像デバイスによって収集されるセンサデータのデータ量はQ2であり、単位時間内にレーザ測定ユニットによって収集されるセンサデータのデータ量はQ3である。各コンピューティングシステムの平衡化されたデータ量を保証するために、コンピューティングデバイスは、各検知装置によって収集されたセンサデータのデータ量に基づいて平衡化された割り当てを実現する必要がある。3つの検知装置の動作期間は同じであり、Q1=1、Q2=2、Q3=3であると仮定される。データ量平衡化を実現するために、コンピューティングデバイスは、レーダセンサおよびレーザ測定ユニットを第1のグループ検知装置として使用して、第1のグループ検知装置によって収集されたセンサデータを処理のために第1のコンピューティングシステムに割り当てることが可能であり、撮像デバイスを第2のグループ検知装置として使用して、第2のグループ検知装置によって収集されたセンサデータを処理のために第2のコンピューティングシステムに割り当てることが可能である。
任意選択で、コンピューティングデバイスは、第1の実装および/または第2の実装の両方において、コンピューティングシステムによって対応して処理される必要がある車両データをさらに決定し得る。例えば、コンピューティングデバイスは、検知装置の属性情報と検知装置によって収集されたセンサデータのデータ量の両方に基づいて、グループ検知装置によって収集され、各コンピューティングシステムによって処理される必要があるセンサデータを決定し、センサデータをコンピューティングシステムによって処理される必要がある車両データとして使用し得る。したがって、コンピューティングデバイスは、各コンピューティングシステムによって処理される必要があるセンサデータのデータ量が平衡化され、同じコンピューティングデバイスに対応するグループ検知装置が同じ属性情報を有することを保証する。これは、本発明において限定されない。
本発明における第1の車両データおよび第2の車両データの両方は、グループ検知装置によって収集されたセンサデータであり、第1の車両データおよび第2の車両データをそれぞれ収集するグループ検知装置に依存して同じであってもよく、または異なってもよいことが留意されるべきである。第1の車両データまたは第2の車両データは、レーダセンサを使用することによって収集されたレーダデータ、レーザ測定ユニットを使用することによって収集されたレーザデータ、GPSを使用することによって収集された位置データ、感光性ユニットを使用することによって収集された感光性データ、および同様のものを含み得るが、これらに限定されない。
ステップS404:コンピューティングデバイスは、第1のコンピューティングシステムを使用することによって第1の車両データを処理して第1の構造化データを取得し、第1の構造化データは、第1のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。これに対応して、コンピューティングデバイスは、第2のコンピューティングシステムを使用することによって第2の車両データを処理して第2の構造化データを取得することが可能であり、第2の構造化データは、第2のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。
具体的には、第1の車両データを決定した後、第1のコンピューティングシステムは、第1の車両データを取得し、第1の車両データをさらに処理して対応する第1の構造化データを取得し得る。ここでの処理は、前処理、物体認識、物体検出、および同様のものを含むが、これらに限定されない。例えば、第1の車両データを取得した後、第1のコンピューティングシステムは、第1の車両データを前処理して前処理された第1の車両データを取得し得る。ここでの前処理は、システムによって定義されることが可能であり、データスクリーニング、異常値除去、データ変換、および同様のものを含むことが可能であるが、これらに限定されない。例えば、第1の車両データは、撮像デバイスによって収集された画像データである。前処理は、画像変換、画像スティッチング、画像補正、画像ワーピング、他の画像処理、または同様のものを含むが、これらに限定されない。これは、本発明において限定されない。
さらに、コンピューティングデバイスは、前処理された第1の車両データを処理して第1の構造化データを取得し続けてもよい。具体的には、コンピューティングデバイスは、第1の事前設定されたアルゴリズムを使用することによって前処理された第1の車両データを処理して第1の構造化データを取得することが可能であり、第1の構造化データは、第1のグループ検知装置によって検出される、第1の時点での車両の環境を示すために使用される。第1の事前設定されたアルゴリズムは、システムによって定義されるか、またはコンピューティングデバイスによって事前訓練され、車両の現在の環境を識別するために使用される。第1の構造データは、障害物、他の車両、車線ライン、車線幅、交通信号、交通信号と車両との間の距離、車両と他の車両との間の距離、車両の環境を反映する他のデータ、または同様のものを含むが、これらに限定されない。
例えば、第1の事前設定されたアルゴリズムはニューラルネットワークアルゴリズムである。第1のコンピューティングシステムは、ニューラルネットワークアルゴリズムを使用することによって第1の車両データを分析して、対象物体の検出および追跡を完了し、第1の構造化データを取得し得る。実際の適用では、検出された対象物体が異なるならば、使用される第1の事前設定されたアルゴリズムも異なり得る。第1の事前設定されたアルゴリズムは、システムによって事前に訓練され、コンピューティングデバイスに配置された、対象物体が検出されたときに直接ロードされて使用されることを待つアルゴリズムであってもよい。これは、本発明において限定されない。例えば、対象物体が交通信号であるとき、第1の事前設定されたアルゴリズムは、畳み込みニューラルネットワークアルゴリズムであってもよく、第1の構造化データは、交通信号、交通信号と車両との間の距離、および車両の運転環境において各交通信号を表示する期間などの情報を含む。これは、本発明において限定されない。
任意選択で、第1の車両データを取得した後、第1のコンピューティングシステムは第1の車両データを管理し得る。例えば、第1のコンピューティングシステムは、第1の車両データを第1のコンピューティングシステムのキャッシュに記憶し得る。別の例では、第1のコンピューティングシステムは、記憶された第1の車両データをリアルタイムまたは定期的に削除し、例えば、記憶期間が事前設定された期間を超える第1の車両データを取り除き、言い換えれば、リアルタイムまたは定期的に期限切れデータを取り除いてもよい。事前設定された期間は、システムによって定義され、例えば、ユーザの実際の要件に基づいて設定される。
同様に、第2のコンピューティングシステムが第2の車両データをどのように処理するかについての詳細については、第1の車両データについて第1のコンピューティングシステムによって実行される処理を参照されたい。詳細は、本発明では説明されない。本発明における第1の構造化データおよび第2の構造化データの両方は、グループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。第1の構造化データおよび第2の構造化データは、それぞれの対応するグループ検知装置に依存して、同じであってもよく、または異なってもよく、これは本発明では限定されない。実際の適用では、データ処理の間に、異なるコンピューティングシステムが異なるデータ処理アルゴリズムを使用し、異なるデータ処理精度を有するので、第1のコンピューティングシステムによって取得された第1の構造化データは、第2のコンピューティングシステムによって取得された第2の構造化データとは異なり得る。
ステップS406:コンピューティングデバイスは、第1の構造化データおよび第2の構造化データに基づいて車両の安全運転を制御する。
本発明において、第1の構造化データおよび第2の構造化データは、コンピューティングデバイスが異なるグループ検知装置によって収集されたセンサデータを処理した後に取得される構造化データであってもよいが、すべてのグループ検知装置によって収集されたセンサデータではない。データの完全性および車両制御のセキュリティを考慮して、コンピューティングシステムは、コンピューティングシステムによって取得された構造化データを交換し得る。したがって、コンピューティングデバイスは、処理によって各コンピューティングシステムよって取得された構造化データに基づいて、車両の安全運転を制御することができる。
例えば、コンピューティングシステムは、第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む。本発明における第1のコンピューティングシステムおよび第2のコンピューティングシステムは、取得された第1の構造化データおよび第2の構造化データを交換してもよい。具体的には、第1のコンピューティングシステムは、実際の要件に基づいてデータ要求を第2のコンピューティングシステムに能動的に送信して第2の構造化データを取得してもよい。その代わりに、第2のコンピューティングシステムは、計算によって第2の構造化データを取得した後に、別のコンピューティングシステムが第2の構造化データを取得して使用するように、第2の構造化データを別のコンピューティングシステムにブロードキャストしてもよい。これに対応して、第1のコンピューティングシステムによって第2の構造化データを取得する関連する説明を参照して、第2のコンピューティングシステムは、また、第1のコンピューティングシステムによって処理された第1の構造化データを取得してもよい。詳細はここで再度説明されない。さらに、コンピューティングデバイスは、第1のコンピューティングシステムまたは第2のコンピューティングシステムを使用することによって、第1の構造化データおよび第2の構造化データに基づいて車両の安全運転を制御する。具体的には、以下のいくつかの実装がある。第1の実装では、第1のコンピューティングシステムも第2のコンピューティングシステムも故障していないとき、コンピューティングデバイスは、2つのコンピューティングシステムによってそれぞれ生成された制御命令に従って車両の安全運転を制御し得る。制御命令は、第1の構造化データおよび第2の構造化データに基づいてコンピューティングシステムによって生成される。
具体的には、コンピューティングデバイスは、マイクロコントローラユニットを使用することによる監視の手段によって、第1のコンピューティングシステムおよび第2のコンピューティングシステムの各々の実行ステータスを取得し得る。さらに、コンピューティングデバイスは、第1のコンピューティングシステムおよび第2のコンピューティングシステムの実行ステータスに基づいて、第1のコンピューティングシステムおよび第2のコンピューティングシステムが故障しているかどうかを判定する。マイクロコントローラユニットを使用することによって、第1のコンピューティングシステムまたは第2のコンピューティングシステムが故障しているかどうかをコンピューティングデバイスがどのように判定するかについての詳細については、図1Aまたは図1Bにおける関連する説明を参照されたい。詳細はここで再度説明されない。
第1のコンピューティングシステムが故障していないとき、第1のコンピューティングシステムは、第1の構造化データおよび第2の構造化データに基づいて第1の制御命令を取得することが可能であり、第1の制御命令は、車両の安全運転を制御するために使用される。具体的には、データ処理精度を向上させるために、第1のコンピューティングシステムは、第1の構造化データおよび第2の構造化データについて平滑化処理を実行して、車両運転の道路特徴情報、例えば、周辺車両の位置、車線ライン、車線数、道路標識、車線幅、および車両が走行できるエリアについての情報を取得し得る。次いで、第1のコンピューティングシステムは、道路特徴情報および車両の測位情報に基づいて第1の制御命令を生成する。測位情報は、具体的には、測位装置を使用することによって収集された、実空間内の車両の位置情報であってもよい。測位装置は、GPS、IMU、車輪速度計、測位のために使用される別の構成要素、または同様のもののうちの少なくとも1つを含む。
第1の制御命令は、車両が第1の時点で環境にあるときに車両の第1の構造化データおよび第2の構造化データに基づいて生成され、第1の制御命令は、車両の安全運転を制御するために使用される。生成された第1の制御命令は、環境の変化とともに相違し得ることが理解され得る。例えば、車両がカーブを通って運転するシナリオでは、生成された第1の制御命令は、具体的には、カーブにおける車両の安全運転を実現するために、車両の現在の旋回方向および現在の旋回角度などの情報を示すために使用され得る。別の例として、交通渋滞シナリオにおける運転の間、生成された第1の制御命令は、具体的には、車両が渋滞環境で安全運転を実現することを保証するために、車両が走行する車線、車速、車両と別の車両との間に維持される必要がある車両間隔、および同様のものを示すために使用得る。
実際の適用では、異なる環境において、環境での車両の安全運転を実現するために、第1の制御命令によって対応して示される車両内の操作対象物は、車両の、ブレーキ、アクセル、ステアリングホイール、ギア、ターンライト、フォグライト、レインワイパ、および同様のものなどの構成要素を含むが、これらに限定されない。第1の制御命令によって示される動作処理は、速度制御、経路変更、車線変更、旋回角度制御、および同様のものを含むが、これらに限定されない。例えば、コンピューティングデバイスは、ステアリングホイールを制御することによって運転路変更(すなわち、車線変更)を実現し、ターンライトを制御することによって車両に、交通事故を回避し、車両の安全運転を確保するために、現在行われる必要がある車線変更のための方向を示す。
これに対応して、第2のコンピューティングシステムが故障していないとき、第2のコンピューティングシステムは、また、第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を取得し得る。詳細については、第1のコンピューティングシステムによって第1の制御命令を生成する前述の関連する説明を参照されたい。詳細はここでは再度説明されない。実際の適用では、異なるコンピューティングシステムによって生成された制御命令は、異なるデータ処理精度を有し、データ処理の間に異なるアルゴリズムを使用する異なるコンピューティングシステムを用いて相違し得る。言い換えれば、本発明の前述の説明における第1の制御命令および第2の制御命令は異なり得る。
第1のコンピューティングシステムも第2のコンピューティングシステムも故障していないので、コンピューティングデバイスは、第1のコンピューティングシステムによって生成された第1の制御命令および第2のコンピューティングシステムによって生成された第2の制御命令に従って車両制御命令を決定し、車両制御命令に基づいて車両の安全運転をさらに制御し得る。具体的には、コンピューティングデバイスは、2つのコンピューティングシステムによって別々に生成された第1の制御命令および第2の制御命令のうちの1つを車両制御命令としてランダムに選択してもよい。その代わりに、コンピューティングデバイスは、コンピューティングシステム間のプライマリ-セカンダリ関係に基づいて、2つのコンピューティングシステムによって別々に生成された第1の制御命令および第2の制御命令から、プライマリ・コンピューティングシステムによって生成された制御命令を車両制御命令として選択してもよい。コンピューティングシステム間のプライマリ-セカンダリ関係は、システムによって事前定義され、例えば、ユーザ要件またはユーザの好みに基づいて定義される。例えば、ここで、第1のコンピューティングシステムがプライマリ・コンピューティングシステムであり、第2のコンピューティングシステムがセカンダリ・コンピューティングシステムである例では、第1のコンピューティングシステムも第2のコンピューティングシステムも故障していないと判定した後、コンピューティングデバイスは、第1のコンピューティングシステムによって生成された第1の制御命令が車両制御命令であると決定し、続いて、車両制御命令に従って車両の安全運転を制御することができる。
第2の実装では、第1のコンピューティングシステムまたは第2のコンピューティングシステムのいずれか1つが故障しているとき、コンピューティングデバイスは、故障していないコンピューティングシステムを使用することによって第1の構造化データおよび第2の構造化データに基づいて対応する制御命令を生成することが可能であり、制御命令に従って車両の安全運転をさらに制御する。例えば、第1のコンピューティングシステムが故障している。コンピューティングデバイスが、マイクロコントローラユニットを使用することによって、第1のコンピューティングシステムが故障していると判定した後、コンピューティングデバイスは、第2のコンピューティングシステムを使用することによって、第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を生成し得る。第2の制御命令についての詳細については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。さらに、コンピューティングデバイスは、第2の制御命令に従って車両の安全運転を制御し得る。
これに対応して、第2のコンピューティングシステムが故障しているとコンピューティングデバイスが判定した後、コンピューティングデバイスは、第1のコンピューティングシステムを使用することによって第1の構造化データおよび第2の構造化データに基づいて第1の制御命令を生成することが可能であり、第1の制御命令に従って車両の安全運転をさらに制御する。第1の制御命令についての詳細については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。
任意選択の実施形態では、複数のコンピューティングシステムがコンピューティングデバイス内に配置されるとき、コンピューティングデバイス内のいずれかのコンピューティングシステムが故障しているならば、コンピューティングデバイスは、故障していない別のコンピューティングシステムを使用することによって、処理される必要がある車両データを処理して、車両の安全運転を制御し得る。具体的には、データの完全性および車両制御のセキュリティを保証するために、故障しているコンピューティングシステムによって処理される必要があるセンサデータ(車両データ)は、車両の安全運転を保証するために、故障していないコンピューティングシステムによって処理される必要がある。故障していないコンピューティングシステムについて、比較的大量の車両データが存在し、コンピューティングシステムはコンピューティングシステムのコンピューティングパワーまたはハードウェアによって制限されるので、コンピューティングシステムは大量の車両データの処理要件を満たすことができない。この場合、処理された車両データを取得し、さらに処理された車両データに基づいて車両の安全運転を実現するために、車両データについて次元削減処理(これは最適化処理とも呼ばれ得る)が最初に実行される必要がある。
図6は、本発明の一実施形態による別の車両制御方法の概略フローチャートである。図6に表される方法では、コンピューティングデバイス内のコンピューティングシステムが第1のコンピューティングシステムおよび第2のコンピューティングシステムを含む例が使用されて、2つのコンピューティングシステムのいずれか1つが故障した後、故障していない他方のコンピューティングシステムがデータ処理を実現する関連する実施形態を説明する。図6に表される方法では、具体的には、第1のコンピューティングシステムが故障しており、第2のコンピューティングシステムが故障していないことが一例として使用され、この方法は、具体的には、以下の実現ステップを含む。
ステップS602:第2のコンピューティングシステムは、第3の車両データおよび第4の車両データを取得し、第3の車両データは、第2の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データである。第4の車両データは、第2の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データである。
本発明では、マイクロコントローラユニットを使用することによって、第1のコンピューティングシステムが故障していると判定した後、コンピューティングデバイスは、第2のコンピューティングシステムを使用することによって、グループ検知装置によって続いて収集されるセンサデータを処理し得る。具体的には、データの完全性を保証するために、第1のコンピューティングシステムが故障した後、第2のコンピューティングシステムは、第1のコンピューティングシステムによって処理される必要がある第3の車両データおよび第2のコンピューティングシステムによって処理される必要がある第4の車両データを取得することが可能であり、それによって、車両制御のセキュリティを保証するために、2つのコンピューティングシステムによって処理される必要がある車両データが続いて処理されることが可能である。
第3の車両データは、第2の時点で第1の検知範囲内の環境を検出することによって第1のグループ検知装置によって取得されたセンサデータであり、第4の車両データは、第2の時点で第2の検知範囲内の環境を検出することによって第2のグループ検知装置によって取得されたセンサデータである。第2の時点は、第1のコンピューティングシステムが故障した後の任意の時点であり、本発明における前述の説明における第1の時点とは異なる。
ステップS604:第2のコンピューティングシステムは、第3の車両データおよび第4の車両データについて次元削減処理を実行して、次元削減後の第3の車両データおよび次元削減後の第4の車両データを取得する。本発明において上記で述べた次元削減処理は、コンピューティングシステムの計算量を削減するために実行される動作処理を指し、解像度削減、フレームレート削減、検知装置の数の削減、データ量を削減するための別の動作、または同様のもののいずれか1つまたは組合せを含み得るが、これらに限定されない。以下は、説明のための例を使用する。
次元削減処理がフレームレート削減である例では、第1のコンピューティングシステムが故障している前述の例を参照して、第2のコンピューティングシステムによって処理される必要があるすべての車両データ(これは、具体的には、第3の車両データおよび第4の車両データを含み得る)は、撮像デバイスを使用することによって収集されたフレーム画像データである。実際の適用では、第2のコンピューティングシステムによって処理される必要がある車両データは、複数のフレームの画像を含む。具体的には、第2のコンピューティングシステムは、小さいデータ量を有する処理されたフレーム画像を取得するために、処理される必要がある画像の複数のフレームについてフレームレート削減を実行し得る。例えば、第2のコンピューティングシステムは、画像の偶数フレームを除去し、画像の奇数フレームを処理されたフレーム画像、または同様のものとして保持してもよい。
次元削減処理が解像度削減である例では、第1のコンピューティングシステムが故障している前述の例を参照して、第2のコンピューティングシステムによって処理される必要があるすべての車両データ(これは、具体的には、第3の車両データおよび第4の車両データを含み得る)は、撮像デバイスを使用することによって収集されたフレーム画像データである。実際の適用では、第2のコンピューティングシステムによって処理される必要がある車両データは、複数のフレームの画像を含む。具体的には、第2のコンピューティングシステムは、小さいデータ量を有する処理されたフレーム画像を得るために、処理される必要がある画像の複数のフレームについて解像度削減を実行し得る。例えば、第2のコンピューティングシステムは、事前設定された画像アルゴリズムを使用して、第1の解像度のフレーム画像を第2の解像度のフレーム画像に変換し得る。第1の解像度は、第2の解像度よりも大きい。事前設定された画像アルゴリズムは、システムによって定義され、画像フレームの解像度を削減するために使用され、画像圧縮アルゴリズム、画像再構成アルゴリズム、解像度を削減するために使用される別のアルゴリズム、または同様のものを含み得るが、これらに限定されない。
次元削減処理が検知装置の数の削減である例では、本発明における検知装置の数の削減は、検知装置を使用することによって収集され、コンピューティングシステムによって処理される必要があるセンサデータを削減するために、グループ検知装置に含まれる検知装置の数を削減することを指す。具体的には、本発明におけるステップS402およびS404における関連する説明を参照して、コンピューティングシステムによって処理される必要がある第3の車両データおよび第4の車両データの両方は、グループ検知装置を使用することによって収集されたセンサデータである。第1のコンピューティングシステムが故障している前述の例を参照して、単一のコンピューティングシステムのコンピューティングパワー制限を満たすために、第2のコンピューティングシステムは、グループ検知装置に含まれる複数の検知装置によって収集された第3の車両データおよび第4の車両データについてスクリーニング処理(すなわち、検知装置の数の削減)を実行することが可能であり、具体的に言うと、いくつかの検知装置によって収集されたセンサデータは破棄されて、比較的少数の検知装置によって収集されたセンサデータを取得し、そのセンサデータを処理された車両データとして使用する。比較的少数の検知装置は、車両の現在の環境のパノラマデータをスキャンして検出することができる。言い換えれば、第2のコンピューティングシステムがパノラマをサポートするならば、第2のコンピューティングシステムは、複数の検知装置からいくつかの検知装置を選択し、検知装置によって収集されたセンサデータを処理された車両データとして使用し得る。
例えば、図5Bは、検知装置配置シナリオの概略図である。図5Bに表される車両には、8つの検知装置、すなわち、前方検知装置1および2、後方検知装置3および4、左検知装置5、右検知装置6、ならびに全方位検知装置7および8が配置される。図に表されるように、前方検知装置1および2は一緒に設置され、基本的に一貫した走査および検出範囲を有する。言い換えると、前方検知装置1および2は、同じシナリオで同じセンサデータを収集する。同様に、図に表されるように、後方検知装置3および4は互いに近接して配置され、同じシナリオで同じセンサデータを収集する。全方位検知装置7および8は、互いに近接して配置され、また、同じシナリオで同じセンサデータを収集する。この例では、現在の環境のパノラマデータを取得するために、1つの前方検知装置、1つの後方検知装置、1つの左検知装置、1つの右検知装置、および1つの全方位検知装置が一緒に、現在の環境の360度走査および検出を実現し得る。
第1のコンピューティングシステムによって初めに処理される必要がある第3の車両データは、前述の検知装置1、3、4、および5の各々によって収集されたセンサデータを含み、第2のコンピューティングシステムによって初めに処理される必要がある第4の車両データは、前述の検知装置2、6、7、および8の各々によって収集されたセンサデータを含むと仮定される。データ処理の完全性および信頼性を保証するために、第1のコンピューティングシステムに故障が突然発生したならば、第2のコンピューティングシステムは、第3の車両データおよび第4の車両データ、すなわち、2つのコンピューティングシステムによって処理される必要がある前述の8つの検知装置によって収集されたデータを取得し得る。単一のコンピューティングシステムのコンピューティングパワーによって制限され、第2のコンピューティングシステムは、前述の8つの検知装置によって収集されたデータから、検知装置によって収集され、処理された車両データとしてパノラマデータを含むことができるデータを選択し得る。この例では、データの完全性を保証するために、第2のコンピューティングシステムは、前述の8つの検知装置によって収集されたデータから1つの前方検知装置、1つの後方検知装置、1つの左検知装置、1つの右検知装置、および1つの全方位検知装置によって収集されたデータを選択することが可能であり、例えば、この例では、検知装置1、3、5、6、および7によって収集されたデータが処理された車両データとして選択され得る。これは、本発明において限定されない。
ステップS606:第2のコンピューティングシステムは、次元削減後の第3の車両データおよび次元削減後の第4の車両データを処理して、第3の構造化データおよび第4の構造化データを対応して取得する。第3の構造化データは、第1のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用され、第4の構造化データは、第2のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用される。
ステップS608:コンピューティングデバイスは、第3の構造化データおよび第4の構造化データに基づいて車両の安全運転を制御する。
本発明では、ステップS604からS608の具体的な実現の間に、第2のコンピューティングシステムは、事前設定されたフルデータアルゴリズム(これはフルデータモデルとも呼ばれ得る)をロードすることが可能であり、フルデータアルゴリズムを使用することによって第3の車両データおよび第4の車両データを処理して、車両の安全運転を制御するための対応する制御命令を取得する。事前設定されたフルデータアルゴリズムは、システムによって定義される。アルゴリズムのロード時間を短縮するために、フルデータアルゴリズムは、続く使用の間の直接のロードを容易にするために、第2のコンピューティングシステムのキャッシュに事前に配置されてもよい。任意選択で、実際の適用では、次元削減処理は、フルデータアルゴリズム内で実現されてもされなくてもよい。具体的に言うと、フルデータアルゴリズムの入力データは、次元削減処理前の第3車両データおよび第4車両データであってもよく、または次元削減処理後の第3車両データおよび第4車両データであってもよい。これは、本発明において限定されない。第2のコンピューティングシステムが次元削減後の車両データに基づいて車両の安全運転をどのように実現するかについての詳細については、前述のステップS404およびS406における関連する説明を参照されたい。詳細はここで再度説明されない。
任意選択の実施形態では、第1のコンピューティングシステムが故障しているとき、第2のコンピューティングシステムは、第1のコンピューティングシステムによって処理される必要がある第3の車両データを取得することができない。この場合、第2のコンピューティングシステムは、第2のコンピューティングシステムによって処理される必要がある第4の車両データを取得し、第4の車両データのみをさらに処理して、対応する制御命令を取得し得る。さらに、制御命令の指示に従って車両の安全運転が制御される。制御命令は、第2のコンピューティングシステムによって生成され、車両の安全運転を制御するために使用される。制御命令によって示される内容の具体的な動作は、本発明では限定されず、例えば、できるだけ早く減速するように車両を制御すること、道路の片側に寄せること、および同様のものである。車両データを処理して車両の安全運転をどのように制御するかについての詳細については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。
その代わりに、第1のコンピューティングシステムが故障した後、第2のコンピューティングシステムは、第1のコンピューティングシステムによって処理される必要がある第3の車両データおよび第2のコンピューティングシステムによって処理される必要がある第4の車両データを取得することができない。この場合、第2のコンピューティングシステムは、第2のコンピューティングシステム内の予め記憶された車両データを処理して、車両の安全運転を制御するための対応する制御命令を生成し得る。その代わりに、第2のコンピューティングシステムは、制御命令に従って車両の安全運転を制御するために、予め記憶された制御命令を直接に取得し得る。制御命令は、カスタマイズされた方式でシステムによって生成され、車両の安全運転を制御するために使用される。例えば、制御命令は、車両を道路の片側に寄せるように制御し、車両を減速するように制御するなどのために使用される。これは、本発明において限定されない。
本発明のこの実施形態の実装は、低い電力消費および高いコンピューティングパワーについての大量生産の要件が満たされることが可能でないなどという先行技術における課題を解決することができる。したがって、これは、データ処理の消費電力を削減し、データ処理の効率を向上させる。
図1Aから図6の前述の実施形態を参照して、以下は、本発明が適用可能である関連するデバイスまたは通信システムを説明する。図7は、本発明の一実施形態による、コンピューティングデバイスの構造の概略図である。図7に表されるコンピューティングデバイス700は、取得モジュール702、第1の処理モジュール704、および制御モジュール706を含む。
取得モジュール702は、第1の車両データおよび第2の車両データを取得するように構成され、第1の車両データは、第1の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データであり、第2の車両データは、第1の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データである。
処理モジュール704は、第1のコンピューティングシステムを使用することによって第1の車両データを処理して第1の構造化データを取得し、第2のコンピューティングシステムを使用することによって第2の車両データを処理して第2の構造化データを取得するように構成され、第1の構造化データは、第1のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用され、第2の構造化データは、第2のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。
制御モジュール706は、第1の構造化データおよび第2の構造化データに基づいて車両の安全運転を制御するように構成される。
実際の適用では、本発明のこの実施形態における処理モジュール704は、具体的には、図1Aまたは図1Bにおける前処理モジュール1042および処理モジュール1043を含み得る。言い換えれば、本発明における処理モジュール704の説明された機能は、具体的には、図1Aまたは図1Bにおける前処理モジュール1042および処理モジュール1043などの機能モジュールによって実現され得る。本発明における制御モジュール706は、具体的には、図1Aまたは図1Bにおける命令生成モジュール1044、およびマイクロコントローラユニット106内のいくつかまたはすべての機能モジュールを含み得る。本発明における取得モジュール702は、具体的には、図1Aまたは図1Bにおける選択モジュール1045および同様のものを含み得る。これは、本発明において限定されない。
任意選択の実施形態では、第1の車両データのデータ量と第2の車両データのデータ量との間の差は、第1の閾値以下である。
任意選択の実施形態では、制御モジュール706は、具体的には、第1のコンピューティングシステムを使用することによって、第1の構造化データおよび第2の構造化データに基づいて第1の制御命令を取得し、第1の制御命令に従って車両の安全運転を制御するように構成される。具体的な実装の間、ここでの制御モジュール706は、具体的には、図1Aまたは図1Bにおける第1のコンピューティングシステムに含まれる命令生成モジュール1044、およびマイクロコントローラユニット106内の相互接続モジュール1063を含み得る。例えば、コンピューティングデバイスは、命令生成モジュール1044を使用することによって第1の構造化データおよび第2の構造化データに基づいて第1の制御命令を取得し、マイクロコントローラユニット106内の相互接続モジュール1063を使用することによって第1の制御命令に従って車両の安全運転を制御する。
任意選択の実施形態では、制御モジュール706は、第1のコンピューティングシステムが故障していると判定し、判定に応答して、第2のコンピューティングシステムを使用することによって第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を取得し、第2の制御命令に従って車両の安全運転を制御するようにさらに構成される。具体的な実装の間、本発明における制御モジュール706は、具体的には、マイクロコントローラユニット106内の、監視モジュール1061、調停モジュール1062、および相互接続モジュール1063、および図1Aまたは図1Bにおけるコンピューティングシステム104内の命令生成モジュール1044を含み得る。例えば、コンピューティングデバイスは、監視することによって、マイクロコントローラユニット内の監視モジュール1061を使用することによって第1のコンピューティングシステムの実行ステータスを取得し、第1のコンピューティングシステムが故障しているかどうかを調停するために実行ステータスを調停モジュールに送信する。第1のコンピューティングシステムが故障した後、第2のコンピューティングシステム内の命令生成モジュール1044は、第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を取得する。最後に、相互接続モジュール1063は、第2の制御命令に従って車両の安全運転を制御してもよい。
任意選択の実施形態では、取得モジュール702は、第3の車両データおよび第4の車両データを取得するようにさらに構成され、第3の車両データは、第2の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データであり、第2の車両データは、第2の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データである。処理モジュール704は、第1のコンピューティングシステムが故障していると判定し、判定に応答して、第2のコンピューティングシステムを使用することによって第3の車両データおよび第4の車両データについて次元削減処理を実行するように構成される。処理モジュール704は、第2のコンピューティングシステムを使用することによって次元削減後の第3の車両データおよび第4の車両データを処理して第3の構造化データおよび第4の構造化データを取得するようにさらに構成され、第3の構造化データは、第1のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用され、第4の構造化データは、第2のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用される。制御モジュール706は、第3の構造化データおよび第4の構造化データに基づいて車両の安全運転を制御するようにさらに構成される。
本発明において表されていないまたは説明されていない内容については、前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。図7に表されるコンピューティングデバイスは、実際の適用ではより多くのまたはより少ない構成要素を含むことが可能であり、図は単に一例であり、限定を構成しない。図7に表される各モジュールまたは各ユニットは、具体的には、ソフトウェアまたはハードウェアを使用することによって実現され得る。ソフトウェアプログラムを使用することによって各モジュールまたは各ユニットを実現されるとき、図に表される各モジュールまたは各ユニットはソフトウェアモジュールである。ハードウェアが使用されるとき、図に表される各モジュールまたは各ユニットは、具体的には、特定用途向け集積回路(application-specific integrated circuit、ASIC)またはプログラマブル・ロジック・デバイス(programmable logic device、PLD)を使用することによって実現され得る。PLDは、複合プログラマブル・ロジック・デバイス(complex programmable logic device、CPLD)、フィールド・プログラマブル・ゲート・アレイ(field-programmable gate array、FPGA)、ジェネリック・アレイ・ロジック(generic array logic、GAL)、またはそれらの任意の組合せであり得る。これは、本発明において限定されない。
本発明のこの実施形態の実装は、低い電力消費および高いコンピューティングパワーについての大量生産の要件が満たされることが可能でないなどという先行技術における課題を解決することができる。したがって、これは、データ処理の消費電力を削減し、データ処理の効率を向上させる。
図8は、本発明の一実施形態による、別のコンピューティングデバイスの構造の概略図である。図8に表されるコンピューティングデバイス800は、1つまたは複数のプロセッサ801、通信インタフェース802、およびメモリ803を含む。プロセッサ801、通信インタフェース802、およびメモリ803は、バスを使用することによって接続されてもよく、または無線送信などの別の方式で通信を実現してもよい。本発明のこの実施形態では、バス804を使用することによる接続が例として使用される。メモリ803は命令を記憶するように構成され、プロセッサ801はメモリ803に記憶された命令を実行するように構成される。メモリ803はプログラムコードを記憶し、プロセッサ801は、メモリ803に記憶されたプログラムコードを呼び出して、図4または図6における方法の実施形態において提供される実装ステップのすべてまたはいくつかを実行し得る。詳細はここで再度説明されない。
プロセッサ801は、以下の機能モジュールの機能を実現するために、メモリ803に記憶された関連するプログラムコードを実行するようにさらに構成され得ることが理解されるべきである。例えば、機能モジュールは、以下の機能、例えば、図7に表される、取得モジュール、処理モジュール、および制御モジュール、ならびにコンピューティングシステム104に含まれるすべてまたはいくつかのモジュール、ならびに図1Aまたは図1Bに表されるマイクロコントローラユニット106に含まれる機能モジュールのすべてまたはいくつか、のいずれか1つまたはそれらのより多くの組合せを含むが、これらに限定されない。言い換えれば、メモリ803はプログラムコードのセットを記憶し、プロセッサ801は、メモリ803に記憶されたプログラムコードを呼び出して、図1Aまたは図1Bに表されるコンピューティングデバイス内のすべてまたはいくつかの機能モジュールの機能を実現するか、または図4または図6に表される方法の実施形態において説明された内容を実現し得る。詳細はここで再度説明されない。
図8は、単に、本発明のこの実施形態の可能な実装であることが留意されるべきである。実際の適用では、サーバは、より多くのまたはより少ない構成要素をさらに含み得る。これは、ここで限定されない。本発明のこの実施形態において表されていないまたは説明されていない内容については、図1Aから図7の前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。
本発明のこの実施形態の実装は、低い電力消費および高いコンピューティングパワーについての大量生産の要件が満たされることが可能でないなどという先行技術における課題を解決することができる。したがって、これは、データ処理の消費電力を削減し、データ処理の効率を向上させる。
図9は、本発明の一実施形態による、通信システムの構造の概略図である。図9に表される通信システム900は、第1のコンピューティングシステム902、第2のコンピューティングシステム904、およびマイクロコントローラユニット906を含む。マイクロコントローラユニット906は、ネットワークを使用することによって第1のコンピューティングシステム902および第2のコンピューティングシステム904と別々に通信し得る。第1のコンピューティングシステム902は、また、ネットワークを使用することによって第2のコンピューティングシステム904と通信してもよい。第1のコンピューティングシステム902は、第1の車両データを取得し、第1の車両データを処理して第1の構造化データを取得するように構成され、第1の車両データは、第1の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データであり、第1の構造化データは、第1のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。
第2のコンピューティングシステム904は、第2の車両データを取得し、第2の車両データを処理して第2の構造化データを取得するように構成され、第2の車両データは、第1の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データであり、第2の構造化データは、第2のグループ検知装置によって検出される、第1の時点での車両の環境を表現するために使用される。
第1のコンピューティングシステム902は、第1の構造化データおよび第2の構造化データに基づいて第1の制御命令を取得するようにさらに構成される。
マイクロコントローラユニット906は、具体的には、第1の制御命令に従って車両の安全運転を制御するように構成される。
本発明のこの実施形態では、マイクロコントローラユニット906の数は限定されない。1つのマイクロコントローラユニット906があるとき、マイクロコントローラユニット906は、具体的には、第1のコンピューティングシステムおよび第2のコンピューティングシステムと通信してもよい。図1Aの実施形態における関連する説明を参照されたい。2つのマイクロコントローラユニット906があるとき、例えば、マイクロコントローラユニット906は、第1のマイクロコントローラユニットおよび第2のマイクロコントローラユニットを含み、第1のマイクロコントローラは第1のコンピューティングシステムと通信することが可能であり、第2のマイクロコントローラユニットは第2のコンピューティングシステムと通信することが可能である。詳細については、図1Bの実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。
任意選択の実施形態では、マイクロコントローラユニット906は、第1のコンピューティングシステムが故障していると判定するようにさらに構成され、第2のコンピューティングシステム904は、判定に応答して、第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を取得するようにさらに構成され、マイクロコントローラユニット906は、具体的には、第2の制御命令に従って車両の安全運転を制御するように構成される。具体的には、通信システム900は、マイクロコントローラユニット906を使用することによって、コンピューティングシステムが故障しているかどうかを判定する。例えば、第1のコンピューティングシステムが第1の構造化データを取得した後、第1のコンピューティングシステムは故障する。次いで、通信システムは、第2のコンピューティングシステム904を呼び出し続けて第1の構造化データおよび第2の構造化データに基づいて第2の制御命令を取得してもよく、マイクロコントローラユニット906を使用することによって第2の制御命令に従って車両の安全運転をさらに制御する。
任意選択の実施形態では、マイクロコントローラユニット906は、第1のコンピューティングシステムが故障していると判定するようにさらに構成され、第2のコンピューティングシステム904は、判定に応答して、第3の車両データおよび第4の車両データを取得し、第3の車両データおよび第4の車両データについて次元削減処理を実行するようにさらに構成され、第3の車両データは、第2の時点で第1のグループ検知装置によって検出される、第1の検知範囲内の環境データであり、第4の車両データは、第2の時点で第2のグループ検知装置によって検出される、第2の検知範囲内の環境データであり、第2のコンピューティングシステム904は、次元削減後の第3の車両データを処理して第3の構造化データを取得するようにさらに構成され、第3の構造化データは、第1のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用され、第2のコンピューティングシステム904は、次元削減後の第4の車両データを処理して第4の構造化データを取得するように構成され、第4の構造化データは、第2のグループ検知装置によって検出される、第2の時点での車両の環境を表現するために使用され、第2のコンピューティングシステム904は、第3の構造化データおよび第4の構造化データに基づいて第3の制御命令を取得するようにさらに構成され、マイクロコントローラユニット906は、第3の制御命令に従って車両の安全運転を制御するようにさらに構成される。
本発明のこの実施形態において表されていないまたは説明されていない内容についての詳細は、図1Aから図6の前述の実施形態における関連する説明を参照されたい。詳細はここで再度説明されない。本発明のこの実施形態の実装は、低い電力消費および高いコンピューティングパワーについての大量生産の要件が満たされることが可能でないなどという先行技術における課題を解決することができる。したがって、これは、データ処理の消費電力を削減し、データ処理の効率を向上させる。
本発明の一実施形態は、コンピュータ非一時的記憶媒体をさらに提供する。コンピュータ非一時的記憶媒体は命令を記憶し、命令がプロセッサ上で実行されると、図4または図6に表される方法の手順が実現される。
本発明の一実施形態は、コンピュータプログラム製品をさらに提供する。コンピュータプログラム製品がプロセッサ上で実行されるときき、図4または図6に表される方法の手順が実現される。
本発明のこの実施形態において開示される内容と組み合わせて説明される方法またはアルゴリズムのステップは、ハードウェアによって実現されてもよく、またはソフトウェア命令を実行することによってプロセッサによって実現されてもよい。ソフトウェア命令は、対応するソフトウェアモジュールを含み得る。ソフトウェアモジュールは、ランダムアクセスメモリ(random access memory、RAM)、フラッシュメモリ、リードオンリメモリ(read-only memory、ROM)、消去可能なプログラマブル・リードオンリメモリ(erasable programmable ROM、EPROM)、電気的に消去可能なプログラマブル・リードオンリメモリ(electrically EPROM、EEPROM)、レジスタ、ハードディスク、リムーバブルハードディスク、コンパクトディスク・リードオンリメモリ(CD-ROM)、またはこの技術分野で周知の任意の他の形式の記憶媒体に記憶され得る。例えば、記憶媒体がプロセッサに接続され、それによって、プロセッサが記憶媒体から情報を読み出し、または記憶媒体に情報を書き込むことができる。もちろん、記憶媒体はプロセッサの構成要素であり得る。プロセッサおよび記憶媒体は、ASICに配置され得る。加えて、ASICは、コンピューティングデバイス内に配置され得る。もちろん、プロセッサおよび記憶媒体は、その代わりに、個別の構成要素としてコンピューティングデバイス内に存在してもよい。
前述の説明は、単に、本発明の特定の実装であり、本発明の保護範囲を限定することは意図されない。本発明において開示された技術的範囲内で当業者が容易に考え付くいかなる変形または置換も、本発明の保護範囲内に入るものである。したがって、本発明の保護範囲は、請求項の保護範囲に従うものである。