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

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

▶ バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッドの特許一覧 ▶ バイドゥ ユーエスエイ エルエルシーの特許一覧

特許7196205部分的ポイントクラウドベースの歩行者速度推定方法
<>
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図1
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図2
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図3A
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図3B
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図4
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図5
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図6A
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図6B
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図6C
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図7
  • 特許-部分的ポイントクラウドベースの歩行者速度推定方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-16
(45)【発行日】2022-12-26
(54)【発明の名称】部分的ポイントクラウドベースの歩行者速度推定方法
(51)【国際特許分類】
   G01S 17/66 20060101AFI20221219BHJP
   G01S 17/89 20200101ALI20221219BHJP
   G01S 17/931 20200101ALI20221219BHJP
   G08G 1/16 20060101ALI20221219BHJP
   G05D 1/02 20200101ALI20221219BHJP
   B60W 40/02 20060101ALI20221219BHJP
   B60W 30/08 20120101ALI20221219BHJP
【FI】
G01S17/66
G01S17/89
G01S17/931
G08G1/16 C
G05D1/02 H
B60W40/02
B60W30/08
【請求項の数】 21
(21)【出願番号】P 2020572410
(86)(22)【出願日】2020-05-15
(65)【公表番号】
(43)【公表日】2022-08-09
(86)【国際出願番号】 CN2020090419
(87)【国際公開番号】W WO2021226980
(87)【国際公開日】2021-11-18
【審査請求日】2020-12-24
(73)【特許権者】
【識別番号】517323290
【氏名又は名称】バイドゥドットコム タイムズ テクノロジー (ベイジン) カンパニー リミテッド
【氏名又は名称原語表記】Baidu.com Times Technology (Beijing) Co., Ltd.
【住所又は居所原語表記】2/F A2 Zhongguancun Software Park 17th building, No.8, Dongbeiwang West Road, Haidian District, Beijing 100080, China
(73)【特許権者】
【識別番号】516357421
【氏名又は名称】バイドゥ ユーエスエイ エルエルシー
【氏名又は名称原語表記】Baidu USA LLC
(74)【代理人】
【識別番号】100118913
【弁理士】
【氏名又は名称】上田 邦生
(74)【代理人】
【識別番号】100142789
【弁理士】
【氏名又は名称】柳 順一郎
(74)【代理人】
【識別番号】100163050
【弁理士】
【氏名又は名称】小栗 眞由美
(74)【代理人】
【識別番号】100201466
【弁理士】
【氏名又は名称】竹内 邦彦
(72)【発明者】
【氏名】リュウ, シャン
(72)【発明者】
【氏名】ガオ, ビン
(72)【発明者】
【氏名】ズー, ファン
【審査官】藤田 都志行
(56)【参考文献】
【文献】米国特許出願公開第2019/0310651(US,A1)
【文献】米国特許出願公開第2019/0315351(US,A1)
【文献】米国特許出願公開第2019/0377349(US,A1)
【文献】特開2020-061125(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01S 7/48- 7/51
G01S 17/00-17/95
G08G 1/16
G05D 1/02
B60W 40/02
B60W 30/08
G06T 7/521
G06V 10/44
(57)【特許請求の範囲】
【請求項1】
自律運転車両を動作させるためのコンピュータ実装方法であって、
自律運転車両(ADV)にインストールされたLIDARデバイスによって生成されたポイントクラウドの複数のフレームにおいて歩行者を検出するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つにわたる前記最小境界ボックスに少なくとも部分的に基づいて、前記歩行者の移動速度を推定するステップと、
少なくとも前記歩行者の前記移動速度に基づいて、前記ADVに関する軌跡を計画するステップと、
前記計画された軌跡に基づいて前記ADVを運転するために制御信号を生成するステップと、
を含む、方法。
【請求項2】
前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む前記最小境界ボックスを生成するステップが、
前記歩行者に対応する前記ポイントをフィルタリングして、前記歩行者の脚および足に対応する下部のポイントを除去し、上部のポイントのみを維持するステップと、
前記歩行者に対応する前記ポイントにおける残りの前記上部のポイントを水平面に投影するステップと、
前記水平面に投影された前記上部のポイントに関連した主軸を判定するステップと、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記水平面上の前記投影された上部のポイントを前記主軸に投影するステップと、
2度投影された前記上部のポイントをフィルタリングして前記歩行者の腕および手に対応する、前記主軸の両方向における最も外れたポイントを除去するステップと、
をさらに含む、請求項2に記載の方法。
【請求項4】
残りの前記2度投影された上部のポイントに対応する、前記歩行者に対応する前記ポイントにおけるポイントのサブセットを判定するステップと、
前記ポイントのサブセットを囲む最小境界ボックスを生成するステップであって、前記ポイントのサブセットを囲む前記最小境界ボックスが、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスである、ステップと、
をさらに含む、請求項3に記載の方法。
【請求項5】
2度投影された前記上部のポイントをフィルタリングして前記主軸の両方向における最も外れたポイントを除去するステップが、前記2度投影された上部のポイントのうち重心までの距離が第2の閾値を超えるポイントを除去するステップを含む、請求項3に記載の方法。
【請求項6】
前記歩行者に対応する前記ポイントをフィルタリングして、下部のポイントを除去し、上部のポイントのみを維持するステップが、前記歩行者に対応する前記ポイントにおける最上部のポイントに対する高低差が第1の閾値を超えるポイントを除去するステップを含む、請求項2に記載の方法。
【請求項7】
前記第1の閾値が約0.6メートル(m)である、請求項6に記載の方法。
【請求項8】
前記投影された上部のポイントに関連する主軸を判定するステップが、分散行列に対して特異値分解(SVD)または固有値分解を実行するステップを含む、請求項2に記載の方法。
【請求項9】
プロセッサによって実行されたとき、該プロセッサに動作を実行させる命令を記憶した非一時的機械可読媒体であって、前記動作が、
自律運転車両(ADV)にインストールされたLIDARデバイスによって生成されたポイントクラウドの複数のフレームにおいて歩行者を検出するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つにわたる前記最小境界ボックスに少なくとも部分的に基づいて、前記歩行者の移動速度を推定するステップと、
少なくとも前記歩行者の前記移動速度に基づいて、前記ADVに関する軌跡を計画するステップと、
前記計画された軌跡に基づいて前記ADVを運転するために制御信号を生成するステップと、
を含む、非一時的機械可読媒体。
【請求項10】
前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む前記最小境界ボックスを生成するステップが、
前記歩行者に対応する前記ポイントをフィルタリングして、前記歩行者の脚および足に対応する下部のポイントを除去し、上部のポイントのみを維持するステップと、
前記歩行者に対応する前記ポイントにおける残りの前記上部のポイントを水平面に投影するステップと、
前記水平面に投影された前記上部のポイントに関連した主軸を判定するステップと、
をさらに含む、請求項9に記載の機械可読媒体。
【請求項11】
前記動作が、
前記水平面上の前記投影された上部のポイントを前記主軸に投影するステップと、
2度投影された前記上部のポイントをフィルタリングして前記歩行者の腕および手に対応する、前記主軸の両方向における最も外れたポイントを除去するステップと、
をさらに含む、請求項10に記載の機械可読媒体。
【請求項12】
前記動作が、
残りの前記2度投影された上部のポイントに対応する、前記歩行者に対応する前記ポイントにおけるポイントのサブセットを判定するステップと、
前記ポイントのサブセットを囲む最小境界ボックスを生成するステップであって、前記ポイントのサブセットを囲む前記最小境界ボックスが、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスである、ステップと、
をさらに含む、請求項11に記載の機械可読媒体。
【請求項13】
2度投影された前記上部のポイントをフィルタリングして前記主軸の両方向における最も外れたポイントを除去するステップが、前記2度投影された上部のポイントのうち重心までの距離が第2の閾値を超えるポイントを除去するステップを含む、請求項11に記載の機械可読媒体。
【請求項14】
前記歩行者に対応する前記ポイントをフィルタリングして、下部のポイントを除去し、上部のポイントのみを維持するステップが、前記歩行者に対応する前記ポイントにおける最上部のポイントに対する高低差が第1の閾値を超えるポイントを除去するステップを含む、請求項10に記載の機械可読媒体。
【請求項15】
前記第1の閾値が約0.6メートル(m)である、請求項14に記載の機械可読媒体。
【請求項16】
前記投影された上部のポイントに関連する主軸を判定するステップが、分散行列に対して特異値分解(SVD)または固有値分解を実行するステップを含む、請求項10に記載の機械可読媒体。
【請求項17】
プロセッサと、
該プロセッサによって実行されたとき該プロセッサに動作を実行させる命令を記憶するために該プロセッサに接続されたメモリと、を備えるデータ処理システムであって、前記動作が、
自律運転車両(ADV)にインストールされたLIDARデバイスによって生成されたポイントクラウドの複数のフレームにおいて歩行者を検出するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するステップと、
前記ポイントクラウドの複数のフレームのうち少なくとも2つにわたる前記最小境界ボックスに少なくとも部分的に基づいて、前記歩行者の移動速度を推定するステップと、
少なくとも前記歩行者の前記移動速度に基づいて、前記ADVに関する軌跡を計画するステップと、
前記計画された軌跡に基づいて前記ADVを運転するために制御信号を生成するステップと、
を含む、データ処理システム。
【請求項18】
前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む前記最小境界ボックスを生成するステップが、
前記歩行者に対応する前記ポイントをフィルタリングして、前記歩行者の脚および足に対応する下部のポイントを除去し、上部のポイントのみを維持するステップと、
前記歩行者に対応する前記ポイントにおける残りの前記上部のポイントを水平面に投影するステップと、
前記水平面に投影された前記上部のポイントに関連した主軸を判定するステップと、
をさらに含む、請求項17に記載のシステム。
【請求項19】
前記動作が、
前記水平面上の前記投影された上部のポイントを前記主軸に投影するステップと、
2度投影された前記上部のポイントをフィルタリングして前記歩行者の腕および手に対応する、前記主軸の両方向における最も外れたポイントを除去するステップと、
をさらに含む、請求項18に記載のシステム。
【請求項20】
前記動作が、
残りの前記2度投影された上部のポイントに対応する、前記歩行者に対応する前記ポイントのサブセットを判定するステップと、
前記ポイントのサブセットを囲む最小境界ボックスを生成するステップであって、前記ポイントのサブセットを囲む前記最小境界ボックスが、前記歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスである、ステップと、
をさらに含む、請求項19に記載のシステム。
【請求項21】
コンピュータ上で動作しているときに、請求項1から8のいずれかに記載の方法を前記コンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施形態は、一般に、自律運転車両を動作させることに関する。より詳細には、本開示の実施形態は、自律運転車両の動作における物体の速度推定に関する。
【背景技術】
【0002】
自律モード(例えば、無人)で動作している車両は、乗車者、特にドライバーを運転に関連した責任から解放することができる。自律モードで動作している場合、車両は、車載センサを用いて様々な場所へとナビゲートでき、最低限の人とのやりとりで、あるいは、場合によっては搭乗者なしに、車両が移動できるようになる。
【0003】
LIDAR(光検出と測距、すなわちlightとradarの混成語)技術は、軍事、地理学、海洋学および最近十年間の自律運転車両において広く利用されている。LIDARデバイスは、物体までの距離を推定しながら、シーンの端から端まで走査して、物体の反射面を表すポイントクラウドを組み立てることができる。ポイントクラウドにおける個々のポイントは、レーザーパルスを送信し、物体から反射された戻りパルスを(存在する場合には)検出して、送信パルスと反射パルスの受信の間の遅延時間に応じて物体までの距離を判定することによって判定され得る。レーザー(複数可)はシーンにわたって迅速かつ反復的に走査され、シーンにおける反射性の物体までの距離に関する連続したリアルタイム情報を提供することができる。1つのレーザービームのそれぞれの全回転が、各ポイントの1つのリングを生成する。
【0004】
LIDARポイントベースの歩行者速度推定は当技術において既知である。従来、歩行者に対応するLIDARポイントに関する最小境界ボックスが、ポイントクラウドの少なくとも2つのフレーム(例えば現在のフレームおよび直前のフレーム)にわたって構築される。歩行者の移動速度は、フレームにわたる最小境界ボックス間の差に基づいて推定され得る。しかしながら、歩行者の移動中の姿勢は常に変化するので、速度推定のための最小境界ボックスが理想的でない場合がある。そのため、最小境界ボックスベースの速度推定には誤差が生じる可能性もある。
【図面の簡単な説明】
【0005】
本開示の実施形態は、同様の参照符号が同様の要素を示す、添付図面の図において例示のために図示されており、限定されるものではない。
図1】一実施形態に係るネットワーク化システムを示すブロック図である。
図2】一実施形態に係る自律運転車両の例を示すブロック図である。
図3A】一実施形態に係る、自律運転車両とともに使用される自律運転システムの例を示すブロック図である。
図3B】一実施形態に係る、自律運転車両とともに使用される自律運転システムの例を示すブロック図である。
図4】一実施形態に係る、自律運転車両(ADV)において、検出された歩行者の移動速度の推定で利用される様々なモジュールを示すブロック図である。
図5】一実施形態に係る、ポイントクラウドの1つのフレームの範囲内の、歩行者に対応するLIDARポイントを示す例示の図である。
図6A】一実施形態に係る、ある角度からの歩行者のビューおよびこの歩行者に対応するLIDARポイントを示す図である。
図6B】一実施形態に係る、別の角度からの歩行者のビューおよびこの歩行者に対応するLIDARポイントを示す図である。
図6C】一実施形態に係る、別の角度からの歩行者のビューおよびこの歩行者に対応するLIDARポイントを示す図である。
図7】一実施形態に係る、自律運転車両(ADV)において、検出された歩行者の移動速度を推定するための例示の方法を示す流れ図である。
図8】一実施形態に係る、歩行者に対応する、歩行者の手足に対応するポイントを除くポイントを囲む最小境界ボックスを生成するための例示の方法を示す流れ図である。
【発明を実施するための形態】
【0006】
本開示の様々な実施形態および態様が、以下で論じられる詳細を参照しながら説明され、添付の図面は様々な実施形態を示す。以下の説明および図面は、本開示を例示するものであり、本開示を限定するものとして解釈されるべきではない。本開示の様々な実施形態の完全な理解を提供するために、多数の具体的な詳細について説明する。しかしながら、いくつかの事例では、本開示の実施形態の簡潔な議論を提供するために、周知のまたは従来の詳細については説明しない。
【0007】
本明細書における「一実施形態」または「実施形態」に対する言及は、実施形態に関して説明される特定の特徴、構造または特性が本開示の少なくとも1つの実施形態に含まれ得ることを意味する。本明細書中の様々な個所における「一実施形態では」というフレーズの出現は、必ずしも全てが同じ実施形態を指すとは限らない。
【0008】
自律運転車両(ADV)における、検出された歩行者の移動速度を推定するための方法、装置およびシステムが開示されている。いくつかの実施形態によれば、歩行者は、自律運転車両(ADV)にインストールされたLIDARデバイスによって生成されたポイントクラウドの複数のフレームにおいて検出される。ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスが生成される。歩行者の移動速度は、ポイントクラウドの複数のフレームのうち少なくとも2つにわたる最小境界ボックスに少なくとも部分的に基づいて推定される。ADVに関する軌跡は、少なくとも歩行者の移動速度に基づいて計画される。その後、計画された軌跡に基づいてADVを運転するために制御信号が生成される。
【0009】
一実施形態では、ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するために、歩行者に対応するポイントは、下部のポイントを除去して上部のポイントのみを維持するようにフィルタリングされる。下部のポイントは歩行者の脚および足に対応することを理解すべきである。歩行者に対応するポイントのうち、残りの上部のポイントが水平面に投影される。
【0010】
水平面に投影された上部のポイントに関連した主軸が判定される。水平面に投影された上部のポイントが、主軸にさらに投影される。2度投影された上部のポイントは、主軸の両方向における最も外れたポイントを除去するためにフィルタリングされる。最も外れたポイントは歩行者の腕および手に対応することを理解すべきである。歩行者に対応するポイントのうち、残りの2度投影された上部のポイントに対応するポイントのサブセットが判定される。その後、ポイントのサブセットを囲む最小境界ボックスが生成される。ポイントのサブセットを囲む最小境界ボックスは、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスであることを理解すべきである。
【0011】
一実施形態では、歩行者に対応するポイントをフィルタリングして、下部のポイントを除去し、上部のポイントのみを維持するステップは、歩行者に対応するポイントにおける最上部のポイントに対する高低差が第1の閾値を超えるポイントを除去するステップを含む。一実施形態では、第1の閾値は約0.6メートル(m)である。
【0012】
一実施形態では、投影された上部のポイントに関連する主軸を判定するステップは、分散行列に対して特異値分解(SVD)または固有値分解を実行するステップを含む。
【0013】
一実施形態では、主軸の両方向における最も外れたポイントを除去するために、2度投影された上部のポイントをフィルタリングするステップは、2度投影された上部のポイントのうち重心までの距離が第2の閾値を超えるポイントを除去するステップを含む。
【0014】
図1は、本開示の一実施形態に係る自律運転ネットワーク構成を示すブロック図である。図1を参照すると、ネットワーク構成100は、ネットワーク102を介して1または複数のサーバ103~104に通信可能に接続され得る自律運転車両(ADV)101を備えている。示されている1つのADVが示されているが、複数のADVが、ネットワーク102を介して互いに、および/または、サーバ103~104に接続されていてもよい。ネットワーク102は、ローカルエリアネットワーク(LAN)、インターネットなどのワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク、またはこれらの組合せなど、有線または無線の任意のタイプのネットワークであり得る。サーバ103~104は、ウェブまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバ、またはそれらの組合せなど、任意の種類のサーバまたはサーバのクラスタであり得る。サーバ103~104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、MPOI(map and point of interest)サーバまたはロケーションサーバなどであり得る。
【0015】
ADVとは、ドライバーからの入力が殆どまたは全くない環境下で、車両がナビゲートする自律モードにあるように構成され得る車両をいう。そのようなADVは、車両が動作する環境についての情報を検出するように構成された1または複数のセンサを有するセンサシステムを備えることができる。車両およびこれに関連するコントローラは、検出された情報を使用して、この環境下でナビゲートする。ADV101は、手動モード、完全自律モードまたは部分自律モードで動作することができる。
【0016】
一実施形態では、ADV101は、これに限定されないが、自律運転システム110(ADS)と、車両制御システム111と、ワイヤレス通信システム112と、ユーザインターフェースシステム113と、センサシステム115とを備えている。ADV101は、例えば、加速信号またはコマンド、減速信号またはコマンド、操舵信号またはコマンド、制動信号またはコマンドなど、様々な通信信号および/またはコマンドを使用して、車両制御システム111および/またはADS110によって制御され得る、エンジン、ホイール、ステアリングホイール、トランスミッションなど、通常の車両中に備えられるいくつかの一般的な構成要素をさらに備えていてもよい。
【0017】
構成要素110~115は、相互接続、バス、ネットワークまたはこれらの組合せを介して互いに通信可能に接続され得る。例えば、構成要素110~115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続され得る。CANバスは、マイクロコントローラおよびデバイスが、ホストコンピュータなしにアプリケーション内で互いに通信することを可能にするように設計されたビークルバス規格である。CANバスは、元来は、自動車内の多重化電気配線のために設計されたメッセージベースのプロトコルであるが、多くの他の状況においても使用される。
【0018】
次に図2を参照すると、一実施形態では、センサシステム115は、これに限定されないが、1または複数のカメラ211と、全地球測位システム(GPS)ユニット212と、慣性測定ユニット(IMU)213と、レーダーユニット214と、光検出および測距(LIDAR)ユニット215とを備えている。GPSシステム212は、ADVの位置に関する情報を与えるように動作可能なトランシーバを備えていてもよい。IMUユニット213は、慣性加速度に基づいてADVの位置姿勢の変化を感知し得る。レーダーユニット214は、無線信号を利用して、ADVの局所環境内の物体を感知するシステムであってもよい。いくつかの実施形態では、物体を感知することに加えて、レーダーユニット214は、さらに、物体の速度および/または進路を感知し得る。LIDARユニット215は、ADVがレーザーを使用して位置される環境中の物体を感知し得る。LIDARユニット215は、いくつかあるシステム構成要素の中でも特に、1または複数のレーザー源、レーザースキャナおよび1または複数の検出器を備えることができる。カメラ211は、ADVを囲む環境の画像を取得する1または複数のデバイスを備えていてもよい。カメラ211はスチールカメラおよび/またはビデオカメラであってもよい。カメラは、例えば、回転するおよび/または傾斜するプラットフォーム上にカメラを取り付けることによって、機械的に移動可能であってもよい。
【0019】
センサシステム115は、ソナーセンサ、赤外線センサ、操舵センサ、スロットルセンサ、制動センサおよびオーディオセンサ(例えば、マイクロフォン)など、他のセンサをさらに備えてもよい。オーディオセンサは、ADVを囲む環境から音を取得するように構成されていてもよい。操舵センサは、車両のステアリングホイール、ホイールの操舵角またはこれらの組合せを感知するように構成されていてもよい。スロットルセンサおよび制動センサは、それぞれ、車両のスロットル位置および制動位置を感知する。いくつかの状況では、スロットルセンサおよび制動センサは一体型スロットル/制動センサとして一体化され得る。
【0020】
一実施形態では、車両制御システム111は、これに限定されないが、ステアリングユニット201、(加速ユニットとも呼ばれる)スロットルユニット202および制動ユニット203を備えている。ステアリングユニット201は、車両の方向または進路を調整するためのものである。スロットルユニット202は、車両の速度および加速度を順に制御するモーターまたはエンジンの速度を制御するためのものである。制動ユニット203は、摩擦を与えることによって車両を減速させ、車両のホイールまたはタイヤを遅くするためのものである。なお、図2に示されている構成要素は、ハードウェア、ソフトウェアまたはこれらの組合せで実装されてもよい。
【0021】
再び図1を参照すると、ワイヤレス通信システム112は、ADV101と、デバイス、センサ、他の車両など、外部システムとの間の通信を可能にするためのものである。例えば、ワイヤレス通信システム112は、1または複数のデバイスと直接、またはネットワーク102上のサーバ103~104など、通信ネットワークを介して、ワイヤレスで通信することができる。ワイヤレス通信システム112は、任意のセルラー通信ネットワーク、または、例えば、WiFiを使用するワイヤレスローカルエリアネットワーク(WLAN)を使用して、別の構成要素またはシステムと通信することができる。ワイヤレス通信システム112は、例えば、赤外リンク、Bluetoothなどを使用して、デバイス(例えば、車両101内の搭乗者のモバイルデバイス、ディスプレイデバイス、スピーカ)と直接通信することができる。ユーザインターフェースシステム113は、例えば、キーボード、タッチスクリーンディスプレイデバイス、マイクロフォンおよびスピーカなどを含む、車両101内に実装された周辺デバイスの一部であり得る。
【0022】
ADV101の機能のいくつかまたは全ては、特に、自律運転モードで動作しているときに、ADS110によって制御または管理され得る。ADS110は、センサシステム115、制御システム111、ワイヤレス通信システム112および/またはユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、出発地点から目的地点までのルートまたは経路を計画し、次いで、プランニングおよび制御情報に基づいて車両101を走らせるために必要なハードウェア(例えば、プロセッサ、メモリ、ストレージ)およびソフトウェア(例えば、オペレーティングシステム、プランニングおよびルーティングプログラム)を備えている。あるいは、ADS110が車両制御システム111と一体化されていてもよい。
【0023】
例えば、搭乗者としてのユーザは、例えば、ユーザインターフェースを介して、旅程の出発地および目的地を指定し得る。ADS110は旅程関連データを取得する。例えば、ADS110は、サーバ103~104の一部であり得るMPOIサーバから、ロケーションおよびルートデータを取得し得る。ロケーションサーバはロケーションサービスを提供し、MPOIサーバはマップサービスおよびいくつかのロケーションのPOIを提供する。あるいは、そのようなロケーションおよびMPOI情報は、ADS110の永続性ストレージデバイス内にローカルでキャッシュされてもよい。
【0024】
ADV101がルートに沿って移動している間、ADS110はまた、交通情報システムまたはサーバ(TIS)からリアルタイム交通情報を取得し得る。なお、サーバ103~104は第三者エンティティによって動作させられてもよい。あるいは、サーバ103~104の機能はADS110と一体化されていてもよい。リアルタイム交通情報、MPOI情報およびロケーション情報、ならびにセンサシステム115によって検出または感知されたリアルタイムの局所環境データ(例えば、障害物、物体、近くの車両)に基づいて、ADS110は、最適なルートを計画し、指定された目的地に安全にかつ効率的に到達するために計画されたルートに従って、例えば、制御システム111を介して車両101を走らせることができる。
【0025】
サーバ103は、様々なクライアントのためにデータ解析サービスを実行するためのデータ解析システムであってもよい。一実施形態では、データ解析システム103はデータコレクタ121と機械学習エンジン122とを備えている。データコレクタ121はADVでも人間のドライバーによって運転される通常の車両でも、様々な車両から運転統計123を収集する。運転統計123は、異なる時点において車両のセンサによって取得された、発行された運転コマンド(例えば、スロットル、制動、ステアリングコマンド)および車両の応答(例えば、速度、加速、減速、方向)を示す情報を含む。運転統計123は、例えば、ルート(出発地および目的地を含む)、MPOI、道路条件、天候条件など、異なる時点における運転環境を記述する情報をさらに含んでいてもよい。
【0026】
運転統計123に基づいて、機械学習エンジン122は、様々な目的で、ルール、アルゴリズムおよび/または予測モデルのセット124を生成するか、またはトレーニングする。アルゴリズム124は、LIDARポイントクラウドを使用して歩行者の速度を判定するためのアルゴリズムを含む。アルゴリズム124は、その後、自律運転中にリアルタイムで利用されるように、ADVにアップロードされ得る。
【0027】
図3Aおよび図3Bは、一実施形態に係る、ADVとともに使用される自律運転システムの一例を示すブロック図である。システム300は、これに限定されないが、ADS110、制御システム111およびセンサシステム115を備える、図1のADV101の一部として実装され得る。図3A図3Bを参照すると、ADS110は、これに限定されないが、ローカライゼーションモジュール301、知覚モジュール302、予測モジュール303、決定モジュール304、プランニングモジュール305、制御モジュール306、ルーティングモジュール307、最小境界ボックス生成モジュール308を備えている。
【0028】
モジュール301~308のいくつかまたは全ては、ソフトウェア、ハードウェアまたはこれらの組合せにおいて実装され得る。例えば、これらのモジュールは、永続性ストレージデバイス352内にインストールされ、メモリ351にロードされ、1または複数のプロセッサ(図示せず)によって実行され得る。なお、これらのモジュールのいくつかまたは全ては、図2の車両制御システム111のいくつかまたは全てのモジュールに通信可能に接続され得るか、またはそれらのモジュールと一体化されてもよい。モジュール301~308のうちのいくつかは一体型モジュールとして一体化されてもよい。
【0029】
ローカライゼーションモジュール301は、(例えば、GPSユニット212を活用して)ADV300の現在のロケーションを判定し、ユーザの旅程またはルートに関する任意のデータを管理する。(マップおよびルートモジュールとも呼ばれる)ローカライゼーションモジュール301は、ユーザの旅程またはルートに関する任意のデータを管理する。ユーザは、例えば、ユーザインターフェースを介して、ログインし、旅程の出発地および目的地を指定し得る。ローカライゼーションモジュール301は、旅程関連データを取得するために、マップおよびルートデータ311など、ADV300の他の構成要素と通信する。例えば、ローカライゼーションモジュール301は、ロケーションサーバおよびMPOI(マップおよびPOI)サーバからロケーションおよびルートデータを取得し得る。ロケーションサーバはロケーションサービスを与え、MPOIサーバは、マップおよびルートデータ311の一部としてキャッシュされ得る、マップサービスおよびいくつかのロケーションのPOIを提供する。ADV300がルートに沿って移動している間、ローカライゼーションモジュール301はまた、交通情報システムまたはサーバからリアルタイム交通情報を取得し得る。
【0030】
センサシステム115によって提供されたセンサデータ、およびローカライゼーションモジュール301によって取得されたローカライゼーション情報に基づいて、周囲環境の知覚が知覚モジュール302によって判定される。知覚情報は、通常のドライバーが、そのドライバーが運転している車両の周囲で知覚するであろうことを表し得る。知覚は、例えば、物体の形態の、車線構成、信号機信号、別の車両の相対位置、歩行者、建築物、横断歩道、または他の交通関係標識(例えば、停止標識、前方優先道路標識)などを含んでいてもよい。車線構成は、例えば、車線の形状(例えば、直線または湾曲)、車線の幅、道路にいくつの車線があるか、一方向車線か両方向車線か、合流車線か分割車線か、出車車線など、車線または複数の車線を記述する情報を含む。
【0031】
知覚モジュール302は、ADVの環境における物体および/または特徴を識別するために1または複数のカメラによって取得された画像を処理し、分析するためのコンピュータ視覚システムまたはコンピュータ視覚システムの機能を含み得る。物体は、交通信号、車道境界、他の車両、歩行者および/または障害物などを含むことができる。コンピュータ視覚システムは、物体認識アルゴリズム、ビデオ追跡および他のコンピュータ視覚技法を使用し得る。いくつかの実施形態では、コンピュータ視覚システムは、環境をマッピングすること、物体を追跡すること、物体の速度を推定することなどが可能である。知覚モジュール302はまた、レーダーおよび/またはLIDARなど、他のセンサによって提供された他のセンサデータに基づいて物体を検出することができる。
【0032】
物体の各々について、予測モジュール303は、物体がそのような状況下でどのような挙動をするかを予測する。予測は、マップ/ルート情報311および交通ルール312のセットに鑑みて、その時点における運転環境を知覚する知覚データに基づいて実行される。例えば、物体が反対方向にある車両であり、現在の運転環境が交差点を含む場合、予測モジュール303は、車両が直進しそうなのか、または曲がりそうなのかを予測する。知覚データが、交差点に信号機がないことを示す場合、予測モジュール303は、車両が交差点に入る前に完全に停止しなければならないかもしれないことを予測し得る。知覚データが、車両が現在左折専用車線または右折専用車線にあることを示す場合、予測モジュール303は、それぞれ、車両が左折するまたは右折する可能性がより高いことを予測し得る。
【0033】
各々の物体について、決定モジュール304は、どのように物体を処理するかに関する決定を行う。例えば、特定の物体(例えば、交差するルートにある別の車両)ならびに物体を記述するその物体のメタデータ(例えば、速度、方向、転向角)について、決定モジュール304は、どのように物体に遭遇するか(例えば、追い越し、道を譲る、停止、通過)を決定する。決定モジュール304は、永続性ストレージデバイス352中に記憶され得る交通ルールまたは運転ルール312など、ルールのセットに従ってそのような決定を行い得る。
【0034】
ルーティングモジュール307は、出発地点から目的地点までの1または複数のルートまたは経路を提供するように構成される。例えば、ユーザから受信された出発地から目的地までの所与の旅程について、ルーティングモジュール307は、ルートおよびマップ情報311を取得し、目的地に到達するための出発地からの全ての可能なルートまたは経路を判定する。ルーティングモジュール307は、ルーティングモジュール307が判定した、目的地に到達するための出発地からのルートの各々について、地形図の形態の基準線を生成し得る。基準線とは、他の車両、障害物または交通条件など、他からの干渉がない理想的なルートまたは経路をいう。すなわち、道路上に他の車両、歩行者または障害物がない場合、ADVは基準線に正確にまたは厳密に従うべきである。地形図は、次いで、決定モジュール304および/またはプランニングモジュール305に与えられる。決定モジュール304および/またはプランニングモジュール305は、ローカライゼーションモジュール301からの交通条件、知覚モジュール302によって知覚された運転環境、および予測モジュール303によって予測された交通条件など、他のモジュールによって提供された他のデータに鑑みて、最適なルートのうちの1つを選択し、変更するために、全ての可能なルートを検査する。ADVを制御するための実際の経路またはルートは、その時点における特定の運転環境に依存してルーティングモジュール307によって提供された基準線に近くなり得るか、またはその基準線とは異なり得る。
【0035】
知覚された物体の各々についての決定に基づいて、プランニングモジュール305は、基礎としてルーティングモジュール307によって与えられた基準線を使用して、ADVのための経路またはルートならびに運転パラメータ(例えば、距離、速度および/または転向角)を計画する。すなわち、所与の物体について、決定モジュール304は物体にどのように対処するかを決定し、一方、プランニングモジュール305はその対処をどのように行うかを判定する。例えば、所与の物体について、決定モジュール304は、物体を通過することを決定し得、一方、プランニングモジュール305は、物体の左側を通るのか、または右側を通るのかを判定し得る。車両300が次の移動サイクル(例えば、次のルート/経路セグメント)中にどのように移動するかを記述する情報を含む、プランニングおよび制御データがプランニングモジュール305によって生成される。例えば、プランニングおよび制御データは、時速30マイル(mph)の速度で10メートル移動し、次いで、25mphの速度で右側車線に変更するように車両300に命令し得る。
【0036】
プランニングおよび制御データに基づいて、制御モジュール306は、プランニングおよび制御データによって定義されたルートまたは経路に従って、車両制御システム111に適切なコマンドまたは信号を送ることによって、ADVを制御し、運転する。プランニングおよび制御データは、経路またはルートに沿って異なる時点における適切な車両設定または運転パラメータ(例えば、スロットル、制動、ステアリングコマンド)を使用してルートまたは経路の第1のポイントから第2のポイントまで車両を運転するために十分な情報を含む。
【0037】
一実施形態では、プランニング段階は、例えば、100ミリ秒(ms)の時間間隔ごとなど、運転サイクルとも呼ばれるいくつかのプランニングサイクル中に実行される。プランニングサイクルまたは運転サイクルの各々について、1または複数の制御コマンドがプランニングおよび制御データに基づいて発行される。すなわち、100msごとに、プランニングモジュール305は、例えば、ターゲット位置、およびADVがターゲット位置に到達するために必要とされる時間を含む、次のルートセグメントまたは経路セグメントを計画する。あるいは、プランニングモジュール305は、特定の速度、方向および/または操舵角などをさらに指定し得る。一実施形態では、プランニングモジュール305は、5秒など、次の事前決定された時間期間のためにルートセグメントまたは経路セグメントを計画する。各プランニングサイクルについて、プランニングモジュール305は、前のサイクル中に計画されたターゲット位置に基づいて現在のサイクル(例えば、次の5秒)のためのターゲット位置を計画する。制御モジュール306は、次いで、現在のサイクルのプランニングおよび制御データに基づいて1または複数の制御コマンド(例えば、スロットル、ブレーキ、ステアリング制御コマンド)を生成する。
【0038】
なお、決定モジュール304およびプランニングモジュール305は一体型モジュールとして一体化されてもよい。決定モジュール304/プランニングモジュール305は、ADVのための運転経路を判定するためのナビゲーションシステムまたはナビゲーションシステムの機能を含んでいてもよい。例えば、ナビゲーションシステムは、概して、最終目的地に至る車道ベースの経路に沿ってADVを進めながら、知覚された障害物を実質的に回避する経路に沿ってADVの動きに影響を及ぼすために、一連の速度および方向進路を判定し得る。目的地は、ユーザインターフェースシステム113を介してユーザ入力に従って設定され得る。ナビゲーションシステムは、ADVが動作中である間、運転経路を動的に更新し得る。ナビゲーションシステムは、ADVのための運転経路を判定するように、GPSシステムからのデータおよび1または複数のマップを組み込むことができる。
【0039】
図4を参照すると、一実施形態に係る、自律運転車両(ADV)において、検出された歩行者の移動速度の推定で利用される様々なモジュールを示すブロック図400が図示されている。歩行者検出モジュール402において、歩行者が、自律運転車両(ADV)101にインストールされているLIDARデバイス215によって生成されたポイントクラウドの複数のフレームの中で検出される。最小境界ボックス生成モジュール308において、ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々の中に、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスが生成される。歩行者速度推定モジュール418において、歩行者の移動速度が、ポイントクラウドの複数のフレームのうち少なくとも2つにわたって、最小境界ボックスに少なくとも部分的に基づいて推定される。
【0040】
ポイントクラウドの2つ以上のフレームにわたって、最小境界ボックスに基づいて歩行者の移動速度を推定するための技術は、当技術分野において周知である。歩行者が(例えば歩くかまたは走って)移動しているとき、歩行者の胴に対応するポイントや頭に対応するポイントは、歩行者の全身に対応するポイントよりも安定しているため、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスに基づいて歩行者の移動速度を推定することは、歩行者に対応する全てのポイントを囲む最小境界ボックスに基づいて速度を推定することよりも望ましく、より正確な速度推定をもたらし得る。ADV101に関する軌跡は、プランニングモジュール305において、少なくとも歩行者の移動速度に基づいて計画される。その後、制御モジュール306において、計画された軌跡に基づいてADV101を運転するために制御信号が生成される。
【0041】
一実施形態では、ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するために、最小境界ボックス生成モジュール308の内部で、ポイントフィルタリングモジュール404において、歩行者に対応するポイントが、下部のポイントを除去して上部のポイントのみを維持するようにフィルタリングされる。下部のポイントは歩行者の脚および足に対応することを理解すべきである。一実施形態では、歩行者に対応するポイントをフィルタリングして、下部のポイントを除去し、上部のポイントのみを維持するステップは、歩行者に対応するポイントにおける最上部のポイントに対する高低差が第1の閾値を超えるポイントを除去するステップを含む。
【0042】
一実施形態では、第1の閾値は約0.6メートル(m)である。ポイント投影モジュール406において、歩行者に対応するポイントにおける残りの上部のポイントが水平面に投影される。水平面に投影される、上部のポイントに関連した主軸は、主軸判定モジュール408において判定される。第1の主要な構成要素としても知られている主軸は、ポイントのセットからこの線までの距離の2乗の平均値が最小になる線であり得る。歩行者に関連する主軸は、投影された上部のポイントに関して判定されるとき、歩行者の左右方向に沿って延在する線に対して近似的に対応するべきであることを理解すべきである。主軸を判定するための技術は当技術分野において周知である。一実施形態では、投影された上部のポイントに関連する主軸を判定するステップは、分散行列に対して特異値分解(SVD)または固有値分解を実行するステップを含む。
【0043】
水平面に投影された上部のポイントが、ポイント投影モジュール410において、主軸にさらに投影される。2度投影された上部のポイントが、ポイントフィルタリングモジュール412において、主軸の両方向における最も外れたポイントを除去するためにフィルタリングされる。最も外れたポイントは歩行者の腕および手に対応することを理解すべきである。一実施形態では、主軸の両方向における最も外れたポイントを除去するために、2度投影された上部のポイントをフィルタリングするステップは、2度投影された上部のポイントのうち重心までの距離が第2の閾値を超えるポイントを除去するステップを含む。残りの2度投影された上部のポイントに対応する、歩行者に対応するポイントにおけるポイントのサブセットが、対応ポイント判定モジュール414において判定される。その後、最小境界ボックス生成モジュール416において、ポイントのサブセットを囲む最小境界ボックスが生成される。ポイントのサブセットを囲む最小境界ボックスは、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスであることを理解すべきである。
【0044】
他の実施形態では、以下で説明される技術は、歩行者の頭に対応するポイントのみ、または代わりに歩行者の胴に対応するポイントのみを囲む最小境界ボックスに基づいて、歩行者の速度を推定するように適合されてもよいことを理解すべきである。なお、図4に図示されるような全てのモジュールのうちいくつかが、より少数のモジュールまたは単一のモジュールへと統合されてもよい。最小境界ボックス生成モジュール308は知覚モジュール302の一部として実施されてもよい。
【0045】
図5を参照すると、一実施形態に係る、ポイントクラウドの1つのフレームの範囲内の、歩行者に対応するLIDARポイントを示す例示の図500が図示されている。図5に図示されるように、歩行者に対応するポイントは、歩行者の別々の部位に対応するポイントを含む。詳細には、ポイント508(すなわち下部のポイント)は、歩行者の脚および足に対応する。ポイント502、506は、歩行者の腕および手に対応する。実施形態に係る関心ポイント504は、歩行者の頭および胴に対応する。ポイント504は、歩行者の全体的な移動を、他のポイント(ポイント502、506、508を含む)よりも安定的に表すため、関心ポイント504のみを囲む最小境界ボックスに基づいて歩行者の移動速度を推定することが望ましい。
【0046】
図6A図6Cを参照すると、一実施形態に係る、異なる角度からの歩行者のビューを示す図形600A~図形600Cと、歩行者に対応するそれぞれのLIDARポイントとが図示されている。図6A図6Cの各々が、特定の角度からの歩行者602のビューと、この角度から観察された歩行者602に対応するLIDARポイントのそれぞれのセットと、同じポイントのセットを水平面に投影し、主軸に基づいて座標系と重ね合わせたものとを含む。詳細には、図6Aは歩行者の正面図を示し、図6Bは歩行者の側面図を示し、図6Cは歩行者の斜視図を示す。図6A図6Cから、視点がどこにあろうと、投影点に基づいて判定された主軸は、一貫して歩行者の左右方向に沿って延在することを理解すべきである。それゆえに、以下で説明されるような、歩行者の移動速度を推定するための方法は、LIDARが歩行者を知覚する角度に関係なく、同様にうまく機能するはずであることをさらに理解すべきである。
【0047】
図7を参照すると、一実施形態に係る、自律運転車両(ADV)において、検出された歩行者の移動速度を推定するための例示の方法700を示す流れ図が図示されている。ブロック710では、自律運転車両(ADV)にインストールされたLIDARデバイスによって生成されたポイントクラウドの複数のフレームにおいて歩行者が検出される。ブロック720では、ポイントクラウドの複数のフレームのうち少なくとも2つのフレームの各々において、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスが生成される。ブロック730では、ポイントクラウドの複数のフレームのうち少なくとも2つにわたる最小境界ボックスに少なくとも部分的に基づいて歩行者の移動速度が推定される。ブロック740では、少なくとも歩行者の移動速度に基づいてADVに関する軌跡が計画される。その後、ブロック750において、計画された軌跡に基づいてADVを運転するために制御信号が生成される。
【0048】
図8を参照すると、一実施形態に係る、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスを生成するための例示の方法800を示す流れ図が図示されている。ブロック810において、歩行者に対応するポイントは、下部のポイントを除去して上部のポイントのみを維持するためにフィルタリングされる。下部のポイントは歩行者の脚および足に対応することを理解すべきである。ブロック820において、歩行者に対応するポイントにおける残りの上部のポイントが水平面に投影される。ブロック830において、水平面に投影された上部のポイントに関連した主軸が判定される。ブロック840において、水平面に投影された上部のポイントが、主軸にさらに投影される。ブロック850において、2度投影された上部のポイントは、主軸の両方向における最も外れたポイントを除去するためにフィルタリングされる。最も外れたポイントは歩行者の腕および手に対応することを理解すべきである。ブロック860において、残りの2度投影された上部のポイントに対応する、歩行者に対応するポイントにおけるポイントのサブセットが判定される。その後、ブロック870において、ポイントのサブセットを囲む最小境界ボックスが生成される。ポイントのサブセットを囲む最小境界ボックスは、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスであることを理解すべきである。
【0049】
一実施形態では、歩行者に対応するポイントをフィルタリングして、下部のポイントを除去し、上部のポイントのみを維持するステップは、歩行者に対応するポイントにおける最上部のポイントに対する高低差が第1の閾値を超えるポイントを除去するステップを含む。一実施形態では、第1の閾値は約0.6メートル(m)である。
【0050】
一実施形態では、投影された上部のポイントに関連する主軸を判定するステップは、分散行列に対して特異値分解(SVD)または固有値分解を実行するステップを含む。
【0051】
一実施形態では、主軸の両方向における最も外れたポイントを除去するために、2度投影された上部のポイントをフィルタリングするステップは、2度投影された上部のポイントのうち重心までの距離が第2の閾値を超えるポイントを除去するステップを含む。
【0052】
したがって、本開示の実施形態は、速度推定において、歩行者の手足に対応するポイントを除いた前記歩行者に対応するポイントを囲む最小境界ボックスが利用される、LIDARポイントベースの歩行者速度の推定に関するものである。歩行者が移動しているとき、歩行者の頭や胴は手足よりも安定しているため、本明細書で説明された実施形態を利用することによって、より正確な速度推定が取得され得る。
【0053】
なお、上記で図示し、説明したような構成要素のいくつかのまたは全ては、ソフトウェア、ハードウェアまたはこれらの組合せにおいて実装されてもよい。例えば、そのような構成要素は、永続性ストレージデバイス中にインストールされ、記憶されるソフトウェアとして実装されてもよく、そのソフトウェアは、本出願全体にわたって説明されるプロセスまたは動作を実行するためのプロセッサ(図示せず)によってメモリにロードされ、実行されてもよい。あるいは、そのような構成要素は、アプリケーションから、対応するドライバおよび/またはオペレーティングシステムを介してアクセスされ得る集積回路(例えば、特定用途向けICまたはASIC)、デジタル信号プロセッサ(DSP)またはフィールドプログラマブルゲートアレイ(FPGA)など、専用のハードウェアにプログラムされるか、または埋め込まれる実行可能コードとして実装されてもよい。さらに、そのような構成要素は、1または複数の特定の命令を介してソフトウェア構成要素によってアクセス可能な命令セットの一部としてプロセッサまたはプロセッサコア中の特定のハードウェア論理として実装されてもよい。
【0054】
コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよび記号表現に関して、上記の詳細な説明のいくつかの部分を提示した。これらのアルゴリズムの説明および表現は、データ処理分野における当業者によって、それらの当業者の作業の要旨を最も効果的に他の当業者に伝達するために使用される方法である。アルゴリズムは、ここでは、一般に、所望の結果につながる動作の自己矛盾のないシーケンスとして想到される。動作は、物理量の物理的操作を必要とする動作である。
【0055】
しかしながら、全てのこれらの用語および同様の用語は適切な物理量に関連するものであり、これらの量に付される便宜上のラベルに過ぎないことに留意されたい。上記の説明から明らかなように、別段に明記されていない限り、説明全体にわたって、以下の特許請求の範囲に記載された用語などの用語を利用する議論は、コンピュータシステムのレジスタおよびメモリ内で物理(電子)量として表されるデータを操作し、コンピュータシステムメモリまたはレジスタまたは他のそのような情報ストレージ、送信またはディスプレイデバイス内で物理量として同様に表される他のデータに変換する、コンピュータシステムまたは同様の電子計算デバイスのアクションおよびプロセスを指すことを理解すべきである。
【0056】
本開示の実施形態は、本明細書における動作を実行するための装置にも関する。そのようなコンピュータプログラムは非一時的コンピュータ可読媒体に記憶されている。機械可読媒体は、機械(例えばコンピュータ)に可読の形態で情報を記憶するための任意の機構を含む。例えば、機械可読(例えばコンピュータ可読)媒体は、機械(例えばコンピュータ)可読記憶媒体(例えば読み取り専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ素子)を含む。
【0057】
上記の図に示されたプロセスまたは方法は、ハードウェア(例えば回路、専用論理など)、(例えば、非一時的コンピュータ可読媒体上で具現化される)ファームウェア、ソフトウェア、または両方の組合せを備える処理ロジックによって実行され得る。プロセスまたは方法について、いくつかの逐次動作に関して上記で説明したが、説明した動作のうちのいくつかは異なる順序で実行され得ることを理解すべきである。その上、いくつかの動作は連続的にではなく並行して実行され得る。
【0058】
本開示の実施形態は、何らかの特定のプログラム言語を基準として説明されているわけではない。本明細書で説明されたような本開示の実施形態の教示を実装するために、種々のプログラム言語が使用され得ることが理解されよう。
【0059】
上記の明細書では、本開示の実施形態について、本発明の特定の例示的な実施形態を参照しながら説明した。以下の特許請求の範囲に記載されているように、本開示のより広い趣旨および範囲から逸脱することなく本開示の実施形態に様々な変更が行われ得ることが明らかになろう。明細書および図面は、したがって、限定的な意味ではなく、例示的な意味であると見なされるべきである。
図1
図2
図3A
図3B
図4
図5
図6A
図6B
図6C
図7
図8