(57)【要約】【課題】ナビゲーションの効率を向上させる。【解決手段】プロセッサによって実行される方法であって、複数の道路上の複数の車線を識別し、複数の車線それぞれの交通量に基づいて、複数の車線における複数の車線群を決定し、複数の車線それぞれの交通量に基づいて、複数の車線群のそれぞれについて車線群レベルの交通量を推定し、クライアントデバイスの位置と目的地の位置とを特定し、クライアントデバイスの位置と目的地との間の経路を、複数の道路を用い、複数の車線群のそれぞれについての車線群レベルの交通量に基づいて最適化し、最適化された経路に基づいてクライアントデバイスに経路案内を提供する方法である。【選択図】図１
2019184583.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサによって実行される方法であって、
複数の道路上の複数の車線を識別し、
前記複数の車線それぞれの交通量に基づいて、前記複数の車線における複数の車線群を決定し、
前記複数の車線それぞれの交通量に基づいて、前記複数の車線群のそれぞれについて車線群レベルの交通量を推定し、
クライアントデバイスの位置と目的地の位置とを特定し、
前記クライアントデバイスの位置と前記目的地との間の経路を、複数の道路を用い、前記複数の車線群のそれぞれについての前記車線群レベルの交通量に基づいて最適化し、
前記最適化された経路に基づいて前記クライアントデバイスに経路案内を提供する、
方法。
【請求項２】
前記複数の車線群は、１つ又は複数の固定車線群及び１つ又は複数の一時的な車線群を含む、
請求項１に記載の方法。
【請求項３】
前記複数の固定車線群を、前記複数の車線において隣り合う車線間の車線レベルの平均速度に基づいて決定する、
請求項２に記載の方法。
【請求項４】
前記複数の車線内の１つ又は複数の一時的な車線群を、車線レベルの交通状況の変化と、前記複数の車線において隣り合う車線間の車線レベルの平均速度と、に基づいて決定する、
請求項２又は３に記載の方法。
【請求項５】
前記複数の車線それぞれのリアルタイムの車線レベルの平均速度と道路の長さとを用いて、前記複数の車線それぞれの現在の車線レベルの移動時間を推定し、
前記複数の車線それぞれの現在の移動時間に基づいて、前記複数の車線群のそれぞれについて前記車線群レベルの交通量を推定する、
請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記複数の車線群のうちの第１の車線群におけるそれぞれの車線に関する車線情報を組み合わせて前記複数の車線群それぞれについての前記車線群レベルの交通量を決定し、
前記車線情報は、現在の車線レベルの移動時間及び予測された車線レベルの移動時間を含む、
請求項５に記載の方法。
【請求項７】
過去の車線レベルの交通量情報を機械学習アルゴリズムに適用して予測モデルを生成し、
前記現在の車線レベルの移動時間を前記予測モデルの初期状態として入力して、前記予測された車線レベルの移動時間を決定する、
請求項６に記載の方法。
【請求項８】
前記複数の車線群のうちの少なくとも２つを組み合わせて、前記クライアントデバイスの位置と前記目的地との間のパスを生成することによって、前記クライアントデバイスの位置と前記目的地との間の経路を決定する、
請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記最適化された経路は、総移動時間が低減する車線を示す経路設定を含む、
請求項８に記載の方法。
【請求項１０】
リアルタイムの車線群レベルの移動時間及び予測された車線群レベルの移動時間に基づいて、前記経路設定を生成する、
請求項９に記載の方法。
【請求項１１】
プロセッサと、
非一時的な記憶装置と、
ナビゲーションアプリケーションと、
を備えるシステムであって、
前記ナビゲーションアプリケーションは、
複数の道路上の複数の車線を識別し、
前記複数の車線それぞれの交通量に基づいて、前記複数の車線における複数の車線群を決定し、
前記複数の車線それぞれの交通量に基づいて、前記複数の車線群のそれぞれについて車線群レベルの交通量を推定し、
クライアントデバイスの位置と目的地の位置とを特定し、
前記クライアントデバイスの位置と前記目的地との間の経路を、複数の道路を用い、前記複数の車線群のそれぞれについての前記車線群レベルの交通量に基づいて最適化し、
前記最適化された経路に基づいて前記クライアントデバイスに経路案内を提供する、
システム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願への相互参照）
本出願は、「DYNAMIC LANE-LEVEL VEHICLE NAVIGATION WITH LANE GROUP IDENTIFICATION」と題し、２０１８年４月１０日に出願された米国特許出願第１５／９５０，０３５号の優先権を主張する。これらの特許出願は、その全体が参照によって本願明細書に援用される。
【０００２】
本開示は、予定経路による移動時間を推定するナビゲーションシステムに関する。詳細には、本明細書は、車線群の交通量（traffic）を用いて推定移動時間の精度を向上させ
るナビゲーションシステムに関する。
【背景技術】
【０００３】
ユーザは、移動の間、有用な情報を提供してくれるコンピューティングデバイスのナビゲーションシステムにますます頼るようになっている。しかし、既存のシステムは一般に、標準の経路又は道路のみを考慮に入れ、車線レベルのナビゲーション又は交通量を一般に考慮に入れていない。
【０００４】
道路網によっては、様々な起点と目的地の対に対する車両需要、及び網全体に散在する交通信号機により、車両列、車両遅延及び平均速度などの、異なる車線における交通状況は、同じ道路区間でも非常に異なり得る。しかし、現在のナビゲーションシステムは、これらの変化に十分に対処できていない。
【０００５】
一部の既存のナビゲーションシステムでは車線選択が用いられている。例えば、このようなナビゲーションシステムは、Ｒａｂｅ，Ｊ．、Ｎｅｃｋｅｒ，Ｍ．及びＳｔｉｌｌｅｒ，Ｃの「Ｅｃｏ−ｌａｎｅ  ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  ｌａｎｅ−ｌｅｖｅｌ  ｎａｖｉｇａｔｉｏｎ  ｉｎ  ｕｒｂａｎ  ｓｃｅｎａｒｉｏｓ」、ＩＥＥＥ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｖｅｈｉｃｌｅｓ  Ｓｙｍｐｏｓｉｕｍ、８９６〜９０１頁、２０１６年と、米国特許第９，６５６，６７３号とに開示されている。しかし、これらの既存のシステムは、例えば、車線レベルのデータを用いて経路を生成することよりも、むしろ、運転者が経路効率を入力する助けとなることだけを考慮に入れている。
【０００６】
車両ナビゲーションを開示している特許公開の１つに、米国特許出願公開第２０１４０２７８０５２（Ａ１）号（‘０５２）がある。‘０５２では、道路レベルのオプティマイザ及び車線レベルのオプティマイザを使用している。‘０５２では、ごく狭い範囲の交通シミュレーションを適用して、交通の流れにおける個々の車両をモデル化し、車線レベルの交通状況を捕捉する。‘０５２では、リアルタイムの交通状況に基づいて交通状況を予測するためにごく狭い範囲の交通シミュレーションを適用し、シミュレーションで得られた道路レベルの移動時間を利用してターゲット車両の候補パスを決定し、次に、その候補パスに応じた推奨する車線を探す。しかし、車線レベルの交通状況はごく狭い範囲内のシミュレーションによって推定されるので、実際の運転の動きは正確に表現されておらず、そのオペレーション実際の道路網へと拡張できない。
【０００７】
さらに‘０５２では、車線群を考慮することなく交通状況に基づいて車両経路及び車線を探し、その結果、過度の車線変更の動作が生じる。このような過剰な車線変更は、潜在的な事故の危険を増大させるだけでなく、さらなる道路渋滞を引き起こし、道路網及び車両の効率を低下させる。さらには、頻繁に車線変更することにより、移動中の運転の快適さが減少し得る。
【０００８】
他のナビゲーションシステムが、Ｔｉａｎ，Ｄ．及びＷｕ，Ｇ．の「Ｃｏｎｎｅｃｔｉｖｉｔｙ  ｂａｓｅｄ  ｏｐｔｉｍａｌ  ｌａｎｅ  ｓｅｌｅｃｔｉｏｎ  ａｓｓｉｓｔａｎｃｅ  ｓｙｓｔｅｍｓ」、ＣＰＰ  Ｃｒｅａｔｅｖｅ  Ａｃｔｉｖｉｔｉｅｓ  ａｎｄ  Ｒｅｓｅａｒｃｈ  ｓｙｍｐｏｓｉｕｍ、カリフォルニア州立工科大学ポモナ校、２０１６年（Ｔｉａｎ）に開示されている。Ｔｉａｎでは、運転者が最適な車線レベルの経路を探すことを補助して運転者の移動時間を低減するための車線選択支援システムを開発している。Ｔｉａｎでは、車線レベルの交通状態を予測して、個々の車両に最適な経路及び車線を計画する。しかしながら、Ｔｉａｎの予測方法は、主要道路網まで伸びていない連続した高速道路区間にしか適用できず、そのためこの方法は、実際のナビゲーションシステムに広く適用されることが制限される。加えて、この方法のシンプルさ故に、この方法では、合流車線などの限定された高速道路区間における相違する個々の車両の動きを捕捉することができない。さらに、Ｔｉａｎでは車線群を考慮していなく、それによって、上記の‘０５２に関して述べたのと同様に不必要な車線変更が生じる。
【０００９】
したがって、単に車線レベルの交通データを使用するだけでは、車線レベルの案内による効率的なナビゲーションには不十分である。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１１−２３７３２９号公報
【非特許文献】
【００１１】
【非特許文献１】Ｒａｂｅ，Ｊ．，Ｎｅｃｋｅｒ，Ｍ．及びＳｔｉｌｌｅｒ，Ｃの「Ｅｃｏ−ｌａｎｅ  ｅｓｔｉｍａｔｉｏｎ  ｆｏｒ  ｌａｎｅ−ｌｅｖｅｌ  ｎａｖｉｇａｔｉｏｎ  ｉｎ  ｕｒｂａｎ  ｓｃｅｎａｒｉｏｓ」、ＩＥＥＥ知的車両シンポジウム、８９６〜９０１頁、２０１６年
【非特許文献２】Ｔｉａｎ，Ｄ．及びＷｕ，Ｇ．の「Ｃｏｎｎｅｃｔｉｖｉｔｙ  ｂａｓｅｄ  ｏｐｔｉｍａｌ  ｌａｎｅ  ｓｅｌｅｃｔｉｏｎ  ａｓｓｉｓｔａｎｃｅ  ｓｙｓｔｅｍｓ」、ＣＰＰ創作活動及び研究シンポジウム、カリフォルニア州立工科大学ポモナ校、２０１６年（Ｔｉａｎ）
【発明の概要】
【００１２】
上記の手法の制限事項に対処することが望ましい。
【００１３】
本システムは従来技術の欠陥を、車線群識別によって車両ナビゲーションを実現する技術によって克服する。一実施態様では、本システムは、本システムに組み込まれたソフトウェア、ファームウェア、ハードウェア、又はこれらの組み合わせを含み、これらにより、動作時にシステムが、例えば、プロセッサ、非一時的記憶装置、及びプロセッサによって実行される命令を用いて、動作を行うようになる。一実施態様によれば、この動作は、プロセッサが、複数の道路上の複数の車線を識別することと、複数の車線における複数の車線群を、当該複数の車線上の交通量を示す交通データに基づいて決定することと、複数の車線上の交通量に基づいて、複数の車線群の車線群レベルの交通量を推定することと、クライアントデバイスのクライアントデバイス位置及び目的地の位置を特定することと、クライアントデバイス位置と目的地の間の経路を、複数の道路を用い、複数の車線群の車線群レベルの交通量に基づいて最適化することと、最適化経路に基づいてクライアントデバイスに経路案内を提供することと、を含む。
【００１４】
実施態様は、以下の特徴の１つ以上を含んでもよい。複数の車線内の複数の車線群は、１つ又は複数の固定車線群及び１つ又は複数の一時的な車線群を含む、コンピュータが実
施する方法。複数の車線内の複数の車線群を決定することは、複数の車線内の１つ又は複数の固定車線群を、当該複数の車線において隣り合う車線間の車線レベルの平均速度に基づいて決定することを含む、コンピュータが実施する方法。複数の車線内の複数の車線群を決定することは、当該複数の車線内の１つ又は複数の一時的な車線群を、車線レベルの交通状況の変化と、当該複数の車線において隣り合う車線間の車線レベルの平均速度と、に基づいて決定することを含む、コンピュータが実施する方法。複数の車線群の車線群レベルの交通量を推定することは、リアルタイムの車線レベルの平均速度及び道路の長さを用いて、当該複数の車線の現在の車線レベルの移動時間を推定することを含み、当該車線群レベルの交通量は当該現在の車線レベルの移動時間に基づく、コンピュータが実施する方法。複数の車線群の車線群レベルの交通量を推定することは、複数の車線群のうちの特定の車線群における車線レベルの情報を組み合わせて車線群レベルの交通量を決定することを含み、当該車線レベルの情報は現在の車線レベルの移動時間及び予測された車線レベルの移動時間を含む、コンピュータが実施する方法。複数の車線群の車線群レベルの交通量を推定することは、プロセッサが、過去の車線レベルの交通量情報を機械学習アルゴリズムに適用して予測モデルを生成することと、現在の車線レベルの移動時間を予測モデルの初期状態として入力して、予測される車線レベルの移動時間を決定することと、を含む、コンピュータが実施する方法。クライアントデバイス位置と目的地の間の経路を最適化することは、複数の車線群のうちの少なくとも２つを組み合わせてクライアントデバイス位置と目的地の間のパスを生成することによって、クライアントデバイスの位置と目的地の間の経路を決定することを含む、コンピュータが実施する方法。最適化経路は、どの車線を使用するとその経路の総移動時間が低減するかを示す車線レベルの経路設定を含む、コンピュータが実施する方法。クライアントデバイスの位置と目的地の間の経路を最適化することは、リアルタイムの車線群移動時間及び予測された車線群移動時間に基づいて車線レベルの経路設定を生成するステップを含む、コンピュータで実施される方法。
【００１５】
本発明の態様の一つは、プロセッサによって実行される方法である。当該方法は、複数の道路上の複数の車線を識別し、当該複数の車線それぞれの交通量に基づいて、当該複数の車線における複数の車線群を決定し、当該複数の車線それぞれの交通量に基づいて、当該複数の車線群のそれぞれについて車線群レベルの交通量を推定し、クライアントデバイスの位置と目的地の位置とを特定し、クライアントデバイスの位置と目的地との間の経路を、複数の道路を用い、当該複数の車線群のそれぞれについての車線群レベルの交通量に基づいて最適化し、最適化された経路に基づいてクライアントデバイスに経路案内を提供することを含む。
【００１６】
本発明の態様の一つでは、当該複数の車線群は、１つ又は複数の固定車線群及び１つ又は複数の一時的な車線群を含んでもよい。また、複数の固定車線群を、当該複数の車線において隣り合う車線間の車線レベルの平均速度に基づいて決定するようにしてもよい。また、当該複数の車線内の１つ又は複数の一時的な車線群を、車線レベルの交通状況の変化と、当該複数の車線において隣り合う車線間の車線レベルの平均速度と、に基づいて決定するようにしてもよい。
【００１７】
本発明の態様の一つでは、複数の車線それぞれのリアルタイムの車線レベルの平均速度と道路の長さとを用いて、当該複数の車線それぞれの現在の車線レベルの移動時間を推定し、当該複数の車線それぞれの現在の移動時間に基づいて、当該複数の車線群のそれぞれについて車線群レベルの交通量を推定するようにしてもよい。また、当該複数の車線群のうちの第１の車線群におけるそれぞれの車線に関する車線情報を組み合わせて当該複数の車線群それぞれについての車線群レベルの交通量を決定し、車線情報は、現在の車線レベルの移動時間及び車線レベルの予測移動時間を含むようにしてもよい。また、過去の車線レベルの交通量情報を機械学習アルゴリズムに適用して予測モデルを生成し、現在の車線レベルの移動時間を予測モデルの初期状態として入力して、車線レベルの予測移動時間を
決定するようにしてもよい。
【００１８】
本発明の態様の一つでは、当該複数の車線群のうちの少なくとも２つを組み合わせて、クライアントデバイスの位置と目的地との間のパスを生成することによって、クライアントデバイスの位置と目的地との間の経路を決定するようにしてもよい。また、最適化された経路は、総移動時間が低減する車線を示す経路設定を含むようにしてもよい。また、リアルタイムの車線群レベルの移動時間及び予測された車線群レベルの移動時間に基づいて、経路設定を生成するようにしてもよい。
【００１９】
また、本発明の他の態様の一つは、プロセッサと、非一時的な記憶装置と、ナビゲーションアプリケーションと、を備えるシステムである。当該ナビゲーションアプリケーションは、複数の道路上の複数の車線を識別し、当該複数の車線それぞれの交通量に基づいて、当該複数の車線における複数の車線群を決定し、複数の車線それぞれの交通量に基づいて、複数の車線群のそれぞれについて車線群レベルの交通量を推定し、クライアントデバイスの位置と目的地の位置とを特定し、クライアントデバイスの位置と目的地との間の経路を、複数の道路を用い、当該複数の車線群のそれぞれについての車線群レベルの交通量に基づいて最適化し、最適化された経路に基づいてクライアントデバイスに経路案内を提供する。
【００２０】
本明細書は、背景技術の問題に対処するための革新的な技術を開示する。この技術の一実施態様では、車線レベルでのリアルタイム及び過去の交通量を考慮することによって、不必要な車線変更を低減することによって車両及び道路網の効率を向上させつつ、精度を向上させることができる。これら及び他の利点について、以下でさらに詳細に説明される。
【００２１】
本発明は、添付の図面の図で、限定的にではなく例示的に説明される。図では、類似の要素を指す場合には同様の参照数字が用いられる。
【図面の簡単な説明】
【００２２】
【図１】車線群識別を用いた例示的な動的車両ナビゲーションシステムを示すブロック図である。
【図２】ナビゲーションアプリケーションを含む例示的なコンピュータ装置を示すブロック図である。
【図３】車線群識別を用いたナビゲーション経路の生成の例示的な方法のフロー図である。
【図４Ａ】車線群の決定の例示的な方法のフロー図である。
【図４Ｂ】車線群レベルの交通量に基づく車線群交通量の推定と、経路の最適化の例示的な方法のフロー図である。
【図５Ａ】車線群を含む例示的な道路の図である。
【図５Ｂ】車線群を含む例示的な道路の図である。
【発明を実施するための形態】
【００２３】
道路の合流地点による影響を考慮したナビゲーション経路を生成するための技術が以下で説明される。この技術により、例えば、移動遅延が最小となり且つ移動時間及び到着時間の確実性が高くなるような、起点から目的地までの最適な経路及び車線を提示してナビゲートすることによって個々の車両を支援する、動的車両ナビゲーションシステムを開発する。一実施態様では、道路網レベルの渋滞を最小限に、及び／又は個々の車両に及ぼす渋滞の影響を最小限にするために、この技術により車線の群を識別し、各車両について、道路区間と各道路区間に関連付けられた車線とのパスを検索する（例えば、車線又は車線群レベルで）。なお、“車線レベルで”や“車線レベルの”と表現される場合の“車線レ
ベル”という場合には、例えば、対象とする単位が車線であることを示す。“車線群レベルで”や“車線群レベルの”という場合には、例えば、対象とする単位が車線群であることを示す。
【００２４】
この技術の一実施態様では、車線群（すなわち、車線のグループ）レベルの情報を利用して最適な（例えば、交通量が最も少ない可能性がある）経路、及び経路内の車線を決定する。例えば、この技術により車線のグループを識別し、グループ内の交通量を推定し、推定された交通量に基づいて車線又は車線群レベルの経路を生成又は最適化してもよい。
【００２５】
この技術はさらに、背景技術で論じられた問題の具体的な解決策を提供する。例えば、この技術は、計算精度を改善し、推定される経路及び移動時間の不確実性を低減し、且つ、道路網と個々の車両の効率とを改善しながら、同一の道路区間での車線の異なる交通量レベル及び移動時間を認識し用いることができる、車線レベルの動的ナビゲーションシステムを含む。例えば、この技術の実施態様では、同一の車線群内の異なる車線の均衡を考慮し、交通量予測モデルを導入して車線群の移動時間を推定してもよい。これらの処理によって、移動時間の推定の精度を向上させ、個々の車両の経路選択の移動時間の不確実性を低減させてもよい。
【００２６】
さらに、以前のナビゲーションシステムと比較して、本明細書に記載された技術は、他の車両に対する車線変更の影響を最小限にして車両事故の危険を低減するために、不必要な車線変更を防止する。車線変更を、車線群に基づいて管理することもまた、車両をナビゲートする効率（計算又は別の効率）を向上させるので有益である。例えば、自動運転車は、（例えば、自動経路案内に基づいて）車両が車線を変更するごとにかなりの計算リソースを消費することがあり、このことが、例えば、車両の走行可能距離を低減させること、及び他の安全ベースのタスクから計算リソースを再割り当てすることがあり得る。
【００２７】
さらに、本明細書に記載された技術の実施態様は、高速道路と主要道路の両方に拡張してもよく、また、相当数の道路及び曲がり角のある大規模な道路網及び道路経路への拡張性があることに留意されたい。例えば、この技術の実施態様は、車線減少によるボトルネック地点、合流車線、分岐車線、及び織り込み区間などの限定された高速道路区間の独特の車両の動きを捕捉してもよい。
【００２８】
図に関連して、参照番号は、説明されている図にその参照番号が示されているかどうかにかかわらず、いずれかの図に見出される構成要素を指すために使用されてもよい。さらに、参照番号が複数の類似している構成要素のうちの１つを指す文字を含む場合（例えば、構成要素０００ａ、０００ｂ、及び０００ｎ）、この参照番号は、類似している構成要素の１つ又は全部を指すために、その文字なしで使用されることがある。
【００２９】
図１は、車線群識別を用いた動的車両ナビゲーションシステム１００の１つの例示的な実施態様を示すブロック図である。図示のシステム１００は、ネットワーク１０２を介して通信接続された、ナビゲーションサーバ１０４、データサーバ１０６、モバイルコンピューティングシステム１０８、及び、クライアントデバイス１１０を含むが、追加の構成要素が使用されても、使用される構成要素がもっと少なくてもよいことに留意されたい。
【００３０】
ナビゲーションアプリケーション１１２は、システム１００の構成要素１０４、１０６、１０８、及び１１０のうちの１つ以上で動作可能であってもよい。例えば、ナビゲーションアプリケーション１１２ａのインスタンスはナビゲーションサーバ１０４で動作可能であってもよいし、ナビゲーションアプリケーション１１２ｂのインスタンスはクライアントデバイス１１０ａ．．．１１０ｎで動作可能であってもよいし、ナビゲーションアプリケーション１１２ｃのインスタンスはモバイルコンピューティングシステム１０８で動
作可能であってもよく、又は、場合によって、ナビゲーションアプリケーション１１２は、システム１００の２つ以上の構成要素の間で分散されてもよい。
【００３１】
ナビゲーションアプリケーション１１２は、経路を決定するように実行可能な論理、及び本明細書に記載された動作を実行する論理を含んでもよい。一実施態様では、ナビゲーションアプリケーション１１２は、モバイルコンピューティングシステム１０８、クライアントデバイス１１０又はユーザと関連した位置データを取り込む。ナビゲーションアプリケーション１１２は、本明細書に記載されているように、ナビゲーションサーバ１０４及び／又はデータサーバ１０６（例えば、マッピングアプリケーション１１６、リアルタイム交通モジュール１１８など）から情報を取り込んで、その動作を実行してもよい。例えば、位置データは地図上の地理的な位置を示す。ナビゲーションアプリケーション１１２の例示的な構成要素は、図２を参照して後ほど詳細に説明される。
【００３２】
ナビゲーションアプリケーション１１２は、目的地に到着するための、移動遅延が最小で移動時間の不確実性が小さい最適な経路及び車線を決定してもよい。例えば、ナビゲーションアプリケーション１１２は車線群を識別し、道路、道路区間及び／又は車線の最適リストを用いてパスを検索し、特定の車両のために各道路区間と関連付けられた最適な車線を決定してもよい。
【００３３】
ナビゲーションアプリケーション１１２の一実施態様では、渋滞領域を回避し、道路区間をより適切に利用するための道路網の助けになるように、道路網内の車両を動的に再ルーティングする。例えば、システム１００は、変化する交通状況に適合するために、経路案内中に、経路、及び推定移動時間／推定到着時刻を再計算してもよい。これらの再計算を通じて、上述の利点がさらに増える。
【００３４】
ネットワーク１０２は従来のタイプの有線及び／又は無線でもよく、スター構成、トークンリング構成、又は他の構成を含む多数の異なる構成を有してもよい。例えば、ネットワーク１０２は、１つ又は複数のローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）（例えば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、公衆ネットワーク、プライベートネットワーク、仮想ネットワーク、仮想プライベートネットワーク、ピアツーピアネットワーク、近接場ネットワーク（例えば、ブルートゥース（登録商標）、ＮＦＣなど）、車両ネットワーク、及び／又は複数のデバイスが通信可能な他の相互接続データ経路を含んでもよい。
【００３５】
ネットワーク１０２はまた、様々な異なる通信プロトコルでデータを送出するための遠隔通信ネットワークに接続されても、又はその一部分を含んでもよい。例示的なプロトコルには、それだけには限らないが、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアハイパーテキスト転送プロトコル（ＨＴＴＰＳ）、ｄｙｎａｍｉｃ  ａｄａｐｔｉｖｅ  ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ（ＤＡＳＨ）、リアルタイムストリーミングプロトコル（ＲＴＳＰ）、リアルタイムトランスポートプロトコル（ＲＴＰ）及びリアルタイムトランスポート制御プロトコル（ＲＴＣＰ）、ボイスオーバーインターネットプロトコル（ＶＯＩＰ）、ファイル転送プロトコル（ＦＴＰ）、ウェブソケット（ＷＳ）、無線アクセスプロトコル（ＷＡＰ）、様々なメッセージングプロトコル（ＳＭＳ、ＭＭＳ、ＸＭＳ、ＩＭＡＰ、ＳＭＴＰ、ＰＯＰ、ＷｅｂＤＡＶなど）、又は他の適切なプロトコルが含まれる。一実施形態では、ネットワーク１０２は、ＤＳＲＣ（専用狭域通信）、ＷＡＶＥ、８０２．１１ｐ、３Ｇ、４Ｇ、５Ｇ＋ネットワーク、ＷｉＦｉ（商標）、衛星ネットワーク、車両間（Ｖ２Ｖ）ネットワーク、車両対インフラストラクチャ／インフラストラクチャ対車両（Ｖ２Ｉ／Ｉ２Ｖ）ネットワーク、又は任意の他の無線ネットワークなどの接続を使用する無線ネット
ワークである。図１では、ナビゲーションサーバ１０４、クライアントデバイス１１０、モバイルコンピューティングシステム１０８及びデータサーバ１０６に接続された１つのネットワーク１０２が示されるが、実際には１つ又は複数のネットワーク１０２がこれらの、及び他のエンティティに接続され得る。
【００３６】
ナビゲーションサーバ１０４は、プロセッサ、メモリ及びネットワーク通信機能を含むハードウェア又は仮想サーバとすることができる。一実施態様では、ナビゲーションサーバ１０４は、データサーバ１０６、クライアントデバイス１１０ａ．．．１１０ｎ、及びモバイルコンピューティングシステム１０８のうちの１つ以上との間でデータを送受信する。ナビゲーションサーバ１０４は記憶装置１３２を含んでもよく、記憶装置１３２は、ユーザ、経路（例えば、新しい経路及び過去の経路）、車線、車線群、地図などのデータを含んでもよい。
【００３７】
一実施態様では、クライアントデバイス１１０ａ．．．１１０ｎは、ナビゲーションサーバ１０４、データサーバ１０６、又はモバイルコンピューティングシステム１０８のうちの１つ以上との間でデータを送受信する。クライアントデバイス１１０は、メモリ及びプロセッサを含むコンピューティングデバイスであり、例えば、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、携帯情報端末、スマートウォッチ、又は他のコンピューティングデバイスである。一実施態様では、クライアントデバイス１１０ａは、オンラインサービス（例えば、ナビゲーションサーバ１０４）にアクセスするためのブラウザと、ユーザ、経路、交差点、車線、車線群、地図、位置情報などのデータを記憶する記憶装置１４４とを含む。一実施態様では、図２に関連して説明されるように、クライアントデバイス１１０は、全地球測位システム（ＧＰＳ）受信機、ＷｉＦｉ無線機、セルラ無線機、又は、他の、クライアントデバイス１１０の位置を決定するためのデバイスなどの、位置特定機能を備えてもよい。
【００３８】
場合によっては、ナビゲーションアプリケーション１１２は、クライアントデバイス１１０に格納されるシンクライアントアプリケーションとしての一部、及び、ナビゲーションサーバ１０４に格納される構成要素としての一部の機能を果たす。例えば、ナビゲーションサーバ１０４は、ユーザデータを記憶装置１３２に記憶してもよいし、ユーザの車線及び／又は車線群レベルの経路を推定してもよい。
【００３９】
一実施態様では、モバイルコンピューティングシステム１０８は、ナビゲーションサーバ１０４、データサーバ１０６、及びクライアントデバイス１１０のうちの１つ以上との間でデータを送受信する。モバイルコンピューティングシステム１０８は、メモリ及びプロセッサを含む任意のコンピューティングデバイスである。一実施態様では、モバイルコンピューティングシステム１０８は、非一時的コンピュータ電子装置（例えば、プロセッサ、メモリ、又は非一時的コンピュータ電子装置の任意の組み合わせ）を有する任意の車両、又は任意の他のモバイルシステムを含んでもよい。例としては、自動車、飛行機、船、トラック、人工移植組織、ロボット、個人輸送デバイス、商用輸送デバイスなどが含まれる。一実施態様では、モバイルコンピューティングシステム１０８は、ユーザ、経路、交差点、車線、車線群、地図などの登録データを記憶する記憶装置１４２を含む。一実施態様では、図２に関連して説明されるように、モバイルコンピューティングシステム１０８は、ＧＰＳ受信機、ＷｉＦｉ無線機、セルラ無線機、又は他の、モバイルコンピューティングシステム１０８の位置を決定するためのデバイスなどの、位置特定機能を含んでもよい。
【００４０】
データサーバ１０６は、例えば、マッピングアプリケーション１１６、リアルタイム交通モジュール１１８、地図記憶装置１３４、過去の道路交通データ１３６、及び道路地理データ１３８を含んでもよい。図示の実施態様では、データサーバ１０６はネットワーク
１０２に接続され、このネットワークを介してシステム１００の他の構成要素と通信してもよい。一実施態様では、マッピングアプリケーション１１６は、ナビゲーションアプリケーション１１２から地図の要求を受け取る。例えば、ナビゲーションアプリケーション１１２は、１つ又は複数の道路、道路区間、車線、車線群などを記載する地図を要求する。一実施態様では、マッピングアプリケーション１１６は、地図を記述する地図データを地図記憶装置１３４から取り込み、その地図データをナビゲーションアプリケーション１１２へ送信する。他の一部の実施態様では、マッピングアプリケーション１１６は、ナビゲーションに関連する追加的な又は異なる情報を生成する。例えば、ナビゲーションに関連する情報は、それだけには限らないが、リアルタイムの交通更新、工事更新、事故情報などを含んでもよい。
【００４１】
リアルタイム交通モジュール１１８は、リアルタイム交通データを集め、場合によっては、リアルタイム交通データの要求を満たす、ソフトウェア及びルーチンを含んでもよい。例えば、リアルタイム交通モジュール１１８は、モバイルコンピューティングシステム１０８、クライアントデバイス１１０、交通カメラ、交通センサ、又は他のリアルタイムデータ収集デバイスからのデータを集め、例えば、ナビゲーションアプリケーション１１２による要求に応じて、リアルタイムデータをナビゲーションアプリケーション１１２へ供給してもよい。リアルタイムには、待ち時間、処理、転送時間などによる特定の遅延が含まれてよいことに留意されたい。
【００４２】
一実施態様では、地図記憶装置１３４は、道路の位置（例えば、ＧＰＳ）、相互接続部、形状などの、地図データを含んでもよい。地図データは、道路区間、道路合流点、車線、車線群、交通信号機の位置などの識別情報を含んでもよい。
【００４３】
一実施態様では、過去の道路交通データ１３６は、時刻に依存した及び／又は単位時間当たりの平均の、移動者、又は車両の数を示す交通データを含んでもよい。過去の道路交通データ１３６は、モバイルコンピューティングシステム１０８、クライアントデバイス１１０、交通カメラ、又は他の交通監視デバイスからのデータを集めることによって収集することができる。
【００４４】
一実施態様では、道路地理データ１３８は、例えば、道路の形状、幅、長さなどを表すデータを含んでもよい。例えば、道路地理データ１３８は、道路又は車線が合流するか、分岐するか、交差点で出会うか、又は曲がるかどうか、及びどのようにしてそうするかを含んでもよい。場合によっては、道路地理データ１３８は、道路区間とその道路区間内の車線との間のマッピングなど、道路区間と車線及び／又は車線群との間の接続路の識別情報を含んでもよい。
【００４５】
次に図２を参照すると、ナビゲーションアプリケーション１１２の一例がより詳細に示されている。図２は、一実施態様に係るコンピューティングデバイス２００のブロック図であり、このデバイスは、ナビゲーションアプリケーション１１２、プロセッサ２３２、メモリ２３４、入出力装置２３６、記憶装置２３８、及び、通信ユニット２４０を含む。コンピューティングデバイス２００の構成要素は、バス２２０によって通信接続されている。コンピューティングデバイス２００は、実施態様によっては、ナビゲーションサーバ１０４、クライアントデバイス１１０、又はモバイルコンピューティングシステム１０８を表し得る。
【００４６】
プロセッサ２３２は、計算を実行するための、及び、場合によっては電子表示信号を表示デバイスに供給するための、論理演算ユニット、マイクロプロセッサ、汎用コントローラ、又は、他のプロセッサアレイを含んでもよい。プロセッサ２３２は、他の構成要素と通信するためにバス２２０に接続されている。プロセッサ２３２はデータ信号を処理し、
複雑命令セットコンピュータ（ＣＩＳＣ）アーキテクチャ、縮小命令セットコンピュータ（ＲＩＳＣ）アーキテクチャ、又は命令セットの組み合わせを実施するアーキテクチャを含む、様々なコンピューティングアーキテクチャを含んでもよい。図２は単一のプロセッサ２３２を示すが、複数のプロセッサ２３２が含まれてもよい。他のプロセッサ、オペレーティングシステム、センサ、表示装置及び物理的構成でも実施可能である。
【００４７】
メモリ２３４は、プロセッサ２３２によって実行できる命令及び／又はデータを記憶してもよい。メモリ２３４は、他の構成要素との通信のためにバス２２０に接続されてもよい。命令及び／又はデータは、本明細書に記載された技術を実行するためのコードを含んでもよい。メモリ２３４は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ又は他のメモリデバイスであってもよい。一実施態様では、メモリ２３４はまた、不揮発性メモリ又は同様の恒久的記憶装置と、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、又はより恒久的に情報を記憶するための他の大量記憶装置を含む媒体と、を含む。
【００４８】
通信ユニット２４０は、ナビゲーションアプリケーション１１２との間でデータを送受信する。通信ユニット２４０は、バス２２０に接続されてもよい。一実施態様では、通信ユニット２４０は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、ブルートゥース（登録商標）、又は他の適切な無線通信方法を含む１つ又は複数の無線通信方法を使用してコンピューティングデバイス２００の他の構成要素又は他の通信チャネルとデータを交換するための無線トランシーバを含む。
【００４９】
一実施態様では、通信ユニット２４０は、ショートメッセージングサービス（ＳＭＳ）、マルチメディアメッセージングサービス（ＭＭＳ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、直接データ接続、ＷＡＰ、電子メール、又は他の適切なタイプの電子通信によるものを含むセルラ通信ネットワークを介してデータを送受信する、セルラ通信トランシーバを含む。一実施態様では、通信ユニット２４０は有線ポート及び無線トランシーバを含む。通信ユニット２４０は、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ及びＳＭＴＰなどを含む標準ネットワークプロトコルを使用してファイル及び／又はメディアオブジェクトを配布するためのネットワーク１０２への、他の従来の接続も行う。
【００５０】
記憶装置２３８は、本明細書に記載された機能を提供するためのデータを記憶する非一時的メモリとすることができる。記憶装置２３８は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）デバイス、スタティックランダムアクセスメモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、又は他のメモリデバイスとしてもよい。一実施態様では、記憶装置２３８はまた、不揮発性メモリ又は同様の恒久的記憶装置と、ハードディスクドライブ、フロッピーディスクドライブ、ＣＤ−ＲＯＭデバイス、ＤＶＤ−ＲＯＭデバイス、ＤＶＤ−ＲＡＭデバイス、ＤＶＤ−ＲＷデバイス、フラッシュメモリデバイス、又はより恒久的に情報を記憶するための他の大量記憶装置を含む媒体とを含む。
【００５１】
図示の実施態様では、記憶装置２３８はバス２２０に通信可能に接続されている。一実施態様では、記憶装置２３８は経路データ、地図データ、又は他の、例えば１３２、１４２、又は１４４に関連して説明されるデータを含む。例えば、記憶装置２３８は、本明細書に記載された機能を提供するための他のデータを記憶してもよい。
【００５２】
入出力装置２３６は、入力を受ける、及び／又は、出力を提供するハードウェアである。例えば、入出力装置２３６は、音声（例えば、経路に対応する音声命令）を生成するためのスピーカ、音声（例えば、ユーザからのフィードバック）を記録するためのマイクロ
フォン、及び他の加速度計のようなセンサ又はフィードバックデバイスを含んでもよい。任意選択で、入出力装置２３６は、１つ又は複数のアナログ−デジタル又はデジタル−アナログコンバータ、及び／又は、音声処理を容易にするための１つ又は複数のデジタル信号プロセッサを含んでもよい。これらの入出力装置２３６は、プロセッサ２３２及びメモリ２３４との通信のためにバス２２０に接続される。電力システム制御をしやすくするために、及び、低速度のあまり重要でないタスクによるメインプロセッサ２３２の負担を軽減するために、任意選択でマイクロコントローラが入出力装置２３６の一部として追加されてもよい。
【００５３】
図示されていないが、コンピューティングデバイス２００は、その位置を決定するための１つ又は複数のデバイスを含んでもよい。例えば、コンピューティングデバイス２００は、ＧＰＳ受信機、ＷｉＦｉ無線機、セルラ無線機、又は、他の、コンピューティングデバイス２００の現在の位置を決定できるデバイス、又は決定するように構成されたデバイスを含んでもよい。
【００５４】
図２に示された図示の実施態様では、ナビゲーションアプリケーション１１２は、経路最適化エンジン２０２、車線群識別器２０４、車線群状態推定器２０６、及び／又は、ユーザインターフェースモジュール２１０を含む。一実施態様では、ナビゲーションアプリケーション１１２の構成要素は、バス２２０を介して通信接続されてもよい。一実施形態では、ナビゲーションアプリケーション１１２、経路最適化エンジン２０２、車線群識別器２０４、車線群状態推定器２０６、及び／又はユーザインターフェースモジュール２１０は、１つ又は複数のプロセッサ、及び／又はコンピューティングデバイスによって実行可能なソフトウェアを使用して、それだけには限らないが、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアを使用して、及び／又は、ハードウェアとソフトウェアなどの組み合わせを使用して、実現されてもよい。
【００５５】
経路最適化エンジン２０２は、データサーバ１０６に地図データ及び経路データを要求するように実行可能なソフトウェア及び／又はハードウェア論理を備えてもよい。一実施態様では、経路最適化エンジン２０２は、経路を生成又は最適化する、データサーバ１０６に地図データ及び経路データを要求するなどの、以下で説明される機能を提供するようにプロセッサ２３２によって実行可能な命令のセットとすることができる。
【００５６】
一実施態様では、経路最適化エンジン２０２は、地図に対する要求を生成し、当該地図に対する要求をデータサーバ１０６へ送信する。例えば、経路最適化エンジン２０２は、カリフォルニア州のサンノゼ地域を含む地図に対する要求を生成してもよい。地図データは、例えば、サンノゼの複数の高速道路及び交差点、ユーザが移動した過去の経路、地図を記述する地理的位置（例えば、ＧＰＳ）データ、道路区間及び道路合流点、車線、車線群、及びデータサーバ１０６からの他のデータを含み得る。経路最適化エンジン２０２は、この情報の一部又は全部をナビゲーションアプリケーション１１２又はシステム１００の他の構成要素から受け取ってもよいし、又は、代替としてこのようにしてもよい。
【００５７】
車線群識別器２０４は、例えば、車線の群を識別するためのソフトウェア及び／又はハードウェア論理を備えてもよい。一実施態様では、車線群識別器２０４は、車線群を固定又は一時的なものとして区別してもよい。車線群識別器２０４の機能については、例えば図３〜４Ｂに関連して以下でさらに詳細に説明される。
【００５８】
車線群状態推定器２０６は、以下でさらに詳細に説明されるように、例えば、車線及び／又は車線群の交通量を予測するためのソフトウェア及び／又はハードウェア論理を備えてもよい。例えば、車線群状態推定器２０６は、特定の車線群の交通量、及び、車線群識
別器２０４から入力されるデータに基づいて、車線群レベルの交通量を推定してもよい。
【００５９】
車線群状態推定器２０６は、道路合流点を通過するための時間、又は、例えば、経路中の道路合流点においてその経路に追加で要する時間に及ぼす交通量の影響を決定してもよい。一実施態様では、車線群状態推定器２０６は、左折、直進、及び右折の動きのときの各遅延を、車両の経路移動時間の推定の際にこれらの遅延を別々に評価するために、及び、場合によっては、当該経路から、時間を消費する特定の動きを除くために、区別してもよい。
【００６０】
ユーザインターフェースモジュール２１０は、経路の有用な情報をユーザに対して表示するためのユーザインターフェースを生成するためのソフトウェア及び／又はハードウェア論理を備えてもよい。一実施態様では、ユーザインターフェースモジュール２１０は、経路の有用な情報をユーザに表示するユーザインターフェースを生成するための、以下で説明される機能を提供するようにプロセッサ２３２によって実行可能な命令のセットとすることができる。他の実施態様では、ユーザインターフェースモジュール２１０は、コンピューティングデバイス２００のメモリ２３４に格納することができ、プロセッサ２３２によってアクセス可能であり実行可能であることができる。いずれの実施態様でも、ユーザインターフェースモジュール２１０は、プロセッサ２３２、及び、コンピューティングデバイス２００の他の構成要素と協働し通信するように適合させることができる。
【００６１】
一実施態様では、ユーザインターフェースモジュール２１０は経路最適化エンジン２０２から命令を受け取って、計算された経路、移動時間、到着推定時間などに関する情報を表示するためのユーザインターフェースを生成する。この情報はまた、経路沿いの観光名所及び公共施設の情報を含んでもよい。他の例では、当該情報はまた、経路又は経路中の車線の一部に関連する交通遅延情報及び道路閉鎖情報も含む。一実施態様では、ユーザインターフェースモジュール２１０は、有用な情報を含むユーザインターフェースデータをクライアントデバイス１１０又はモバイルコンピューティングシステム１０８へ送信して、クライアントデバイス１１０又はモバイルコンピューティングシステム１０８が、有用な情報を含むユーザインターフェースをユーザに表示すようにする。
【００６２】
図３は、車線群識別を用いてナビゲーション経路を生成する方法３００の実施態様のフロー図である。例えば、システム１００は、使用され得る車線群を車線群レベルの交通データとともに決定して、起点と目的地の間の経路を最適化する。
【００６３】
３０２では、ナビゲーションアプリケーション１１２は、１つ又は複数の道路の複数の道路車線を識別する。一実施態様では、ナビゲーションアプリケーション１１２は、道路網内の道路についての道路属性を含む地図データをデータサーバ１０６から取り込み、その道路属性に基づいて各道路に対応する車線を決定してもよい。場合によっては、属性は、道路区間に対する車線のマッピングを含んでもよい。場合によっては、ナビゲーションアプリケーション１１２は、地理データ、交通量情報、車両位置及び遠隔測定データなどを使用して、地図中の道路の車線を動的に識別してもよい。
【００６４】
３０４では、ナビゲーションアプリケーション１１２は、複数の道路車線の交通量を示す交通データに基づいて、複数の道路車線内の複数の車線群を決定する。例えば、ナビゲーションアプリケーション１１２は、道路形状、道路上の車両の過去の車線レベルの平均速度、又は、リアルタイムの車線レベルの平均速度、又は他の要素に基づいて車線群を決定してもよい。場合によっては、複数の車線群は、固定車線群又は一時的な車線群を含んでもよい。車線群を決定するための例示的な操作は、図４Ａの４０６及び４１４に関連してさらに詳細に説明される。
【００６５】
３０６では、ナビゲーションアプリケーション１１２は、複数の道路車線の交通量に基づいて、複数の車線群についての車線群レベルの交通量を推定する。一実施態様では、車線群レベルの交通量を推定することは、特定の車線（例えば、交差点などの道路上の２つの地点の間）における車両の現在の移動時間を、リアルタイムの車線レベルの平均速度及び道路の長さ（例えば、道路上の２つの地点又は交差点の間）を用いて推定することを含む。車線群レベルの交通量は、現在の車線レベルの移動時間で表されてもよいし、これを含んでもよい。車線群レベルの交通量を推定する例示的な操作は、図４Ｂの４１６に関連してさらに詳細に説明される。
【００６６】
３０８では、ナビゲーションアプリケーション１１２は、クライアントデバイス１１０のクライアントデバイス位置（又は、例えば、ユーザインターフェースモジュール２１０への他の起点の入力）及び目的地の位置を識別する。例えば、ナビゲーションアプリケーション１１２は、ＧＰＳ、セルラネットワーク三角測量などに基づいたクライアントデバイス１１０の位置を受信してもよい。同様に、ナビゲーションアプリケーション１１２は、実施態様によっては、目的地の位置をユーザから入力として受信してもよい。図３〜図４Ｂではクライアントデバイス１１０について言及されているが、モバイルコンピューティングシステム１０８もまた使用されてもよいこと、又は別法として使用されてもよいことに留意されたい。
【００６７】
３１０では、ナビゲーションアプリケーション１１２は、クライアントデバイスの位置と目的地との間の経路を、複数の道路によって、例えば、３０６において推定された複数の車線群の車線群レベルの交通量に基づいて、最適化する。一実施態様では、経路を最適化することは、車線群を組み合わせて（例えば、端と端をつなげて、又は交差点で接続されて）第１と第２の位置の間にパスを形成することを含む。
【００６８】
一実施態様では、最適化経路は、道路を通過する総移動時間を低減するにはその経路を通ってナビゲートしている車両がどの車線又は車線群を使用すべきかを示す、車線レベル又は車線群レベルの経路設定を含んでもよい。例えば、車線レベルの経路設定（例えば、ナビゲーション中にどの車線又は車線の群を使用するかの経路設定）は、リアルタイムの車線群移動時間及び予測された車線群移動時間に基づいて生成されてもよい。
【００６９】
一実施態様では、ナビゲーションアプリケーション１１２は、クライアントデバイスの位置と目的地との間の経路の組み合わせを、地図データ、車線レベル又は車線群レベルの移動時間、又は他のデータの１つ以上を用いて決定してもよい。例えば、ナビゲーションアプリケーション１１２は、クライアントデバイス１１０の位置と目的地の位置とを接続するために車線群の中から選択してもよいし、例えば、距離が最短である、及び／又は、総移動時間が最短である経路を選択してもよい。
【００７０】
一実施態様では、ナビゲーションアプリケーション１１２は、総移動時間を用いて経路の組から選択された特定の経路に対し、どこで曲がるかの指示などの経路案内データを決定してもよい。一実施態様では、ナビゲーションアプリケーション１１２は、場合によって、どの車線を使用すべきか、及びその総移動時間又は推定到着時間を含めて、可能な経路を示すためのインターフェースをユーザに提供してもよい。ナビゲーションアプリケーション１１２は、特定の経路を選択するユーザからの入力を受信してもよい。
【００７１】
一実施態様では、ナビゲーションアプリケーション１１２は、総移動時間及びいくつかの経路特徴について記憶されたユーザの傾向に基づいて、経路の組から特定の経路（例えば、車線レベルでも車線群レベルでもよい）を選択してもよい。例えば、ナビゲーションアプリケーション１１２は、総移動時間及び／又はユーザの傾向に基づいて、自動的に特定の経路を選択してもよいし、経路の組をランク付けしてもよい。例えば、ナビゲーショ
ンアプリケーション１１２は、ユーザが、総移動時間が最短の経路を選択する傾向がある（例えば、ユーザから明確に提示された、又は、以前のユーザとの対話からナビゲーションアプリケーション１１２によって学習された）と判定した場合には、ナビゲーションアプリケーション１１２は、総移動時間が最短である経路及び車線を自動的に選択するようにしてもよい。一実施態様では、例えば、有料道路を避ける傾向があるなど、ユーザの傾向は、他の条件を示してもよく、この場合には、ナビゲーションアプリケーション１１２は、有料道路を含む経路を自動的に除外してもよい（又は、有料道路を使用する経路を全く計算しなくてもよい）。
【００７２】
経路を最適化するための例示的な動作は、図４Ｂの４２０〜４２８などに関連して、本明細書の他のところで説明されている。
【００７３】
３１２で、ナビゲーションアプリケーション１１２は、クライアントデバイス１１０に経路案内を最適化経路に基づいて提供してもよい。一実施態様では、経路案内は、移動中にリアルタイムでポイントごとにクライアントデバイス１１０に指示を提供してもよい。場合によっては、指示は、本明細書に記載された技術に基づいて、どこで車線変更するか、及び、どの車線に変更するか、を道路上の決められた地点において指示してもよい。
【００７４】
一実施態様では、ナビゲーションアプリケーション１１２は、経路案内中に経路及び／又は移動時間を再計算してもよい。例えば、特定の経路についての経路案内を経路案内データに基づいてクライアントデバイスに提供することは、クライアントデバイスが特定の経路を通行中に、当該特定の経路をクライアントデバイスの第２の位置に基づいて周期的に修正することを含んでもよい。例えば、運転者又はシステムが指定した頻度に基づいて、ナビゲーションアプリケーション１１２は、通行中に、現在のクライアントデバイス１１０の位置を判定し、移動時間を再計算し、経路及び／又は車線を再計算してもよい。
【００７５】
図４Ａは、車線群を決定することを含む方法の一例である方法４００のフロー図である。一実施態様では、車線群は２つ、すなわち、固定車線群と一時的な車線群とに識別される。
【００７６】
４０２では、車線群識別器２０４は、（例えば、データサーバ１０６の道路地理データ１３８から）道路の形状及び構造を受信し、４０４では、車線群識別器２０４は、（例えば、データサーバ１０６の過去の道路交通データ１３６からの）過去の車線レベルの平均速度を受信する。一実施態様では、車線群識別器２０４はまた、以下で説明されるように、車線レベルの交通量予測も受信、及び／又は生成してもよい。図４Ａには示されていないが、固定車線群の識別のために、４１０及び４１２それぞれにおいて受信されたリアルタイムの車線レベルの平均速度と道路工事及び衝突事故のデータも用いられてもよいし、又は、代替として使用されてもよいことに留意されたい。
【００７７】
４０６では、車線群識別器２０４は固定車線群を決定する。例えば、複数の道路車線内の複数の車線群を決定することは、複数の道路車線において、隣り合う車線における車線レベルの平均速度に基づいて、１つ又は複数の固定車線群を決定することを含んでもよい。例えば、固定車線の車両の平均速度は道路の他の車線と異なり得るからである。
【００７８】
一実施態様では、固定車線群は、道路の交通状態が瞬間的に異なる車線群として定義されてもよい。固定車線は、道路の形状及び道路網の構造によって決定されてもよい。例えば、道路が高速道路を含む場合には、固定車線は、通常の車線とは交通量及び移動時間が常に異なる相乗り車両（ＨＯＶ）車線、相乗り専用（ＨＯＴ）車線、汎用車線、トラック車線、又は他の車線であってもよい。場合によっては、固定車線は異なる種類の車両によって区別されることがあり、これらの車線の交通状況は通常の車線とは異なり得る。非高
速道路又は主要道路の例では、固定車線は左折、直進、右折の車線であるか、又は大部分の車両走行とは動きが異なる車両を含む他の車線であり得る。例えば、車線群識別器２０４は、固定車線の平均速度、量、列の長さが同一又は同様の道路の他の車線とはおそらく異なるので、固定車線を識別することができる。
【００７９】
加えて、又は別法として、固定車線は、道路の形状及び構造、車線レベルの平均速度などの過去の車線レベルの交通状況、などに基づいて決定されてもよく、この場合、１つ又は複数の車線における交通状況は、道路の他の車線とは常に異なる。例えば、高速道路の、オンランプ及び／又はオフランプに接続している１つ又は２つの最も右側の車線では、ピーク時中に非常に長い列となっていても、他の本線車線では交通が自由に流れていることがある。過去のデータにより、これらの車線における異なる交通状態を識別し、車線群を定義することができる。一時的な車線群は、リアルタイムでされた車線レベルの平均速度がさまざまである車線として定義される。１つ又は複数の車線の平均速度が他の車線と非常に異なる場合、当該車線は異なる車線群として定義されてもよい。この定義は、同一の道路に対して恒久的なものではなく、車線レベルの交通状況に基づいて時間とともに変わってもよいことに留意されたい。加えて、道路沿いの工事及び車両事故により車線が閉鎖されることがあり、それによって、隣接する車線の車両走行が遅くなる。これらの影響で車線群を再定義してもよい。
【００８０】
４１０及び４１２それぞれでは、車線群識別器２０４は、リアルタイムの車線レベルの平均速度と、道路工事及び衝突事故のデータと、を受信する。図４Ａには示されていないが、一時的な車線群識別の目的で、それぞれ、４０２及び４０４において受信された道路の形状及び構造と過去の車線レベルの平均速度とが同様に、又は別法として使用されてもよいことに留意されたい。
【００８１】
４１４で、車線群識別器２０４は一時的な車線群を決定する。一実施態様では、一時的とは固定車線ではない車線のことを意味する。一実施態様では、一時的な車線群は所与の期間、又はこれらの車線の交通又は他の状況が変化するまで、識別される（それによって、所与の車線群の車線間の類似性の閾値レベルが変化し、そのためこれらの車線は、もはや同じ群のものとして分類されないことになる）。
【００８２】
一実施態様では、複数の道路車線内の複数の車線群を決定することは、複数の道路車線において、車線レベルの交通状況の変化と、複数の道路車線の隣り合う車線間の車線レベルの平均速度とに基づいて、１つ又は複数の一時的な車線群を決定することを含んでもよい。
【００８３】
例えば、一時的な車線群を識別することは、隣り合う車線のリアルタイムの車線レベルの平均速度の類似性を判定すること、及び、これらの車線を同じ群に属するものとして分類すること（例えば、類似性の閾値レベルに基づいて）を含んでもよい。一実施態様では、一時的な車線群は、加えて、又は別法として、工事又は衝突事故などの道路状況に基づいて識別されてもよい。例えば、道路の左側の２つの車線が工事により閉鎖されている場合、これらの車線の交通量は互いに類似している可能性があり、したがって、同じ一時的な車線群のものとして分類されてもよい。
【００８４】
４０８では、車線群状態推定器２０６（又は、実施態様によっては車線群識別器２０４）は、その車線の車線レベルの交通量予測を判定する。車線群状態推定器２０６は、過去の車線レベルの平均速度及びリアルタイムの車線レベルの平均速度を受信する。場合によっては、車線群状態推定器２０６は、車線の過去とリアルタイムとの速度のうちの一方または両方を使用して、どれだけの交通量が車線にあるのかを評価してもよい。例えば、リアルタイムの速度が過去の速度よりも低い場合、車線群状態推定器２０６は、交通量レベ
ルが高いと判定してもよい。一実施態様では、車線群状態推定器２０６は、リアルタイムの速度とその車線の既知の速度限度とを比較して、その車線の交通量を決定してもよい。一実施態様では、車線レベルの交通量は、例えば、過去とリアルタイムとの平均車線レベルの速度の一方又は両方を車線の長さ（例えば、道路合流点／交差点間、２つの任意の地点間、固定長など）に適用することによって決定された車線レベルの移動時間を含んでもよい。
【００８５】
一実施態様では、複数の車線群の車線又は車線群レベルの交通量を推定することは、リアルタイムの車線レベルの平均速度及び道路の長さを用いて、複数の道路車線の現在の車線レベルの移動時間を推定することを含んでもよい。
【００８６】
一実施態様では、車線群状態推定器２０６は、今後の車線レベルの交通量を所与の時間における過去の車線レベルの平均速度に基づいて予測してもよく、この今後の車線レベルの交通量は、リアルタイムの車線レベルの平均速度が高いか低いかに基づいて調整されてもよい。例えば、通常よりも低いリアルタイムの車線レベルの平均速度は（例えば、その車線及び時間帯の過去の速度に基づいて、例えば交通渋滞を示す）、その車線における今後の交通量／速度の予測に影響を及ぼし得、それにより、予測される今後の車線レベルの速度もまた通常より低くなる。
【００８７】
一実施態様では、車線群状態推定器２０６は、過去の車線レベルの交通量情報を機械学習アルゴリズムに適用して予測モデルを生成し、次に、リアルタイムの車線レベルの移動時間を予測モデルの初期状態として入力して、予測される車線レベルの移動時間を決定することによって、車線群レベルの交通量を推定してもよい。
【００８８】
例えば、車線及び／又は車線群の状態（例えば、速度及び／又は交通量）の推定を達成するために、車線群状態推定器２０６はリアルタイムの車線レベルの平均速度を利用して、道路区間長に基づく現在の車線レベルの移動時間を推定してもよい。並行して（並行以外の実施態様も可能であるが）、車線群状態推定器２０６は、過去の車線レベルの平均速度情報を記憶するデータベース（例えば、１３２、１３４、１４２、又は１４４）と通信してもよい。過去の情報を利用して、機械学習アルゴリズム（例えば、人工ニューラルネットワーク）により交通パターンを分類してもよく、又は統計的時系列回帰予測モデルを較正してもよい。次に、リアルタイムの車線レベルの移動時間が、（例えば、過去の交通データを使用して）訓練された機械学習アルゴリズムの初期状態として、又は、今後の車線レベルの交通状況を予測する回帰モデルの初期状態として導入されてもよい。場合によっては、今後の車線レベル交通状況は、平均の速度及び量を含んでもよい。続いて、例えば、以下で４１８に関連して説明されるように、その車線レベルの情報が車線群に対して一般化されてもよい。
【００８９】
図４Ｂは、車線群レベルの交通量に基づいて、車線群交通量を推定すること、及び、経路を最適化することを含む方法の一例である方法４００のフロー図である。
【００９０】
４１６では、車線群状態推定器２０６は、複数の車線群のうちの特定の車線群における車線レベルの情報を組み合わせることによって、ある車線群についての車線群交通量を推定して車線群レベルの交通量を判定する。例えば、同じ車線群における車線レベルの情報が要約され、平均され、又は、組み合わされて、推定された現在の及び／又は予測された車線群移動時間などの車線群交通状態が推定されてもよい。
【００９１】
４１８では、車線群状態推定器２０６（又は実施態様によって、経路最適化エンジン２０２）は、現在の、及び／又は予測された車線群移動時間を決定してもよい。例えば、車線群状態推定器２０６は、推定車線群交通量（例えば、上で説明されたように、車線群に
おける平均速度を含んでよい）を使用し、これを車線群の長さに適用してもよい。例えば、車線群の長さは、実施態様に応じて、所与の単位（例えば、１マイル）、２つの地点（例えば、交差点、高速道路オンランプ又はオフランプなど）の間の距離、又は計算された経路に従って車両が移動してもよい道路の距離であってもよい。
【００９２】
４２０では、経路最適化エンジン２０２は、経路を決定するための１つ又は複数の位置を受信する。例えば、経路最適化エンジン２０２は、起点及び目的地の位置情報を受け取ってもよい。一実施態様では、起点は、例えば、上述のように、クライアントデバイス１１０の現在の地理的位置であってもよい。
【００９３】
４２２では、経路最適化エンジン２０２は、所定のユーザと関連付けられた傾向を示す、（例えば、ユーザによって明示的に入力されたか、それとも経路最適化エンジン２０２とのユーザの過去の対話から学習された）１つ又は複数のユーザの傾向を受信する。例えば、上述の図３において説明されたように、経路最適化エンジン２０２は、経路又は経路の組み合わせをユーザの傾向に合わせてカスタマイズしてもよい。
【００９４】
４２４では、経路最適化エンジン２０２は、上記で決定された車線群移動時間に基づいて経路を生成及び／又は最適化する。例えば、クライアントデバイス１１０の位置と目的地点の間の経路を最適化することは、複数の車線群のうちの少なくとも２つを組み合わせてクライアントデバイス位置と目的地の間のパスを生成することによって、クライアントデバイス１１０の位置と目的地の間の経路を決定することを含む。
【００９５】
一実施態様では、経路最適化エンジン２０２は、従来の経路計算技術における道路区間を車線群の区間（例えば、道路の距離）と置き換えて、クライアントデバイス１１０の位置と目的地の間の特定の（例えば、時間又は距離が最短の）パス又は経路を選択してもよい。
【００９６】
最適化経路は、どの車線を使用するとその経路の総移動時間が低減するかを示す、車線レベルの経路設定を含んでもよい。クライアントデバイス１１０の位置と目的地との間の経路を最適化することは、リアルタイムの車線群移動時間及び／又は予測された車線群移動時間に基づいて車線レベルの経路設定を生成することを含んでもよい。例えば、経路最適化エンジン２０２は、その車線群に基づく経路に沿って各車線群において選ばれるべき車線を決定して、道路網全体に対する車線変更の影響を最小限にするように、及び、潜在的な事故の危険を低減するように、移動中の車線変更の回数を最小限にしてもよい。
【００９７】
４２６では、経路最適化エンジン２０２は、（例えば、ユーザインターフェースモジュール２１０によって、）選択された経路を受信する。一実施態様では、最適の経路及び車線経路は、車線群のリアルタイムの及び予測された移動時間と、起点及び目的地と、ユーザの傾向と、に基づいて選択されてもよい。例えば、ユーザインターフェースモジュール２１０は、１つ又は複数の最適化経路に関する情報をユーザに対し出力してもよいし、経路の選択結果を受信してもよい。他の例では、経路最適化エンジン２０２は、ユーザの傾向に基づいて経路を自動的に選択してもよい。
【００９８】
４２８では、経路最適化エンジン２０２は、選択された経路に基づいて経路案内を作成してもよい。一実施態様では、選択された経路は最終的に車両を（例えば、ユーザ又は自動化車両システムに命令を与えることによって）、その目的地に最小移動時間で到達するように案内してもよいし、予測された車線群情報に基づいて案内してもよい。
【００９９】
一実施態様では、上述のように、経路最適化エンジン２０２は、個々の車両の起点をその現在の位置で更新して、経路案内中に車両の最適な経路を再計算してもよいことに留意
されたい。
【０１００】
図５Ａは、例示的な道路５０２（例えば、高速道路の一部分）の図５００ａを示す。図示のように、道路は、複数の車線５０４ａ〜５０４ｇと、道路を移動する複数の車両５０６とを含む。
【０１０１】
例示的な図５００ａでは、車線５０４ａ及び５０４ｂはＨＯＶ車線を表してもおり、したがって、本明細書に記載されたナビゲーションアプリケーション１１２によって固定車線と分類される。さらに、図示のように、２つのＨＯＶ車線５０４ａと５０４ｂとの交通量レベルは類似しており、したがって、これらは第１の車線群に分類される。
【０１０２】
車線５０４ｆ及び５０４ｇは、固定車線ではないものの障害を含んでおり、したがってナビゲーションアプリケーション１１２は、本明細書に記載された技術を用いて、これらの車線を一時的な車線として分類し、その類似している交通パターンに基づいて、これらを第２の車線群に分類する。
【０１０３】
車線５０４ｃ、５０４ｄ、及び５０４ｅもまた、類似している交通量のレベルを有し、したがって、ナビゲーションアプリケーション１１２はこれらの車線を、本明細書に記載された方法の目的のために第３の車線群に分類する。
【０１０４】
したがって、本明細書に記載された技術を用いて、ナビゲーションアプリケーション１１２は、例えば、第３の車線群（例えば、５０４ｃ、５０４ｄ、及び５０４ｅ）の車線のいずれかを使用することを示す案内を含めて、経路を生成する。ただし、ナビゲーションアプリケーション１１２は通常、同じ車線群内で車線を変更するように車両に命令しない。その命令が、車両の平均速度が改善されない不必要な車線変更をすることにしかならないからである。
【０１０５】
図５Ｂは、交差点５２８がある道路５２２の例示的な一部分の図５００ｂを示す。図示のように、道路５２２は、複数の車線５２４ａ〜５２４ｇと、道路５２２を移動する複数の車両５０６とを含む。
【０１０６】
例示的な図５００ｂでは、車線５２４ａ、５２４ｂ、５２４ｃは、その交通量が比較的一定しているので、ナビゲーションアプリケーション１１２によって固定車線と分類される。さらに、図示のように、車線５２４ａ、５２４ｂ、及び５２４ｃの交通量レベルは類似しているので、これらは交差点５２８の後で（例えば、左側で）第１の車線群に分類される。
【０１０７】
ナビゲーションアプリケーション１１２は、車線５２４ｆが一日中一定の交通パターンを有するので、それが固定であると決定する。又は、ナビゲーションアプリケーションは、本明細書の別のところで説明されたように、場合によっては、車線５２４ｆを一時的であるとみなしてもよい。図５Ｂに描写された例では、車線５２４は（例えば、５２４ｅ及び５２４ｇとは）異なる交通量を有することがあり、したがって、ナビゲーションアプリケーション１１２によって単独で１つの群とされてもよい。
【０１０８】
車線５２４ｅは、交通パターンが時間とともにかなり変化することがあるので、ナビゲーションアプリケーション１１２によって一時的な車線であるとみなされる。例えば、安全地帯５２６により、車線５２４ｄで左折する車両が多数あるとき、変更車線５２４ｄの車両走行は、車線５２４ｅの車両走行の流れを渋滞させることがある。別の時間には、変更車線５２４ｄで左折する車が少ないとき、車線５２４ｅは制限されずに流れることができる（及び、場合によって、例えば車線５２４ｆと一緒に分類されてもよい）。
【０１０９】
車線５２４ｇは、本明細書の他のところで説明されたように、その属性に応じて、一時的な車線であるとみなされてもよい。場合によっては、交差点５２８で右折する車により、車線５２４ｇの車両走行の流れは５２４ｆのものよりも遅いことがあり、したがって、例えば、上記で説明されたように、その交通パターンに応じて、５１４ｅ又は５２４ｆとは別の車線群であるとみなされてもよい。
【０１１０】
したがって、本明細書に記載された技術を用いて、ナビゲーションアプリケーション１１２は、交差点５２８の前及び後にどの車線又は車線群を用いるべきかを示す案内を含めて、経路を生成してもよい。
【０１１１】
以上の説明では、本明細書を十分に理解できるように、多くの具体的な詳細について説明した。しかしながら、これらの具体的な詳細無しでも実施可能であることは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。例えば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、上述の実施形態は、データおよびコマンドを受信可能な任意のタイプのコンピュータシステムおよび任意の周辺機器について適用できる。
【０１１２】
本明細書における「一実施形態」又は「ある実施形態」等という用語は、その実施形態と関連づけて説明される特定の特徴、構造、性質が少なくとも本明細書の一つの実施形態に含まれることを意味する。「一実施形態では」等という用語は本明細書内で複数用いられるが、これらは必ずしも同一の実施形態を示すものとは限らない。
【０１１３】
以上の詳細な説明の一部は、コンピュータメモリに記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において、及び、一般的に、アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必須ではないが、通常は、これらの量は記憶、伝送、結合、比較、およびその他の処理が可能な電気的又は磁気的信号の形式を取る。通例にしたがって、これらの信号をビット、値、要素、エレメント、シンボル、特徴、項、数値などとして称することが簡便である。
【０１１４】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。以下の説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判定」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタ又は同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【０１１５】
本明細書の実施形態は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えば、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学
式カード、ＵＳＢキーを含む不揮発性フラッシュメモリ、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。ただし、これらに限定されない。
【０１１６】
本明細書は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。ただし、これらに限定されない。
【０１１７】
さらに、ある実施形態は、コンピュータが利用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。明細書の目的によって、コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１１８】
プログラムコードを格納、実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接又は間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。入力／出力（Ｉ／Ｏ）装置（キーボード、ディスプレイ、ポインティング装置などを含み、これらに限定されない）は、Ｉ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１１９】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して、他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）カードは、現在利用可能なネットワークアダプタのほんの一例である。
【０１２０】
本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以上の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される教示内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１２１】
本明細書の実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。上記の開示にしたがって、種々の変形が可能である。本開示の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。当該技術に詳しい者であれば、本明細書はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール、処理、特徴、属性、方法およびその他の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本明細書やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。さらに、当業者であれば、モジュール、処理、特徴、属性、方法およびその他の本開示の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本明細書をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのよう
な様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって現在又は未来において既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本開示は限定的なものではなく例示的なものであり、本明細書の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１２２】
１００              ：動的車両ナビゲーションシステム
１０４              ：ナビゲーションサーバ
１０６              ：データサーバ
１０８              ：モバイルコンピューティングシステム
１１０              ：クライアントデバイス
１１２              ：ナビゲーションアプリケーション
１１６              ：マッピングアプリケーション
１１８              ：リアルタイム交通モジュール
１３２              ：記憶装置
１３４              ：地図記憶装置
１３６              ：道路交通データ
１３８              ：道路地理データ
１４２              ：記憶装置
１４４              ：記憶装置
２００              ：コンピューティングデバイス
２０２              ：経路最適化エンジン
２０４              ：車線群識別器
２０６              ：車線群状態推定器
２１０              ：ユーザインターフェースモジュール
２３２              ：プロセッサ
２３４              ：メモリ
２３６              ：入出力装置
２３８              ：記憶装置
２４０              ：通信ユニット
【図１】
2019184583.tif 000003
【図２】
2019184583.tif 000004
【図３】
2019184583.tif 000005
【図４Ａ】
2019184583.tif 000006
【図４Ｂ】
2019184583.tif 000007
【図５Ａ】
2019184583.tif 000008
【図５Ｂ】
2019184583.tif 000009