(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-16
(45)【発行日】2022-09-28
(54)【発明の名称】車両挙動予測のための圧縮環境特徴の表示
(51)【国際特許分類】
B60W 30/10 20060101AFI20220920BHJP
B60W 40/02 20060101ALI20220920BHJP
G08G 1/16 20060101ALI20220920BHJP
【FI】
B60W30/10
B60W40/02
G08G1/16 A
【外国語出願】
(21)【出願番号】P 2019190973
(22)【出願日】2019-10-18
【審査請求日】2019-11-06
(32)【優先日】2018-11-30
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】ヂャン リャンリャン
(72)【発明者】
【氏名】サン ホンイー
(72)【発明者】
【氏名】リー ドン
(72)【発明者】
【氏名】フー ヂャンタオ
(72)【発明者】
【氏名】ミャオ ジンハオ
【審査官】西中村 健一
(56)【参考文献】
【文献】国際公開第2018/066712(WO,A1)
【文献】特開2018-055141(JP,A)
【文献】特開2018-084573(JP,A)
【文献】特開2004-287931(JP,A)
【文献】特開平05-066713(JP,A)
【文献】国際公開第2018/155265(WO,A1)
【文献】特開2018-135068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 10/00-10/30
B60W 30/00-60/00
G08G 1/00-99/00
G01C 21/00-21/36
G01C 23/00-25/00
(57)【特許請求の範囲】
【請求項1】
自動運転車両(ADV)の周囲環境を示すためのコンピュータによって実施される方法であって、
畳み込みニューラルネットワークを用いて高精細地図
の前記ADVの視野角範囲に対応する範囲内から複数の特徴を抽出する
ステップであって、前記視野角が前記ADVの進行方向に対応するステップと、
抽出された複数の特徴と前記周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、
直列接続された特徴を用いて、前記畳み込みニューラルネットワークにより前記対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備え、
前記ハンドクラフト特徴は、前記ADVの所定数の過去の走行サイクル内で取得された前記対象オブジェクトのプロパティを含む、自動運転車両(ADV)の周囲環境を示すためのコンピュータによって実施される方法。
【請求項2】
前記高精細地図から複数の特徴を抽出するステップは、
前記高精細地図から複数のレイヤを抽出することと、
前記複数のレイヤを赤色、緑色及び青色(RGB)表示に変換することと、
前記畳み込みニューラルネットワークの1つ又は複数の畳み込み層を用いて前記RGB表示から前記複数の特徴を抽出することと、を備える請求項1に記載の方法。
【請求項3】
前記対象オブジェクトのハンドクラフト特徴は、前記ADVの感知システムによって所定数の過去走行サイクルにおいて収集される請求項1に記載の方法。
【請求項4】
前記ADVの走行サイクル毎に、抽出、直列接続及び予測を繰り返す請求項1に記載の方法。
【請求項5】
前記高精細地図から抽出された前記複数のレイヤは、同じグリッドサイズセットを共有する請求項1に記載の方法。
【請求項6】
前記畳み込みニューラルネットワークのオンライン推論を促進するために、前記高精細地図の抽出された特徴を予め計算してキャッシュする請求項1に記載の方法。
【請求項7】
自動運転車両(ADV)の周囲環境を示すための指令が格納されている非一時的機械可読媒体であって、前記指令は、プロセッサによって実行されるときに、
畳み込みニューラルネットワークを用いて高精細地図
の前記ADVの視野角範囲に対応する範囲内から複数の特徴を抽出する
ステップであって、前記視野角が前記ADVの進行方向に対応するステップと、
抽出された複数の特徴と前記周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、
直列接続された特徴を用いて、前記畳み込みニューラルネットワークにより前記対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備える動作を前記プロセッサに実行させ、
前記ハンドクラフト特徴は、前記ADVの所定数の過去の走行サイクル内で取得された前記対象オブジェクトのプロパティを含む、非一時的機械可読媒体。
【請求項8】
前記高精細地図から複数の特徴を抽出するステップは、
前記高精細地図から複数のレイヤを抽出することと、
前記複数のレイヤを赤色、緑色及び青色(RGB)表示に変換することと、
前記畳み込みニューラルネットワークの1つ又は複数の畳み込み層を用いて前記RGB表示から前記複数の特徴を抽出することと、を備える請求項
7に記載の非一時的機械可読媒体。
【請求項9】
前記対象オブジェクトのハンドクラフト特徴は、前記ADVの感知システムによって所定数の過去走行サイクルにおいて収集される請求項
7に記載の非一時的機械可読媒体。
【請求項10】
前記ADVの走行サイクル毎に、抽出、直列接続及び予測を繰り返す請求項
7に記載の非一時的機械可読媒体。
【請求項11】
前記高精細地図から抽出された前記複数のレイヤは、同じグリッドサイズセットを共有する請求項
7に記載の非一時的機械可読媒体。
【請求項12】
前記畳み込みニューラルネットワークのオンライン推論を促進するために、前記高精細地図の抽出された特徴を予め計算してキャッシュする請求項
7に記載の非一時的機械可読媒体。
【請求項13】
プロセッサと、自動運転車両(ADV)の周囲環境を示すための命令を格納するために前記プロセッサに接続されるメモリとを備えるデータ処理システムであって、前記命令は、プロセッサによって実行されるときに、
畳み込みニューラルネットワークを用いて高精細地図
の前記ADVの視野角範囲に対応する範囲内から複数の特徴を抽出する
ステップであって、前記視野角が前記ADVの進行方向に対応するステップと、
抽出された複数の特徴と前記周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、
直列接続された特徴を用いて、前記畳み込みニューラルネットワークにより前記対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備える動作を前記プロセッサに実行させ、
前記ハンドクラフト特徴は、前記ADVの所定数の過去の走行サイクル内で取得された前記対象オブジェクトのプロパティを含む、データ処理システム。
【請求項14】
前記高精細地図から複数の特徴を抽出するステップは、
前記高精細地図から複数のレイヤを抽出することと、
前記複数のレイヤを赤色、緑色及び青色(RGB)表示に変換することと、
前記畳み込みニューラルネットワークの1つ又は複数の畳み込み層を用いて前記RGB表示から前記複数の特徴を抽出することと、を備える請求項
13に記載のシステム。
【請求項15】
前記対象オブジェクトのハンドクラフト特徴は、前記ADVの感知システムによって所定数の過去走行サイクルにおいて収集される請求項
13に記載のシステム。
【請求項16】
前記ADVの走行サイクル毎に、抽出、直列接続及び予測を繰り返す請求項
13に記載のシステム。
【請求項17】
前記高精細地図から抽出された前記複数のレイヤは、同じグリッドサイズセットを共有する請求項
13に記載のシステム。
【請求項18】
前記畳み込みニューラルネットワークのオンライン推論を促進するために、前記高精細地図の抽出された特徴を予め計算してキャッシュする請求項
13に記載のシステム。
【請求項19】
コンピュータプログラムであって、 前記コンピュータプログラムがプロセッサにより実行されると、請求項1~
6のいずれか一項に記載の方法を実現する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、主に自動運転車両の動作に関する。より具体的には、本開示の実施形態は、車両挙動予測に関する。
【背景技術】
【0002】
自動運転車両(ADV)は、乗員、特に運転手を運転に関連するいくつかの責務から解放することができる。自動運転モードで走行している場合に、車両が車載センサ及び高精細地図を用いて様々な場所にナビゲートされることができ、ヒューマンコンピュータインタラクションが最小限に抑えられた場合、又は乗員がいない状況下などで走行することを可能にする。
【0003】
車両(即ち、自律車両,ego vehicle)の安全で信頼性の高い自動運転には、周囲環境におけるオブジェクト(対象オブジェクト)の挙動を正確に予測することを必要とする。この予測は、周囲環境の正確で包括的な表示がなければ困難である。従来の方法は、高精細地図からの情報を考慮せずに、対象オブジェクトの特徴に焦点を当てることが一般的である。したがって、これらの方法は、自律車両の周囲環境を包括的に示すことができない。
【発明の概要】
【0004】
本開示の一態様は、自動運転車両(ADV)の周囲環境を示すためのコンピュータによって実施される方法であって、畳み込みニューラルネットワークを用いて高精度地図から複数の特徴を抽出するステップと、抽出された複数の特徴と周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、直列接続された特徴を用いて、畳み込みニューラルネットワークにより対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備える、コンピュータによって実施される方法を提供している。
【0005】
本開示の他の態様は、自動運転車両(ADV)の周囲環境を示すための指令が格納されている非一時的機械可読媒体であって、指令は、プロセッサによって実行されるときに、畳み込みニューラルネットワークを用いて高精度地図から複数の特徴を抽出するステップと、抽出された複数の特徴と周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、直列接続された特徴を用いて、畳み込みニューラルネットワークにより対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備える動作を、プロセッサに実行させる非一時的機械可読媒体を提供している。
【0006】
本開示の更なる態様は、プロセッサと、自動運転車両(ADV)の周囲環境を示すための命令を格納するためにプロセッサに接続されるメモリとを備えるデータ処理システムであって、命令は、プロセッサによって実行されるときに、畳み込みニューラルネットワークを用いて高精度地図から複数の特徴を抽出するステップと、抽出された複数の特徴と周囲環境における対象オブジェクトの複数のハンドクラフト特徴とを直列接続するステップと、直列接続された特徴を用いて、畳み込みニューラルネットワークにより対象オブジェクトの1つ又は複数の挙動を予測するステップと、を備える動作を、プロセッサに実行させるデータ処理システムを提供している。
【図面の簡単な説明】
【0007】
本開示の実施形態は、添付図面の各図において、限定的ではなく例示的な形態で示され、添付図面における同じ図面符号は、同様の要素を示す。
【0008】
【
図1】一実施形態に係るネットワーク化システムを示すブロック図である。
【0009】
【
図2】一実施形態に係る自動運転車両の一例を示すブロック図である。
【0010】
【
図3A】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【
図3B】一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。
【0011】
【
図4】実施形態に係るADVの運転環境を示すためのシステムを示す。
【0012】
【
図5】実施形態に係るADVの運転環境を示すためのシステムをさらに示す。
【0013】
【
図6】実施形態に係るADVの運転環境を示すための例示的なプロセスを示すフローチャートである。
【0014】
【
図7】本開示の一実施形態と一緒に使用可能なデータ処理システムの一例を示すブロック図である。
【発明を実施するための形態】
【0015】
本開示の様々な実施形態及び態様は、以下に論じられる詳細を参照して説明され、添付図面は様々な実施形態を示す。以下の説明及び図面は、本開示を説明するためのものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態を完全に把握するために、多数の特定の詳細を説明する。しかしながら、場合によっては、本開示の実施形態に対する簡潔な説明を提供するために、周知又は従来の詳細について説明していない。
【0016】
本明細書において「一実施形態」又は「実施形態」とは、該実施形態に関連して説明された特定の特徴、構造、又は特性が、本開示の少なくとも1つの実施形態に含まれてもよいことを意味する。本明細書の様々な箇所における「一実施形態において」という表現は、本明細書の全体において全てが同じ実施形態を指すとは限らない。
【0017】
一実施形態において、自律ADV(ego autonomous driving vehicle)の周囲環境を示すための方法が記述されている。該方法は、高精細(HD)地図からの第1の特徴セットと、周囲環境における対象オブジェクトからの第2の特徴セットとを用いて周囲環境を示す。第1の特徴セットは、畳み込みニューラルネットワーク(CNN)により高精細地図から抽出されたものであり、第2の特徴セットは、自律ADVの所定数の過去走行サイクルの間に対象オブジェクトからのハンドクラフト(handcrafted)特徴である。第1の特徴セットと第2の特徴セットとは直列接続されて、CNNの複数の全結合層に提供されて対象オブジェクトの挙動を予測する。
【0018】
一実施形態において、自律ADVの走行サイクル毎について、当該方法における動作を繰り返す。他の一実施形態において、CNNのオンライン推論を促進するために、ADVが走行している道路の特定の道路区間の高精細地図の特徴をADVで予め計算してキャッシュすることができる。
【0019】
一実施形態において、対象オブジェクトの挙動は、車線変更、左折、右折、最大曲がり速度、又は自律ADVが対象オブジェクトの挙動を予測する際に必要とされる可能性があるあらゆる他の運転関連パラメータを含むことができる。
【0020】
一実施形態において、HD地図から第1の特徴セットを抽出するために、HD地図からの情報は抽出されて、車線特徴レイヤ、交通標識レイヤ、静的オブジェクトレイヤ及び一般地図情報レイヤを含む複数のレイヤにグループ化されてもよい。全てのレイヤは、同じグリッドサイズを共有し、それぞれのレイヤは、HD地図における異なる情報から抽出される。ハンドクラフト特徴は、対象オブジェクトのGPS座標、対象オブジェクトの幅及び長さ、対象オブジェクトの車種(例えば、スポーツタイプ多目的車)、対象オブジェクトの速度及びADVによって対象オブジェクトの挙動を予測するために使用できる対象オブジェクトのあらゆる他のプロパティ又は特性を含むことができる。
【0021】
自動運転のために構築されたHD地図には、ADVの特定の道路区間の全ての情報が含まれる。本明細書に記載のシステム及び方法は、HD地図からの特徴を用いることによって、ADVの運転環境の総合的なプレゼンテーションを提供することができる。
【0022】
自動運転車両
図1は本開示の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。
図1を参照して、ネットワーク構成100は、ネットワーク102を介して1つ又は複数のサーバ103~104に通信可能に接続される自動運転車両101を備える。1台の自動運転車両のみが示されているが、複数の自動運転車両はネットワーク102を介して互いに接続され、及び/又はサーバ103~104に接続されてもよい。ネットワーク102は、有線又は無線のローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせなどの任意のタイプのネットワークであってもよい。サーバ103~104は、Webサーバ又はクラウドサーバ、アプリケーションサーバ、バックエンドサーバ又はそれらの組み合わせなどの任意のタイプのサーバ又はサーバクラスタであってもよい。サーバ103~104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図・ポイントオブインタレスト(MPOI)サーバ又は位置サーバなどであってもよい。
【0023】
自動運転車両とは、運転手からの入力がほとんど又は全くない状態でナビゲートされて環境を通過する自動運転モードにあるように構成されることが可能な車両を指す。このような自動運転車両は、車両が走行している環境に関する情報を検出するように構成される1つ又は複数のセンサを有するセンサシステムを備えてもよい。前記車両及びその関連コントローラが、検出された情報を用いてナビゲートして前記環境を通過する。自動運転車両101が手動モード、完全自動運転モード又は一部自動運転モードで走行することができる。
【0024】
一実施形態において、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインタフェースシステム113、インフォテインメントシステム(図示せず)及びセンサシステム115を含むが、これらに限定されない。自動運転車両101は、エンジン、ホイール、ステアリングホイール、変速機などの一般車両に含まれるいくつかの共通構成要素をさらに含んでもよく、前記構成要素は車両制御システム111及び/又は感知・計画システム110により、加速信号又はコマンド、減速信号又はコマンド、ステアリング信号又はコマンド、ブレーキ信号又はコマンドなどの複数の通信信号及び/又はコマンドを用いて制御することができる。
【0025】
構成要素110~115は、インターコネクト、バス、ネットワーク又はそれらの組み合わせを介して互いに通信可能に接続されてもよい。例えば、構成要素110~115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続されてもよい。CANバスは、ホストコンピュータなしアプリケーションにおいてマイクロコントローラ及び装置が相互に通信できる車両バス規格として設計される。これは、当初は自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境においても使用される。
【0026】
次に
図2を参照して、一実施形態において、センサシステム115は、1つ又は複数のカメラ211と、全地球測位システム(GPS)ユニット212と、慣性計測ユニット(IMU)213と、レーダユニット214と、光検出・測距(LIDAR)ユニット215とを含むが、それらに限定されない。GPSシステム212は、自動運転車両の位置に関する情報を提供するように動作されることが可能な送受信機を備えてもよい。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び向きの変化を感知することができる。レーダユニット214は、無線信号を用いて自動運転車両のローカル環境内のオブジェクトを感知するシステムを表してもよい。いくつかの実施形態において、レーダユニット214は、オブジェクトを感知することに加えて、オブジェクトの速度及び/又は進行方向を更に感知することができる。LIDARユニット215は、自動運転車両が位置している環境内のオブジェクトをレーザで感知することができる。他のシステム構成要素に加えて、LIDARユニット215は、1つ又は複数のレーザ光源、レーザスキャナ及び1つ又は複数の検出器をさらに備えてもよい。カメラ211は、自動運転車両の周囲の環境の画像を取り込むための1つ又は複数のデバイスを含んでもよい。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転プラットフォーム及び/又は傾斜プラットフォームに取り付けられることによって、機械的に移動可能なものであってもよい。
【0027】
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ及びオーディオセンサ(例えば、マイクロホン)などの他のセンサをさらに含んでもよい。オーディオセンサは、自動運転車両の周囲の環境から音を取り込むように構成されてもよい。ステアリングセンサは、ステアリングホイールの操舵角、車両の車輪の曲がり角、又はそれらの組み合わせを感知するように構成されてもよい。スロットルセンサ及びブレーキセンサは、車両のスロットル位置及びブレーキ位置をそれぞれ検出する。場合によっては、スロットルセンサ及びブレーキセンサは、集積型スロットル/ブレーキセンサとして統合されてもよい。
【0028】
一実施形態において、車両制御システム111は、ステアリングユニット201と、スロットルユニット202(加速ユニットとも呼ばれる)と、ブレーキユニット203とを含むが、それらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御して、さらにモータ又はエンジンの速度が車両の速度及び加速度を制御するために用いられる。ブレーキユニット203は、車両の車輪又はタイヤを減速させる摩擦を与えることによって車両を減速させる。なお、
図2に示される構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装されてもよい。
【0029】
図1に戻って、無線通信システム112は、自動運転車両101と、デバイス、センサ、他の車両などの外部システムとの間の通信を可能にする。例えば、無線通信システム112は、1つ又は複数のデバイスと直接無線通信するか、又は通信ネットワークを介して無線通信し、例えばネットワーク102を介してサーバ103~104と通信することができる。無線通信システム112は、WiFi(登録商標)などの任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を用いて、他の構成要素又はシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを用いて、デバイス(例えば、乗員の携帯装置、表示装置、車両101内のスピーカ)と直接通信することができる。ユーザインタフェースシステム113は、例えばキーボード、タッチスクリーン表示装置、マイクロホン及びスピーカなどを含む、車両101内に実装される周辺装置の一部であってもよい。
【0030】
自動運転車両101の機能の一部又は全部は、特に自動運転モードで動作された場合に、感知・計画システム110によって制御又は管理されてもよい。感知・計画システム110は、センサシステム115、制御システム111、無線通信システム112及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地から目的地までのルート又は経路を計画し、次いで計画及び制御情報に基づいて車両101を運転するために、必要なハードウェア(例えば、プロセッサ、メモリ、記憶デバイス)及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を備える。あるいは、感知・計画システム110は、車両制御システム111と一体化されてもよい。
【0031】
例えば、乗員としてのユーザは、ユーザインタフェースを介して旅程の出発位置及び目的地を指定することができる。感知・計画システム110は旅程関連データを取得する。例えば、感知・計画システム110は、サーバ103~104の一部であってもよいMPOIサーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービス及びある位置のPOIを提供する。あるいは、そのような位置及びMPOI情報は、感知・計画システム110の永続性記憶装置にローカルにキャッシュされてもよい。
【0032】
自動運転車両101がルートに沿って走行している間に、感知・計画システム110は、交通情報システム又はサーバ(TIS)からリアルタイム交通情報を取得することができる。なお、サーバ103~104は、第三者機関によって操作されてもよい。あるいは、サーバ103~104の機能は、感知・計画システム110と一体化されてもよい。リアルタイム交通情報、MPOI情報、位置情報及びセンサシステム115によって検出又は感知されたリアルタイムなローカル環境データ(例えば、障害物、オブジェクト、付近の車両)に基づいて、感知・計画システム110は、安全で効率的に指定された目的地に到達するように、最適なルートを計画し、かつ計画されたルートにより例えば制御システム111を介して車両101を運転することができる。
【0033】
サーバ103は、様々なクライアントにデータ解析サービスを実行するためのデータ解析システムであってもよい。一実施形態において、データ解析システム103は、データコレクタ121と、機械学習エンジン122とを備える。データコレクタ121は、自動運転車両又は人間運転手によって運転される一般車両などの様々な車両から運転統計データ123を収集する。運転統計データ123は、異なる時点で車両のセンサにより取得された、発行された運転コマンド(例えば、スロットルコマンド、ブレーキコマンド及びステアリングコマンド)、並びに車両の応答(例えば、速度、加速、減速、方向)を表す情報を含む。運転統計データ123は、例えば、始点位置及び目的地の位置を含むルート、MPOI、道路状況、気象状況などのような、異なる時点における運転環境を記述する情報をさらに含むことができる。
【0034】
機械学習エンジン122は、運転統計データ123に基づいて、様々な目的のためのルールセット、アルゴリズム及び/又は予測モデル124を生成又はトレーニングする。例えば、初期係数又はパラメータを有する1組の5次多項式関数を選択して定義することができる。なお、運転統計データ123から取得することができるセンサ仕様及び特定の車両設計などのハードウェア特性に基づいて、1組の制約を定義することができる。次に、アルゴリズム124を自動運転中にリアルタイムで使用するためにADVにアップロードすることができる。
【0035】
図3A及び
図3Bは、一実施形態に係る自動運転車両と一緒に用いられる感知・計画システムの一例を示すブロック図である。システム300は、感知・計画システム110、制御システム111及びセンサシステム115を含むが、これらに限定されなく、
図1の自動運転車両101の一部として実施されてもよい。
図3A~
図3Bを参照し、感知・計画システム110は、測位モジュール301と、感知モジュール302と、予測モジュール303と、決定モジュール304と、計画モジュール305と、制御モジュール306と、ルーティングモジュール307とを含むが、それらに限定されない。
【0036】
モジュール301~307の一部又はすべては、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実装されてもよい。例えば、これらのモジュールは、永続性記憶装置352にインストールされ、メモリ351にロードされ、1つ又は複数のプロセッサ(図示せず)によって実行されていてもよい。なお、これらのモジュールの一部又はすべては、
図2に示す車両制御システム111におけるモジュールの一部又はすべてに通信可能に接続されるか、又は一体に統合されていてもよい。モジュール301~307の一部は、集積モジュールとして一体化されていてもよい。
【0037】
測位モジュール301は、自動運転車両300の現在位置(例えば、GPSユニット212を利用し)を確定して、ユーザの旅程又はルートに関するあらゆるデータを管理する。測位モジュール301(地図・ルートモジュールとも呼ばれる)は、ユーザの旅程又はルートに関するあらゆるデータを管理する。ユーザは、例えばユーザインターフェースを介してログインして旅程の開始位置及び目的地を指定することができる。測位モジュール301は、旅程に関するデータを取得するために、自動運転車両300の地図・ルート情報(又はデータ)311などの他の構成要素と通信する。例えば、測位モジュール301は、位置サーバと、地図・ポイントオブインタレスト(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは、位置サービスを提供し、MPOIサーバは、地図サービスとある位置のPOIとを提供し、これらを地図・ルート情報(又はデータ)311の一部としてキャッシュされてもよい。自動運転車両300がルートに沿って走行している間に、測位モジュール301は、さらに交通情報システム又はサーバからリアルタイム交通情報を取得することができる。
【0038】
センサシステム115により提供されたセンサデータ、及び測位モジュール301により得られた測位情報に基づいて、感知モジュール302は周囲環境に対する感知を確定する。感知情報は、一般運転手が運転手によって運転されている車両の周囲で感知するものを表すことができる。感知とは、例えばオブジェクトの形態で、車線構成、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含むことができる。車線構成は、例えば、車線の形状(例えば、直線又はカーブ)、車線の幅、道路内の車線数、一方向車線又は二方向車線、合流車線又は分流車線、退出車線など、1つ又は複数の車線を記述する情報を含む。
【0039】
感知モジュール302は、1つ又は複数のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境におけるオブジェクト及び/又は特徴を認識するために、コンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含んでいてもよい。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態において、コンピュータビジョンシステムは、環境地図の描画、オブジェクトの追跡、及びオブジェクトの速度の推定などを行うことができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【0040】
オブジェクトのそれぞれについて、予測モジュール303は、その場合に該オブジェクトがどのように挙動するかを予測する。一組の地図・ルート情報311及び交通ルール312により、当該時点の運転環境を感知する感知データに基づいて、予測を実行する。例えば、オブジェクトが対向車両であって、現在の運転環境が交差点を含む場合に、予測モジュール303は、車両が前方に直進するか、それとも曲がるかを予測する。感知データが、交差点に信号機がないことを示す場合に、予測モジュール303は、交差点に進入する前に車両が完全に停止する必要があると予測することが可能である。感知データが、車両が現在左折のみの車線又は右折のみの車線にあることを示す場合に、予測モジュール303は、車両がそれぞれ左折又は右折する可能性が高いと予測可能である。
【0041】
それぞれのオブジェクトについて、決定モジュール304は、オブジェクトを如何に扱うかについて決定を行う。例えば、特定のオブジェクト(例えば、交差ルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、曲がり角)について、決定モジュール304は、前記オブジェクトとどのように出会うか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルールまたは運転ルール312などのルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続性記憶装置352に格納されていてもよい。
【0042】
ルーティングモジュール307は、始点から目的地までの1つ以上のルート又は経路を提供するように構成される。ルーティングモジュール307は、開始位置から目的地位置までの所与の旅程(例えば、ユーザから受信された)について、地図・ルート情報311を取得し、開始位置から目的地位置までのすべての可能なルート又は経路を確定する。ルーティングモジュール307は、確定された開始位置から目的地位置までのルートのそれぞれのための基準線を地形図の形態で生成することができる。基準線とは、他の車両、障害物又は交通状況などの他の物体によって何ら干渉されることなく、理想的なルート又は経路を指す。即ち、ADVは、道路上に他の車両、歩行者又は障害物がない場合に、基準線に精確的に又は密接的に従うべきである。次いで、地形図が決定モジュール304及び/又は計画モジュール305に提供される。測位モジュール301からの交通状況、感知モジュール302によって感知される運転環境、及び予測モジュール303によって予測される交通状況などの、他のモジュールによって提供される他のデータに基づいて、決定モジュール304及び/又は計画モジュール305は、全ての可能なルートを検査して最適なルートのうちの1つを選択及び修正する。当該時点における特定の運転環境に応じて、ADVを制御するための実際の経路又はルートは、ルーティングモジュール307によって提供された基準線に近いか、又は異なっていてもよい。
【0043】
感知されたオブジェクトのそれぞれについての決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供された基準線をベースとして、自動運転車両のための経路又はルート、並びに運転パラメータ(例えば、距離、速度、及び/又は曲がり角)を計画する。即ち、所与のオブジェクトについて、決定モジュール304は、該オブジェクトに対して何を行うかを決定し、計画モジュール305は、どのように行うかを確定する。例えば、所与のオブジェクトについて、決定モジュール304は前記オブジェクトを追い抜くか否かを決定することができ、計画モジュール305は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを確定することができる。計画及び制御データは、計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む。例えば、計画及び制御データは車両300が30マイル/時間(mph)の速度で10メートル走行し、次に25mphの速度で右車線に変更するように指示することができる。
【0044】
制御モジュール306は、計画及び制御データに基づいて、計画及び制御データにより定義されたルート又は経路に応じて適当なコマンド若しくは信号を車両制御システム111に送信することにより自動運転車両を制御及び走行させる。前記計画及び制御データは、ルート又は経路に沿って異なる時点で適切な車両構成又は運転パラメータ(例えば、スロットル、ブレーキ及びステアリングコマンド)を使用して車両をルート又は経路の第1点から第2点まで走行させるように、十分な情報を含む。
【0045】
一実施形態において、計画段階は、例えば、100ミリ秒(ms)の時間間隔など、複数の計画サイクル(走行サイクルとも呼ばれる)で実行される。計画サイクル又は走行サイクルのそれぞれについて、計画データ及び制御データに基づいて1つ又は複数の制御コマンドを発する。即ち、100msごとに、計画モジュール305は、次のルートセグメント又は経路区間(例えば、目標位置及びADVが目標位置に到着するのに必要な時間が含まれる)を計画する。あるいは、計画モジュール305は、具体的な速度、方向及び/又は操舵角などを更に指定することができる。一実施形態において、計画モジュール305は、次の所定期間(例えば、5秒)のルートセグメント又は経路区間を計画する。計画サイクルのそれぞれについて、計画モジュール305は、前のサイクルで計画された目標位置に基づいて、現在のサイクル(例えば、次の5秒)のための目標位置を計画する。次に、制御モジュール306は、現在のサイクルの計画データ及び制御データに基づいて、1つ又は複数の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を生成する。
【0046】
なお、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車両の運転経路を確定するために、ナビゲーションシステム又はナビゲーションシステムの機能を含んでいてもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った走行を達成するための一連の速度及び進行方向を確定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、感知された障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113により行われるユーザ入力に従って設定されてもよい。ナビゲーションシステムは、自動運転車両が走行している間に、運転経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための運転経路を確定するために、GPSシステム及び1つ又は複数の地図からのデータを統合することができる。
【0047】
なお、以上に例示及び記述された構成要素の一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。例えば、このような構成要素は、永続性記憶装置にインストールされるとともに格納されるソフトウェアとして実施されてもよく、前記ソフトウェアは、本開示にわたって記載されたプロセス又は動作を実施するように、プロセッサ(図示せず)を介してメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタル信号プロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実施されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバ及び/又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が1つ又は複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実施されてもよい。
【0048】
環境特徴表示
図4は、実施形態に係るADVの運転環境を示すためのシステムが示されている。
図4に示すように、予測モジュール303は、地理情報システム(GIS)ツールを用いて、地図・ルートデータ311のモジュールに格納された高精細(HD)地
図401から複数の地図レイヤ402を抽出することができる。一実施形態において、地図レイヤは、道路車線、交通標識、静的オブジェクト、制限速度、及び一般道路情報などの特定のカテゴリ又はタイプの現実世界の実体を表す点、線、又はエリア(多角形)の特徴のクラスタを含むGISデータベースであってもよい。
【0049】
一実施形態において、それぞれの走行サイクルについて、地図レイヤ402は、自律ADVの視野角内でHD地
図401から抽出されてもよい。視野角は、自律ADVの進行方向に対応する角度に基づき、視野角の深さが予測モジュール303によって予め決定されてもよい。走行中の自律ADVの進行方向は絶えず変化するため、自律ADVの走行周期毎に自律ADVの視野角が異なる可能性がある。したがって、予測モジュール303は、自律ADVの異なる走行サイクルについて地図レイヤ402を作成するために、HD地
図401の異なる部分から情報を抽出することができる。
【0050】
地図レイヤ402は直列接続され、赤色、緑色及び青色(RGB)表示403に変換されてもよく、RGB表示403は、それぞれの独立した画素を定義する赤色成分、緑色成分及び青色成分のm×n×3のデータ配列であってもよい。RGB表示403は、入力データとして畳み込みニューラルネットワーク404に提供されてもよい。畳み込み層40
6は、RGB表示403から複数の特徴407を抽出するために使用されてもよい。抽出された特徴のそれぞれは、RGB表示403のパッチ(patch)であってもよく、バイナリグリッド(例えば、0及び1のバイナリグリッド)によって表されてもよい。例えば、特徴は、HD地
図401における一時停止標識を示すバイナリグリッド又は特徴マップであってもよい。
【0051】
自律ADVの周囲環境における対象オブジェクトの複数のハンドクラフト特徴405は、抽出された特徴407と直列接続されてもよい。対象オブジェクトは、特定の走行サイクルの視野角内にあってもよい。ハンドクラフト特徴405は、畳み込みニューラルネットワーク404によりRGB画像401から自動的に学習する抽出された特徴407とは異なり、1つ又は複数のセンサによって取得されたデータに基づいて、様々なアルゴリズムを使用して導出される対象オブジェクトのプロパティである。一実施形態において、対象オブジェクトは、自律ADVの感知及び予測領域における自動車、自転車又は歩行者であってもよい。
【0052】
例えば、ハンドクラフト特徴405は、対象オブジェクトの位置、車種、幅、長さ及び速度、又は、自律ADVの所定数(n)の過去走行サイクルにおける対象オブジェクトの挙動予測に関する対象オブジェクトのあらゆる他のプロパティを含むことができる。ハンドクラフト特徴405は、自律ADVのn個の走行サイクルにおける対象オブジェクトの平均速度など、これらのプロパティに関する統計データをさらに含むことができる。それぞれのハンドクラフト特徴は、同様に、バイナリグリッドによって表されてもよい。
【0053】
一実施形態において、特徴とブロック情報とを関連付けるように、ハンドクラフト特徴405及び抽出された特徴407のそれぞれをラベル付けることができ、該ブロック情報は、特定の走行サイクルに対する自律ADVの感知及び予測領域におけるどのグリッドサブディビジョンを示す。
【0054】
対象オブジェクトの予測411を生成するために、直列接続された特徴を、畳み込みニューラルネットワーク404の1つ又は複数の全結合層409に提供することができる。対象オブジェクトの予測挙動のそれぞれは、多クラス予測であってもよい。1つの例示的な予測は、対象オブジェクトが、70%の左折確率、10%の右折確率、及び20%の直進確率を有することであってもよい。
【0055】
一実施形態では、自律ADVの1つ又は複数の走行サイクル、又は特定の道路区間における自律ADVの全行程に対して、対象オブジェクトの挙動を予測する際にハンドクラフト特徴が使用されない場合、畳み込みニューラルネットワーク404のオンライン推論を促進するために、抽出された特徴407を予めに計算してキャッシュすることができる。
【0056】
図5は、実施形態に係るADVの運転環境を示すためのシステムがさらに示されている。
図5を参照して、地図レイヤ502は、自律ADVにおける予測モジュールによって、自律ADVの視野角内で高精細地図から抽出されてもよい。角度は、自律ADVの進行方向であってもよい。地図レイヤー502はテンソルを用いて実現されてもよく、車線特徴レイヤ503、交通標識レイヤ505、静的オブジェクトレイヤ507及び一般道路情報レイヤ509を含むことができる。予測するために構成された自律ADVの予測対象である対象オブジェクトの挙動に応じて、他のレイヤもHD地図から抽出されてもよい。
【0057】
地図レイヤ502は、3次元アレイであり得る画像類似RGB表示510に変換されてもよい。自律ADVの予測モジュールには、RGB表示510から特徴を抽出するために、トレーニングされた畳み込みニューラルネットワーク511が設けられてもよい。抽出された特徴513のそれぞれは、RGB表示510のパッチを表すことができる。
【0058】
抽出された特徴513は、自律ADVの所定数の過去走行サイクルのハンドクラフト特徴515と直列接続されてもよい。ハンドクラフト特徴515は、対象オブジェクトの予測に関する対象オブジェクトの複数のプロパティを含むことができ、例えば、ハンドクラフト特徴は、緯度516、経度517、長さ518、幅519、及びタイプ520を含むことができる。自律ADVによって予測される必要がある対象オブジェクトの挙動のタイプに応じて、他のハンドクラフト特徴を使用することもできる。
【0059】
直列接続された特徴を、対象オブジェクトの挙動の予測525を生成することができる複数のFC層521、523に提供することができる。以上のプロセスを走行サイクル毎に繰り返すことができる。
【0060】
図6は、実施形態に係るADVの運転環境を示す例示的なプロセスを示すフローチャートである。
【0061】
プロセス600は、ソフトウェア、ハードウェア、又はそれらの組み合わせを含むことができる処理ロジックによって実行されてもよい。プロセス600は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、プロセッサ、処理デバイス、中央処理装置(CPU)、システムオンチップ(SoC)等)、ソフトウェア(例えば、処理デバイスで稼働/実行される命令)、ファームウェア(例えば、マイクロコード)、又はそれらの組み合わせを含むことができる処理ロジックによって実行されてもよい。いくつかの実施形態において、プロセス600は、
図3A及び
図3Bに示されるような1つ又は複数のモジュールによって実行されてもよい。
【0062】
図6を参照して、動作601において、畳み込みニューラルネットワークを用いて高精細地図から複数の特徴を抽出することができる。高精細地図から特徴を抽出することは、高精細地図から複数のレイヤを抽出することと、複数のレイヤを赤色、
緑色及び
青色(R
GB)表示に変換することと、畳み込みネットワークの1つ又は複数の畳み込み層を用いてRGB表示から複数の特徴を抽出することとを備える。地図レイヤは、車線特徴レイヤ、交通標識レイヤ、静的オブジェクトレイヤ、及び一般地図情報レイヤを含む。全てのレイヤは、同じグリッドサイズを共有し、それぞれのレイヤは、高精細地図における異なる情報から抽出される。
【0063】
動作603において、高精細地図からの抽出された特徴と周囲環境における対象オブジェクトからの複数のハンドクラフト特徴とを直列接続する。ハンドクラフト特徴は、対象オブジェクトのGPS座標、対象オブジェクトの幅、長さ、車種(例えば、スポーツタイプ多目的車)、車両の速度、又はADVによって対象オブジェクトの挙動を予測するために使用できる対象オブジェクトのあらゆる他のプロパティ又は特性を含むことができる。対象オブジェクトのハンドクラフト特徴は、ADVの感知システムによって所定数のADVの過去走行サイクルにおいて収集される。
【0064】
動作605において、畳み込みニューラルネットワークは、直列接続された特徴を用いて対象オブジェクトの1つ又は複数の挙動を予測する。対象オブジェクトへの予測を生成するために、直列接続された特徴を、畳み込みニューラルネットワークの1つ又は複数の全結合層に提供することができる。対象オブジェクトの挙動予測のそれぞれは、多クラス分類予測であってもよい。さらに、ADVは、これらの予測を用いて、次の1つ又は複数の走行サイクルにおける進路を計画することができる。
【0065】
なお、以上に例示及び記述された構成要素の一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実施されてもよい。例えば、このような構成要素は、永続性記憶装置にインストールされるとともに格納されるソフトウェアとして実施されてもよく、前記ソフトウェアは、本開示にわたって記載されたプロセス又は動作を実施するように、プロセッサ(図示せず)を介してメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタル信号プロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実施されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバ及び/又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が1つ又は複数の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実施されてもよい。
【0066】
図7は、本開示の一実施形態と一緒に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム1500は、前記プロセス又は方法のいずれかを実行する上述したデータ処理システムのいずれかを示してもよい。システム1500は、多数の異なる構成要素を備えてもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実施されてもよい。
【0067】
さらに注意すべきなのは、システム1500は、コンピュータシステムの多数の構成要素の高レベルビューを示すことを意図している。しかしながら、いくつかの実施形態においては、付加的構成要素が存在する場合もあることを理解すべきである。また、他の実施形態においては示される構成要素が異なる構成を有してもよい。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーミングデバイス、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はそれらの組み合わせを示してもよい。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか1つ又は複数の方法を実行するための、1つ(又は複数)の命令セットを単独で又は共同で実行する機械又はシステムの任意の組み合わせも含まれることを理解されたい。
【0068】
一実施形態において、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、デバイス1505~1508とを備える。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを示してもよい。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、1つ又は複数の汎用プロセッサを示してもよい。より具体的には、プロセッサ1501は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又は他の命令セットを実装するプロセッサ、又は命令セットの組み合わせを実装するプロセッサであってもよい。プロセッサ1501は、さらに、特定用途向け集積回路(ASIC)、セルラ又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号プロセッサ、コプロセッサ、組込みプロセッサのような1つ又は複数の専用プロセッサ、又は命令処理可能な任意の他のタイプのロジックであってもよい。
【0069】
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能していてもよい。このようなプロセッサは、システムオンチップ(SoC)として実装されてもよい。プロセッサ1501は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム1500は、選択可能なグラフィックサブシステム1504と通信するグラフィックインターフェースをさらに含んでもよく、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ及び/又は表示装置をさらに備えてもよい。
【0070】
プロセッサ1501は、メモリ1503と通信してもよく、メモリ1503は、一実施形態において、所定量のシステムメモリを提供するための複数のメモリデバイスによって実装されてもよい。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又は他のタイプの記憶デバイスのような、1つ又は複数の揮発性記憶(又はメモリ)デバイスを備えてもよい。メモリ1503は、プロセッサ1501又は他の任意のデバイスにより実行される命令シーケンスを含む情報を格納することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、基本入出力システム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされてもよく、プロセッサ1501により実行されてもよい。オペレーティングシステムは、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社からのWindows(登録商標)オペレーティングシステム、アップル社からのMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社からのAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、又は他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【0071】
システム1500は、更に、ネットワークインターフェースデバイス1505、選択可能な入力デバイス1506、及び他の選択可能なI/Oデバイス1507を含むデバイス1505~1508のようなI/Oデバイスを備えてもよい。ネットワークインターフェースデバイス1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を備えてもよい。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)、又は他の無線周波数(RF)送受信機、又はそれらの組み合わせであってもよい。NICは、イーサネット(登録商標)カードであってもよい。
【0072】
入力デバイス1506は、マウス、タッチパッド、タッチスクリーン(表示装置1504と一体に統合されてもよい)、ポインターデバイス(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を備えてもよい。例えば、入力デバイス1506は、タッチスクリーンに接続されるタッチスクリーンコントローラを含んでもよい。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない)のいずれか、並びに他の近接センサアレイ、又は、タッチスクリーンと接触する1つ又は複数の点を確定するための他の素子を用いて、それらの接触、移動又は中断を検出することができる。
【0073】
I/Oデバイス1507は音声装置を備えてもよい。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロホンを含んでもよい。その他のI/Oデバイス1507は、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI-PCIブリッジ)、センサ(例えば、加速度計、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなどのモーションセンサ)、又はそれらの組み合わせをさらに備えてもよい。デバイス1507は、結像処理サブシステム(例えば、カメラ)をさらに備えてもよく、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを備えてもよい。いくつかのセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されてもよく、キーボード又はサーマルセンサのような他のデバイスはシステム1500の具体的な構成又は設計により、組込みコントローラ(図示せず)により制御されてもよい。
【0074】
データ、アプリケーション、1つ又は複数のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ1501には、大容量記憶デバイス(図示せず)が接続されてもよい。様々な実施形態において、薄型化と軽量化のシステム設計を可能にしながら、システムの応答能力を向上させるために、このような大容量記憶デバイスは、ソリッドステートデバイス(SSD)によって実現されてもよい。しかしながら、他の実施形態において、大容量記憶デバイスは、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶デバイスをSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されてもよい。このようなフラッシュデバイスは、前記システムのBIOS及び他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【0075】
記憶デバイス1508は、本明細書に記載の方法又は機能のいずれか1つ又は複数を具現化する1つ又は複数の命令セット又はソフトウェア(例えば、モジュール、ユニット及び/又はロジック1528)が格納されているコンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読媒体とも呼ばれる)を備えてもよい。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306などの前記構成要素のいずれかを示してもよい。処理モジュール/ユニット/ロジック1528は、更に、データ処理システム1500、メモリ1503及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、更に、ネットワークによってネットワークインターフェースデバイス1505を介して送受信されてもよい。
【0076】
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に格納するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記1つ又は複数の命令セットが格納される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを格納又は符号化可能な任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本開示のいずれか1つ又は複数の方法を前記機械に実行させるためのものである。したがって、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又は他の任意の非一時的機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【0077】
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及び他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似のデバイス)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスにおけるファームウェア又は機能性回路として実現されていてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェアデバイスとソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【0078】
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャまたは方式を表すことを意図するものではなく、そのような詳細は、本開示の実施形態とは密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ及び/又は他のデータ処理システムも、本開示の実施形態と共に使用可能であることを理解されたい。
【0079】
上述した詳細な説明の一部は、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現により示された。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要とされるものである。
【0080】
しかしながら、念頭に置くべきなのは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、且つただこれらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきなのは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子計算装置の動作及び処理を指し、前記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのような他の情報記憶装置、伝送又は表示装置において同様に物理量として示された他のデータに変換する。
【0081】
本開示の実施形態は、さらに本明細書における動作を実行するための装置に関する。このようなコンピュータプログラムは、非一時的コンピュータ可読媒体に格納される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形態で情報を格納するための任意の機構を備える。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリデバイス)を備える。
【0082】
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的コンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されてもよい。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、いくつかの動作は、順番ではなく並行して実行されてもよい。
【0083】
本開示の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきなのは、本明細書に記載の本開示の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【0084】
本明細書において、本開示の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本開示のより広い趣旨及び範囲を逸脱しない限り、本開示に対して様々な変更を行うことができる。したがって、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。