JP2023541115A - 複数のデバイスにおける同時ナビゲーションセッションを検出および改善すること - Google Patents

複数のデバイスにおける同時ナビゲーションセッションを検出および改善すること Download PDF

Info

Publication number
JP2023541115A
JP2023541115A JP2023509567A JP2023509567A JP2023541115A JP 2023541115 A JP2023541115 A JP 2023541115A JP 2023509567 A JP2023509567 A JP 2023509567A JP 2023509567 A JP2023509567 A JP 2023509567A JP 2023541115 A JP2023541115 A JP 2023541115A
Authority
JP
Japan
Prior art keywords
navigation
instructions
computing device
navigation instructions
shared
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023509567A
Other languages
English (en)
Inventor
マシュー・シャリフィ
ヴィクター・カルブネ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2023541115A publication Critical patent/JP2023541115A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3661Guidance output on an external device, e.g. car radio
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3655Timing of guidance instructions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)

Abstract

第1のコンピューティングデバイスは、ナビゲーション指示を提供するための方法を実施することができる。方法は、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始するステップを含む。方法はまた、第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスを検出するステップと、第2のコンピューティングデバイスが第2のルートに沿った目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断するステップとを含む。さらに、方法は、第2のナビゲーションセッションに従って第1のナビゲーションセットを調整するステップを含む。

Description

本開示は、ナビゲーション指示を提供することに関し、より具体的には、複数のデバイスにおける同時ナビゲーションセッションを検出および改善することに関する。
本明細書で提供される背景説明は、本開示の文脈を一般的に提示するためのものである。この背景セクションにおいて説明されている範囲での現在名前が挙げられている発明者の業績、ならびに出願時に従来技術として適格ではない可能性がある本明細書本文の態様は、本開示に対する従来技術として明示的にも暗黙的にも認められない。
今日、多くのユーザは、ユーザを所望の目的地に案内するナビゲーションディレクションを要求する。段階的なナビゲーション方向を提供することができる、コンピュータ、スマートフォン、車両に組み込まれたデバイスなどにおいて実行することができる様々なソフトウェアアプリケーションが利用可能である。いくつかのシナリオにおいて、単一のユーザ、または近くにいる2人のユーザが、2つの異なるデバイスを介して同じ目的地へのナビゲーション方向を要求する場合がある。例えば、車両内の運転者および同乗者は、異なるソフトウェアアプリケーションを使用して自分のそれぞれのデバイスにおいてナビゲーションセッションを各々開始する場合がある。その結果、2つのデバイスは、目的地までのナビゲーション指示を個別に提供する。2つのデバイスは、重複した指示を提供する場合がある。さらに、デバイスは、音声指示を同時に発する場合があり、これにより、ユーザは、重複する方向を聞き取りにくくなる場合がある。
本開示の技法を使用して、ナビゲーション指示をユーザに同時に提供する2つのデバイスは、ナビゲーション指示を強化するために協働することができる。第1のナビゲーションアプリケーションを実装する第1のデバイスは、ルートに沿った目的地への第1のナビゲーション指示を提供し得る。第1のデバイスは、第1のコンピューティングデバイスに近接する第2のデバイスも同じ目的地へのナビゲーション指示を提供していることを検出し得る。例えば、第1および第2のデバイスは、同じ車両内に配置され得る。第1のデバイスは、第1の通信リンク(例えば、WiFi、Bluetooth、超音波信号など)を介して第2のデバイスを発見し得る。第2のデバイスを発見した後、第1のデバイスは、共有ナビゲーションセッションを提供するために第2のデバイスが第1のデバイスと相互運用するための要求を(第1の通信リンクを介して)送信することができる。
いくつかの実装形態において、第2のデバイスは、要求に肯定的に応答する。次いで、第1のデバイスおよび第2のデバイスは、共有ナビゲーションセッションを提供するために相互運用することができる。例えば、第1および第2のデバイスは、目的地までのそれらのそれぞれのルートに関する情報を交換し得る。したがって、ナビゲーションセッションの精度は、高められ得る。デバイスは、第1の通信リンクを利用し得、または情報交換に適した第2の通信リンクを設定し得る。このような複数の通信リンクの使用は、起こっている異なるタイプの通信のための効率的な電力、帯域幅、および処理を可能にする。さらに、デバイスは、通信交換を管理する、および/または共有ナビゲーションセッションのための音声指示を提供する一次デバイスを指定し得る。デバイスは、交換された情報に基づいて、共有ナビゲーション指示を作成することができる。ルートを決定することに加えて、デバイスは、指示をユーザに送達するために協働することもできる。
例えば、ルートが同一である場合、一次デバイスは、音声指示を発し、ナビゲーション指示を表示することができる。他のデバイスは、ユーザが一次デバイスの指示に従うべきであることを示す通知を表示することができ、音声指示を伴わないナビゲーション指示を表示し得る。対照的に、指示の1つのセットがより早い推定到着時間を有する場合、ユーザに送達するために、より早い推定到着時間を有するセットを選択することができる。さらなる例として、共有ナビゲーション指示は、指示の第1のセットからのいくつかの指示と、指示の第2のセットからのいくつかの指示とを含み得る。例えば、第1のデバイスは、ルートの第1の部分に関するより多くの交通データにアクセスし得るので、共有ナビゲーション指示は、ルートの第1の部分の間の第1のデバイスの指示に基づき得る。そのようなシナリオにおいて、デバイスは、各デバイスがそれらのそれぞれのナビゲーション指示に基づいて音声指示を発するように、デバイスが音声指示を提供するときをトレードオフし得、または一次デバイスが、旅行全体に対する音声指示を発し得る。
他の実装形態において、第2のデバイスは、相互運用する要求を拒否し得、または(例えば、第2のデバイスが相互運用することができないので)要求に応答しなくてよい。第1のデバイスは、第2のデバイスからのナビゲーション指示の第2のセットを受信することを試みることができ、ナビゲーション指示の第2のセットを指示の第1のセットと比較することができる。比較に基づいて、第1のデバイスは、第2のデバイスの指示を補足する指示を提供することができる。
特に、本開示の技法の例示的な実施形態は、第1のコンピューティングデバイスの1つまたは複数のプロセッサによって実施され得る、ナビゲーション指示を提供するための第1のコンピューティングデバイスにおける方法である。方法は、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始するステップを含む。方法はまた、第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスを検出するステップと、第2のコンピューティングデバイスが第2のルートに沿った目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断するステップとを含む。さらに、方法は、第2のナビゲーションセッションに従って第1のナビゲーションセッションを調整するステップを含む。
これらの技法の別の実施形態は、ナビゲーション指示を提供するための第1のコンピューティングデバイスである。第1のコンピューティングデバイスは、1つまたは複数のプロセッサと、指示を記憶する非一時的コンピュータ可読媒体とを含む。1つまたは複数のプロセッサによって実行されると、指示は、第1のコンピューティングデバイスに、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始させる。指示はまた、第1のコンピューティングデバイスに、第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスを検出させ、第2のコンピューティングデバイスが第2のルートに沿った目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断させる。さらに、指示は、第1のコンピューティングデバイスに、第2のナビゲーションセッションに従って第1のナビゲーションセッションを調整させる。
これらの技法のさらに別の実施形態は、第1のコンピューティングデバイスの1つまたは複数のプロセッサによって実施され得る、ナビゲーション指示を提供するための第1のコンピューティングデバイスにおける方法である。方法は、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始するステップを含む。方法はまた、第1のコンピューティングデバイスが第1のナビゲーションセッションを実施していることを第2のコンピューティングデバイスが検出したことに応答して、共有ナビゲーション指示を提供するために相互運用する要求を第2のコンピューティングデバイスから受信するステップを含む。さらに、方法は、要求に応答して、共有ナビゲーション指示を提供するために第1のナビゲーションセッションを共有ナビゲーションセッションに変換するステップを含む。
ナビゲーション指示を提供するための開示した技法が実装され得る例示的な通信システムのブロック図である。 ナビゲーション指示を提供するための技法が実装され得る例示的な車両環境を示す図である。 第1の通信リンクを介して通信接続を形成しようとし得る第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの例示的なナビゲーション表示をそれぞれ示す図である。 図2に示す第1の通信リンクを介して接続を形成した後、第2の通信リンクを介して情報を交換する第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの例示的なナビゲーション表示を示す図である。 第1および第2のコンピューティングデバイスが共有ナビゲーションセッションを提供するために相互運用している間の、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスの例示的なナビゲーション表示を示す図である。 第2のコンピューティングデバイスのナビゲーション指示に補足的なナビゲーション指示を提供する第1のコンピューティングデバイスの例示的なナビゲーション表示を示す図である。 第2のコンピューティングデバイスのナビゲーション指示に補足的なナビゲーション指示を提供する第1のコンピューティングデバイスの例示的なナビゲーション表示を示す図である。 図1A~図6の第1のコンピューティングデバイスなどのコンピューティングデバイスにおいて実装され得るナビゲーション指示を提供するためのフロー図である。 図1A~図6の第2のコンピューティングデバイスなどのコンピューティングデバイスにおいて実装され得るナビゲーション指示を提供するためのフロー図である。
概要
一般的に言えば、同時の個々のナビゲーションセッションを提供するデバイスは、共有ナビゲーションセッションを協働して提供するために、本開示の技法を利用することができる。共有ナビゲーションセッションは、同時の個々のナビゲーションセッションと比較して、拡張されたナビゲーション指示と、改善されたユーザ体験とを送達し得る。本開示の技法を使用して、目的地への第1のナビゲーション指示を提供する第1のコンピューティングデバイスは、第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスも目的地へのナビゲーション指示を提供していることを検出することができる。これに応答して、第1のコンピューティングデバイスは、第2のコンピューティングデバイスと相互運用することを試みることができる。いくつかのシナリオにおいて、第1のコンピューティングデバイスおよび第2のコンピューティングデバイスは、協働して共有ナビゲーション指示のセットをユーザに提供するために相互運用することができる。第2のコンピューティングデバイスが相互運用する要求に応答しないなどの他のシナリオにおいて、第1のコンピューティングデバイスは、第2のコンピューティングデバイスのナビゲーション指示を補足するナビゲーション指示を提供するために、そのナビゲーションセッションを調整し得る。このようにして、第1のコンピューティングデバイスの全体的な処理および電力使用は、低減され得る。さらに、第1のコンピューティングデバイスは、合成音声を監視することができ、合成音声を中断しない指示を提供するために、そのナビゲーションセッションを調整することができる。
本開示の態様は、重複するナビゲーション指示を回避し、改善されたナビゲーション体験をユーザに提供するために、複数のデバイスがどのように相互作用することができるのかという問題に対する技術的解決策を提供する。有利なことに、複数のデバイスのこの相互運用性は、2つのデバイスが独立して動作し続ける場合と比較して、2つのデバイスの電力および処理を低減する。例えば、2つのデバイスは、第1の通信リンクを介して互いを発見した後、より高い帯域幅を有する第2の通信リンクを介してナビゲーション情報を交換し得る。第1の通信リンクが第2の通信リンクよりも低い帯域幅であることによって、互いのより高速かつより効率的な発見が可能になる。デバイスは、ユーザに提示される最終的なルートを最適化するために、指示の両方のセットおよび/または各デバイスによってアクセス可能なデータ(例えば、マップデータ、関心のある地点のデータ、交通データなど)を考慮した目的地へのルートを生成するために、交換されたナビゲーション情報を利用することができる。さらに、2つのデバイスは、両方のデバイスが音声指示を同時に提示する必要がないように、互いに協働することができる。例えば、あるデバイスがより低いバッテリ電力または利用可能な帯域幅を有する場合、他のデバイスは、ナビゲーション指示をユーザに提示するおよび/または外部ネットワークからデータをフェッチする一次デバイスとして指定され得る。第1のデバイスが別のデバイスによって生成された合成音声を検出するシナリオにおいて、第1のデバイスは、他のデバイスを介して話さないように、その指示を調整することができる。
例示的なハードウェアおよびソフトウェア構成要素
最初に図1Aを参照すると、本開示の技法が実装され得る例示的な通信システム100は、第1のクライアントデバイス102(本明細書では第1のコンピューティングデバイスまたは第1のデバイスとも呼ばれる)を含む。第1のデバイス102は、例えば、スマートフォンまたはタブレットコンピュータなどのポータブルデバイスであり得る。第1のデバイス102はまた、ラップトップコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、スマートウォッチまたはスマートグラスなどのウェアラブルデバイスなどであり得る。いくつかの実施形態において、第1のデバイス102は、図1Bを参照してより詳細に説明するように、ナビゲーション指示を提供するために、車両内に取り外し可能に取り付けられ得、車両に組み込まれ得、および/または車両のヘッドユニットと対話することができ得る。
第1のデバイス102は、1つまたは複数のプロセッサ104と、プロセッサ104上で実行可能な機械可読命令を記憶するメモリ106とを含み得る。プロセッサ104は、1つまたは複数の汎用プロセッサ(例えば、CPU)および/または専用処理ユニット(例えば、グラフィック処理ユニット(GPU))を含み得る。メモリ106は、非一時的メモリであり得、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、他のタイプの永続メモリなどの、1つまたは複数の適切なメモリモジュールを含むことができる。メモリ106は、(例えば、第1のデバイス102を介して方向を表示するかまたは音声指示を発することによって)ナビゲーション方向を提供し、対話型デジタル地図を表示し、運転、徒歩、または他のナビゲーション方向を提供するためにルーティングデータを要求および受信し、交通、関心地点、および気象情報などの様々な地理位置コンテンツを提供することができる第1のナビゲーションアプリケーション108を実装するための命令を記憶し得る。
さらに、第1のナビゲーションアプリケーション108は、第1のデバイス102に近接するデバイス上で実行されている他のナビゲーションセッションを検出すること、共有ナビゲーション指示を生成するためにデバイスと情報を交換すること、共有ナビゲーション指示を提示するように第1のナビゲーションアプリケーション108を構成すること、補足的な指示を生成することなどのための本開示の技法を実装および/またはサポートするように構成された共有ナビゲーションモジュール120を含み得る。第1のナビゲーションアプリケーション108は、合成音声によって話された音声指示を監視することによって同時ナビゲーションセッションを検出することを含む本開示の技法をサポートするように構成された合成音声認識モジュール121も含み得る。そのような技法について、図2~図6を参照して以下でより詳細に論じる。
図1Aは、第1のナビゲーションアプリケーション108をスタンドアロンアプリケーションとして示しているが、第1のナビゲーションアプリケーション108の機能はまた、第1のデバイス102上で実行されている別のソフトウェアアプリケーションのためのプラグインまたは拡張などとして、第1のデバイス102上で実行されているウェブブラウザを介してアクセス可能なオンラインサービスの形態において提供され得る。第1のナビゲーションアプリケーション108は、一般に、異なるオペレーティングシステムに対して異なるバージョンにおいて提供され得る。例えば、第1のデバイス102のメーカーは、Android(商標)プラットホームのための第1のナビゲーションアプリケーション108を含むソフトウェア開発キット(SDK)、iOS(商標)プラットホームのための別のSDKなどを提供することができる。
メモリ106はまた、任意のタイプの適切なモバイルまたは汎用オペレーティングシステムであり得るオペレーティングシステム(OS)110を記憶し得る。第1のデバイス102は、全地球測位システム(GPS)112または別の適切な測位モジュールと、ネットワークモジュール114と、地図データと方向とを表示するためのユーザインターフェース116と、入力/出力(I/O)モジュール118とをさらに含み得る。ネットワークモジュール114は、セルラネットワーク、WiFiネットワーク、または以下で論じるネットワーク144などの任意の他の適切なネットワークを介した通信を可能にするためのインターフェースのハードウェア、ソフトウェア、および/またはファームウェアなどの1つまたは複数の通信インターフェースを含み得る。I/Oモジュール118は、周囲環境および/またはユーザから入力を受信し、それらに出力を提示することができるI/Oデバイスを含み得る。I/Oモジュール118は、タッチスクリーン、ディスプレイ、キーボード、マウス、ボタン、キー、マイクロフォン、スピーカなどを含み得る。様々な実装形態において、第1のデバイス102は、図1Aに示すよりも少ない構成要素を含むことができ、または逆に、追加の構成要素を含むことができる。
通信システム100は、第2のクライアントデバイス122(本明細書では第2のコンピューティングデバイスまたは第2のデバイスとも呼ばれる)も含む。第2のデバイス122は、第1のデバイス102とほぼ同様であり得る。特に、第2のデバイス122は、それぞれ、プロセッサ104、メモリ106、GPS112、ネットワークモジュール114、ユーザインターフェース116、およびI/Oモジュール118と同様であり得る、1つまたは複数のプロセッサ124と、メモリ126と、GPS132と、ネットワークモジュール134と、ユーザインターフェース136と、I/Oモジュール138とを含み得る。第2のデバイス122は、第1のデバイス102とは異なるメーカーによって製造され得る。例えば、第1のデバイス102のメーカーは、Google(商標)であり得、第2のデバイス122のメーカーは、Apple(商標)であり得る。同様に、メモリ126によって記憶されるOS130は、OS110とは異なり得る。図1Aは、第1のデバイス102および第2のデバイス122の2つのクライアントデバイスを示しているが、本開示の技法は、2つ以上のクライアントデバイスを有するシナリオにおいて適用され得る。
メモリ126は、第2のナビゲーションアプリケーション128も記憶する。第2のナビゲーションアプリケーション128は、例えば、第1のナビゲーションアプリケーション108とは異なるナビゲーションアプリケーションであり得、または第1のナビゲーションアプリケーション108と同じであり得る。例えば、第2のナビゲーションアプリケーション128は、第1のナビゲーションアプリケーション108と同様であり得るが、OS130用に構成され得る。さらに、第2のナビゲーションアプリケーション128は、共有ナビゲーションモジュール120と同様の共有ナビゲーションモジュール120を記憶してもよく、またはしなくてもよい。以下で論じるように、第2のデバイス122が共有ナビゲーションモジュール120を実装するかどうかに応じて、本開示の異なる技法が適切であり得る。
第1のデバイス102および第2のデバイス122は、通信リンク140および142などの様々な通信リンクを介して通信を確立し得る。第1および第2のデバイス102、122は、例えば、第1の通信リンク140を介して互いを発見し得る。第1の通信リンク140は、短距離通信に適した任意の通信リンクであり得、例えば、Bluetooth(商標)(例えば、BLE)、Wi-Fi(例えば、Wi-Fi Direct)、NFC、超音波信号などの通信プロトコルに準拠し得る。いくつかのシナリオにおいて、第1の通信リンク140は、有線接続を含み得る。互いを発見することに加えて、第1および第2のデバイス102、122は、第1の通信リンク140を介して情報を交換し得る。いくつかのシナリオにおいて、第1の通信リンク140を使用した後、第1および第2のデバイス102、122は、情報を交換するために第2の通信リンク142を確立し得る。第2のデバイス122は、例えば、第1の通信リンク140を介して第1のデバイス102から第2の通信リンク142を確立するために必要な情報を受信し得、第1のデバイス102は、第2のデバイス122から同様の情報を受信し得る。第2の通信リンク142は、例えば、WiFi、(例えば、3G、4G、または5G規格に準拠する)セルラ通信リンクなどであり得る。第1の通信リンク140と比較して、第2の通信リンク142は、より高い帯域幅、より高いスループット、低減した待ち時間などを有し得る。したがって、第2の通信リンク142は、地図データおよびナビゲーション方向などのコンテンツを交換するのにより適している場合があり、第1の通信リンク140は、低電力発見メカニズムとして使用するのにより適している場合がある。
第1のデバイス102および第2のデバイス122は、それぞれ、ネットワーク144を介して第1のナビゲーションサーバ150および第2のナビゲーションサーバ160と通信し得る。ネットワーク144は、イーサネットベースのネットワーク、プライベートネットワーク、セルラネットワーク、ローカルエリアネットワーク(LAN)、および/またはインターネットなどのワイドエリアネットワーク(WAN)のうちの1つまたは複数を含み得る。いくつかのシナリオにおいて、第2の通信リンク142は、ネットワーク144を介する通信リンクであり得る。第1のナビゲーションアプリケーション108は、第1のナビゲーションサーバ150から地図データ、ナビゲーション方向、および他の地理位置コンテンツを受信し得る。同様に、第2のナビゲーションアプリケーション128は、第2のナビゲーションサーバ160から同様の情報を受信し得る。いくつかのシナリオにおいて、例えば、第1のナビゲーションアプリケーション108および第2のナビゲーションアプリケーション128が同じソフトウェア開発者からのアプリケーションである場合、第1および第2のデバイス102、122は、第1のナビゲーションサーバ150などの同じナビゲーションサーバと通信し得、第2のデバイス122は、第2のナビゲーションサーバ160と通信しなくてよい。さらに、第1のナビゲーションアプリケーション108は、第1のデバイス102においてローカルに記憶された地図、ナビゲーション、および地理位置コンテンツにアクセスし得、ローカルデータを更新するために周期的に、またはリアルタイム交通データなどのリアルタイム情報にアクセスするためにナビゲーション中に、第1のナビゲーションサーバ150にアクセスし得る。同様の考察が、第2のナビゲーションアプリケーション128に適用される。
第1のナビゲーションサーバ150は、1つまたは複数のプロセッサ152と、プロセッサ152によって実行可能なコンピュータ可読命令を記憶するメモリ153とを含む。メモリ153は、サーバ共有ナビゲーションモジュール154を記憶し得る。サーバ共有ナビゲーションモジュール154は、サーバ側から共有ナビゲーションモジュール120と同様の機能をサポートし得、第1のデバイス102および第2のデバイス122の調整を容易にし得る。例えば、第1のデバイス102は、第2のデバイス122から受信したナビゲーション情報を第1のナビゲーションサーバ150に提供し、サーバ共有ナビゲーションモジュール154がナビゲーション指示の共有セットを生成することを要求し得る。
サーバ共有ナビゲーションモジュール154および共有ナビゲーションモジュール120は、共有ナビゲーションシステムの構成要素として動作することができる。代替的には、サーバ共有ナビゲーションモジュール154の機能全体が、共有ナビゲーションモジュール120内に実装され得る。
第1のナビゲーションサーバ150は、第1の地図データベース155、第1の交通データベース157、および第1の関心地点(POI)データベース159などの様々なデータベースに通信可能に結合され得、第1のナビゲーションサーバ150は、そこからナビゲーション関連データを取得することができる。第1の地図データベース155は、地図タイル、視覚地図、道路形状データ、道路タイプデータ、速度制限データなどの地図データを含み得る。第1の交通データベース157は、リアルタイム交通情報だけでなく、履歴交通情報も記憶し得る。第1のPOIデータベース159は、説明と、場所と、画像と、ランドマークまたは関心地点に関する他の情報とを記憶し得る。図1Aは、データベース155、157、および159を示しているが、第1のナビゲーションサーバ150は、追加のデータベース、または逆により少ないデータベースに通信可能に結合され得る。例えば、第1のナビゲーションサーバ150は、気象データを記憶するデータベースに通信可能に結合され得る。
第2のナビゲーションサーバ160は、第1のナビゲーションサーバ150とほぼ同様であり得、1つまたは複数のプロセッサ162とメモリ163とを含み得る。シナリオに応じて、メモリ163は、メモリ153と同様に、サーバ共有ナビゲーションモジュール154も記憶し得る。第2のナビゲーションサーバ160は、第2の地図データベース165、第2の交通データベース167、および第2のPOIデータベース169などのデータベースに通信可能に結合され得る。データベース165、167、および169は、データベース155、157、および159とは異なるデータを記憶し得る。例えば、第2の交通データベース167は、第1の交通データベース157とは異なるソースから交通データを受信し得る。
図1Bに目を向けると、第1のデバイス102および第2のデバイス122は、車両環境170において対話し得る。第1のデバイス102および第2のデバイス122は、両方とも車両172内に配置され得る。図1Bは、第1および第2のデバイス102および122をスマートフォンとして示しているが、これは、単に説明の容易さのためである。第1および第2のデバイス102および122は、異なるタイプのデバイスであり得、任意の適切なタイプのポータブルまたは非ポータブルコンピューティングデバイスを含み得る。車両172は、ヘッドユニット174を含み得る。いくつかの実装形態において、ヘッドユニット174は、第1または第2のデバイス102または122のうちの1つを含み得る。ヘッドユニット174が第1のデバイス102または第2のデバイス122を含まない場合であっても、第1のデバイス102または第2のデバイス122は、ヘッドユニット174と(例えば、ワイヤレスまたは有線接続を介して)通信し得る。第1のデバイス102または第2のデバイス122は、ヘッドユニット174が表示または発するために、地図または音声指示などのナビゲーション情報をヘッドユニット174に送信し得、ユーザは、ヘッドユニットコントロールと対話することによって、第1のデバイス102または第2のデバイス122と対話し得る。それに加えて、車両172は、通信リンク140および142のうちの1つまたは複数を提供し得る。例えば、第1の通信リンク140は、(例えば、USB接続を介する)車両172への有線接続を含み得る。
したがって、ヘッドユニット174は、デジタル地図などのナビゲーション情報を提示するためのディスプレイ176を含み得る。いくつかの実装形態におけるディスプレイ176は、目的地、出発地などの名前または住所を含み得るテキスト入力を入力するためのソフトウェアキーボードを含む。それぞれヘッドユニット174上およびステアリングホイール上のハードウェア入力コントロール178および180は、英数字を入力するため、またはナビゲーション方向を要求するための他の機能を実行するために使用され得る。ヘッドユニット174はまた、例えば、マイクロフォン182およびスピーカ184などのオーディオ入力および出力構成要素を含むことができる。一例として、第2のデバイス122は、(例えば、Bluetooth(商標)、WiFi、セルラ通信プロトコル、有線接続などを介して)ヘッドユニット174に通信可能に接続し得、またはヘッドユニット174内に含まれ得る。第2のデバイス122は、ヘッドユニット174のディスプレイ176を介して地図情報を提供し、スピーカ184を介してナビゲーションの音声指示を発し、ヘッドユニット174を介して(例えば、入力コントロール178および180と対話するユーザ、ディスプレイ176、またはマイクロフォン182を介して)ユーザから入力を受信し得る。
同時ナビゲーションセッションを伴うシナリオ中の例示的なナビゲーション表示
ナビゲーション方向を提供するための本開示の技法について、図2~図6に示すナビゲーション表示を参照して以下で論じる。図2~図6の説明を通して、第1のデバイス102によって実行されるものとして説明する動作は、いくつかの実装形態において、第2のデバイス122によって実行され得、または第1および第2のデバイス102、122によって並行して実行され得る。例えば、第1もしくは第2のデバイス102、122のいずれかは、他のデバイスが近接し、ナビゲーションセッションを実施していることを検出し得、第1もしくは第2のデバイス102、122のいずれかは、一次デバイスとして機能するか、もしくはどのデバイスが一次デバイスとして機能するかを選択し得、および/または第1または第2のデバイス102、122のいずれかは、目的地への共同ルートに対する共有ナビゲーション指示を決定するか、もしくは音声指示を再生することを他のデバイスに指示し得る。
図2を参照すると、第1のデバイス102は、第1のナビゲーションアプリケーション108を実装し、第1のナビゲーションアプリケーション108のグラフィカルユーザインターフェース(GUI)202を表示し得る。同様に、第2のデバイス122は、第2のナビゲーションアプリケーション122を実装し、第2のナビゲーションアプリケーションのGUI204を表示し得る。2つのデバイス102、122は、互いに近接してナビゲーションセッションを同時に実施する。例えば、2個のデバイス102、122は、両方とも同じ車両172内に配置され得る。
より具体的には、第1のデバイス102は、(例えば、第1のデバイス102と対話するユーザから第1のデバイス102において受信された要求に応答して)出発地から目的地までのナビゲーション指示の第1のセットを提供するための第1のナビゲーションセッションを開始する。ナビゲーション指示の第1のセットは、第1のルートに沿って目的地に到達するための段階的な方向を含み得る。第1のナビゲーションセッション中、第1のデバイス102は、GUI202を介して、第1のデバイス102の位置、第1のデバイス102の方位、到着推定時間、目的地までの推定距離、目的地までの推定時間、現在のナビゲーション方向、ナビゲーション指示の第1のセットの1つまたは複数の今後のナビゲーション方向、表示を変更するまたはナビゲーション方向を調整するための1つまたは複数のユーザ選択可能オプションなどを示す地図を表示し得る。第1のデバイス102はまた、ナビゲーション指示の第1のセットに対応する音声指示を発し得る。
第2のデバイス122はまた、第2のルートに沿った出発地から目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを開始する。第2のルートは、第1のルートとは異なり得る。例えば、第2のナビゲーションアプリケーション128は、次の操縦212が左折であることを示すが、第1のナビゲーションアプリケーション108は、次の操縦222が右折であることを示す。第2のデバイス122は、第1のデバイス102と同じユーザによって、または第1のデバイス102に近接する別のユーザによって操作され得る。例えば、ユーザは、第1のデバイス102において第1のナビゲーションセッションを開始し、第2のデバイス122において第2のナビゲーションセッションを開始し得る(例えば、第1のナビゲーションアプリケーション108は、ユーザが移動している領域についてはより高品質の地図データ(例えば、より多くの量の地図データ、またはより詳細な地図データ)へのアクセスを有するが、第2のナビゲーションアプリケーション128は、より高品質の交通データへのアクセスを有するので)。例示的なシナリオにおいて、ユーザは、ユーザのスマートフォンに対応する第1のデバイス102において第1のナビゲーションセッションを開始し、ヘッドユニット(例えば、ヘッドユニット174)、またはユーザが移動している車両のヘッドユニットに通信可能に結合された別のデバイスに対応する第2のデバイス122において第2のナビゲーションセッションを開始し得る。別の例示的なシナリオにおいて、車両の運転者が、運転者のスマートフォンに対応する第1のデバイス102において第1のナビゲーションセッションを開始し得、同乗者が、同乗者のスマートフォンに対応する第2のデバイス122において第2のナビゲーションセッションを開始し得る。
いずれにしても、第1のデバイス102は、第1のデバイス102に近接する別のデバイスがナビゲーションセッションを実施しているかどうかを検出し得る。いくつかのシナリオにおいて、第1のデバイス102は、第1のナビゲーションアプリケーション108の相互運用性機能がトリガされた場合にのみ、他のナビゲーションセッションを発見しようと試み得る。第1のナビゲーションアプリケーション108は、第1のナビゲーションアプリケーション108が、第1のデバイス102が少数の同乗者(例えば、約1~5人の同乗者)を収容する自動車または他の車両内にあることを検出した場合、相互運用性機能をトリガし得る。第1のナビゲーションアプリケーション108が、第1のデバイス102が通勤者を輸送するバスまたは他の公共輸送車両などの大型車両内にあることを検出した場合、第1のナビゲーションアプリケーション108は、相互運用性機能をトリガしない場合がある。追加的または代替的に、相互運用性機能は、ユーザによって手動でトリガされ得、またはデフォルトのオプションとしてトリガされ得る。車両のタイプを決定するために、第1のデバイス102は、例えば、車両ヘッドユニットに問い合わせるか、車両ヘッドユニットからブロードキャストを受信するか、またはルートが公共輸送機関ルートであるかどうかを決定し得る。依然としてさらなる例において、第1のナビゲーションアプリケーション108は、第1のナビゲーションアプリケーション108が、第1のデバイス102がナビゲーションユニットを含む車両内にあることを検出した場合、または第1のデバイス102がWiFiホットスポットに近接していることを検出した場合、相互運用性機能をトリガし得る。依然としてさらに、第1のナビゲーションアプリケーション108は、ルート、または第1のデバイス102の現在のGPS位置に基づいて、相互運用性機能をトリガし得る。
第1のデバイス102は、第1のデバイスに近接する別のデバイスがナビゲーションセッションを実施していることを様々な方法において検出し得る。図2に示す実装形態などのいくつかの実装形態において、第1のデバイス102は、第2のデバイス122によって、第1の通信リンク140を介して、ブロードキャストにおいて指示を受信することによって、第2のデバイス122が第2のナビゲーションセッションを実施していることを検出することができる。例えば、第2のデバイス122は、第2のデバイス122が現在ナビゲーションセッションを実施していることをブロードキャストし得る。第1のデバイス102は、同様に、各デバイスが第1の通信リンク140を介して他のデバイスを発見することができ得るように、第1のデバイス102がナビゲーションセッションを実施していることを第2のデバイス122にブロードキャストし得る。
より具体的な例として、第2のデバイス122は、Bluetooth(商標)などのプロトコルに従って、発見可能なメッセージをブロードキャストすることができる。第2のデバイス122は、第2のデバイス122の識別情報を用いてメッセージを符号化し得、メッセージは、第2のデバイスがナビゲーションセッションを実施しているという指示を含み得る。第1のデバイス102は、プロトコルに関連する周波数において、発見可能なデバイスを監視することができる。第2のデバイス122を検出した後、第1のデバイス102は、第1のデバイス102の識別情報を第2のデバイス122に提供し、第2のデバイス122とペアリングすることを試み得る。ペアリングを完了するために、第1のデバイス102および第2のデバイス122は、セキュリティキーを交換し得る。
追加的または代替的に、第1のデバイス102は、第2のデバイス122を検出し、第1のデバイス102によって検出された周囲ノイズに基づいて、第2のデバイス122が第2のナビゲーションセッションを実施していると判断し得る。例えば、場合によっては、第1のデバイス102は、第1の通信リンク140を介して第1のデバイス102を検出する代わりに、周囲ノイズを検出することによって第2のデバイス122を検出することができる。第1のデバイス102は、合成音声認識モジュール121を使用して、第1のデバイス102に近接して(例えば、同じ車両172内で)再生される合成音声(例えば、ナビゲーションアプリケーションによって生成された音声)を監視することによって、第2の音声デバイス122を検出することができる。合成音声認識モジュール121は、ノイズが発生される周波数、ピッチ、レートなどの周囲ノイズの音響特性を検出するために周囲ノイズを監視し、検出された音響特性を合成音声の既知の特性と比較し得る。さらに、合成音声認識モジュール121は、第1のデバイス102によって検出された周囲ノイズが合成音声を含むかどうかを判断するために、機械学習アルゴリズム、ヒューリスティックアルゴリズム、または他のアルゴリズムを用い得る。合成音声を検出することに基づいて、第1のデバイス102は、第2のデバイス122が近くにあると判断することができる。
合成音声を検出した後、第1のデバイス102は、周囲ノイズから合成音声を分離し、合成音声の発話を分析することができる。第1のデバイス102は、合成音声の発話を分析するために、機械学習アルゴリズム、ヒューリスティックアルゴリズム、または他のアルゴリズム(合成音声認識モジュール121または第1のナビゲーションアプリケーション108の一部であり得る)を用い得る。第1のデバイス102は、合成音声の単語、語句、発話パターンなどに基づいて、合成音声が第2のナビゲーションセッションに関連付けられたナビゲーション方向を暗証していると判断することができる。例えば、第1のデバイス102は、合成音声が「左折して」または「直進し続けて」などの指示を暗証していることを検出することができる。
いくつかの実装形態において、第1のデバイス102は、まず、(例えば、第1の通信リンク140を介して第2のデバイス122の識別子または他の指示を受信することによって)第2のデバイス122が第1のデバイス102に近接していると判断し、次いで、検出された第2のデバイス122がナビゲーションセッションを実施しているかどうかを判断し得る。
第2のデバイス122が第2のナビゲーションセッションを実施していることを検出することに加えて、第1のデバイス102は、第2のデバイス122が第1のナビゲーションセッションと同じ目的地へのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していることを検出し得る。例えば、第2のデバイス122は、第2のデバイス122がナビゲーションセッションを現在実施していることと、目的地が特定の場所であることとを、第1の通信リンク140を介してブロードキャストし得る。別の例として、第1の通信リンク140を介して互いを発見した後、第1のデバイス102および/または第2のデバイス122は、(例えば、他のデバイスからの要求に応答して、または他のデバイスを発見したときに自動的に)それぞれのナビゲーションセッションの目的地の指示を他のデバイスに送信し得る。
第2のデバイス122を検出し、第2のデバイス122がナビゲーションセッションを実施していると判断した後、第1のデバイス102は、共有ナビゲーション指示をユーザに提供するための共有ナビゲーションセッションを実施するために、第2のデバイス122と相互運用することを試み得る。第1のデバイス102および第2のデバイス122が連係する方法は、第2のデバイス122の能力に応じて変化し得る。いくつかのシナリオにおいて、第1のデバイス102(または、逆に、第2のデバイス122)は、相互運用することを要求するために、第1の通信リンク140を介して他のデバイス(すなわち、第2のデバイス122)に要求を送信し得る。第2のデバイス122が肯定的に応答する場合、各デバイス102および122は、図3~図4を参照して説明した方法において、ナビゲーションセッションを共有ナビゲーションセッションに変換することによって、それらのそれぞれのナビゲーションセッションを調整することができる。(例えば、第2のデバイス122が共有ナビゲーションモジュール120を含まないので)第2のデバイス122が要求を拒否するか、または要求を承認しない場合、第1のデバイス102は、図5~図6を参照して説明したように、ユーザ体験を統一するために、(例えば、ナビゲーション指示の第2のセットに補足的な指示を提供することによって)第1のナビゲーションセッションを依然として調整し得る。
さらに、いくつかのシナリオは、相互運用するための明示的な要求を必要としない場合がある。第1のナビゲーションアプリケーション108および第2のナビゲーションアプリケーション128が、両方とも共有ナビゲーションモジュール120を含む場合、第1のナビゲーションアプリケーション120および第2のナビゲーションアプリケーション128は、第1のデバイス102および/または第2のデバイス122が同じ目的地にナビゲートするためのナビゲーションセッションを実施していると判断したことに応答して、共有ナビゲーション指示を提供するために並列ナビゲーションモードに自動的に入り得る。第1のナビゲーションアプリケーション108および/または第2のナビゲーションアプリケーション128は、ナビゲーションアプリケーション108、128が並列ナビゲーションモードに入ったことを確認するかまたは他の方法で示すように、それぞれのユーザを促し得る。次いで、第1のデバイス102および第2のデバイス122は、図3~図4を参照して説明したように進行し得る。第2のナビゲーションアプリケーション128が共有ナビゲーションモジュール120を含まない場合、第1のナビゲーションアプリケーション108は、第2のデバイス122から受信した情報に基づいてこれを検出し得、補助ナビゲーションモードに自動的に入り得(またはユーザに確認を促し得)、第1のナビゲーションアプリケーション108が補助ナビゲーションモードに入ったことをユーザに示し得る。次いで、第1のデバイス102は、図5~図6を参照して説明したように進行し得る。
図3~図4に目を向けると、これらの図は、第1のデバイス102および第2のデバイス122がナビゲーション指示の共有セットをユーザに提供するために相互運用している間の例示的なナビゲーション表示を示す。より具体的には、第1のナビゲーションアプリケーション108および第2のナビゲーションアプリケーション128は、並列ナビゲーションモードにおいて動作している場合がある。図3~図4の相互運用シナリオにおいて、第1のデバイス102および第2のデバイス122の各々は、それらのそれぞれのナビゲーションセッションを共有ナビゲーションセッションに変換する。共有ナビゲーションセッションについて、第1のデバイス102および第2のデバイス122は、ナビゲーション指示の共有セット(本明細書では「共有ナビゲーション指示」とも呼ばれる)を決定し、共有ナビゲーション指示をユーザに提供するやり方を決定する。
図3を参照すると、最初に、第1のデバイスおよび第2のデバイス122は、それぞれ、GUI202および204に類似し得るGUI302および304を表示し得る。GUI302および304は、デバイス102、122が共有ナビゲーションセッションを提供するために相互運用に入っているか、相互運用で動作しているか、または相互運用を現在準備していることを示す、第1および第2のデバイス102、122のユーザへの通知を含み得る。
第1のデバイス102および第2のデバイス122は、第2の通信リンク142を開始するために情報を交換し得る。第1の通信リンク140を介して、第1のデバイス102および第2のデバイス122は、ルート情報を交換する目的のために、新しい第2の通信リンク142を選択して開くようにネゴシエートし得る。前述のように、第2の通信リンク142は、第1の通信リンク140よりも高い帯域幅を有する場合があり、したがって、ナビゲーション指示、交通データ、POIデータ、気象データなどのルート情報を交換するのにより適している場合がある。第1のナビゲーションアプリケーション108および/または第2のナビゲーションアプリケーション128は、適切な第2の通信リンク142を決定するための選択基準を含み得る。選択基準は、帯域幅、スループット、待ち時間、第1または第2のルートに沿った予測リンク帯域幅、第1および第2のデバイスの能力、第1および第2のデバイスのアンテナなどのハードウェアなどの要因を含み得る。したがって、この選択プロセスは、帯域幅における削減と、速度における増加と、改善された操作性とをもたらすことができる。
第2の通信リンク142を開始した後、第1のデバイス102および第2のデバイス122は、第2の通信リンク142を介して、デバイスのそれぞれのルートに関する情報、およびデバイスの能力に関する情報などの、共有ナビゲーションセッションを開始することに関連する情報を交換し得る。しかしながら、本開示の例は、主に、第2の通信リンク142を介して交換される情報に言及しているが、いくつかのシナリオにおいて、第1のデバイス102および第2のデバイス122は、第2の通信リンク142を開始しないか、第2の通信リンク142を介して通信しない場合があることが留意されるべきである。そのようなシナリオにおいて、第1のデバイス102と第2のデバイス122との間のすべての通信、またはルート情報の交換を含む通信の少なくとも一部は、第1の通信リンク140を介し得る。
いずれにしても、第1のデバイス102および第2のデバイス122は、それらのそれぞれのルートに関連するルート情報などの情報を交換し得る。第1のデバイス102は、第2のデバイス122からルート情報を受信し、ナビゲーション指示の第1および第2のセットの目的地が同じである(または、互いの0.1マイル以内などの公差内で類似している)ことを確認するためにルート情報を使用し得る。第1のデバイス102は、第2のデバイス122から第2のルートに関する第2のルート情報を受信し得る。第1のデバイス102はまた、第1のルートに関する第1のルート情報を第2のデバイス122に送信し得、および/または第1のデバイス102において第1および第2のルート情報を収集し得る。第1のルートに関する第1のルート情報は、例えば、第1のナビゲーションアプリケーション108などによってアクセス可能な、ナビゲーション指示の第1のセット、地図データ、交通データ、POIデータ、気象データなどを含み得る。同様に、第2のルートに関する第2のルート情報は、第2のナビゲーションアプリケーション128などによってアクセス可能な、ナビゲーション指示の第2のセット、地図データ、交通データ、POIデータ、気象データなどを含み得る。
第1のルート情報および第2のルート情報に基づいて、第1のデバイス102、第2のデバイス122、または第1のデバイス102および第2のデバイス122の組合せは、目的地への共同ルートのための共有ナビゲーション指示を決定することができる。いくつかの実装形態において、第1のデバイス102は、第1および第2のルート情報を第1のナビゲーションサーバ150に送信することができ、第1のナビゲーションサーバ150は、共有ナビゲーション指示を生成し、共有ナビゲーション指示を第1のデバイス102に送信し得る。第1のデバイス102および第2のデバイス122は、共有ナビゲーション指示を生成するために必要な処理機能をどのように割り当て、分配するかを集合的に決定することができる。例えば、第1のデバイス102は、単独で共有ナビゲーション指示を生成し、共有ナビゲーション指示を第2のデバイス122に送信し得る(逆もまた同様)。別の例として、第1のデバイス102および第2のデバイス122は、各々、共同ルートの一部に関する指示を生成し得る。したがって、デバイス間のそのような共有処理は、処理リソースを最適化し、それによって、少なくとも改善された電力消費とより速い処理速度とを提供することができる。
特に、第1のデバイス102および第2のデバイス122は、デバイスのうちの1つを一次デバイスとして選択し得る。一次デバイスは、共有ナビゲーション指示の生成と、第1および第2のデバイス102、122が共有ナビゲーション指示をユーザに提供することができるやり方の決定とを調整することができる。いくつかのシナリオにおいて、一次デバイスは、第1および第2のルート情報を分析し、ナビゲーション方向の共有セットを生成し、デバイス102、122がナビゲーション方向の共有セットをユーザに送達するやり方を決定し得る。他のシナリオにおいて、一次デバイスは、これらの機能のうちのいくつかまたはすべてを他のデバイスに委任し得る。他のシナリオにおいて、第1のデバイス102および第2のデバイス122は、これらの機能のうちのいくつかまたはすべてを組み合わせて実行し得る。どのデバイスが一次デバイスとして選択されるか、および/またはどのデバイスが各機能を実行するかは、共有ナビゲーションモジュール120の選択基準のセットに依存し得る。選択基準は、2つのデバイス102、122の相対的なバッテリ状態、充電状態、場所(例えば、車両環境の場合、どちらのデバイスが車両の運転者により近いか)、帯域幅、信号強度、処理能力、表示能力、スピーカ品質などの要因に基づき得る。例えば、第1および第2のデバイス102、122は、第1のデバイス102がネットワーク144へのより強い接続を有するので、第1のデバイス102を一次デバイスとして指定し得る。一次デバイスとして、第1のデバイス102は、第2のデバイス122の能力に基づいて、特定のタスクを第2のデバイス122に委任し得る。例えば、第2のデバイス122がより高品質のスピーカを有するか、または車両のスピーカ184を介して音声を発するように構成されている場合、一次デバイスは、共有ナビゲーション指示に対応する音声指示を発するデバイスとして第2のデバイス122を指定し得る。
説明の容易さだけのために、図3~図4の議論は、共有ナビゲーション指示を生成および提示することを調整する一次デバイスとして第1のデバイス102を参照する。図3~図4の議論は、特定のナビゲーション指示を選択するなどの特定のタスクを実行するものとして第1のデバイス102を参照するが、一次デバイスとして、第1のデバイス102は、タスクを第2のデバイス122に委任することができ、またはタスクを実行するために第2のデバイス122と協働することができる。
共有ナビゲーション方向は、様々な方法で生成され得る。一般的に言えば、第1のデバイス102は、ユーザのためのルートを最適にする共有ナビゲーション方向を決定する。第1の例において、ナビゲーション指示の第1のセットおよび指示の第2のセットが同一である場合、第1のデバイス102は、ナビゲーション指示の第1のセットを共有ナビゲーション指示として選択することができる。第2の例において、第1のデバイス102は、指示のどちらのセットがより早い推定到着時間を有するか、より少ない操縦を有するか、より短い距離を有するか、より少ない通行料を必要とするか、より少ない交通に遭遇するか、より多くの関心地点を通過するかなどに応じて、共有ナビゲーション指示としてナビゲーション指示の第1または第2のセットのいずれかを選択することができる。第1のナビゲーションアプリケーション108は、共有ナビゲーション指示に関するユーザ選好を選択するためのユーザ選択可能なオプションを含むことができる。第1のデバイス102は、指示を選択するために、第1のデバイス102において記憶されるか、または第2のデバイス122から受信されるようなユーザ選好(例えば、高速道路を避ける、狭い道を避ける、通行料を避けるなど)を考慮に入れることができる。第3の例において、共有ナビゲーション指示は、指示の第1および第2のセットの両方からの指示の組合せであり得る。共有ナビゲーション指示を形成するために、第1のデバイス102は、ルートの各セグメントに対して、ナビゲーション指示の第1のセットまたはナビゲーション指示の第2のセットのいずれかから個々の指示を選択することができる。第1のデバイス102は、ナビゲーション指示の第1および第2のセットの特性に基づいて個々の指示を選択することができる。例えば、第1のデバイス102は、第1のルート情報が、特定のルートセグメントについて、より大量のナビゲーションデータ、交通データ、地図データなどを含むので、特定のルートセグメントに関する指示の第1のセットから特定の指示を選択し得る。
さらに、共有ナビゲーション指示は、指示の第1のセットまたは指示の第2のセット内にはないが、第1および第2のルート情報に基づいて生成される個別の指示を含むことができる。例えば、第1および第2のルート情報を組み合わせることによって、第1のデバイス102は、目的地への新しいルートを決定し得る。新しいルートは、より様々な情報に基づいているため、新しいルートは、第1および第2のルートよりも改善され得る(例えば、より早い推定到着時間を有し得る)。
ルートへのターンバイターンナビゲーション方向を含む共有ナビゲーション指示に加えて、第1のデバイス102は、第1および第2のルート情報に基づいて共有ナビゲーション情報を生成することができる。例えば、ターンバイターンナビゲーション指示について、ナビゲーション指示の第1のセットからの特定の指示が選択された場合であっても、共有ルート情報は、交通情報、POI情報、またはデジタル地図などの第2のルート情報からの情報を含み得る。第1および第2のデバイス102および122は、ターンバイターン方向のためのコンテキストを提供するために、共有ルート情報をユーザに提示することができる。
共有ナビゲーション指示を決定することに加えて、第1のデバイス102は、一次デバイスとして、共有ナビゲーション指示をユーザに提供するやり方も決定する。共有ナビゲーション指示が提供されるやり方は、共有ナビゲーション指示がどのようにユーザに対して表示されるかと、任意の付随する音声指示がどのように(例えば、どのデバイスによって)ユーザに対して送達されるのかとを含む。どのデバイスが指示を提示するかは、デバイスの能力と、指示自体とに依存する。例えば、ナビゲーション指示の第1のセットが共有ナビゲーション指示として選択された場合、第1のデバイス102は、共有ナビゲーション指示を表示し、対応する音声指示を発し得る。共有ナビゲーション指示が第1および第2のルート情報の両方に基づく指示を含む場合、第1のデバイス102は、第1のルート情報に基づいて決定された共有ナビゲーション指示の指示についての音声指示を提供し得、第2のデバイス122は、第2のルート情報に基づいて決定された共有ナビゲーション指示の指示についての音声指示を提供し得る。場合によっては、一次デバイスは、共有ナビゲーション指示を表示し、対応する音声指示を発し得る。音声指示を発するように選択されていないデバイスは、図4を参照して以下で説明するように、共有ナビゲーション方向を表示し続けることができる。依然としてさらなる場合、一次デバイスは、共有ナビゲーション方向を表示し、ターンバイターンナビゲーション指示を発し得、他のデバイスは、交通情報またはPOI情報などの他のルート情報を発することができる。指示を提示する首尾一貫したやり方を選択することによって、第1および第2のデバイス102、122は、互いの話に被せること、または互いに割り込むことを回避することができる。
さらに、共有ナビゲーションセッションが進行している間、第1のデバイス102および/または第2のデバイス122は、ルートを更新するために、ネットワーク144を介して、第1のナビゲーションサーバ150、第2のナビゲーションサーバ160、および/または他のソースから情報を収集し続け得る。一次デバイスは、新しい情報を排他的に収集することができ、またはダウンロードタスクを他のデバイスに委任することができる。例えば、一次デバイスが、他のデバイスよりもネットワーク144へのより良好な接続を有するか、より良好なバッテリ寿命を有するか、またはより低いコストデータプランを有する場合、一次デバイスは、新しい情報を排他的に収集することができる。1つのデバイスのみが新しい情報を収集することによって、第1および第2のデバイスにわたる帯域幅要件および処理要件が削減される。別の例として、第1のデバイス102は、第1のナビゲーションサーバ150から地図データを収集し得、第2のデバイス122は、第2のナビゲーションサーバ160から交通データを収集し得る。したがって、デバイス102、122は、ダウンロードの速度および/またはデバイス102、122の効率を最大化する方法においてダウンロードタスクを分配することができる。
図4は、第1のデバイス102および第2のデバイス122が共有ナビゲーションセッションを提供するために相互運用している例示的なシナリオにおける第1のナビゲーションアプリケーション108および第2のナビゲーションアプリケーション128の例示的なGUI402および404を示す。例示的なシナリオにおいて、第1のデバイス102は、共有ナビゲーション指示のターンバイターンナビゲーション指示を表示し、対応する音声指示を発する。第2のデバイス122も、共有ナビゲーション指示を表示するが、対応する音声指示を発しない。第2のナビゲーションアプリケーション128は、他のデバイスが音声指示を提供していることを示すためにプロンプト406(例えば、「音声指示についてはあなたの他のデバイスを聞いてください(Please listen to your other device for audio instructions)」)を表示し得る。第2のナビゲーションアプリケーション128は、ナビゲーション指示の元の第2のセットではなく共有ナビゲーション指示を表示するので、第2のナビゲーションアプリケーション128は、左折の次の操縦212ではなく右折である次の操縦412を表示する。第1のナビゲーションアプリケーション128は、一致する次の操縦422を表示する。さらに、第1のナビゲーションアプリケーション128は、到着までの推定持続時間と、推定到着時間と、目的地までの距離とを含む予測ルート情報408を表示する。第2のナビゲーションアプリケーションは、一致する予測ルート情報410を表示する。
前述のように、図3~図4におけるシナリオとは異なり、いくつかのシナリオにおいて、第2のデバイス122は、共有ナビゲーション指示を提供するために第1のデバイス102と相互運用しない。図5~図6に目を向けると、これらの図は、第1のデバイス102が補足的なナビゲーション指示を提供している間の例示的なナビゲーション表示を示す。第1のナビゲーションセッションを実施している間、第1のデバイス102は、第2のデバイス122が第1のデバイス102に近接していることを検出し、第2のデバイス122が第2のナビゲーションセッションを実施していると判断し、第2のナビゲーションセッションが(例えば、第1の通信リンク140を介して)第1のナビゲーションセッションと同じ目的地へのナビゲーション指示の第2のセットを提供するためのものであると判断し得る。前述のように、第1のデバイス102は、第2のデバイス122が共有ナビゲーションセッションを提供することができるか、または提供することに関心があるかどうかを判断するために、第2のデバイス122と通信することを試みることができる。さらに、追加的または代替的に、第1のデバイス102は、合成音声を検出することによって第2のデバイス122を検出することができる。第1のデバイス102は、合成音声を検出し、合成音声の発話を分析することによって、第2のコンピューティングデバイスがナビゲーションセッションを実施していると判断することができる。そのような実装形態において、第1のデバイス102は、第1の通信リンク140を介して第2のデバイスを検出することを試みない場合がある。
いずれにしても、図5~図6において、(例えば、第2のデバイス122が第1のデバイス102と相互運用することができないので、または第1のデバイス102が、合成音声を検出することによって第2のデバイス122を検出し、第1の通信リンク140を介して第2のデバイスに要求を送信しないので)第2のデバイス122は、そのナビゲーションセッションを調節しない。代わりに、第2のデバイス122は、ナビゲーション指示の第2のセットを提示し続け得る。しかしながら、第1のデバイス102は、ナビゲーション指示の第2のセットを補足または補完する指示を提供するために、第1のナビゲーションセッションを調整することができる。そのようなシナリオにおいて、ナビゲーション指示は、改善され、第1および第2のデバイスの全体的な処理および電力使用量が削減される。
第1のデバイス102が補足的な指示を提供することを可能にするために、第2のデバイス122は、ナビゲーション指示の第2のセット、またはより一般的に第2のルートに関連するルート情報(例えば、交通データ、POIデータなど)を第1のデバイス102に提供し得る。第2のデバイス122が、共有ナビゲーションセッションを提供するために第1のデバイス102と相互運用しない場合であっても、第2のデバイス122は、(例えば、第1のデバイス102からの要求に応答して)ナビゲーション指示の第2のセットを第1のデバイス102に依然として送信し得る。第2のデバイス122は、第2の通信リンク142を介して、ナビゲーション指示の第2のセットを第1のデバイス102に送信し得る。第1のデバイス102は、受信したナビゲーション指示および/またはルート情報を、ナビゲーション指示の第1のセットおよび第1のルート情報と比較することができる。第1のルートおよび第2のルートが異なる場合、第1のデバイス102は、補足的な指示を提供することができる。例えば、第1のデバイス102は、音声指示または表示された指示を介して、他のデバイスが前方を左折することを推奨しているが、第1のナビゲーションアプリケーション108が右折することを推奨していることをユーザに示し得る。受信したルート情報が、POI情報または交通情報などの情報を含まない場合、第1のデバイス102は、この欠落した情報を満たす補完的な指示を提供し得る。
追加的または代替的に、第2のデバイス122は、ナビゲーション指示の第2のセットを発する合成音声を介して、ナビゲーション指示の第2のセットを間接的に提供し得る。前述のように、第1のデバイス102は、合成音声を検出し、合成音声の発話を分析することによって、第2のデバイス122が近くにあり、第2のナビゲーションセッションを実施していることを検出することができる。第1のデバイス102は、ナビゲーション指示の第2のセットに対応する、合成音声によって話された音声指示を監視し、音声指示を指示の第1のセットと比較することができる。第1のルートおよび第2のルートが異なる場合、またはオーディオ指示がPOI情報などの情報を含まない場合、第1のデバイス102は、補足的な指示を提供することができる。補足的な指示は、合成音声によって話された音声指示とは異なるターンバイターンナビゲーション方向、ならびに/または合成音声によって提供されないPOI情報および/もしくは交通情報などの追加のルート情報を提供することができる。
図5を参照すると、例えば、第1のデバイス102は、ナビゲーション指示の第2のセットが、第1のデバイス102によってアクセス可能な現在の交通データに基づいて推奨されない操縦を行うことを含むと判断することができる。第2のナビゲーションアプリケーション128は、GUI504を介して、左折に対応する次の操縦512を表示し、ユーザに左折するように指示する音声を発する。対照的に、第1のナビゲーションアプリケーション128は、GUI502を介して、右折に対応する次の操縦522を表示する。異なる方向に応答して、第1のナビゲーションアプリケーション108は、第1のナビゲーションアプリケーション108が第2のナビゲーションアプリケーション128とは異なる次の操縦を推奨することをユーザに示すプロンプト506を表示する(および/または対応する音声指示を発する)ことができる。第1のナビゲーションアプリケーション108は、(例えば、第2のナビゲーションアプリケーション128が、第1のルートよりも多くの交通に遭遇する操縦を推奨しているので、または第2のデバイス122が第1のデバイス102に提供する交通情報に基づいて)第2のナビゲーションアプリケーション128が、第1のナビゲーションアプリケーション108がアクセスを有する品質の交通データへのアクセスを持たない可能性があると判断し得る。したがって、プロンプト506は、ユーザの他のナビゲーションアプリケーションが現在の交通情報を持っていない可能性があるという指示を含み得る。
別の例として、図6を参照すると、第1のデバイス102は、補足的なPOI情報を提供することができる。第1のデバイス102は、第2のルートに関連する、受信したルート情報および/または合成音声によって話された音声指示がPOI情報を含まないと判断することができる。第1のデバイス102の位置に基づいて、第1のデバイス102は、近くの交通、POI、気象などを決定することができ、対応する情報をユーザに対して表示する(および/またはスピーカを介して発する)ことができる。例えば、第1のナビゲーションアプリケーション108のGUI602は、テーマパークに対応するPOIがユーザの前方にあることを示すプロンプト606を含むことができる。第1のデバイスによって提供されるPOI情報は、GUI604を表示する第2のナビゲーションアプリケーションによって提供されるナビゲーション指示の第2のセットを補完する。
さらに、検出された合成音声に基づいて、第1のデバイス102は、第1のデバイス102によって発せられる音声指示のタイミングを調整することによって、第1のナビゲーションセッションを調整することができる。特に、第1のデバイス102は、合成音声が話しているときと衝突しない時間において、補足的な指示および/またはナビゲーション指示の第1のセットに対応する音声指示を発することができる。したがって、第1のデバイス102は、ナビゲーション指示の第2のセットを中断することを回避することができる。
ナビゲーション指示を提供するための例示的な方法
図7~図8は、本開示の技法によるナビゲーション指示を提供するための例示的な方法を示すフロー図である。
図7に目を向けると、方法700は、第1のコンピューティングデバイス(例えば、第1のデバイス102)によって実施され得る。方法700は、コンピュータ可読メモリ上に記憶され、第1のコンピューティングデバイスの1つまたは複数のプロセッサ(例えば、プロセッサ104)によって実行可能な命令のセットにおいて実装され得る。
ブロック702において、第1のコンピューティングデバイスは、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始する。ブロック704において、第1のコンピューティングデバイスは、第1のコンピューティングデバイスに近接する第2のコンピューティングデバイス(例えば、第2のデバイス122)を検出する。第1および第2のコンピューティングデバイスは、同じ車両(例えば、車両172)内に配置され得る。
さらに、ブロック706において、第1のコンピューティングデバイスは、第2のコンピューティングデバイスが、第2のルートに沿った目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断する。それに応答して、ブロック708において、第1のコンピューティングデバイスは、第2のナビゲーションセッションに従って第1のナビゲーションセッションを調整する。
いくつかの実装形態において、第1のナビゲーションセッションを調整することは、図3~図4を参照して説明したように、第1のナビゲーションセッションを共有ナビゲーションセッションに変換することを含み得る。他の実装形態において、第1のナビゲーションセッションを調整することは、図5~図6を参照して説明したように、ナビゲーション指示の第2のセットを補足する指示を提供することを含み得る。
ここで図8を参照すると、方法800は、第1のコンピューティングデバイス(例えば、第2のデバイス122)によって実施され得る。方法800は、コンピュータ可読メモリ上に記憶され、第1のコンピューティングデバイスの1つまたは複数のプロセッサ(例えば、プロセッサ124)において実行可能な指示のセットにおいて実装され得る。
ブロック802において、第1のコンピューティングデバイスは、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始する。ブロック804において、第1のコンピューティングデバイスは、第2のコンピューティングデバイス(例えば、第1のデバイス102)から相互運用する要求を受信する。要求は、第1のコンピューティングデバイスが第1のナビゲーションセッションを実施していることを第2のコンピューティングデバイスが検出したことに応答して、共有ナビゲーション指示を提供するために相互運用する要求であり得る。さらに、ブロック806において、第1のコンピューティングデバイスは、(例えば、図3~図4を参照して説明したように)第1のナビゲーションセッションを、共有ナビゲーション指示を提供するための共有ナビゲーションセッションに変換する。
追加の考慮事項
以下の追加の考慮事項は、前述の議論に適用される。本明細書全体を通して、複数のインスタンスは、単一のインスタンスとして説明されている構成要素、動作、または構造を実装し得る。1つまたは複数の方法の個々の動作は、別個の動作として図示および説明されているが、個々の動作のうちの1つまたは複数は、同時に実行され得、動作が図示された順序において実行される必要はない。例示的な構成において別個の構成要素として提示されている構造および機能は、組み合わされた構造または構成要素として実装され得る。同様に、単一の構成要素として提示されている構造および機能は、別個の構成要素として実装され得る。これらおよび他の変形、修正、追加、および改善は、本開示の主題の範囲内に入る。
それに加えて、特定の実施形態は、ロジック、またはいくつかの構成要素、モジュール、もしくはメカニズムを含むものとして本明細書において説明されている。モジュールは、ソフトウェアモジュール(例えば、機械可読媒体上に記憶されたコード)またはハードウェアモジュールのいずれかを構成し得る。ハードウェアモジュールは、特定の動作を実行することができる有形のユニットであり、特定の方法において構成または配置され得る。例示的な実施形態において、1つもしくは複数のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)、またはコンピュータシステムの1つもしくは複数のハードウェアモジュール(例えば、プロセッサまたはプロセッサのグループ)は、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって、本明細書で説明されている特定の動作を実行するように動作するハードウェアモジュールとして構成され得る。
様々な実施形態において、ハードウェアモジュールは、機械的または電子的に実装され得る。例えば、ハードウェアモジュールは、特定の動作を実行するように(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)永続的に構成された専用回路またはロジックを備え得る。ハードウェアモジュールは、特定の動作を実行するためにソフトウェアによって一時的に構成されるプログラム可能なロジックまたは回路も(例えば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に内包されるように)備え得る。ハードウェアモジュールを機械的に、専用の永続的に構成された回路において実装するか、または一時的に構成された(例えば、ソフトウェアによって構成された)回路において実装するかの決定は、コストおよび時間の考慮によって決定され得ることが理解されるであろう。
したがって、ハードウェアという用語は、特定の方法において動作するように、または本明細書で説明されている特定の動作を実行するように物理的に構成された、永続的に構成された(例えば、配線された)、または一時的に構成された(例えば、プログラムされた)エンティティである、有形のエンティティを包含すると理解されるべきである。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールの各々は、いかなる一時点においても構成またはインスタンス化される必要はない。例えば、ハードウェアモジュールがソフトウェアを使用して構成された汎用プロセッサを備える場合、汎用プロセッサは、異なる時間において、それぞれ異なるハードウェアモジュールとして構成され得る。したがって、ソフトウェアは、例えば、ある時点において特定のハードウェアモジュールを構成し、異なる時点において異なるハードウェアモジュールを構成するようにプロセッサを構成し得る。
ハードウェアモジュールおよびソフトウェアモジュールは、他のハードウェアモジュールおよび/またはソフトウェアモジュールに情報を提供することができ、それらから情報を受信することができる。したがって、説明されているハードウェアモジュールは、通信可能に結合されていると見なされ得る。複数のそのようなハードウェアモジュールまたはソフトウェアモジュールが同時に存在する場合、通信は、ハードウェアモジュールまたはソフトウェアモジュールを接続する(例えば、適切な回路およびバスを介する)信号伝送を介して達成され得る。複数のハードウェアモジュールまたはソフトウェアが異なる時間において構成またはインスタンス化される実施形態において、そのようなハードウェアモジュールまたはソフトウェアモジュール間の通信は、例えば、複数のハードウェアモジュールまたはソフトウェアモジュールがアクセスすることができるメモリ構造における情報の記憶および取得を通じて達成され得る。例えば、1つのハードウェアモジュールまたはソフトウェアモジュールは、動作を実行し、その動作の出力を、通信可能に結合されたメモリデバイス内に記憶し得る。次いで、さらなるハードウェアモジュールまたはソフトウェアモジュールは、後に、記憶された出力を取得および処理するために、メモリデバイスにアクセスし得る。ハードウェアモジュールおよびソフトウェアモジュールはまた、入力デバイスまたは出力デバイスとの通信を開始し得、リソース(例えば、情報の集合体)に対して動作することができる。
本明細書で説明されている例示的な方法の様々な動作は、少なくとも部分的に、関連する動作を実行するように(例えば、ソフトウェアによって)一時的に構成されるかまたは永続的に構成された1つまたは複数のプロセッサによって実行され得る。一時的に構成されるか永続的に構成されるかにかかわらず、そのようなプロセッサは、1つまたは複数の動作または機能を実行するように動作するプロセッサ実装モジュールを構成し得る。本明細書で言及されているモジュールは、いくつかの例示的な実施形態において、プロセッサ実装モジュールを備える。
同様に、本明細書で説明されている方法またはルーチンは、少なくとも部分的にプロセッサで実装され得る。例えば、方法の動作のうちの少なくともいくつかは、1つまたは複数のプロセッサまたはプロセッサ実装ハードウェアモジュールによって実行され得る。特定の動作の実行は、単一のマシン内に存在するだけでなく、いくつかのマシンにわたって展開された1つまたは複数のプロセッサ間で分散され得る。いくつかの例示的な実施形態において、プロセッサは、単一の場所において(例えば、家庭環境内、オフィス環境内、またはサーバファームとして)配置され得るが、他の実施形態において、プロセッサは、いくつかの場所にわたって分散され得る。
1つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において、またはSaaSとして、関連する動作の実行をサポートするように動作し得る。例えば、上記で示したように、動作のうちの少なくともいくつかは、(プロセッサを含むマシンの例として)コンピュータのグループによって実行され得、これらの動作は、ネットワーク(例えば、インターネット)を介し、1つまたは複数の適切なインターフェース(例えば、API)を介してアクセス可能である。
特定の動作の実行は、単一のマシン内に存在するだけでなく、いくつかのマシンにわたって展開された1つまたは複数のプロセッサ間で分散され得る。いくつかの例示的な実施形態において、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、単一の地理的位置(例えば、家庭環境内、オフィス環境内、またはサーバファーム内)において配置され得る。他の例示的な実施形態において、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、いくつかの地理的位置にわたって分散され得る。
本明細書のいくつかの部分は、マシンメモリ(例えば、コンピュータメモリ)内にビットまたはバイナリデジタル信号として記憶されたデータに対する動作のアルゴリズムまたはシンボリック表現の観点から提示されている。これらのアルゴリズムまたはシンボリック表現は、データ処理技術の当業者によって自分の仕事の実態を他の等業者に伝えるために使用される技法の例である。本明細書で使用される場合、「アルゴリズム」または「ルーチン」は、所望の結果につながる首尾一貫した一連の動作または同様の処理である。この文脈において、アルゴリズム、ルーチン、および動作は、物理量の物理的操作を伴う。典型的には、必ずしもそうである必要はないが、そのような量は、マシンによって記憶、アクセス、転送、結合、比較、またはその他の操作されることが可能な電気信号、磁気信号、または光信号の形態をとり得る。「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「数」、「数字」などの単語を使用してそのような信号を指すことは、主に一般的な使用法の理由のため、ときには便利である。しかしながら、これらの単語は、単に便利なラベルであり、適切な物理量に関連付けられるべきである。
特に記載されていない限り、「処理すること」、「演算すること」、「計算すること」、「決定すること」、「提示すること」、「表示すること」などの単語を使用する本明細書における議論は、情報を受信する、記憶する、送信する、または表示する1つまたは複数のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組合せ)、レジスタ、または他のマシン構成要素内の物理的(例えば、電子的、磁気的、または光学的)量として表されるデータを操作または変換するマシン(例えば、コンピュータ)のアクションまたは処理を指し得る。
本明細書で使用される場合、「一実施形態」または「実施形態」への任意の言及は、実施形態に関連して説明されている特定の要素、特徴、構造、または特性が少なくとも1つの実施形態内に含まれることを意味する。本明細書における様々な場所における「一実施形態において」という語句の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。
いくつかの実施形態は、「結合された」および「接続された」という表現をそれらの派生語とともに使用して説明されている場合がある。例えば、いくつかの実施形態は、2つ以上の要素が直接物理的または電気的に接触していることを示すために、「結合された」という用語を使用して説明されている場合がある。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、依然として互いに協働または相互作用していることを意味する場合もある。実施形態は、この文脈において限定されない。
本明細書で使用される場合、「備える」、「備えること」、「含む」、「含むこと」、「有する」、「有すること」、またはそれらの任意の他の変形は、非排他的な包含をカバーすることを意図している。例えば、要素のリストを含むプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるわけではなく、明示的にリストされていない、またはそのようなプロセス、方法、物品、または装置に固有ではない他の要素を含み得る。さらに、明示的に反対に記載されていない限り、「または」は、包括的なまたはを指し、排他的なまたはを指さない。例えば、条件AまたはBは、以下、すなわち、Aが真であり(または存在し)かつBが偽である(存在しない)、Aが偽であり(または存在せず)かつBが真である(存在する)、およびAとBの両方が真である(または存在する)のうちの任意の1つによって満たされる。
それに加えて、「a」または「an」の使用は、本明細書における実施形態の要素および構成要素を説明するために用いられる。これは、単に便宜上、説明の一般的な意味を与えるために行われる。この説明は、1つまたは少なくとも1つを含むように読まれるべきであり、単数形は、それ以外の意味であることが明らかでない限り、複数形も含む。
本開示を読むと、当業者は、本明細書において開示された原理によって、ナビゲーション方向を生成するためのさらに追加の代替の構造的および機能的設計を理解するであろう。したがって、特定の実施形態および用途が図示および説明されてきたが、開示された実施形態は、本明細書において開示される正確な構造および構成要素に限定されないことが理解されるべきである。当業者に明らかである様々な修正、変更、および変形は、添付の特許請求の範囲において定義されている要旨および範囲から逸脱することなく、本明細書において開示される方法および装置の配置、動作、および詳細においてなされ得る。
100 通信システム
102 第1のクライアントデバイス、第1のデバイス
104 プロセッサ
106 メモリ
108 第1のナビゲーションアプリケーション
110 オペレーティングシステム(OS)
112 全地球測位システム(GPS)
114 ネットワークモジュール
116 ユーザインターフェース
118 入力/出力(I/O)モジュール、I/Oモジュール
120 共有ナビゲーションモジュール
121 合成音声認識モジュール
122 第2のクライアントデバイス、第2のデバイス
124 プロセッサ
126 メモリ
128 第2のナビゲーションアプリケーション
130 OS
132 GPS
134 ネットワークモジュール
136 ユーザインターフェース
138 I/Oモジュール
140 通信リンク、第1の通信リンク
142 通信リンク、第2の通信リンク
144 ネットワーク
150 第1のナビゲーションサーバ
152 プロセッサ
153 メモリ
154 サーバ共有ナビゲーションモジュール
155 第1の地図データベース、データベース
157 第1の交通データベース、データベース
159 第1の関心地点(POI)データベース、第1のPOIデータベース、データベース
160 第2のナビゲーションサーバ
162 プロセッサ
163 メモリ
165 第2の地図データベース、データベース
167 第2の交通データベース、データベース
169 第2のPOIデータベース、データベース
170 車両環境
172 車両
174 ヘッドユニット
176 ディスプレイ
178 ハードウェア入力コントロール
180 ハードウェア入力コントロール
182 マイクロフォン
184 スピーカ
202 グラフィカルユーザインターフェース(GUI)、GUI
204 GUI
212 操縦
222 操縦
302 GUI
304 GUI
402 GUI
404 GUI
408 予測ルート情報
410 予測ルート情報
412 操縦
422 操縦
502 GUI
504 GUI
506 プロンプト
512 操縦
522 操縦
602 GUI
606 プロンプト
800 方法

Claims (20)

  1. ナビゲーション指示を提供するための第1のコンピューティングデバイスにおける方法であって、前記方法が、
    前記第1のコンピューティングデバイスの1つまたは複数のプロセッサによって、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始するステップと、
    前記1つまたは複数のプロセッサによって、前記第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスを検出するステップと、
    前記1つまたは複数のプロセッサによって、前記第2のコンピューティングデバイスが第2のルートに沿った前記目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断するステップと、
    前記1つまたは複数のプロセッサによって、前記第2のナビゲーションセッションに従って前記第1のナビゲーションセッションを調整するステップと
    を含む、
    方法。
  2. 前記第1のナビゲーションセッションを調整するステップが、
    前記第1のルートに関連する第1のルート情報と前記第2のルートに関連する第2のルート情報とを交換するために、前記第2のコンピューティングデバイスと通信するステップであって、前記第1のルート情報が前記ナビゲーション指示の第1のセットを含み、前記第2のルート情報が前記ナビゲーション指示の第2のセットを含む、ステップと、
    前記第1のルート情報と前記第2のルート情報とに基づいて、共有ナビゲーション指示を生成するステップと、
    前記共有ナビゲーション指示を前記ユーザに提供するやり方を決定するステップと
    によって、前記第1のナビゲーションセッションを共有ナビゲーションセッションに変換するステップを含み、
    前記方法が、前記決定されたやり方で前記共有ナビゲーション指示を前記ユーザに対して提供するステップをさらに含む、
    請求項1に記載の方法。
  3. 前記1つまたは複数のプロセッサによって、前記共有ナビゲーションセッションを提供するために前記第1のコンピューティングデバイスと相互運用する要求を前記第2のコンピューティングデバイスに送信するステップと、
    前記1つまたは複数のプロセッサによって、前記第2のコンピューティングデバイスから、前記要求に対する肯定応答を受信するステップと、
    前記肯定応答に応答して前記第1のナビゲーションセッションを調整するステップと
    をさらに含む、請求項2に記載の方法。
  4. 前記共有ナビゲーション指示を生成するステップが、前記ナビゲーション指示の第1のセットおよび前記ナビゲーション指示の第2のセットが同一であるという判断に応答して、前記ナビゲーション指示の第1のセットを前記共有ナビゲーション指示として選択するステップを含む、請求項2に記載の方法。
  5. 前記共有ナビゲーション指示を生成するステップが、前記ナビゲーション指示の第1のセットまたは前記ナビゲーション指示の第2のセットのいずれがより早い前記目的地における推定到着時間を有するかに基づいて、前記ナビゲーション指示の第1のセットまたは前記ナビゲーション指示の第2のセットを前記共有ナビゲーション指示として選択するステップを含む、請求項2に記載の方法。
  6. 前記共有ナビゲーション指示を生成するステップが、
    前記ナビゲーション指示の第1および第2のセットの特性に基づいて、前記共有ナビゲーション指示内に含めるために、前記ナビゲーション指示の第1のセットまたは前記ナビゲーション指示の第2のセットから個々のナビゲーション指示を選択するステップを含む、
    請求項2に記載の方法。
  7. 前記共有ナビゲーション指示を提供する前記やり方を決定するステップが、
    前記第1のコンピューティングデバイスが前記第1のルート情報に基づいて決定されたナビゲーション指示に対する第1の音声指示を提供すべきであると判断するステップと、
    前記第2のコンピューティングデバイスが前記第2のルート情報に基づいて決定されたナビゲーション指示に対する第2の音声指示を提供すべきであると判断するステップと
    を含む、
    請求項6に記載の方法。
  8. 前記共有ナビゲーション指示を提供する前記やり方を決定するステップが、
    前記共有ナビゲーション指示に対応する音声指示を提供するために、前記第1のコンピューティングデバイスまたは前記第2のコンピューティングデバイスから一次デバイスを選択するステップを含む、
    請求項2に記載の方法。
  9. 第1の通信リンクを介して、前記第2のコンピューティングデバイスが検出され、ナビゲーション指示の第2のセットが決定され、
    前記第1のルートに関連する第1のルート情報と前記第2のルートに関連する第2のルート情報とを交換するために前記第2のコンピューティングデバイスと通信するステップが、前記第1の通信リンクとは異なる第2の通信リンクを介して実行される、
    請求項2から8のいずれか一項に記載の方法。
  10. 前記第1の通信リンクが、前記第2の通信リンクよりも低い帯域幅を有する、請求項9に記載の方法。
  11. 前記方法が、前記第2のデバイスから前記ナビゲーション指示の第2のセットを受信するステップをさらに含み、
    前記第1のナビゲーションセッションを調整するステップが、
    前記1つまたは複数のプロセッサによって、前記ナビゲーション指示の第2のセットを前記ナビゲーション指示の第1のセットと比較するステップと、
    前記指示の第2のセットが前記ナビゲーション指示の第1のセットと異なると判断したことに応答して、前記第1のコンピューティングデバイスのディスプレイまたはスピーカのうちの少なくとも1つを介して補足的な指示を提供するステップと
    を含む、
    請求項1に記載の方法。
  12. 前記第2のコンピューティングデバイスを検出するステップが、
    合成音声の周囲ノイズを監視するステップと、
    前記合成音声を検出することによって前記第2のコンピューティングデバイスを検出するステップと
    を含む、
    請求項11に記載の方法。
  13. ナビゲーション指示を提供するための第1のコンピューティングデバイスであって、前記第1のコンピューティングデバイスが、
    1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサに結合され、指示を記憶する非一時的コンピュータ可読媒体と
    を備え、前記指示が、前記1つまたは複数のプロセッサによって実行されると、前記第1のコンピューティングデバイスに、
    第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始させ、
    前記第1のコンピューティングデバイスに近接する第2のコンピューティングデバイスを検出させ、
    前記第2のコンピューティングデバイスが第2のルートに沿った前記目的地までのナビゲーション指示の第2のセットを提供するための第2のナビゲーションセッションを実施していると判断させ、
    前記第2のナビゲーションセッションに従って前記第1のナビゲーションセッションを調整させる、
    第1のコンピューティングデバイス。
  14. 前記指示が、
    前記第1のルートに関連する第1のルート情報と前記第2のルートに関連する第2のルート情報とを交換するために、前記第2のコンピューティングデバイスと通信する動作であって、前記第1のルート情報が前記ナビゲーション指示の第1のセットを含み、前記第2のルート情報が前記ナビゲーション指示の第2のセットを含む、動作と、
    前記第1のルート情報と前記第2のルート情報とに基づいて、共有ナビゲーション指示を生成する動作と、
    前記共有ナビゲーション指示を前記ユーザに提供するやり方を決定する動作と
    によって、
    前記第1のナビゲーションセッションを共有ナビゲーションセッションに変換することによって、前記第1のコンピューティングデバイスに前記第1のナビゲーションセッションを調整させ、
    前記指示が、さらに、前記第1のコンピューティングデバイスに、前記決定されたやり方で前記共有ナビゲーション指示を前記ユーザに対して提供させる、
    請求項13に記載の第1のコンピューティングデバイス。
  15. 前記指示が、
    前記ナビゲーション指示の第1および第2のセットの特性に基づいて、前記共有ナビゲーション指示内に含めるために、前記ナビゲーション指示の第1のセットまたは前記ナビゲーション指示の第2のセットから個々のナビゲーション指示を選択することによって、
    前記第1のコンピューティングデバイスに前記共有ナビゲーション指示を生成させる、
    請求項14に記載の第1のコンピューティングデバイス。
  16. 前記指示が、
    合成音声の周囲ノイズを監視し、
    前記合成音声を検出することによって前記第2のコンピューティングデバイスを検出することによって、
    前記第1のコンピューティングデバイスに前記第2のコンピューティングデバイスを検出させ、
    前記指示がさらに、前記第1のコンピューティングデバイスに、前記第2のデバイスから前記ナビゲーション指示の第2のセットを受信させ、
    前記指示が、
    前記ナビゲーション指示の第2のセットを前記ナビゲーション指示の第1のセットと比較し、
    前記指示の第2のセットが前記ナビゲーション指示の第1のセットと異なると判断したことに応答して、前記第1のコンピューティングデバイスのディスプレイまたはスピーカのうちの少なくとも1つを介して補足的な指示を提供することによって、
    前記第1のコンピューティングデバイスに前記第1のナビゲーションセッションを調整させる、
    請求項13に記載の第1のコンピューティングデバイス。
  17. ナビゲーション指示を提供するための第1のコンピューティングデバイスにおける方法であって、前記方法が、
    前記第1のコンピューティングデバイスの1つまたは複数のプロセッサによって、第1のルートに沿った出発地から目的地までのナビゲーション指示の第1のセットをユーザに提供するための第1のナビゲーションセッションを開始するステップと、
    前記1つまたは複数のプロセッサによって、前記第1のコンピューティングデバイスが前記第1のナビゲーションセッションを実施していることを第2のコンピューティングデバイスが検出したことに応答して、共有ナビゲーション指示を提供するために相互運用する要求を前記第2のコンピューティングデバイスから受信するステップと、
    前記要求に応答して、前記1つまたは複数のプロセッサによって、前記共有ナビゲーション指示を提供するために前記第1のナビゲーションセッションを共有ナビゲーションセッションに変換するステップと
    を含む、
    方法。
  18. 前記第1のナビゲーションセッションを変換するステップが、
    前記第1のルートに関連する第1のルート情報と、前記第2のコンピューティングデバイスによって決定された第2のルートに関連する第2のルート情報とを交換するために、前記第2のコンピューティングデバイスと通信するステップであって、前記第1のルート情報が前記ナビゲーション指示の第1のセットを含み、前記第2のルート情報が前記第2のルートに沿った前記目的地までのナビゲーション指示の第2のセットを含む、ステップと、
    前記第2のコンピューティングデバイスから、前記第1のルート情報と前記第2のルート情報とに基づいて生成された前記共有ナビゲーション指示を受信するステップと、
    前記第2のコンピューティングデバイスから、前記共有ナビゲーション指示を前記ユーザに提供するやり方の指示を受信するステップと
    を含み、
    前記方法が、前記指示されたやり方で前記共有ナビゲーション指示を前記ユーザに対して提供するステップをさらに含む、
    請求項17に記載の方法。
  19. 前記指示されたやり方で前記共有ナビゲーション指示を提供するステップが、前記第1のルート情報に基づいて生成された前記共有ナビゲーション指示の個々のナビゲーション指示に対応する音声指示を提供するステップを含む、請求項18に記載の方法。
  20. 前記指示されたやり方で前記共有ナビゲーション指示を提供するステップが、前記共有ナビゲーション指示を説明する音声指示を提供することなく、前記共有ナビゲーション指示を表示するステップを含む、請求項18に記載の方法。
JP2023509567A 2020-09-11 2020-09-11 複数のデバイスにおける同時ナビゲーションセッションを検出および改善すること Pending JP2023541115A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/050353 WO2022055495A1 (en) 2020-09-11 2020-09-11 Detecting and improving simultaneous navigation sessions on multiple devices

Publications (1)

Publication Number Publication Date
JP2023541115A true JP2023541115A (ja) 2023-09-28

Family

ID=72659893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023509567A Pending JP2023541115A (ja) 2020-09-11 2020-09-11 複数のデバイスにおける同時ナビゲーションセッションを検出および改善すること

Country Status (6)

Country Link
US (1) US20230194294A1 (ja)
EP (2) EP4283611A3 (ja)
JP (1) JP2023541115A (ja)
KR (1) KR20230043189A (ja)
CN (1) CN115917256A (ja)
WO (1) WO2022055495A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9638537B2 (en) * 2012-06-21 2017-05-02 Cellepathy Inc. Interface selection in navigation guidance systems
CN109682384B (zh) * 2014-01-27 2023-09-08 华为技术有限公司 导航方法和导航设备
US9441976B2 (en) * 2014-07-02 2016-09-13 Qualcomm Incorporated Methods and systems for collaborative navigation and operation with a mobile device and a wearable device
US9973887B2 (en) * 2016-01-21 2018-05-15 Google Llc Sharing navigation data among co-located computing devices

Also Published As

Publication number Publication date
US20230194294A1 (en) 2023-06-22
EP4283611A2 (en) 2023-11-29
CN115917256A (zh) 2023-04-04
WO2022055495A1 (en) 2022-03-17
EP4176234A1 (en) 2023-05-10
KR20230043189A (ko) 2023-03-30
EP4283611A3 (en) 2024-02-21

Similar Documents

Publication Publication Date Title
JP6782773B2 (ja) 同一の場所にあるコンピューティングデバイス間におけるナビゲーションデータの共有
US20180252547A1 (en) Controlling navigation software on a portable device from the head unit of a vehicle
JP7005552B2 (ja) 車両にナビゲーションデータを提供するためのシステムおよび方法
US9310213B2 (en) Obtaining updated navigation information for road trips
US20170279947A1 (en) Hybrid Telematics Enhancements With In-Vehicle Mobile Devices And Smart Sensors
JP2018503116A (ja) 注目点情報を提供する方法および装置
CN107765691B (zh) 用于控制无人驾驶车辆的方法和装置
JP6663824B2 (ja) ナビゲーションシステム及びコンピュータプログラム
US10408632B2 (en) Vehicle navigation
JP5631819B2 (ja) ナビゲーション装置
US10064023B2 (en) Method and apparatus for providing notifications
US20150168151A1 (en) Cloud system for a vehicle
US20220412768A1 (en) Sharing a Navigation Session to Minimize Driver Distraction
CN111510857B (zh) 一种用于实现用户间协同移动的方法与设备
JP2023541115A (ja) 複数のデバイスにおける同時ナビゲーションセッションを検出および改善すること
US20130311898A1 (en) Method and apparatus for navigation using multiple synchronized mobile devices
JP2022153363A (ja) サーバ装置及び情報処理方法並びにサーバプログラム
US20210112393A1 (en) Transmission limited beacon for transportation device selection
KR102116790B1 (ko) 여행자, 운전자 및 차량을 매칭하기 위한 전자 장치 및 방법
KR102200458B1 (ko) 그룹 주행 시의 멤버 위치 표시 방법, 이를 위한 장치 및 시스템
KR102622482B1 (ko) 자율 주행 차량을 제어하는 전자 장치 및 시스템
JP2020106533A (ja) ナビゲーションシステム及びコンピュータプログラム
CN115310728B (zh) 泊车路线生成方法、装置、设备和计算机可读介质
CN110621066B (zh) 用于处理信息的方法和装置
WO2022217583A1 (zh) 一种地理信息处理方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230404

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240603