(58)【調査した分野】(Int.Cl.,DB名)
前記警告サービスが前記警告信号を前記自動運転車にブロードキャストするかどうかを決定するために、前記自動運転車の現在速度情報と現在ルート情報を前記警告サービスに送信すること、を更に含む請求項1に記載のコンピュータにより実施される方法。
前記自動運転車が現在交差点に位置している場合に、前記自動運転車が減速するに先立って、前記自動運転車を前記交差点から離れるように制御するための信号を送信することを、更に含む請求項5に記載のコンピュータにより実施される方法。
【発明を実施するための形態】
【0020】
以下、説明の詳細を参照しながら本発明の様々な実施形態及び態様を説明し、前記様々な実施形態が図面に示される。以下の説明及び図面は、本発明を例示するためのものであり、限定するものとして解釈されるべきではない。本発明の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。なお、本発明の実施形態を簡潔的に説明するように、周知又は従来技術の詳細について説明していない場合もある。
【0021】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に基づいて説明された特定の特徴、構造又は特性が本発明の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書の全体において全てが同一の実施形態を指すとは限らない。
【0022】
幾つかの実施形態により、システム及び方法は、ADV付近に緊急車両が現れることを警告することで、安全な方式で緊急車両を回避し、又は緊急車両から遠く離れるようにADVを制御する。本発明の一態様によれば、システムは、ネットワークを介してADVの現在の位置情報を、複数のADVに通信可能に接続される警告サービスへ送信する。システムは、警告サービスから、ADVが警告領域に位置し又は進入しようとしていることを確定したブロードキャストされた警告信号を受信し、警告領域の位置が走行優先度の比較的高い派遣車両の位置に基づいて特定される。ブロードキャスト警告信号を受信したことに応答して、システムは、警告領域に基づいてADVの現在の状態と現在の位置を検出し、更に1組のルールに則ってADVが警告領域を追い抜くか、又は回避するかを決定する。システムは、検出に基づいてADVを制御するための回避軌跡を生成して警告領域を通過するようにナビゲートする。
【0023】
本発明の他の態様によれば、システムは、一つまたは複数台の派遣車両から現在の位置情報を受信し、派遣車両は道路上で比較的高い走行優先度を有する。システムは、一つまたは複数台の派遣車両の位置情報に基づき一つ又は複数の警告領域を確定する。システムは、一つまたは複数台のADVから現在の位置情報を受信する。システムは、ADVの現在の位置情報に基づいてADVのうちのいずれか一つが一つ又は複数の警告領域の所定接近範囲内に進入しようとしているか、又は現在該範囲内に位置しているかを判定する。ADVが一つ又は複数の警告領域の所定接近範囲内に近接し、又は現在該範囲内に位置する場合、システムはADVにブロードキャスト警告信号を通知する。
【0024】
図1は、本発明の一実施形態に係る自動運転車両のネットワーク構成を示すブロック図である。
図1に示すように、ネットワーク構成100は、ネットワーク102を介して一つ以上のサーバ103〜104に通信可能に接続される自動運転車両101を含む。一つの自動運転車両のみが示されているが、複数の自動運転車両が、ネットワーク102を介して、互いに接続され、及び/又はサーバ103〜104に接続されてもよい。ネットワーク102は、任意のタイプのネットワーク、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせであってもよい。サーバ103〜104は、如何なるタイプのサーバ又はサーバクラスタであってもよく、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせが挙げられる。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図及び関心地点(MPOI)サーバ、又は位置サーバなどであってもよい。
【0025】
自動運転車両とは、自動運転モードになるように構成可能な車両を指し、前記自動運転モードにおいて、車両が運転手からの入力がほとんど又は全くない場合に環境を通過するようにナビゲートされる。このような自動運転車両は、車両動作環境に関連する情報を検出するように構成された一つ以上のセンサを有するセンサシステムを含んでもよい。前記車両及びその関連コントローラは、検出された情報を使用して前記環境を通過するようにナビゲートする。自動運転車両101は、手動モード、全自動運転モード、又は部分自動運転モードで動作することができる。
【0026】
一実施形態では、自動運転車両101は、感知・計画システム110、車両制御システム111、無線通信システム112、ユーザインターフェースシステム113、及びセンサシステム115を含むが、それらに限定されない。自動運転車両101は更に、エンジン、車輪、ステアリングホイール、変速機などの従来の車両に含まれるいくつかの共通構成要素を含んでもよい。前記構成要素は、車両制御システム111及び/又は感知・計画システム110によって様々な通信信号及び/又は命令で制御されることができ、これらの様々な通信信号及び/又は命令は、例えば加速信号又は命令、減速信号又は命令、ステアリング信号又は命令、ブレーキ信号又は命令などを含む。
【0027】
構成要素110〜115は、インターコネクト、バス、ネットワーク、又はこれらの組み合わせを介して互いに通信可能に接続することができる。例えば、構成要素110〜115は、コントローラエリアネットワーク(CAN)バスを介して互いに通信可能に接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。それは、もともと自動車内の多重電気配線のために設計されたメッセージに基づくプロトコルであるが、他の多くの環境にも用いられる。
【0028】
ここで
図2を参照すると、一実施形態では、センサシステム115は、一つ以上のカメラ211、全地球測位システム(GPS)システム212、慣性計測ユニット(IMU)213、レーダユニット214並びに光検出及び測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSユニット212は、自動運転車両の位置に関する情報を提供するように動作可能な送受信機を含んでもよい。IMUユニット213は、慣性加速度に基づいて自動運転車両の位置及び配向の変化を検知することができる。レーダユニット214は、無線信号を利用して自動運転車両のローカル環境内のオブジェクトを検知するシステムを表すことができる。いくつかの実施形態では、オブジェクトを検知することに加えて、レーダユニット214は、オブジェクトの速度及び/又は進行方向を更に検知することができる。LIDARユニット215は、レーザを使用して自動運転車両の所在環境内のオブジェクトを検知することができる。LIDARユニット215は、他のシステム構成要素のほかに、一つ以上のレーザ源、レーザスキャナ、及び一つ以上の検出器を更に含むことができる。カメラ211は、自動運転車両の周囲の環境における画像を取り込むための一つ以上の装置を含むことができる。カメラ211は、スチルカメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【0029】
センサシステム115は、ソナーセンサ、赤外線センサ、ステアリングセンサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ(例えば、マイクロフォン)などの他のセンサを更に含むことができる。オーディオセンサは、自動運転車両の周囲の環境から音を取得するように構成されてもよい。ステアリングセンサは、ステアリングホイール、車両の車輪、又はそれらの組み合わせの操舵角を検知するように構成されてもよい。スロットルセンサ及びブレーキセンサそれぞれは、車両のスロットル位置及びブレーキ位置を検知する。場合によっては、スロットルセンサとブレーキセンサを統合型スロットル/ブレーキセンサとして一体化することができる。
【0030】
一実施形態では、車両制御システム111は、ステアリングユニット201、スロットルユニット202(加速ユニットともいう)、及びブレーキユニット203を含むが、それらに限定されない。ステアリングユニット201は、車両の方向又は進行方向を調整するために用いられる。スロットルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度によって更に車両の速度及び加速度を制御する。ブレーキユニット203は、摩擦を与えることによって車両の車輪又はタイヤを減速させることで、車両を減速させる。なお、
図2に示す構成要素は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実現されることができる。
【0031】
図1を再び参照して、無線通信システム112は、自動運転車両101と、装置、センサ、他の車両などの外部システムとの間の通信を可能にするものである。例えば、無線通信システム112は、直接又は通信ネットワークを介して一つ以上の装置と無線通信することができ、例えば、ネットワーク102を介してサーバ103〜104と通信することができる。無線通信システム112は、任意のセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)を使用することができ、例えば、WiFi(登録商標)を使用して別の構成要素又はシステムと通信することができる。無線通信システム112は、例えば、赤外線リンク、ブルートゥース(登録商標)などを使用して、装置(例えば、乗客のモバイルデバイス、表示装置、車両101内のスピーカ)と直接通信することができる。ユーザインターフェースシステム113は、車両101内に実現された周辺装置の部分(例えば、キーボード、タッチスクリーン表示装置、マイクロホン、及びスピーカなどを含む)であってもよい。
【0032】
特に自動運転モードで動作しているときに、自動運転車両101の機能の一部又は全部は、感知・計画システム110によって制御又は管理することができる。感知・計画システム110は、必要なハードウェア(例えば、プロセッサ、メモリ、記憶装置)及びソフトウェア(例えば、オペレーティングシステム、計画及びルーティングプログラム)を備え、センサシステム115、制御システム111、無線通信システム112、及び/又はユーザインターフェースシステム113から情報を受信し、受信した情報を処理し、出発地から目的地までのルート又は経路を計画し、その後、計画・制御情報に基づいて車両101を運転する。あるいは、感知・計画システム110を車両制御システム111と統合することができる。
【0033】
例えば、乗客としてのユーザは、例えば、ユーザインターフェースを介して、旅程の出発地位置及び目的地を指定することができる。感知・計画システム110は旅程関連データを取得する。例えば、感知・計画システム110は、MPOIサーバから位置及びルート情報を取得することができ、前記MPOIサーバはサーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービス及び特定の位置のPOIを提供する。あるいは、そのような位置及びMPOI情報は、感知・計画システム110の永続的記憶装置にローカルキャッシュされることが可能である。
【0034】
自動運転車両101がルートに沿って移動するとき、感知・計画システム110は交通情報システム又はサーバ(TIS)からリアルタイム交通情報を取得することもできる。なお、サーバ103〜104は第三者エンティティによって操作されることが可能である。あるいは、サーバ103〜104の機能は、感知・計画システム110と統合することができる。リアルタイム交通情報、MPOI情報、及び位置情報、並びにセンサシステム115によって検出又は検知されたリアルタイムローカル環境データ(例えば、障害物、オブジェクト、周辺車両)に基づいて、感知・計画システム110は、指定された目的地までに安全かつ効率的に到着するように、最適なルートを計画し、計画されたルートに従って、例えば、制御システム111によって車両101を運転する。
【0035】
サーバー103は、様々なクライアントにデータ解析サービスを提供するデータ解析システムであってもよい。本発明の一実施形態において、データ解析システム103は、データコレクタ121及び機械学習エンジン122を備える。データコレクタ121は、様々な車両(自動運転車、又は操作者が運転する普通車両)から運転統計データ123を収集する。運転統計データ123は、発された運転命令(例えば、変速、ブレーキ、ステアリング命令等)を指示する情報や、車載センサーが異なる時点で採集した車両の応答(例えば、速度、加速度、減速度、方向等)を含む。運転統計データ123は、ルート(出発地位置と目的位置)、MPOI、天気状況、道路状況のような異なる時点の運転環境を記述する情報を含んでも良く、道路状況は、例えば、高速道路の交通状況、渋滞、事故、道路修築、一時規制、未知障害物等の道路状況である。
【0036】
機械学習エンジン122は、運転統計データ123に基づいて様々な目的で、1組のルール、アルゴリズム及び/又は予測モデル124を生成、トレーニングし、これらには、緊急車両の位置に基づいて車道上の緊急警告領域(緊急時に緊急車両を回避する必要がある領域)を特定するルールが含まれる。警告サービス125は、ネットワークを介して、確定された警告領域に現在位置しているか、又は特定された警告領域に進入しようとしているADVに警告し、ADVが任意の緊急車両を回避するようにする。
【0037】
図3A及び
図3Bは、一実施形態に係る自動運転車両と共に使用される感知・計画システムの一例を示すブロック図である。システム300は、
図1の自動運転車両101の一部として実現することができ、感知・計画システム110、制御システム111、及びセンサシステム115を含むが、それらに限定されない。
図3A〜
図3Bに示すように、感知・計画システム110は、測位モジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、ルーティングモジュール307、警告モジュール308及び警告サービス309を備えるが、これらに限定されない。
【0038】
モジュール301〜309のうちの一部又は全部は、ソフトウェア、ハードウェア又はそれらの組み合わせで実現されてもよい。例えば、これらのモジュールは、永続的記憶装置352にインストールされ、メモリ351にロードされ、一つ以上のプロセッサ(図示せず)によって実行されることができる。なお、これらのモジュールの一部又は全部は、
図2の車両制御システム111のモジュールの一部又は全部と通信可能に接続されるか、又は一体化されてもよい。モジュール301〜309のいくつかは、集積モジュールとして一体化されてもよい。例えば、警告モジュール308と警告サービス309を一つの集積モジュールに集積することが可能である。
【0039】
測位モジュール301は、自動運転車両300の現在の位置(例えば、GPSユニット212を利用して)を特定し、ユーザの旅程又はルートに関連する如何なるデータを管理する。測位モジュール301(地図及びルートモジュールともいう)は、ユーザの旅程又はルートに関連する如何なるデータを管理する。ユーザは、例えば、ユーザインターフェースを介してログインして、旅程の出発地位置及び目的地を指定することができる。測位モジュール301は、自動運転車両300の地図・ルート情報311のような他の構成要素と通信して、旅程関連データを取得する。例えば、測位モジュール301は、位置サーバ並びに地図及びPOI(MPOI)サーバから位置及びルート情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは、地図サービス及び特定の位置のPOIを提供し、地図・ルート情報311の一部としてキャッシュすることができる。自動運転車両300がルートに沿って移動するとき、測位モジュール301は交通情報システム又はサーバからリアルタイム交通情報を得ることもできる。
【0040】
感知モジュール302は、センサシステム115により提供されたセンサデータと、測位モジュール301により取得された測位情報とに基づいて、周囲環境への感知を特定する。感知情報は、一般的な運転手が運転手により運転されている車両の周囲で感知すべきものを表すことができる。感知は、例えばオブジェクトの形態を採用する車線構成(例えば、直進車線又はカーブ車線)、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)などを含んでもよい。
【0041】
感知モジュール302は、一つ以上のカメラによって取り込まれた画像を処理及び解析して、自動運転車両の環境内のオブジェクト及び/又は特徴を認識するためのコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【0042】
各オブジェクトについて、予測モジュール303は、その環境ではオブジェクトがどのように挙動するかを予測する。予測とは、地図・ルート情報311と交通ルール312のセットを考慮して、当該時点における運転環境を感知する感知データに基づいて実行される。例えば、オブジェクトが反対方向の車両であり、かつ現在の運転環境が交差点を含む場合に、予測モジュール303は、車両が直進するか、又は旋回するかを予測する。感知データが、交差点に信号機がないことを示す場合、予測モジュール303は、交差点に入る前に車両が完全に停止する必要があると予測する可能性がある。感知データが、車両が現在左折専用車線又は右折専用車線にあることを示す場合、予測モジュール303は、車両がそれぞれ左折又は右折する可能性がより高いと予測することができる。
【0043】
それぞれのオブジェクトに対して、決定モジュール304はオブジェクトをどのように処理するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は前記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のようなルールセットに基づいてそのような決定を行うことができ、前記ルールセットは永続的記憶装置352に記憶することができる。
【0044】
ルーティングモジュール307は、出発地から目的地までの一つ以上のルート又は経路を提供するように構成される。ルーティングモジュール307は、出発地位置から目的地位置までの所与の行程(例えば、ユーザから受信された所与の旅程)について、地図・ルート情報311を取得し、出発地位置から目的地位置までのすべての可能なルート又は経路を決定する。ルーティングモジュール307は、出発地位置から目的地位置までの各ルートを決定する地形図の形の基準線を生成することができる。基準線とは、他の車両、障害物、又は交通状況などからの如何なる干渉を受けていない理想的なルート又は経路を指す。つまり、道路に他の車両、歩行者又は障害物がない場合、ADVは基準線に精確的に又は密接的に従うべきである。そして、地形図を決定モジュール304及び/又は計画モジュール305に提供する。決定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば測位モジュール301からの交通状況、感知モジュール302により感知された運転環境及び予測モジュール303により予測された交通状況)に応じて、全ての走行可能なルートを検査して最適ルートのうちの一つを選択及び補正する。特定時点における特定の運転環境に応じて、ADVを制御するための実際の経路又はルートは、ルーティングモジュール307によって提供される基準線に近いか又は異なっていてもよい。
【0045】
感知されたオブジェクトのそれぞれに対する決定に基づいて、計画モジュール305は、ルーティングモジュール307によって提供される基準線をベースとし、自動運転車両に対して経路又はルート並びに運転パラメータ(例えば、距離、速度及び/又は操舵角)を計画する。言い換えれば、特定のオブジェクトについて、決定モジュール304は当該オブジェクトに対して何をするかを決定し、計画モジュール305はどのようにするかを決定する。例えば、特定のオブジェクトについて、決定モジュール304は前記オブジェクトを追い抜くかを決定することができ、計画モジュール305は前記オブジェクトを左側から追い抜くか又は右側から追い抜くかを決定することができる。計画・制御データは、計画モジュール305により生成され、車両300が次の移動周期(例えば、次のルート/経路区間)にはどのように移動するかを記述する情報を含む。例えば、計画・制御データは、車両300に時速30マイル(mph)で10m移動し、次に25マイル(mph)で右車線に変更するように指示することができる。
【0046】
制御モジュール306は、計画・制御データに基づいて、計画・制御データにより限定されたルート又は経路に応じて適当な命令又は信号を車両制御システム111に送信することにより自動運転車両を制御及び運転する。前記計画・制御データは、経路又はルートに沿って異なる時点で適切な車両配置又は運転パラメータ(例えば、スロットル、ブレーキ、及びステアリング命令)を使用して、車両をルート又は経路の第1の点から第2の点まで運転するのに十分な情報を含む。
【0047】
一実施形態では、計画段階は、例えば、時間間隔が100ミリ秒(ms)の周期など、複数の計画周期(命令周期ともいう)で実行される。計画周期又は命令周期のそれぞれについて、計画・制御データに基づいて一つ以上の制御命令を発する。すなわち、100msごとに、計画モジュール305は、次のルート区間又は経路区間(例えば、目標位置及びADVが目標位置に到着するのに必要な時間が含まれる)を計画する。あるいは、計画モジュール305は、具体的な速度、方向、及び/又は操舵角などを更に指定することができる。一実施形態では、計画モジュール305は、次の所定期間(例えば、5秒)のルート区間又は経路区間を計画する。計画周期のそれぞれに対し、計画モジュール305は、前の周期で計画された目標位置に基づいて、現在の周期(例えば、次の5秒)のための目標位置を計画する。次に、制御モジュール306は、現在の周期の計画・制御データに基づいて、一つ以上の制御命令(例えば、スロットル、ブレーキ、ステアリング制御命令)を生成する。
【0048】
なお、決定モジュール304及び計画モジュール305は、集積モジュールとして一体化されてもよい。決定モジュール304/計画モジュール305は、自動運転車両の走行経路を決定するためのナビゲーションシステム又はナビゲーションシステムの機能を含んでもよい。例えば、ナビゲーションシステムは、自動運転車両の以下の経路に沿った移動を達成するための一連の速度及び進行方向を決定することができる。前記経路では、自動運転車両が最終的な目的地に通じる走行車線ベースの経路に沿って前進するとともに、感知した障害物を実質的に回避できる。目的地は、ユーザインターフェースシステム113を介したユーザ入力に従って設定することができる。ナビゲーションシステムは、自動運転車両が走行している間に走行経路を動的に更新することができる。ナビゲーションシステムは、自動運転車両のための走行経路を決定するために、GPSシステム及び一つ以上の地図からのデータを取り入れることができる。
【0049】
決定モジュール304/計画モジュール305は、更に、自動運転車両の環境における潜在的な障害物を認識、評価、回避又は他の方法で通過するための衝突防止システム又は衝突防止システムの機能を含むことができる。例えば、衝突防止システムは、制御システム111の一つ以上のサブシステムを動作させて、方向変更動作、旋回動作、ブレーキ動作などを行うことによって、自動運転車両のナビゲーション中の変更を実現することができる。衝突防止システムは、周囲の交通パターンや道路状況などに基づいて、実行可能な障害物回避動作を自動的に決定することができる。衝突防止システムは、他のセンサシステムが、自動運転車両が方向変更して進入しようとする隣接領域における車両、建築障害物などを検出したときに、方向変更動作を行わないように構成されることができる。衝突防止システムは、自動運転車両の乗員の安全性を最大限にするとともに、利用可能な動作を自動的に選択することができる。衝突防止システムは、自動運転車両の客室内に最も少ない加速度を発生させると予測される回避動作を選択することができる。
【0050】
本発明に係る一実施形態によると、警告モジュール308は、ADVがADVの位置を警告サービスへブロードキャストするとともに、ADV付近に緊急車両があることが通知される警告信号(確実に存在する場合)を受信するためのインタフェースを提供する。更に、警告モジュール308は、ADVの緊急回避モードを始動することで、ADVを路傍に案内し、又は向ってくる車両をADVに回避させるようにする。
【0051】
本発明の一実施形態において、警告サービス309は、他のADVから車両情報を受信することができる。警告サービス309が特定した警告領域に基づき、警告サービス309は、警告を生成して他のADVへブロードキャストすることにより、他のADVが後に路傍に移動し、又は向ってくる車両を回避することが可能である。
【0052】
図4は、本発明の一実施形態に係る警告モジュールの構成を示すブロック図である。
図4に示すように、警告モジュール308は、ADVの位置及び/又はルート情報をサーバー103の警告サービス125や、他のADVの警告サービス309(例えば、他のADVに搭載される警告サービス)等の警告サービスに送信することができる。警告モジュール308は、警告を受信してADVを緊急回避モードにすることができる。本発明の一実施形態において、警告モジュールは、車両情報通知モジュール401、警告受信モジュール403及び緊急回避制御部405を備える。車両情報通知モジュール401は、ADVの位置及び/又はルート情報を警告サービスに送信し、警告受信モジュール403は、ADV付近に緊急車両がある警告を受信することができる。緊急回避制御部405は、ADVを緊急回避モードにすることができる。
【0053】
図5は、本発明の一実施形態に係る警告サービスの構成を示すブロック図である。警告サービス500は、
図3Aに示す警告サービス309や、
図1に示す警告サービス125であってもよい。言うまでもないが、本発明に係る一実施形態において、警告サービス500は、ADVの一部であってもよい。つまり、ADVは、クライアントとサーバーの役割を兼ね備える可能である。ADVは、警告を受信するクライアント端であると同時に、警告サービスが搭載されるサーバーとして他のADVへ緊急車両が付近にあることを通知することもでき、これにより、警告サービスを幾つかのADVに分散して搭載することができる。本発明に係る他の実施形態において、警告サービス300は、サーバー103に搭載される中央サービスであり、警告を生成してADVへ該警告を通知することが可能である。本発明の一実施形態において、警告サービス500は、車両情報受信部501、警告領域特定部503、警告生成部505及び警告ブロードキャスト部507を備える。車両情報受信部501は、緊急車両やADV等の車両から位置及び/又はルート情報を受信し、警告領域特定部503は、緊急車両の位置及び/又はルートに基づいて警告領域を特定し、警告生成部505は、緊急時にADV付近に緊急車両があることを警告する警告を生成することができる。警告ブロードキャスト部507は、ADVが緊急軌跡を適宜計画することができるために、ADV付近に緊急車両がある警告をブロードキャストすることが可能である。
【0054】
図6A〜
図6Bは、本発明の実施形態に係る警告サービスの構成を示すブロック図である。
図6Aに示すように、警告サービス500は、無線ネットワークを介してADV及び/又は緊急車両に通信可能に接続される。警告サービス500は、サーバー103の中央サーバーに搭載されるサービスであってもよく、ADV101のような他のADVに搭載されてもよい。
図6Bに示すように、警告サービス500は、無線ネットワークを介してADVや、緊急制御センター606のような第3者サプライヤーに通信可能に接続される。第3者サプライヤーは、緊急車両の位置及び/又はルート情報にアクセスして緊急車両の位置及び/又はルート情報を警告サービス500に提供する。
【0055】
図7A〜
図7Dは、本発明の実施形態に係る緊急車両のルート情報に基づく各警告領域を示すブロック図である。
図7A〜
図7Dに示すように、緊急車両(例えば、派遣車両701)及びADV702〜704は、交差点700付近に位置する通行車両である。交差点700としては、4つの迂回路に分岐され、且つ交通方向における4つの迂回路同士が隔離ゾーンや道端によって隔離されてもよい。
【0056】
図7Aを参照すると、一実施形態において、警告サービス(図に示さず)は、無線ネットワークを介してADV702〜704及び派遣車両701に通信可能に接続される。ADV702〜704は、ネットワークを介して周期的に現在位置及び/又はルート情報を警告サービスに送信する。派遣車両701は、緊急モード状態(例えば、アラーム音やランプがオンである状態)であってもよく、緊急モード状態でなくてもよい。この場合、派遣車両701が交差点700に近接するとき緊急モードに変わることにつれて、派遣車両701は、位置情報及びインジケータ情報を直接又は第3者サプライヤーを介して警告サービスに送信することで、既に緊急モードの「ON(オン)」状態に変更したこと通知する。派遣車両701の位置情報や、道路の交差点と付近道路セグメントの地図情報(例えば、隔離ゾーンと道端の構成)に基づき、警告サービスは、路面状況を分析して派遣車両701周辺のADVが路傍に移動すべきか、又は派遣車両701を回避すべき一つ又は複数の警告領域(例えば、警告領域741〜747)を特定する。ADV702〜704の位置及び/又はルート情報を周期的に受信することで、警告サービス500は、ADVのうちのいずれか一つが警告領域の所定接近範囲内に進入しようとしているか、又は現在そこに位置するかを確定する。ADV702〜704が一つ又は複数の警告領域の所定接近範囲内に進入しようとしているか、又は現在位置していることが確定されたことに応答して、警告サービスは、ADV702〜704が路傍に移動し、又は向かってくる車両を回避するように、「緊急回避」の警告信号をADV702〜704にブロードキャストすることにより、ADV702〜704を路傍に移動させ、又は向かってくる車両をADV702〜704に回避させるようにする。そして、ADV702〜704は、各ADVが現在占用する車道に応じて、又は安全性を確保できるように、軌跡を生成して、ADVが左側又は右側へ移動するよう制御する。一実施形態において、ADV702〜704のそれぞれが、ADV702〜704が警告信号を既に受信したことを示す受信信号で応答ことができる。
【0057】
他の実施形態において、警告サービスは、派遣車両701から位置情報を持続的に受信する。警告サービスは、更新された派遣車両701の位置情報に基づいて一つ又は複数の更新された警告領域を算出し特定する。更新された警告領域に基づき、警告サービスは、何か新たなADVが警告領域に位置するか、又は進入しようとしているか否かを確定する。別のADVが警告領域に位置し、又は進入しようとしていることが確定されたことに応答して、警告サービスは、当該別のADVに対して、路傍に移動し又は派遣車両701を含む向かってくる任意の車両を回避するように警告する。
【0058】
他の実施形態において、ADV702〜704は、速度とルート情報を警告サービスに送信する。車両走行速度や車両走行方向等のADVの速度とルート情報に基づき、警告サービスは、道路セグメントの構成を参考して一つ又は複数の警告領域の長さを延長又は縮小させ、ADV702〜704が現在これらの警告領域に位置し、又は進入しようとしていることを判定する。
【0059】
他の実施形態において、警告サービスは、緊急モードが「OFF(オフ)」とされた派遣車両701からインジケータを受信する。この場合、警告サービスは、派遣車両701に関連する警告領域を更新し、又は単に関連警告領域を削除する。ADV702〜704が警告領域に位置しなくなる可能性があるため、警告サービスは、ADV702〜704に「復帰」の警告信号をブロードキャストして、ADV702〜704が正常運転に復帰するようにする。一実施形態において、ADV702〜704の夫々が何れもADV702〜704が既に警告信号を受信したことを示す受信信号で応答することができる。
【0060】
別の他の実施形態によると、警告サービスは、派遣車両の現在位置に基づいて警告領域を簡単に特定し、且つ警告サービスを注文したか、及び/又は警告領域の所定接近範囲内に位置してる車両に対して、警告領域に関連する情報をブロードキャストすることができる。周辺車両は、警告領域に基づき、更に該時点における各自の運転状況に応じて次の操作(例えば、直行、左回りや右回り、Uターン等)を決定する。なお、警告サービスは、更に周辺車両へ派遣車両の現在位置を簡単且つ周期的にブロードキャストすることができる。周辺車両は、派遣車両の移動状況を追跡し、該追跡に基づいて派遣車両の方向と速度を確定することができる。そして、周辺車両は、警告領域を特定し、該警告領域に応じて次の操作を決定することができる。本発明において別の手段を用いて上記機能を実現することもできる。
【0061】
図7Bを参照すると、この場合に、派遣車両701は、緊急モードとされ、位置情報、ルート情報、及びその緊急状況とされたことを示すインジケータを警告サービスに送信する。ルート情報に基づき、警告サービスは、派遣車両が交差点700で直進する行進方向にあることを確定した。派遣車両701のルート情報と位置情報に基づき、警告サービスは、派遣車両701に関連する警告領域として、警告領域711〜717を特定することができる。この場合、警告サービスは、警告領域に基づいて「緊急回避」の警告信号をADV703にブロードキャストすることにより、ADV703を路傍に移動させ、又は向かってくる車両をADV703に回避させるようにする。
【0062】
図7Cを参照すると、この場合に、派遣車両701は、緊急モードとされ、位置情報、ルート情報、及びその緊急状況とされたことを示すインジケータを警告サービスに送信する。ルート情報に基づき、警告サービスは、派遣車両が交差点700で左回りをする行進方向を持つことを確定した。派遣車両701のルート情報と位置情報に基づき、警告サービスは、派遣車両701に関連する警告領域として警告領域721〜727を特定することができる。警告領域721〜727に基づき、警告サービスは、緊急回避信号をADV702にブロードキャストし、ADV702を路傍に移動させ、又は向かってくる車両をADV702に回避させるようにする。
【0063】
図7Dを参照すると、この場合では、派遣車両701は、緊急モードとされ、位置情報、ルート情報、及びその緊急状況とされたことを示すインジケータを警告サービスに送信する。ルート情報に基づき、警告サービスは、派遣車両が交差点700で右回りをする行進方向を持つことを確定した。派遣車両701のルート情報と位置情報に基づき、警告サービスは、派遣車両701に関連する警告領域として、警告領域731〜737を特定することができる。警告領域731〜737に基づき、警告サービスは、緊急回避信号をADV704にブロードキャストし、ADV704を路傍に移動させ、又は向かってくる車両をADV704に回避させるようにする。
【0064】
図7B〜
図7Dに示すように、派遣車両701が緊急状況から解除されると、派遣車両701は、緊急状況から解除されたことを示すインジケータ信号を警告サービスに送信する。そして、警告サービスは、警告領域を更新又は削除し、且つ復帰信号を警告領域に位置するADV又は警告サービスから警告信号を受信した任意のADVに「復帰」の警告信号をブロードキャストして、ADVを正常運転に復帰させるようにする。
【0065】
図8は、本発明の一実施形態に係るADVにより実行される方法を示すフローチャート図である。プロセス800は、処理ロジックによって実行されることが可能であり、前記処理ロジックとして、ソフトウェア、ハードウェア又はこれらの組み合わせを含むことができる。例えば、
図3Aに示す警告モジュール308を利用してプロセス800を実行することができる。
図8に示すように、フレーム801において、処理ロジックはネットワークを利用してADVの現在位置(及び/又はルート)情報を警告サービスに送信し、警告サービスは複数のADVに通信可能に接続される。フレーム802において、処理ロジックは、警告サービスから、ADVが警告領域に位置し又は進入しようとしていることを確定したブロードキャストされた警告信号を受信し、警告領域の位置は、走行優先度の比較的高い派遣車両の位置(及び/又はルート)情報に基づいて特定される。フレーム803において、ブロードキャスト警告信号を受信したことに応答して、警告領域に基づいてADVの現在状態(例えば、加速・減速、曲がり又は停止状態)と現在位置を検出し、更に1組のルールに則ってADVが追い越すか、路傍に移動するか、又は警告領域を回避するかを決定する。幾つかの実施形態において、ADVが警告領域の先に走行している場合、ADVは該警告領域を通過すべき、ADVが警告領域内に位置している場合、ADVは路傍に移動すべき、ADVが警告領域の後に走行している場合、ADVは該警告領域を回避すべきである。フレーム804において、処理ロジックは、検出に基づいて、警告領域をナビゲートするようにADVを制御するための軌跡を生成する。
【0066】
一実施形態において、処理ロジックは、警告サービスから、第2ブロードキャスト警告信号を受信する。第2ブロードキャスト警告信号を受信したことに応答して、処理ロジックは、ADVを正常に運転するように制御する。本発明の一実施形態において、緊急車両は、パトロールカー、消防車、救急車及び警察用オートバイのうち何れか一つである。
【0067】
一実施形態において、警告サービスが警告信号をADVにブロードキャストするかどうかを決定するために、処理ロジックは、更にADVの現在速度情報と現在ルート情報を警告サービスに送信する。一実施形態において、ADVが回避状態に制御されることは、ADVが緊急車両を含む向かってくる車両を回避することを含む。他の実施形態において、ADVが向かってくる車両を回避することは、ADVが現在道路の左側又は右側に向かって減速するに先立って信号を発信することや、ADVが現在道路の左側又は右側に向かって減速するとともに現在道路の左側又は右側で停車して次の命令を待つことを含む。
【0068】
一実施形態において、ADVが現在交差点に位置している場合、処理ロジックは、ADVが減速するに先立って信号を発信してADVを交差点から離れるように制御する。一実施形態において、警告領域は、一つ又は複数の道路セグメントを含み、警告サービスが始動されると、警告信号を前記一つ又は2つ以上の道路セグメントに位置するADVに送信する。
【0069】
図9は、一実施形態に係る警告サービスの実行方法を示すフローチャート図である。プロセス900は、処理ロジックによって実行され、前記処理ロジックとしてソフトウェア、ハードウェア又はこれらの組み合わせを利用することができる。例えば、
図1に示す警告サービス125や
図3Aに示す警告サービス309を利用してプロセス900を実行することができる。
図9に示すように、フレーム901において、処理ロジックは1つまたは複数の緊急車両から現在位置情報を受信し、前記緊急車両は道路上で比較的高い走行優先度を有する。フレーム902において、処理ロジックは、一つまたは複数の緊急車両のための位置情報に基づいて一つ又は複数の警告領域を特定する。フレーム903において、処理ロジックは、一つまたは複数のADVから現在位置情報を受信する。フレーム904において、処理ロジックは、ADVの現在位置情報に基づいてADVのうちのいずれか一つが一つ又は複数の警告領域の所定接近範囲内に進入しようとしているか、又は現在そこに位置していることを確定する。フレーム905において、ADVが一つ又は複数の警告領域の所定接近範囲内に進入しようとしているか、又は現在そこに位置していることが確定されたことに応答して、処理ロジックは、警告信号をADVにブロードキャストする。
【0070】
一実施形態において、処理ロジックは、一つまたは複数の緊急車両から更新された位置情報を受信する。処理ロジックは、一つまたは複数の緊急車両の更新された位置情報に基づいて一つ又は複数の更新された警告領域を特定する。処理ロジックは、ADVから更新されたの現在位置情報を受信する。処理ロジックは、ADVの更新されたの現在位置情報に基づいてADVのうちのいずれか一つが一つ又は複数の更新された警告領域の所定接近範囲から離れようとするか、又は既に離れたかを確定する。ADVが一つ又は複数の更新された警告領域の所定接近範囲から離れようとするか、又は既に離れたことが確定されたことに応答して、処理ロジックは、第2ブロードキャスト警告信号をADVにブロードキャストする。
【0071】
他の実施形態において、処理ロジックは、更に一つまたは複数の緊急車両から速度情報やルート情報を受信する。他の実施形態において、一つまたは複数の緊急車両の速度やルート情報に基づいて警告領域を特定する。
【0072】
他の実施形態において、緊急車両に対応する警告領域を下記方法で特定する。すなわち、緊急車両の現在行進方向と現在方向を特定し、緊急車両の現在行進方向と現在方向に基づいて複数の実行可能な車両制御を特定し、並びに地図上で複数の実行可能な車両制御に基づく道路セグメントを緊急車両が予定期間後に到達する可能位置と標記し、前記道路セグメントが警告領域として使用される。他の実施形態において、処理ロジックは、更に前記道路セグメントを所定の長さだけ延長させ、且つ延長された道路セグメントを警告領域とする。
【0073】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はそれらの組み合わせで実現されることが可能である。例えば、このような構成要素は、永続的記憶装置にインストールされるとともに記憶されるソフトウェアとして実現されてもよく、前記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ(図示せず)によってメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタルシグナルプロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、前記実行可能なコードは、アプリケーションからの対応するドライバー及び/又はオペレーティングシステムを介してアクセスすることができる。また、このような構成要素は、ソフトウェア構成要素が一つ以上の特定の命令によってアクセス可能な命令セットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【0074】
図10は、本発明の一実施形態と共に使用可能なデータ処理システムの一例を示すブロック図である。例えば、システム1500は、前記プロセス又は方法のいずれかを実行する前記データ処理システムのいずれか(例えば、
図1の感知・計画システム110、又はサーバ103〜104のいずれか)を表すことができる。システム1500は、いくつかの異なる構成要素を含んでもよい。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることが可能であり、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることが可能である。
【0075】
なお、システム1500は、コンピュータシステムのいくつかの構成要素の高レベルビューを示すことを意図している。しかしながら、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能であると理解すべきである。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はそれらの組み合わせを表すことができる。また、単一の機械又はシステムのみが示されたが、「機械」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で一つ(又は複数)の命令セットを実行する機械又はシステムのいずれかの組み合わせも含まれると解釈されるべきである。
【0076】
一実施形態では、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、装置1505〜1508とを含む。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ1501は、複雑命令セットコンピューティング(CISC)マイクロプロセッサ、縮小命令セットコンピューティング(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、又はその他の命令セットを実行するプロセッサ、又は命令セットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は更に、例えば、特定用途向け集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又は命令を処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
【0077】
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、前記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書で説明される動作及びステップを実行するための命令を実行するように構成される。システム1500は、更に所望によるグラフィックサブシステム1504と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ、及び/又は表示装置を含むことができる。
【0078】
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶(又はメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501又はその他の任意の装置により実行される命令シーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、ベーシックインプット/アウトプットシステム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされ、プロセッサ1501により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【0079】
システム1500は、更に、ネットワークインターフェース装置1505、所望による入力装置1506、及びその他の所望によるI/O装置1507を含む装置1505〜1508のようなI/O装置を含むことができる。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含むことができる。前記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球測位システム(GPS)送受信機)、又はその他の無線周波数(RF)送受信機、又はそれらの組み合わせであってもよい。NICは、イーサネット(登録商標)カードであってもよい。
【0080】
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面弾性波の技術を含むが、それらに限定されない)のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
【0081】
I/O装置1507は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロフォンを含んでもよい。その他のI/O装置1507は、更に、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCI−PCIブリッジ)、センサ(例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど)、又はそれらの組み合わせを含むことができる。装置1507は、更に結像処理サブシステム(例えば、カメラ)を含むことができ、前記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム1500の具体的な配置又は設計により、組込みコントローラ(図示せず)により制御されることができる。
【0082】
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続的記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることができる。様々な実施形態において、より薄くてより軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、前記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【0083】
記憶装置1508は、コンピュータアクセス可能な記憶媒体1509(機械可読記憶媒体又はコンピュータ可読記憶媒体ともいう)を含むことができ、前記コンピュータアクセス可能な記憶媒体1509には、本明細書で記載されたいずれか一種以上の方法又は機能を具現化する一つ以上の命令セット又はソフトウェア(例えば、モジュール、ユニット、及び/又はロジック1528)が記憶されている。処理モジュール/ユニット/ロジック1528は、例えば、
図3Aにおける警告モジュール308と警告サービス309のような、前記構成要素のいずれかを表すことができる。処理モジュール/ユニット/ロジック1528は、更に、データ処理システム1500、メモリ1503、及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、更に、ネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
【0084】
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、前記一つ以上の命令セットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。「コンピュータ可読記憶媒体」という用語は、更に、命令セットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、前記命令セットは機械により実行され、本発明のいずれか一種以上の方法を前記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、それらに限定されないと解釈されるものとする。
【0085】
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に統合されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。また、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【0086】
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本発明の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び/又はその他のデータ処理システムも、本発明の実施形態と共に使用することができることを理解されたい。
【0087】
前記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
【0088】
しかしながら、念頭に置くべきことは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきことは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子式計算装置の動作又はプロセスを指し、前記コンピュータシステム又は電子式計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、前記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換する。
【0089】
本発明の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
【0090】
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されることができる。前記プロセス又は方法は、以上で特定の順序に応じて説明されたが、前記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【0091】
本発明の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきことは、本明細書に記載の本発明の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【0092】
前記明細書において、本発明の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本発明のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。