(57)【要約】  輸送サービスにおいて乗車位置を提示するために、サーバ装置は、ライダーの現在位置から降車位置へのライドシェアサービスの要求を受信する。サーバ装置は、ドライバーに要求をブロードキャストし、そしてドライバーの1人から要求の受諾の指示を受信する。次いで、サーバ装置は、ライダーおよびドライバーに、ライダーおよびドライバーのクライアント装置の地図表示に提示される乗車位置を提供する。ライダーまたはドライバーの現在位置が乗車位置から閾値距離内であるとき、対応するクライアント装置は拡張現実モードに切り替わり、実世界像を表すクライアント装置のカメラからのカメラビューを提示する。サーバ装置は、対応するクライアント装置に、実世界像をオーバーレイする拡張現実モードで提示する情報を提供してライダーまたはドライバーが乗車位置を見つけるのを支援する。
2021516377.tif 000002
【特許請求の範囲】
【請求項１】
輸送サービスにおいて乗車位置の表示を提供するための方法であって、
サーバ装置における1つまたは複数のプロセッサによって、ライダーを降車位置に輸送するようにとの要求を受信するステップと、
前記1つまたは複数のプロセッサによって前記ライダーのクライアント装置またはドライバーのクライアント装置に、前記ドライバーが前記ライダーを乗せる乗車位置を提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置の視野からの実世界像を受信するステップと、
前記1つまたは複数のプロセッサによって、前記実世界像に対応する位置を決定するステップと、
前記1つまたは複数のプロセッサによって、前記決定した位置を前記乗車位置と比較するステップと、
前記1つまたは複数のプロセッサによって、前記ライダーまたはドライバーを支援するために前記比較に基づいて前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置に提示される前記実世界像をオーバーレイする拡張現実モードで表示するための情報を提供するステップとを含む、方法。
【請求項２】
拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、請求項1に記載の方法。
【請求項３】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項2に記載の方法。
【請求項４】
前記1つまたは複数のプロセッサによって、前記実世界像が前記ドライバーの車両を含むと決定するステップを更に含み、
拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記車両を強調するステップを含む、
請求項1に記載の方法。
【請求項５】
前記実世界像が前記ドライバーの車両を含むと決定するステップが、
前記1つまたは複数のプロセッサにおいて、前記ドライバーの現在位置の指示を受信するステップと、
前記1つまたは複数のプロセッサによって、前記実世界像内に含まれる地理的範囲を決定するステップと、
前記1つまたは複数のプロセッサによって、前記ドライバーの前記現在位置の前記指示を前記地理的範囲と比較して、前記ドライバーが前記実世界像内に含まれる前記地理的範囲内に位置するかどうかを決定するステップとを含む、請求項4に記載の方法。
【請求項６】
前記1つまたは複数のプロセッサによって、前記実世界像内の前記ドライバーの前記現在位置におけるオブジェクトを識別するステップと、
前記1つまたは複数のプロセッサによって、前記オブジェクトを、車両を表現する1つまたは複数のテンプレートオブジェクトと比較して、前記オブジェクトが車両であるかどうかを決定するステップと、
前記1つまたは複数のプロセッサによって、前記オブジェクトが車両であるとの決定に応じて前記実世界像が前記ドライバーの前記車両を含むと決定するステップとを更に含む、
請求項5に記載の方法。
【請求項７】
前記1つまたは複数のプロセッサによって、前記ライダーの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサにおいて、前記ライダーの現在位置および前記ドライバーの現在位置を得るステップと、
前記1つまたは複数のプロセッサによって、前記ライダーの前記現在位置に対する前記ドライバーの前記現在位置に基づいて前記ライダーに対する前記ドライバーの向きを識別するステップと、
前記1つまたは複数のプロセッサによって、前記ライダーの前記クライアント装置の前記向きが前記ライダーに対する前記ドライバーの前記向きと異なると決定するステップとを更に含み、
前記実世界像をオーバーレイする拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記ライダーが前記ドライバーに向く方向の指示を提供し、前記実世界像に前記ドライバーの車両を表示するステップを含む、
請求項1に記載の方法。
【請求項８】
前記実世界像に対応する位置を決定するステップが、
クライアント装置によって提供される前記実世界像を分析して前記クライアント装置の位置を決定することを含む、請求項1に記載の方法。
【請求項９】
輸送サービスにおいて乗車位置を識別してライダーに提示するための方法であって、
ユーザのクライアント装置における1つまたは複数のプロセッサによって、前記ユーザを降車位置に輸送するようにとの要求を送信するステップと、
前記1つまたは複数のプロセッサにおいて、車両が前記ユーザを乗せる乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記乗車位置の指示および前記ユーザの現在位置の指示を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ユーザの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ユーザを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含む、方法。
【請求項１０】
前記1つまたは複数のプロセッサにおいて、前記車両のドライバーの現在位置を第1の頻度で定期的に受信するステップと、
前記ドライバーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記1つまたは複数のプロセッサにおいて、前記ドライバーの前記現在位置を前記第1の頻度より高い第2の頻度で定期的に受信するステップとを更に含む、
請求項9に記載の方法。
【請求項１１】
前記1つまたは複数のプロセッサによって、前記実世界像および前記ドライバーの更新された現在位置をサーバ装置に提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記実世界像が前記ドライバーの前記車両を含むことの指示、および前記車両の前記実世界像内の位置を受信するステップとを更に含み、
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記車両を強調するステップを含む、
請求項10に記載の方法。
【請求項１２】
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、請求項9に記載の方法。
【請求項１３】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項12に記載の方法。
【請求項１４】
前記1つまたは複数のプロセッサによって、前記ユーザの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサによって、前記ユーザの前記現在位置に対する前記車両の現在位置に基づいて前記ユーザに対する前記車両の向きの指示を得るステップとを更に含み、
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記実世界像をオーバーレイする前記1つまたは複数のプロセッサによって、前記車両が前記実世界像に表示されるように前記ユーザが前記車両に向く方向の指示を提示するステップを含む、
請求項9に記載の方法。
【請求項１５】
輸送サービスにおいて乗車位置を識別してドライバーに提示するための方法であって、
ドライバーのクライアント装置における1つまたは複数のプロセッサによって、ライダーまたは物品を降車位置に輸送するようにとの要求を受信するステップと、
前記要求を受諾するステップと、
前記1つまたは複数のプロセッサにおいて、乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記ドライバーの現在位置から前記乗車位置へのナビゲーション方向を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ドライバーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ドライバーを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含む、方法。
【請求項１６】
前記1つまたは複数のプロセッサにおいて、輸送を要求する前記ライダーの現在位置を第1の頻度で定期的に受信するステップと、
前記ライダーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記1つまたは複数のプロセッサにおいて、前記ライダーの前記現在位置を前記第1の頻度より高い第2の頻度で定期的に受信するステップとを更に含む、
請求項15に記載の方法。
【請求項１７】
前記1つまたは複数のプロセッサによって、前記実世界像および前記ライダーまたは前記物品の更新された現在位置をサーバ装置に提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記実世界像が前記ライダーまたは前記物品を含むことの指示、および前記ライダーの前記実世界像内の位置を受信するステップとを更に含み、
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記ライダーまたは前記物品を強調するステップを含む、
請求項16に記載の方法。
【請求項１８】
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、請求項15に記載の方法。
【請求項１９】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項18に記載の方法。
【請求項２０】
前記1つまたは複数のプロセッサによって、前記ドライバーの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサによって、前記ドライバーの前記現在位置に対する前記ライダーまたは物品の現在位置に基づいて前記ドライバーに対する前記ライダーまたは前記物品の向きの指示を得るステップとを更に含み、
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記実世界像をオーバーレイする前記1つまたは複数のプロセッサによって、前記ライダーまたは物品が前記実世界像に表示されるように前記ドライバーが前記ライダーまたは物品に向く方向の指示を提示するステップを含む、
請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ライドシェアシステムに関し、より詳細には、拡張現実を使用してライドシェアアプリケーションユーザに正確な位置情報を提供することに関する。
【背景技術】
【０００２】
本明細書で提供される背景説明は本開示の状況を一般的に提示する目的のためである。本願掲載の発明者の成果は、それがこの背景項に記載される範囲、ならびに出願時に場合によっては先行技術と見なされない本説明の態様については、本開示に対する先行技術としては明示的にも黙示的にも認められない。
【０００３】
今日、ライドシェアまたはカープーリング事業者がドライバーおよび乗客を結びつけて、ドライバーが乗客を目的地に輸送するよう手配する。典型的に、ライドシェアアプリケーションが、ドライバーおよびライダーにライダーを乗せるための乗車位置を提示する。
【０００４】
ライドシェアサービスに関する課題は、ライダーおよび車両のドライバーが互いを識別することが時に困難であるということである。例えば、ライダーには、車両のメーカー、色およびナンバープレートを伝えることができ、ライダーのモバイルデバイス上の地図上で車両の推定位置を与えることができる。しかしながら、都市環境では同じメーカーおよび色の車両が近くに何十台もあり得るので、車両のメーカーおよび色は、正しい車両を識別するのに特に有益でもなくなり得る。ナンバープレートは、特に車両がライダーから数メートル以上離れている場合、ライダーには読むのが困難であり得る。更には、車両の推定位置は、ライダーを支援するにはあまりに不正確であり得る。推定位置は、典型的にドライバーの車両内のモバイルデバイスによってなされるGPS測定に基づく。そのようなGPS測定は、埋込もしくは閉鎖環境でのGPS信号の低信号強度のため、またはモバイルデバイスのGPS受信機の不備のため不正確であり得る。
【０００５】
ドライバーは、典型的に一層少ない情報を受け取る。例えば、ドライバーは、ライダーの近似位置および、ライドシェア事業者に応じて、ライダーの画像を与えられてよい。ライダーの近似位置は、典型的にライダーの所有のモバイルデバイスによってなされるGPS測定に基づき、したがってドライバーの位置の文脈で記載されたものと同様の不正確源を負う。
【発明の概要】
【課題を解決するための手段】
【０００６】
ドライバーおよびライダーが互いを識別するのを援助するために、ライダーまたはドライバーが乗車位置に接近するにつれて、ライドシェア拡張現実(AR)システムがライドシェアアプリケーションの表示を地図表示モードからARモードに切り替える。ARモードは、ライダーまたはドライバークライアント装置のカメラによって取得される範囲の実世界像にオーバーレイされるARフィーチャを提示する。より具体的には、ARモードでは、ライドシェアARシステムは、ライダーまたはドライバークライアント装置の前方の実世界像のカメラビューを提示してよい。ライドシェアARシステムは、次いで、カメラビュー内に含まれる位置を識別し、そして位置が乗車位置および/またはライダーもしくはドライバーの現在位置を含むかどうかを決定してよい。カメラビューが乗車位置を含むとき、ライドシェアARシステムは、乗車位置に対応するカメラビュー内の位置に実世界像をオーバーレイする乗車位置の指示を提示してよい。指示は、乗車位置に対応するカメラビュー内の位置に配置されるピンまたは他のグラフィックでよい。
【０００７】
カメラビューがドライバーの車両を含むとき、ライドシェアARシステムは、車両に対応するカメラビュー内の位置に実世界像をオーバーレイする車両の指示を提示してよい。例えば、ライドシェアARシステムは、車両上方にピンまたは矢印を配置すること、車両周辺に円、四角または他の形状を配置すること、車両に特定の色を付けること、車両上または上方にグラフィックを配置すること等によって、実世界像内の車両を強調してよい。同様に、カメラビューがライダーを含むとき、ライドシェアARシステムは、ライダーに対応するカメラビュー内の位置に実世界像をオーバーレイするライダーの指示を提示してよい。例えば、ライドシェアARシステムは、ライダー上方にピンまたは矢印を配置すること、ライダー周辺に円、四角または他の形状を配置すること、ライダーに特定の色を付けること、ライダー上または上方にグラフィックを配置すること等によって、実世界像内のライダーを強調してよい。
【０００８】
本開示の技術の一実施形態例は、輸送サービスにおいて乗車位置の表示を提供する方法である。本方法は、サーバ装置において、ライダーを降車位置に輸送するようにとの要求を受信するステップと、ライダーのクライアント装置またはドライバーのクライアント装置に、ドライバーがライダーを乗せる乗車位置を提供するステップと、ライダーのクライアント装置またはドライバーのクライアント装置の視野からの実世界像を受信するステップとを含む。本方法は、実世界像に対応する位置を決定するステップと、決定した位置を乗車位置と比較するステップと、ライダーまたはドライバーを支援するために比較に基づいてライダーのクライアント装置またはドライバーのクライアント装置に提示される実世界像をオーバーレイする拡張現実モードで表示するための情報を提供してステップとを更に含む。
【０００９】
別の実施形態例は、輸送サービスにおいて乗車位置を識別してライダーに提示するための方法である。本方法は、ユーザのクライアント装置において、ユーザを降車位置に輸送するようにとの要求を送信するステップと、車両がユーザを乗せる乗車位置を受信するステップとを含む。本方法は、ユーザインタフェースを介して、地図表示モードで乗車位置の指示、およびユーザの現在位置の指示を含む地理的範囲の対話型デジタル地図を提供するステップを更に含む。ユーザの現在位置が乗車位置から閾値距離内であるとの決定に応じて、本方法は、ユーザインタフェースを介して、クライアント装置の視野における実世界像を、ユーザを支援するための実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップを含む。
【００１０】
更に別の実施形態例は、輸送サービスにおいて乗車位置を識別してドライバーに提示するための方法である。本方法は、ドライバーのクライアント装置において、ライダーまたは物品を降車位置に輸送するようにとの要求を受信するステップと、要求を受諾するステップと、乗車位置を受信するステップとを含む。本方法は、ユーザインタフェースを介して、地図表示モードでドライバーの現在位置から乗車位置へのナビゲーション方向を含む地理的範囲の対話型デジタル地図を提供するステップを更に含む。ドライバーの現在位置が乗車位置から閾値距離内であるとの決定に応じて、本方法は、ユーザインタフェースを介して、クライアント装置の視野における実世界像を、ドライバーを支援するための実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップを含む。
【図面の簡単な説明】
【００１１】
【図１】ドライバークライアント装置およびライダークライアント装置が動作してライドシェアARシステムを実装できる通信システム例のブロック図である。
【図２】図1のシステムにおいて動作できるライダー/ドライバークライアント装置例のブロック図である。
【図３】ライドシェアARシステムを実装するライダークライアント装置とドライバークライアント装置と拡張現実サーバとの間で通信される情報例を例示するメッセージ図例である。
【図４Ａ】ライドシェアアプリケーションの地図表示モードでの乗車位置の表示例である。
【図４Ｂ】ライドシェアアプリケーションのARモードでの図4Aの乗車位置の表示例である。
【図５Ａ】ライドシェアアプリケーションの地図表示モードでの乗車位置の別の表示例である。
【図５Ｂ】ライドシェアアプリケーションのARモードでの図5Aの乗車位置の表示例である。
【図６】ライドシェアアプリケーションのARモードでのドライバーの車両の表示例である。
【図７】ライドシェアアプリケーションのARモードでのドライバーの車両の別の表示例である。
【図８】サーバ装置において実装できる、輸送サービスにおいて乗車位置の表示を提供するための方法例のフロー図である。
【図９】ライダークライアント装置において実装できる、輸送サービスにおいて乗車位置を識別してライダーに提示するための方法例のフロー図である。
【発明を実施するための形態】
【００１２】
概観
本開示は、輸送サービスにおけるライダーおよびドライバーの改良された識別のための技術を提供する。より具体的には、本開示は、ライダーおよびドライバーが位置および/または識別情報を共有することに同意したときに、拡張現実を使用して、ライダーおよびドライバーが互いを識別するのを援助する。例えば、ライダーが視力だけを使用して車両を識別する必要性を低減または排除するように、拡張現実技術を使用して、ライダーのクライアント装置を取り巻く実世界像の表示にドライバーの車両を示してよい(逆もまた同様)。別の例として、ドライバーおよび/またはライダーを乗車位置に向けて案内するために拡張現実技術が使用されてよい。拡張現実の使用は、ライダーおよびドライバーが互いの位置を捜そうとしているときにGPS測定への依存を低減できる。同技術は乗車位置に関して本明細書に記載されるが、降車位置にまたは周辺にARフィーチャを提示することによって降車位置を識別するために同様の技術が使用されてもよい。更には、本明細書に記載される技術は、スクータ、自転車、自律車両、ハイヤー乗車サービス、タクシーサービス、または1人のユーザを乗車位置から降車位置に輸送するために使用され得る任意の他の車両などの、共用車両または任意の他の輸送サービスとの関連でも使用されてよく、別のユーザが降車位置において車両を回収して別の降車位置まで移動し得る。
【００１３】
ハードウェアおよびソフトウェア部品例
図1を参照すると、以上概観した技術が実装できる通信システム例がドライバークライアント装置10およびライダークライアント装置28を含み、各々1つまたは幾つかのライドシェアアプリケーション44を実行するように構成されるポータブルデバイスでよい。ドライバークライアント装置10およびライダークライアント装置28に加えて、通信システムは、ドライバークライアント装置10およびライダークライアント装置28に実世界像をオーバーレイする拡張現実フィーチャを提供するように構成される拡張現実サーバなどの、サーバ装置110を含む。通信システムは、ドライバークライアント装置10およびライダークライアント装置28に地図表示およびナビゲーションデータを提供するように構成されるナビゲーションサーバ装置120も含む。追加的に、通信システム100は、乗車サービス機能性を提供するように構成されるライドシェアサーバ装置130を含む。乗車サービス機能性は、乗客からライドシェア要求を受信すること、乗客と同じ範囲にいるドライバーにライドシェア要求をブロードキャストすること、要求を受諾するドライバーからメッセージを受信すること、ならびにドライバーおよび乗客に乗客を迎えるための乗車位置の他にドライバーおよび乗客から乗車位置への距離を示す更新された位置情報を提供することを含んでよい。
【００１４】
ドライバークライアント装置10、ライダークライアント装置28、拡張現実サーバ110、ナビゲーションサーバ120およびライドシェアサーバ130は、ネットワーク100を通じて互いに通信可能に接続されてよい。ネットワーク100は、インターネットなどの公衆網、またはイントラネットなどの私設網でよい。
【００１５】
拡張現実サーバ110は、実装例では、様々な地理的範囲に対する実世界像を記憶するデータベース136に通信可能に結合できる。このように、拡張現実サーバ110は、ドライバークライアント装置10またはライダークライアント装置28のカメラビューからの実世界像をデータベース136内の実世界像と比較して、クライアント装置10、28の位置および/または向きを識別してよい。拡張現実サーバ110は、実世界像をオーバーレイする形状およびグラフィックなどの拡張現実フィーチャを記憶するデータベースにも通信可能に結合されてよい。より一般には、サーバ装置110は、拡張現実環境において使用できる任意の種類の情報を記憶する1つまたは幾つかのデータベースと通信できる。一部の実装では、サーバ装置110は、幾つかの通信可能に接続されたサーバ装置を含んでよい。例えば、ライダークライアント装置28はライドシェアサーバ130と通信して、ドライバーに目的地までのライドシェアサービスの要求をブロードキャストし、そして要求を受諾するドライバーを受信してよい。ライドシェアサーバ130は次いでナビゲーションサーバ120と通信して、乗車位置を識別し、そして乗車位置およびドライバーの現在位置を表示する地図データ、ならびに乗車位置への方向を提示するナビゲーションデータを提供してよい。更には、ライドシェアサーバ130は拡張現実サーバと通信して、ARフィーチャおよびライダークライアント装置28上のライドシェアアプリケーション44のARモードでARフィーチャを提示すべきカメラビュー内のそれらの対応位置を受信してよい。
【００１６】
一実装例では、図2に図示されるように、ドライバークライアント装置10およびライダークライアント装置28の各々は、例えば、スマートフォンまたはタブレットコンピュータでよく、そしてメモリ106、1つまたは複数のプロセッサ107、グラフィック処理ユニット(GPU)109、ネットワークインタフェース118、ユーザインタフェース(UI)121、および1つまたは幾つかのセンサ122を含む。メモリ106は、非一時的メモリであることができ、そしてランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、他の種類の永続的メモリ等などの、1つまたは幾つかの適切なメモリモジュールを含むことができる。UI121は、例えば、タッチスクリーンでよい。より一般には、本開示の技術は、ラップトップまたはデスクトップコンピュータ、車両ヘッドユニットなどの車両に組み込まれるデバイス、スマートウォッチまたはスマートグラスなどのウェアラブルデバイス等といった、他の種類の装置に実装できる。
【００１７】
実装に応じて、1つまたは複数のセンサ122は、カメラ、クライアント装置10、28の位置を検出する全地球測位システム(GPS)モジュール、クライアント装置10、28の方向を決定するコンパス、回転および傾斜を決定するジャイロスコープ、加速度計等を含むことができる。
【００１８】
メモリ106はオペレーティングシステム(OS)114を記憶し、これは任意の種類の適切なモバイルまたは汎用オペレーティングシステムであることができる。OS114は、アプリケーション(ライドシェアアプリケーション44および別のアプリケーションなど)が互いとインタフェースする、または、例えば、センサ示度を読み出すのを可能にするAPI機能を含むことができる。例えば、クライアント装置10、28上で実行するように構成されるソフトウェアアプリケーションが、その瞬間のクライアント装置10、28の現在位置および向きを読み出すためのOS114APIを呼び出す命令を含むことができる。APIは、APIが推定値をどれくらい確信しているかの定量的指示を(例えば、パーセンテージとして)返すこともできる。
【００１９】
メモリ106は、ライドシェアサービスもしくは他の輸送サービスを乗客に提供するまたはライドシェアサービスもしくは他の輸送サービスが必要な乗客をドライバーに識別するように構成されるライドシェアアプリケーション44の他に、他のアプリケーション104も記憶する。ライドシェアアプリケーション44は、乗客の現在位置から目的地へのライドシェアサービスまたは他の輸送サービスの要求を受信でき、そしてドライバーが乗客を迎える乗車位置を識別できる。その上、ライドシェアアプリケーション44は、地図データベースおよび/またはナビゲーションサーバ120からラスタ(例えば、ビットマップ)または非ラスタ(例えば、ベクタグラフィック)形式の地図データを受信できる。ライドシェアアプリケーション44は、ドライバーもしくは乗客の現在位置から乗車位置へのおよび/または乗車位置から目的地へのナビゲーション方向を表示もできる。ナビゲーション方向は運転または歩行方向を含んでよい。
【００２０】
ライドシェアアプリケーション44は、ライドシェアアプリケーション44の表示を、ライダーもしくはドライバーの現在位置、乗車位置および/または目的地位置を示す地理的範囲の2次元(2D)地図データを提示する地図表示モードからクライアント装置10、28の前方の範囲のカメラビューを提示するARモードに切り替えるように構成されるAR表示モジュール48を含む。このように、ライドシェアアプリケーション44は、ライドシェアアプリケーション44がカメラビューを提示する地点である乗車位置にライダーまたはドライバーが近づくまで地図表示を提示することによってデータおよびバッテリ電力を節約する。乗車位置の取得に応じて、ライドシェアアプリケーション44は、ライダーまたはドライバーの現在位置、乗車位置、および現在位置から乗車位置へのナビゲーション方向を示す地理的範囲の2D地図表示を提示する。他の実施形態において、地図表示は3次元(3D)または2.5次元(2.5D)地図表示でよい。
【００２１】
ライドシェアアプリケーション44は、ドライバーおよび/またはライダーの現在位置を示す位置情報を連続的または定期的に得、そして地図表示にドライバーおよび/またはライダーの更新された位置を提示する。AR表示モジュール48は、クライアント装置10、28のユーザの現在位置から乗車位置への距離を決定し、そして距離を閾値距離と比較する。距離が閾値距離より小さいとの決定に応じて、AR表示モジュール48は、地図表示モードからクライアント装置10、28の前方の範囲のカメラビューを提示するARモードに表示を切り替える。AR表示モジュール48は、次いで、ライドシェアアプリケーション44が地図表示モードで位置情報を得るより高い頻度でドライバーおよび/またはライダーの現在位置を示す位置情報を得る。例えば、地図表示モードでは、ライドシェアアプリケーション44は、毎秒1回ドライバーおよび/またはライダーに対して位置情報を得てよい。ARモードでは、AR表示モジュール48は、毎秒2または3回ドライバーおよび/またはライダーに対して位置情報を得てよい。このように、AR表示モジュール48は、カメラビューにおける正確な位置にARフィーチャを提示するためにより多くの最新の位置情報を有する。これは、例えば、移動車両を強調するために特に重要でよい。
【００２２】
カメラビューは、クライアント装置10、28のカメラの視野内の建物、街路、車両および人々などの実世界像を含む。更には、ARモードは、乗車位置を示すまたはドライバーの車両もしくは乗客であるカメラビューにおける人を強調する、特定の車両、人または位置上または上方に配置されてよい形状、色およびグラフィックなど、実世界像をオーバーレイするARフィーチャを提示してよい。一部の実装では、AR表示モジュール48は、ライダーまたはドライバーが車両または乗客に出会うために曲がる必要がある方向を示すARフィーチャも提示してよい。
【００２３】
図2はライドシェアアプリケーション44をスタンドアロンアプリケーションとして例示するが、ライドシェアアプリケーション44の機能性が、クライアント装置10、28上で実行するウェブブラウザを介してアクセス可能なオンラインサービスの形態で、クライアント装置10、28上で実行する別のソフトウェアアプリケーション用のプラグインまたは拡張として、等でも提供できることが留意される。ライドシェアアプリケーション44は、一般に、異なるそれぞれのオペレーティングシステム用の異なるバージョンで提供できる。例えば、クライアント装置10、28のメーカーは、Android(商標)プラットフォーム用にライドシェアアプリケーション44を書くまたはビルドするためのソフトウェア開発キット(SDK)、iOS(商標)プラットフォーム用の別のSDK等を提供できる。
【００２４】
図1に戻って、拡張現実サーバ110は、1つまたは複数のプロセッサ112、ネットワークインタフェース(図示せず)およびメモリ132を含む。メモリ132は、有形の非一時的メモリでよく、そしてランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、他の種類の永続的メモリ等を含め、任意の種類の適切なメモリモジュールを含んでよい。メモリ132は、AR生成エンジン134を介して、実世界像をオーバーレイするライドシェアアプリケーション44によって表示されることになるARフィーチャを生成できる、プロセッサ112上で実行可能な命令を記憶する。メモリ132、または別のサーバにおけるメモリは、同様に、ライドシェアアプリケーション44によって表示されることになる地図表示および乗車位置または目的地へのナビゲーション方向を生成する命令を記憶できる。一部の実装では、ライドシェアサーバ130は、ドライバークライアント装置10および/またはライダークライアント装置28上のライドシェアアプリケーション44のARモードで実世界像をオーバーレイする提示するARフィーチャに対する拡張現実サーバ110への呼出しを開始してよい。
【００２５】
AR生成エンジン134は、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューまたは画像を受信してよく、ここでカメラビューは、カメラの視野内の建物、街路、車両および人々などの実世界像を表す。AR生成エンジン134は、次いで、カメラビューに対応する位置を決定してよい。より具体的には、AR生成エンジン134は、カメラビューを、例えば、実世界像データベース136に記憶される幾つかのテンプレートカメラビューと比較してよい。テンプレートカメラビューまたは画像の各々は、画像が撮られたカメラ視点もしくは位置の指示(例えば、緯度および経度座標を指定するGPS位置、街路番地等)、画像が撮られたときのカメラの向きの指示(例えば、カメラが北を向いていたため、それによってカメラビューが視点の北方の範囲を表すことを示す)、カメラビューのためのスケールもしくはズームレベルの指示、ならびに/またはスケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置の指示を含むカメラビューに対応する地理的範囲の指示と共に記憶されてよい。カメラの向きは、カメラが向いている方向(例えば、東、西、北、南等)、カメラの傾斜角(例えば、地面と平行)、およびカメラが水平または垂直位置にあるかどうかを示す三軸向きを含んでよい。
【００２６】
例えば、テンプレートカメラビューに関して、カメラ視点は本通りおよび州通りの角からでよく、この場合カメラは東を向いた。テンプレートカメラビューは5mの幅、7mの長さおよび3mの高さを表してよい。AR生成エンジン134は、次いで、テンプレートカメラビューのカメラ視点、カメラ向きおよびサイズに基づいてテンプレートカメラビューにおける各画素または画素群の正確な位置のマッピングを作成してよい。例えば、テンプレートカメラビューが5m幅であり、画像の幅が500画素であり、テンプレートカメラビューの向きが東を向いており、そして傾斜角が、カメラが地面に垂直であるようであれば、各画素はおおよそ1cmの物理的幅を表してよい。テンプレートカメラビューのためのカメラ視点は、カメラビューを取得したクライアント装置のGPS位置から決定されてよく、そして向きは、カメラビューを取得したクライアント装置に含まれるジャイロスコープおよび/またはコンパスから決定されてよい。
【００２７】
いずれにしても、AR生成エンジン134は、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューをテンプレートカメラビューと比較して、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/または比較に基づくカメラビュー内の様々な位置の正確な物理的位置を決定してよい。例えば、AR生成エンジン134は、ランダムフォレスト、ブースティング、最近傍、ベイジアンネットワーク、ニューラルネットワーク、サポートベクタマシン等などの機械学習技術を使用して、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューをテンプレートカメラビューと比較してよい。
【００２８】
より具体的には、AR生成エンジン134は、ぼやけ、ぶれ、ひずみ、向き、照明、スケーリングおよび/またはカメラ視野の他の変化に関係なく検出可能であるテンプレートカメラビュー内の安定領域を検出することによって、テンプレートカメラビューの各々の視覚的特徴を識別してよい。安定領域は、スケール不変特徴変換(SIFT)、高速化ロバスト特徴(SURF: Speeded Up Robust Features)、高速網膜キーポイント(FREAK: Fast Retina Keypoint)、バイナリロバスト不変スケーラブルキーポイント(BRISK: Binary Robust Invariant Scalable Keypoints)または任意の他の適切なコンピュータビジョン技術を使用してテンプレートカメラビューから抽出されてよい。一部の実施形態において、キーポイントは、テンプレートカメラビュー内のエッジなどの、テンプレートカメラビューの高コントラスト領域に見つけられ得る。キーポイント周辺にバウンディングボックスが形成されてよく、そしてバウンディングボックスによって作成されるテンプレートカメラビューの一部分が特徴であり得る。
【００２９】
AR生成エンジン134は、特徴の数値表現を作成して、特徴の幅および高さ、特徴に対するRGB画素値、画像内の特徴の中心点の画素位置等などのテンプレート特徴ベクトルを生成してよい。AR生成エンジン134は、次いで、特徴ベクトルを訓練データとして使用して機械学習モデルを作成してよい。機械学習技術が、例えば、最近傍であれば、AR生成エンジン134は、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューの視覚的特徴を識別して特徴ベクトルを生成してよい。AR生成エンジン134は、次いで、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューに対する特徴ベクトルをテンプレート特徴ベクトルと比較して、ドライバークライアント装置10またはライダークライアント装置28のカメラからのカメラビューに対する特徴ベクトルに最も近いテンプレート特徴ベクトルを有するテンプレートカメラビューを識別してよい。
【００３０】
AR生成エンジン134は、次いで、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/またはカメラビューのためのカメラ視点、向き、スケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置、および/または識別したテンプレートカメラビュー内の様々な位置の正確な物理的位置を決定してよい。
【００３１】
次いで、AR生成エンジン134は、カメラビュー内の様々な位置に割り当てられる正確な物理的位置に基づいて乗車位置の指示を提示するためのカメラビュー内の位置を識別してよい。更には、カメラビューがライダークライアント装置28のカメラからであるとき、AR生成エンジン134はドライバークライアント装置10の現在位置の指示を得てよい。AR生成エンジン134は、ドライバークライアント装置10の現在位置およびカメラビュー内の様々な位置に割り当てられる正確な物理的位置に基づいてドライバーの車両の指示を提示するためのカメラビュー内の位置を識別してよい。
【００３２】
ドライバークライアント装置10の現在位置に基づいてドライバーの車両の指示を提示するためのカメラビュー内の位置を識別することに加えて、AR生成エンジン134は、物体認識を使用してカメラビューを分析して、カメラビュー内の車両を識別してよい。より具体的には、AR生成エンジン134は、データベースから幾つかのテンプレートオブジェクトを得てよい。テンプレートオブジェクトは、建物、街路標識等などの他のオブジェクトに加えて車両を含んでよい。AR生成エンジン134は、次いで、ぼやけ、ぶれ、ひずみ、向き、照明、スケーリングおよび/またはカメラ視野の他の変化に関係なく検出可能であるテンプレートオブジェクト内の安定領域を検出することによって、テンプレートオブジェクトの視覚的特徴を識別してよい。安定領域は、SIFT、SURF、FREAK、BRISKまたは任意の他の適切なコンピュータビジョン技術を使用してテンプレートオブジェクトから抽出されてよい。
【００３３】
AR生成エンジン134は、特徴の数値表現を作成して、特徴の幅および高さ、特徴に対するRGB画素値、オブジェクト内の特徴の中心点の画素位置等などのテンプレート特徴ベクトルを生成してよい。また上記したように、AR生成エンジン134は、ライダークライアント装置28のカメラからのカメラビューまたはカメラビューの部分(本明細書において「オブジェクト」とも称される)の視覚的特徴を識別して特徴ベクトルを生成してよい。AR生成エンジン134は、次いで、カメラビューに対する特徴ベクトルまたはカメラビュー内のオブジェクトに対する特徴ベクトルをテンプレート特徴ベクトルと比較して、ライダークライアント装置28のカメラからのカメラビューに対する特徴ベクトルに最も近いテンプレート特徴ベクトルを有する1つまたは複数のテンプレートオブジェクトを識別してよい。例えば、AR生成エンジン134は、カメラビューに対する特徴ベクトルに最も近いテンプレート特徴ベクトルを有する上位3つのテンプレートオブジェクトを識別してよい。1つまたは複数の識別したテンプレートオブジェクトの過半数が車両であれば、AR生成エンジン134は、カメラビューにおけるオブジェクトを車両として識別してよい。
【００３４】
AR生成エンジン134は、カメラビューにおけるオブジェクトの位置もドライバークライアント装置10の現在位置に対応する位置と比較してよい。カメラビューにおいて車両として識別されるオブジェクトの位置がドライバークライアント装置10の現在位置に対応する位置から閾値距離内であれば、AR生成エンジン134は、カメラビューにおけるオブジェクトの位置がドライバーの車両の位置であると決定してよい。
【００３５】
ドライバークライアント装置10の現在位置がカメラビュー内の位置に対応する、かつ/またはオブジェクトが車両として識別されてその位置から閾値距離内であれば、AR生成エンジン134は、識別した位置上または上方に表示するためにライダークライアント装置28にドライバーの車両の指示を提供してよい。
【００３６】
その上、カメラビューがドライバークライアント装置10のカメラからであるとき、AR生成エンジン134はライダークライアント装置28の現在位置の指示を得てよい。AR生成エンジン134は、ライダークライアント装置28の現在位置およびカメラビュー内の様々な位置に割り当てられる正確な物理的位置に基づいてライダーの指示を提示するためのカメラビュー内の位置を識別してよい。ライダークライアント装置28の現在位置に基づいてライダーの指示を提示するためのカメラビュー内の位置を識別することに加えて、AR生成エンジン134は、顔検出および/または身体検出を使用してカメラビューを分析して、カメラビュー内の人を識別してよい。
【００３７】
車両を識別することと同様に、AR生成エンジン134は、データベースから幾つかのテンプレートオブジェクトを得てよい。テンプレートオブジェクトは、車両、建物、街路標識等などの他のオブジェクトに加えて人々を含んでよい。AR生成エンジン134は、次いで、ぼやけ、ぶれ、ひずみ、向き、照明、スケーリングおよび/またはカメラ視野の他の変化に関係なく検出可能であるテンプレートオブジェクト内の安定領域を検出することによって、テンプレートオブジェクトの視覚的特徴を識別してよい。安定領域は、SIFT、SURF、FREAK、BRISKまたは任意の他の適切なコンピュータビジョン技術を使用してテンプレートオブジェクトから抽出されてよい。
【００３８】
AR生成エンジン134は、特徴の数値表現を作成して、人々に対する肌の色合い、鼻、口、目の幅および高さならびに互いに対するそれらのそれぞれの位置、オブジェクト内の特徴の中心点の画素位置等などのテンプレート特徴ベクトルを生成してよい。また上記したように、AR生成エンジン134は、ドライバークライアント装置10のカメラからのカメラビューまたはカメラビューにおけるオブジェクトの視覚的特徴を識別して特徴ベクトルを生成してよい。AR生成エンジン134は、次いで、カメラビューに対する特徴ベクトルまたはカメラビュー内のオブジェクトに対する特徴ベクトルをテンプレート特徴ベクトルと比較して、ドライバークライアント装置10のカメラからのカメラビューに対する特徴ベクトルに最も近いテンプレート特徴ベクトルを有する1つまたは複数のテンプレートオブジェクトを識別してよい。例えば、AR生成エンジン134は、カメラビューに対する特徴ベクトルに最も近いテンプレート特徴ベクトルを有する上位3つのテンプレートオブジェクトを識別してよい。1つまたは複数の識別したテンプレートオブジェクトの過半数が人であれば、AR生成エンジン134は、カメラビューにおけるオブジェクトを人として識別してよい。
【００３９】
AR生成エンジン134は、カメラビューにおけるオブジェクトの位置もライダークライアント装置28の現在位置に対応する位置と比較してよい。カメラビューにおいて人として識別されるオブジェクトの位置がライダークライアント装置28の現在位置に対応する位置から閾値距離内であれば、AR生成エンジン134は、カメラビューにおけるオブジェクトの位置がライダーの位置であると決定してよい。
【００４０】
ライダークライアント装置28の現在位置がカメラビュー内の位置に対応する、かつ/またはオブジェクトが人として識別されてその位置から閾値距離内であれば、AR生成エンジン134は、識別した位置上または上方に表示するためにドライバークライアント装置10にライダーの指示を提供してよい。
【００４１】
簡略化のため、図1は、拡張現実サーバ110をただ1つのサーバのインスタンスとして例示する。しかしながら、一部の実装に係る拡張現実サーバ110は一群の1つまたは複数のサーバ装置を含み、各々1つまたは複数のプロセッサが備えられ、かつその他のサーバ装置と独立して動作することが可能である。そのような群において動作するサーバ装置は、ドライバークライアント装置10またはライダークライアント装置28からの要求を、或る要求を処理することと関連する1つの動作が1つのサーバ装置上で行われる一方、同じ要求を処理することと関連する別の動作が別のサーバ装置上で行われる分散方式で、または任意の他の適切な技術に従って、個別に(例えば、可用性に基づいて)処理できる。この説明の必要上、用語「サーバ装置」は個々のサーバ装置を、または一群の2つ以上のサーバ装置を指し得る。
【００４２】
メッセージ図例
図3は、ライダークライアント装置28、ドライバークライアント装置10および拡張現実サーバ110がライドシェアARシステムを実装する一連のイベント例を表すメッセージ図300を例示する。メッセージ図300は、ライダークライアント装置28とドライバークライアント装置10と拡張現実サーバ110との間の通信例を例示するが、拡張現実サーバ110はライドシェアサーバ130と通信して、ドライバーに目的地までのライドシェアサービスまたは他の輸送サービスの要求をブロードキャストし、そして要求を受諾するドライバーを受信してよい。
【００４３】
他の実装では、ライダークライアント装置28およびドライバークライアント装置10はライドシェアサーバ130と通信して、ドライバーに目的地までのライドシェアサービスまたは他の輸送サービスの要求をブロードキャストし、そして要求を受諾してよい。ライドシェアサーバ130は拡張現実サーバ110と通信して、ARフィーチャならびにライダークライアント装置28および/またはドライバークライアント装置10上のライドシェアアプリケーション44のARモードでARフィーチャを提示すべきカメラビュー内のそれらの対応位置を受信してよい。
【００４４】
いずれにしても、ライダークライアント装置28は、例えばライドシェアアプリケーション44を介して、目的地または降車位置までの乗車サービスを要求する304。拡張現実サーバ110は、ドライバークライアント装置10を含み得る、ライダーの現在位置から閾値半径内のドライバーに乗車要求をブロードキャストする306。乗車要求はライダーの現在位置および目的地を含んでよい。ライダーが乗車サービスの要求を提供することに加えて、ユーザは、ドライバーが物品を降車位置に輸送するようにとの要求を提供してよい。例えば、ユーザは、ライドシェアサービスを介して食品、商品または他の物品を乗車位置から降車位置に配送してよい。このシナリオでは、ユーザは、物品を物品の現在位置から乗車位置に送るように命令されてよい。
【００４５】
ドライバークライアント装置10は、次いで、乗車要求を受諾し308、そして拡張現実サーバ110は、ライダーを迎えるための乗車位置を生成する。乗車位置はライダーの現在位置から閾値距離内でよい。追加的に、乗車位置は、データベースに記憶される所定の乗車位置の一覧から選択されてよい。拡張現実サーバ110は、ライダークライアント装置28およびドライバークライアント装置10に、それぞれ、ドライバーおよびライダーの識別情報と共に乗車位置を提供する310、312。より具体的には、ドライバーの識別情報は、ドライバーの名前、ドライバーの写真、ドライバーの車両のメーカー、モデルおよびナンバープレート番号、または任意の他の適切な識別情報を含んでよい。ライダーの識別情報は、ライダーの名前、ライダーの写真、または任意の他の適切な識別情報を含んでよい。
【００４６】
乗車位置は、次いで、ライダークライアント装置28およびドライバークライアント装置10上で実行するライドシェアアプリケーション44の地図表示ビューに提示されてよい。より具体的には、ライダークライアント装置28は、ライダーの現在位置、乗車位置、およびライダーの現在位置から乗車位置へのナビゲーション方向を示す地理的範囲の2D地図表示を提示してよい。現在位置はドットまたは他の適切なインジケータによって示されてよく、そして乗車位置はピンまたは他の適切なインジケータによって示されてよい。ナビゲーション方向は、ルートに点線をオーバーレイすることなど、ライダーの現在位置から乗車位置へ2D地図表示のルートを強調することによって示されてよい。
【００４７】
ドライバークライアント装置10は、ドライバーの現在位置、乗車位置、およびドライバーの現在位置から乗車位置へのナビゲーション方向を示す地理的範囲の2D地図表示を提示してよい。現在位置はドットまたは他の適切なインジケータによって示されてよく、そして乗車位置はピンまたは他の適切なインジケータによって示されてよい。ナビゲーション方向は、ルートに点線をオーバーレイすることなど、ドライバーの現在位置から乗車位置へ2D地図表示のルートを強調することによって示されてよい。
【００４８】
ライダークライアント装置28は、その現在位置をGPSを介して連続的または定期的に決定し314、そして地図表示にライダーの更新された位置を提示する。より具体的には、ライダークライアント装置28は、その現在位置を第1の頻度で決定してよい。ライダークライアント装置28は、次いで、現在位置から乗車位置への距離を決定し、そして距離を閾値距離と比較する。距離が閾値距離より小さいとの決定に応じて、ライダークライアント装置28は、地図表示モードからライダークライアント装置28の前方の範囲のカメラビューを提示するARモードに表示を切り替える316。ライダークライアント装置28は、次いで、第1の頻度より高い第2の頻度でライダーの現在位置を示す位置情報を得る。ライダークライアント装置28のための位置更新はライドシェアサーバ130および/または拡張現実サーバ110にも提供されて、ドライバークライアント装置10の地図表示に提示し、かつドライバークライアント装置10のカメラビューに重なるARフィーチャの位置を識別してよい。
【００４９】
同様に、ドライバークライアント装置10は、その現在位置をGPSを介して連続的または定期的に決定し322、そして地図表示にドライバーの更新された位置を提示する。より具体的には、ドライバークライアント装置10は、その現在位置を第1の頻度で決定してよい。ドライバークライアント装置10は、次いで、現在位置から乗車位置への距離を決定し、そして距離を閾値距離と比較する。距離が閾値距離より小さいとの決定に応じて、ドライバークライアント装置10は、地図表示モードからドライバークライアント装置10の前方の範囲のカメラビューを提示するARモードに表示を切り替える324。ドライバークライアント装置10は、次いで、第1の頻度より高い第2の頻度でドライバーの現在位置を示す位置情報を得る。ドライバークライアント装置10のための位置更新はライドシェアサーバ130および/または拡張現実サーバ110にも提供されて、ライダークライアント装置28の地図表示に提示し、かつライダークライアント装置28のカメラビューに重なるARフィーチャの位置を識別してよい。
【００５０】
ライダークライアント装置28が表示をARモードに切り替えて、ライダークライアント装置28の前方の範囲のカメラビューを提示すると、ライダークライアント装置28は、ライダークライアント装置28のカメラからのカメラビューまたは画像を拡張現実サーバ110に送信し318、ここでカメラビューは、カメラの視野内の建物、街路、車両および人々などの実世界像を表す。拡張現実サーバ110は、次いで、カメラビューを、例えば、実世界像データベース136に記憶される幾つかのテンプレートカメラビューと比較してよい。テンプレートカメラビューまたは画像の各々は、画像が撮られたカメラ視点もしくは位置の指示(例えば、緯度および経度座標を指定するGPS位置、街路番地等)、画像が撮られたときのカメラの向きの指示(例えば、カメラが北を向いていたため、それによってカメラビューが視点の北方の範囲を表すことを示す)、カメラビューのためのスケールもしくはズームレベルの指示、ならびに/またはスケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置の指示を含むカメラビューに対応する地理的範囲の指示と共に記憶されてよい。カメラの向きは、カメラが向いている方向(例えば、東、西、北、南等)、カメラの傾斜角(例えば、地面と平行)、およびカメラが水平または垂直位置にあるかどうかを示す三軸向きを含んでよい。
【００５１】
拡張現実サーバ110が一致するテンプレートカメラビューを識別すると、拡張現実サーバ110は、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/またはカメラ視点、向き、スケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置、および/または識別したテンプレートカメラビュー内の様々な位置の正確な物理的位置を決定する。
【００５２】
次いで、拡張現実サーバ110は、カメラビューにおける実世界像をオーバーレイするARフィーチャを識別する。より具体的には、拡張現実サーバ110は、カメラビュー内の様々な位置の正確な物理的位置に基づいて、乗車位置がカメラビューに含まれるかどうかを決定してよい。拡張現実サーバ110は、ドライバークライアント装置10の現在位置、カメラビュー内の様々な位置の正確な物理的位置、および/またはカメラビューに車両として識別されるオブジェクトがあるかどうかに基づいて、ドライバーの車両がカメラビューに含まれるかどうかも決定してよい。
【００５３】
乗車位置がカメラビューに含まれない、かつ/またはドライバーの車両がカメラビューに含まれない場合、拡張現実サーバ110は、ライダークライアント装置28から乗車位置および/またはドライバーの車両が見えるために向かう必要がある方向を決定してよい。拡張現実サーバ110は、ライダークライアント装置28から乗車位置および/またはドライバーの車両が見えるための傾斜角も決定してよい。拡張現実サーバ110は、次いで、ライダーの現在位置に対する乗車位置またはドライバーの現在位置に基づいてライダーに対するドライバーまたは乗車位置の向きを決定してよい。拡張現実サーバ110は、ライダークライアント装置28の向きがライダーに対するドライバーまたは乗車位置の向きと異なるとも決定してよい。
【００５４】
例えば、ライダークライアント装置28のカメラが北を向いており、かつ乗車位置がライダークライアント装置28のカメラの東であれば、拡張現実サーバ110は、ライダーが右に曲がる必要があると決定してよい。追加的に、ライダークライアント装置28のカメラが地面に向けて下方に傾けられており、かつ乗車位置がライダークライアント装置28からの距離が更に離れていれば、拡張現実サーバ110は、ライダーがライダークライアント装置28を上方に傾ける必要があると決定してよい。更に別の例では、ライダークライアント装置28のカメラが空に向けて傾けられており、かつ乗車位置がライダークライアント装置28の前方にあれば、拡張現実サーバ110は、ライダーがライダークライアント装置28を下方に傾ける必要があると決定してよい。
【００５５】
いずれにしても、拡張現実サーバ110は、次いで、カメラビューにおける実世界像をオーバーレイするARフィーチャを生成および提供してよい320。ARフィーチャは、乗車位置を示すまたはドライバーの車両もしくは乗客であるカメラビューにおける人を強調する、特定の車両、人または位置上または上方に配置されてよい形状、色およびグラフィックを含んでよい。ARフィーチャは、乗車位置またはドライバーの車両が見えるためにライダークライアント装置28を回すまたは傾けるようライダーに指示する矢印も含んでよい。一部の実施形態において、拡張現実サーバ110は、ライダークライアント装置28にARデータを生成および提供し、これはARフィーチャの説明およびカメラビュー内のARフィーチャを提示すべき位置を含む。ライダークライアント装置28は、次いで、示された位置にARフィーチャを描画する。ARフィーチャは、下記の図4B、図5B、図6および図7により詳細に例示される。
【００５６】
ドライバークライアント装置10が表示をARモードに切り替えて、ドライバークライアント装置10の前方の範囲のカメラビューを提示すると、ドライバークライアント装置10は、ドライバークライアント装置10のカメラからのカメラビューまたは画像を拡張現実サーバ110に送信し326、ここでカメラビューは、カメラの視野内の建物、街路、車両および人々などの実世界像を表す。拡張現実サーバ110は、次いで、カメラビューを、例えば、実世界像データベース136に記憶される幾つかのテンプレートカメラビューと比較してよい。
【００５７】
拡張現実サーバ110が一致するテンプレートカメラビューを識別すると、拡張現実サーバ110は、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/またはカメラ視点、向き、スケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置、および/または識別したテンプレートカメラビュー内の様々な位置の正確な物理的位置を決定する。
【００５８】
次いで、拡張現実サーバ110は、カメラビューにおける実世界像をオーバーレイするARフィーチャを識別する。より具体的には、拡張現実サーバ110は、カメラビュー内の様々な位置の正確な物理的位置に基づいて、乗車位置がカメラビューに含まれるかどうかを決定してよい。拡張現実サーバ110は、ライダークライアント装置28の現在位置、カメラビュー内の様々な位置の正確な物理的位置、および/またはカメラビューに人もしくは物品として識別されるオブジェクトがあるかどうかに基づいて、ライダーまたは物品がカメラビューに含まれるかどうかも決定してよい。
【００５９】
乗車位置がカメラビューに含まれない、かつ/またはライダーもしくは物品がカメラビューに含まれない場合、拡張現実サーバ110は、ドライバークライアント装置10から乗車位置および/またはライダーもしくは物品が見えるために向かう必要がある方向を決定してよい。拡張現実サーバ110は、ドライバークライアント装置10から乗車位置および/またはライダーもしくは物品が見えるための傾斜角も決定してよい。
【００６０】
拡張現実サーバ110は、次いで、カメラビューにおける実世界像をオーバーレイするARフィーチャを生成および提供してよい328。ARフィーチャは、乗車位置を示すまたはドライバーの車両もしくは乗客であるカメラビューにおける人を強調する、特定の車両、人または位置上または上方に配置されてよい形状、色およびグラフィックを含んでよい。ARフィーチャは、乗車位置、ライダーまたは物品が見えるためにドライバークライアント装置10を回すまたは傾けるようドライバーに指示する矢印も含んでよい。一部の実施形態において、拡張現実サーバ110は、ドライバークライアント装置10にARデータを生成および提供し、これはARフィーチャの説明およびカメラビュー内のARフィーチャを提示すべき位置を含む。ドライバークライアント装置10は、次いで、示された位置にARフィーチャを描画する。ARフィーチャは、下記の図4B、図5B、図6および図7により詳細に例示される。
【００６１】
ユーザインタフェース例
図4A〜図7は、地図表示モードおよびARモードでライドシェアアプリケーション44を介してライダークライアント装置28および/またはドライバークライアント装置10に提示され得るユーザインタフェース例を例示する。これらは、単に例示を容易にするためだけに含まれる幾つかのユーザインタフェース例である。追加または代替のユーザインタフェースが、ユーザインタフェースに提示される追加または代替のARフィーチャと共に含まれてよい。例えば、図6に図示されるように、ドライバーの車両上方の車両のグラフィックの指示およびグラフィックの指示からドライバーの車両への透過色を提示することによって、ドライバーの車両が強調される。他の実装では、ドライバーの車両は、ドライバーの車両周辺の円または矩形、車両上方のピンまたは矢印、黄色または桃色などのベタの明色で車両を描画すること等など、他のARフィーチャで強調されてよい。
【００６２】
別の例では、ライダークライアント装置28またはドライバークライアント装置10のカメラからのカメラビューが乗車位置、ドライバーの車両、物品またはライダーを含まないとき、ユーザインタフェースは、カメラビューにおいて乗車位置、ドライバーの車両、物品またはライダーを見るためにライダークライアント装置28もしくはドライバークライアント装置10を特定の方向に回すまたはライダークライアント装置28もしくはドライバークライアント装置10を上下に傾けるようライダーまたはドライバーに指示するARフィーチャを含んでよい。これらのARフィーチャは、左もしくは右を指してライダーもしくはドライバーにライダークライアント装置28もしくはドライバークライアント装置10を特定の方向に回すように命令する、または上もしくは下を指してライダーもしくはドライバーにライダークライアント装置28もしくはドライバークライアント装置10を上下に傾けるように命令する矢印でよい。
【００６３】
いずれにしても、図4Aは、ライドシェアアプリケーション44の地図表示モードでの乗車位置の表示例400を例示する。表示例400は、ライダーが乗車サービスを要求するときにライダークライアント装置28に提示されてよい。表示例400は、ライダーの現在位置402を含む地理的範囲の地図表示410を含む。地図表示410は、ピンの形態の、乗車位置404の指示も含む。乗車位置は915コロンバスアベニュー、コブスコメディクラブの前である。上記したように、地図表示410は、ライダーの現在位置402が乗車位置404から少なくとも閾値距離離れている(例えば、50m)ときに提示されてよい。
【００６４】
図4Bは、ライドシェアアプリケーション44のARモードでの図4Aの乗車位置の表示例450を例示する。表示例450は、ライダーの現在位置が乗車位置から閾値距離内であるときにライダークライアント装置28に提示されてよい。表示例450は、ライダークライアント装置28の前方の実世界像のカメラビュー460を含む。カメラビュー460は街路、木、車両、建物等を含む。表示例450は、乗車位置に対応するカメラビュー460における位置で実世界像にオーバーレイされるARフィーチャ462も含む。図4Aでのように、乗車位置の指示はピン462である。
【００６５】
図5Aは、ライドシェアアプリケーション44の地図表示モードでの乗車位置の別の表示例500を例示する。表示例500は、ライダーが乗車サービスを要求するときにライダークライアント装置28に提示されてよい。表示例500は、ライダーの現在位置502を含む地理的範囲の地図表示510を含む。地図表示510は、ピンの形態の、乗車位置504の指示も含む。乗車位置は790ロンバードストリート、カフェサポーレの前である。上記したように、地図表示510は、ライダーの現在位置502が乗車位置504から少なくとも閾値距離離れている(例えば、50m)ときに提示されてよい。
【００６６】
図5Bは、ライドシェアアプリケーション44のARモードでの図5Aの乗車位置の表示例550を例示する。表示例550は、ライダーの現在位置が乗車位置から閾値距離内であるときにライダークライアント装置28に提示されてよい。表示例550は、ライダークライアント装置28の前方の実世界像のカメラビュー560を含む。カメラビュー560は駐車場、車両、建物等を含む。表示例550は、乗車位置に対応するカメラビュー560における位置で実世界像にオーバーレイされるARフィーチャ562も含む。図5Aでのように、乗車位置の指示はピン562である。
【００６７】
図6は、ライドシェアアプリケーション44のARモードでのドライバーの車両の表示例600を例示する。表示例600は、ライダーの現在位置が乗車位置から閾値距離内であるときにライダークライアント装置28に提示されてよい。表示例600は、ライダークライアント装置28の前方の実世界像のカメラビュー610を含む。カメラビュー610は街路、車両、建物等を含む。車両は、ライダーを乗せるようにとの要求を受諾したドライバーの車両602を含んでよい。ドライバーの車両602を示す実世界像にARフィーチャ604がオーバーレイされる。表示例600では、ARフィーチャ604は、ドライバーの車両602に対応するカメラビュー610における位置上方に配置されてドライバーの車両602を強調する。ARフィーチャ604は、メーカー、モデル、色およびナンバープレート番号を含むドライバーの車両602の説明、以前の時点で撮られたドライバーの車両の写真、ならびにドライバーの車両の写真からドライバーの車両602への透過色を含むグラフィックの指示である。
【００６８】
カメラビュー610に図示されるように、ドライバーの車両602がライダークライアント装置28の方へ右折しているように見えるので、それは現在移動している。移動車両を強調するために、拡張現実サーバ110は、ドライバーの現在位置の頻繁な更新を受信し、そして更新された位置情報に基づいてARフィーチャ604を提示すべき対応位置を決定する。ライダークライアント装置28は、ARフィーチャ604を提示するための更新された位置を受信し、そしてそれに応じてカメラビュー610にARフィーチャ604を表示する。一部の実施形態において、カメラビューが変化するたびに、ライダークライアント装置28は更新されたカメラビューを拡張現実サーバ110に提供してよく、それが更新されたカメラビューを分析してカメラビューにおいて乗車位置、ドライバーの車両またはライダーを識別してよい。例えば、カメラビューが乗車位置、ドライバーの車両、物品またはライダーを含まないとき、ユーザインタフェースは、乗車位置を見るためにライダークライアント装置28を特定の方向に回すまたはライダークライアント装置28を上下に傾けるようライダーに指示するARフィーチャを含んでよい。ライダーがライダークライアント装置28を回すにつれて、ライダークライアント装置28は、更新されたカメラビューを拡張現実サーバ110に提供して、乗車位置がカメラビューに含まれるか、またはライダーが回り続ける必要があるかどうかを決定してよい。
【００６９】
図7は、ライドシェアアプリケーション44のARモードでのドライバーの車両の別の表示例700を例示する。表示例700は、ライダーの現在位置が乗車位置から閾値距離内であるときにライダークライアント装置28に提示されてよい。表示例700は、ライダークライアント装置28の前方の実世界像のカメラビュー710を含む。カメラビュー710は街路、車両、建物等を含む。車両は、ライダーを乗せるようにとの要求を受諾したドライバーの車両702を含んでよい。ドライバーの車両702を示す実世界像にARフィーチャ704がオーバーレイされる。表示例700では、ARフィーチャ704は、ドライバーの車両702に対応するカメラビュー710における位置上方に配置されてドライバーの車両702を強調する。ARフィーチャ704は、メーカー、モデル、色およびナンバープレート番号を含むドライバーの車両702の説明、以前の時点で撮られたドライバーの車両の写真、ならびにドライバーの車両の写真からドライバーの車両702への透過色を含むグラフィックの指示である。
【００７０】
輸送サービスにおいて乗車位置の表示を提供するための方法例
図8は、輸送サービスにおいて乗車位置の表示を提供するための方法例800のフロー図を例示する。本方法は、コンピュータ可読メモリに記憶されて、拡張現実サーバ110の1つまたは複数のプロセッサにおいて実行可能な一組の命令で実装できる。例えば、本方法はAR生成エンジン134によって実装できる。
【００７１】
ブロック802で、ライドシェアまたは他の輸送要求が、ライダーの現在位置および目的地を含め、ライダークライアント装置28から受信される。拡張現実サーバ110またはライドシェアサーバ130は、ライダーの現在位置から閾値距離内のドライバーに要求をブロードキャストしてよい。次いで、乗車位置が決定されて、ライダークライアント装置28におよびライダーを輸送するようにとの要求を受諾するドライバーのドライバークライアント装置10に提供される(ブロック804)。乗車位置はライダーの現在位置から閾値距離内でよい。追加的に、乗車位置は、データベースに記憶される所定の乗車位置の一覧から選択されてよい。
【００７２】
ライダークライアント装置28は、次いで、ライドシェアアプリケーション44の地図表示モードで乗車位置およびライダーの現在位置の指示を表示してよい。次いで、ライダーの現在位置が乗車位置から閾値距離内であるとき、ライダークライアント装置28は、ARモードでライダークライアント装置28のカメラの前方の実世界像を表すカメラビューを表示してよい。ブロック806で、拡張現実サーバ110は、実世界像を表すライダークライアント装置28のカメラからのカメラビューまたは画像を受信する。
【００７３】
したがって、拡張現実サーバ110は、実世界像をオーバーレイするARモードで表示するための情報を提供して、ライダーまたはドライバーが乗車位置を見つけるのを支援してよい。例えば、拡張現実サーバ110は、乗車位置に対応するカメラビューにおける位置を識別してよい(ブロック808)。より具体的には、拡張現実サーバ110は、カメラビューを、例えば、実世界像データベース136に記憶される幾つかのテンプレートカメラビューと比較してよい。テンプレートカメラビューまたは画像の各々は、画像が撮られたカメラ視点もしくは位置の指示、画像が撮られたときのカメラの向きの指示、カメラビューのためのスケールもしくはズームレベルの指示、および/またはスケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置の指示を含むカメラビューに対応する地理的範囲の指示と共に記憶されてよい。
【００７４】
拡張現実サーバ110が一致するテンプレートカメラビューを識別すると、拡張現実サーバ110は、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/またはカメラ視点、向き、スケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置、および/または識別したテンプレートカメラビュー内の様々な位置の正確な物理的位置を決定する。
【００７５】
拡張現実サーバ110は、次いで、カメラビュー内の様々な位置の正確な物理的位置を乗車位置と比較することによって、乗車位置に対応するカメラビューにおける位置を識別する。ブロック810で、拡張現実サーバ110は、ライダークライアント装置28のカメラビュー内の識別した位置に提示されることになる、乗車位置を示すためのARフィーチャを生成および提供する。ARフィーチャは、例えばピンでよく、カメラビューにおける実世界像にオーバーレイされてよい。
【００７６】
追加的に、ブロック812で、拡張現実サーバは、ドライバークライアント装置10の現在位置を得る。一部の実施形態において、拡張現実サーバ110は、ドライバーの現在位置の連続または定期更新を得る。更新の頻度は、ドライバーの現在位置が乗車位置から閾値距離内であるときに増加してよい。
【００７７】
いずれにしても、拡張現実サーバ110は、ドライバーの車両に対応するカメラビューにおける位置を識別する(ブロック814)。拡張現実サーバ110は、ドライバーの現在位置および/または車両として識別されるカメラビューにおけるオブジェクトに基づいて、ドライバーの車両に対応する位置を識別してよい。ブロック816で、拡張現実サーバ110は、ライダークライアント装置28のカメラビュー内の識別した位置にまたは上方に提示されることになる、ドライバーの車両を示すためのARフィーチャを生成および提供する。ARフィーチャは、ドライバーの車両の説明、以前の時点で撮られたドライバーの車両の写真、および/または例えば色を含むグラフィックの指示でよく、カメラビューにおける実世界像にオーバーレイされてよい。
【００７８】
図9は、輸送サービスにおいてライダーまたはドライバーに乗車位置を識別および提示するための方法例900のフロー図を例示する。本方法は、コンピュータ可読メモリに記憶されて、ライダークライアント装置28の1つまたは複数のプロセッサにおいて実行可能な一組の命令で実装できる。例えば、本方法はAR表示モジュール48によって実装できる。
【００７９】
ブロック902で、ライダークライアント装置28は、ライダーの現在位置および目的地を含むライドシェアまたは他の輸送要求を送信する。拡張現実サーバ110またはライドシェアサーバ130は、ライダーの現在位置から閾値距離内のドライバーに要求をブロードキャストしてよい。次いで、乗車位置が決定されて、ライダークライアント装置28におよびライダーを輸送するようにとの要求を受諾するドライバーのドライバークライアント装置10に提供される(ブロック904)。乗車位置はライダーの現在位置から閾値距離内でよい。追加的に、乗車位置は、データベースに記憶される所定の乗車位置の一覧から選択されてよい。
【００８０】
ブロック906で、ライダークライアント装置28は、図4Aに図示されるような地図表示410などの地図表示を提示する。地図表示は、ライダーの現在位置および乗車位置を含む地理的範囲を提示する。次いで、ライダークライアント装置28は、ライダーの現在位置を乗車位置と比較し、そしてライダーが乗車位置から閾値距離内であるかどうかを決定する(ブロック908)。ライダーが乗車位置から閾値距離内でなければ、ライダークライアント装置28は地図表示を提示し続ける(ブロック906)。一旦ライダーが乗車位置から閾値距離内であると、ライダークライアント装置28はARモードに切り替わり(ブロック910)、ライダークライアント装置28のカメラの前方の実世界像を表すカメラビューを提示する。したがって、ライダークライアント装置28は、実世界像をオーバーレイするARモードで情報を提示して、ライダーが乗車位置を見つけるのを支援してよい。
【００８１】
ライダークライアント装置28は、実世界像を表すライダークライアント装置28のカメラからのカメラビューまたは画像を拡張現実サーバ110に送信する(ブロック912)。応答して、拡張現実サーバ110は、カメラビューを、例えば、実世界像データベース136に記憶される幾つかのテンプレートカメラビューと比較する。
【００８２】
拡張現実サーバ110が一致するテンプレートカメラビューを識別すると、拡張現実サーバ110は、カメラビューのためのカメラ視点、向き、スケールもしくはズームレベル、および/またはカメラ視点、向き、スケールもしくはズームレベルに基づくカメラビュー内の様々な位置の正確な物理的位置、および/または識別したテンプレートカメラビュー内の様々な位置の正確な物理的位置を決定する。
【００８３】
次いで、拡張現実サーバ110は、カメラビューにおける実世界像をオーバーレイするARフィーチャを識別する。より具体的には、拡張現実サーバ110は、カメラビュー内の様々な位置の正確な物理的位置に基づいて、乗車位置がカメラビューに含まれるかどうかを決定してよい。拡張現実サーバ110は、ドライバークライアント装置10の現在位置、カメラビュー内の様々な位置の正確な物理的位置、および/またはカメラビューに車両として識別されるオブジェクトがあるかどうかに基づいて、ドライバーの車両がカメラビューに含まれるかどうかも決定してよい。ARフィーチャは、乗車位置を示すまたはドライバーの車両もしくは乗客であるカメラビューにおける人を強調する、特定の車両、人または位置上または上方に配置されてよい形状、色およびグラフィックを含んでよい。一部の実装例では、ARフィーチャは、ライダーまたはドライバーが車両または乗客に出会うために曲がる必要がある方向も示してよい。
【００８４】
ブロック914で、ライダークライアント装置28は、ARフィーチャおよびカメラビューにおける実世界像にARフィーチャをオーバーレイすべき対応位置を受信する。ライダークライアント装置28は、次いで、カメラビューにおける実世界像をオーバーレイするARフィーチャを提示する(ブロック916)。
【００８５】
追加の考慮点
以下の追加の考慮点が上記の説明に適用される。本明細書を通して、単一のインスタンスとして記載される部品、動作または構造を複数のインスタンスが実装してよい。1つまたは複数の方法の個々の動作が別々の動作として例示および記載されるが、個々の動作の1つまたは複数が並行して行われてよく、例示した順に動作が行われることが必要とされるわけではない。構成例において別々の部品として提示される構造および機能性が複合構造または部品として実装されてよい。同様に、単一の部品として提示される構造および機能性が別々の部品として実装されてよい。これらおよび他の変形、変更、追加および改良は本開示の対象の範囲内に収まる。
【００８６】
追加的に、或る実施形態が、ロジックまたは幾つかの部品、モジュールもしくはメカニズムを含むとして本明細書に記載される。モジュールはソフトウェアモジュール(例えば、機械可読媒体に記憶されるコード)もハードウェアモジュールも構成してよい。ハードウェアモジュールは、或る動作を行うことが可能な有形のユニットであり、そして或る方式で構成または配置されてよい。実施形態例において、1つもしくは複数のコンピュータシステム(例えば、スタンドアロン、クライアントもしくはサーバコンピュータシステム)またはコンピュータシステムの1つもしくは複数のハードウェアモジュール(例えば、プロセッサもしくは一群のプロセッサ)が、本明細書に記載される或る動作を行うために動作するハードウェアモジュールとしてソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって構成されてよい。
【００８７】
様々な実施形態において、ハードウェアモジュールは機械的または電子的に実装されてよい。例えば、ハードウェアモジュールは、或る動作を行うように永続的に構成される(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)専用回路またはロジックから成ってよい。ハードウェアモジュールは、或る動作を行うようにソフトウェアによって一時的に構成されるプログラマブルロジックまたは回路(例えば、汎用プロセッサまたは他のプログラマブルプロセッサ内に包含される)から成ってもよい。ハードウェアモジュールを機械的に、専用かつ永続的に構成される回路で、または一時的に構成される回路(例えば、ソフトウェアによって構成される)で実装するという決定が、費用および時間を考慮することによって下され得ることが理解されるであろう。
【００８８】
したがって、用語ハードウェアは、或る方式で動作するようにまたは本明細書に記載される或る動作を行うように物理的に構築される、永続的に構成される(例えば、結線される)、または一時的に構成される(例えば、プログラムされる)実体であれ、有形の実体を包含すると理解されるべきである。本明細書で使用する場合、「ハードウェア実装モジュール」はハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を考えると、ハードウェアモジュールの各々がいずれか1つの時間のインスタンスに構成またはインスタンス化される必要はない。例えば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサから成る場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成されてよい。ソフトウェアは、したがって、プロセッサを、例えば、1つの時間のインスタンスに特定のハードウェアモジュールを構成し、そして異なる時間のインスタンスに異なるハードウェアモジュールを構成するように構成してよい。
【００８９】
ハードウェアモジュールは、他のハードウェアに情報を提供し、それから情報を受信できる。したがって、記載されるハードウェアモジュールは、通信可能に結合されると考えてよい。多数のそのようなハードウェアモジュールが同時に存在する場合、ハードウェアモジュールを接続する信号伝送を通じて(例えば、適切な回路およびバスを介して)通信が達成されてよい。多数のハードウェアモジュールが異なる時間に構成またはインスタンス化される実施形態において、そのようなハードウェアモジュール間の通信は、例えば、多数のハードウェアモジュールがアクセスを有するメモリ構造における情報の記憶および読出しを通じて達成されてよい。例えば、1つのハードウェアモジュールが動作を行って、それが通信可能に結合されるメモリデバイスにその動作の出力を記憶してよい。更なるハードウェアモジュールが、それから後に、メモリデバイスにアクセスして、記憶された出力を読み出して処理してよい。ハードウェアモジュールは、入力または出力デバイスとの通信も開始してよく、そして資源(例えば、情報の集合)を操作できる。
【００９０】
方法800および900は、非一時的コンピュータ可読記憶媒体に記憶されて、コンピューティング装置(例えば、本明細書に記載されるように、サーバ装置、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、スマートウォッチ、モバイルコンピューティングデバイスまたは他のクライアントコンピューティング装置)のプロセッサを使用して実行される有形のコンピュータ実行可能命令の形態で、1つまたは複数の機能ブロック、モジュール、個別機能またはルーチンを含んでよい。方法800および900は、例えば、環境例の任意のバックエンドサーバ(例えば、本明細書に記載されるように、拡張現実サーバ、ライドシェアサーバ、地図データサーバ、ナビゲーションサーバもしくは任意の他の種類のサーバコンピューティング装置)、クライアントコンピューティング装置モジュールの一部として、またはそのような環境の外部であるモジュールの一部として含まれてよい。説明を容易にするために図がその他の図を参照しつつ記載され得るが、方法800および900は他のオブジェクトおよびユーザインタフェースと共に活用できる。更には、上記の説明は、方法800および900のステップが特定の装置(拡張現実サーバ110、ドライバークライアント装置10またはライダークライアント装置28など)によって行われると記載するが、これは例示目的でなされるだけである。方法800および900のブロックは、環境の1つまたは複数の装置または他の部分によって行われてよい。
【００９１】
本明細書に記載される方法例の様々な動作は、少なくとも部分的に、関連動作を行うように一時的に構成される(例えば、ソフトウェアによって)または永続的に構成される1つまたは複数のプロセッサによって行われてよい。一時的に構成されようが永続的に構成されようが、そのようなプロセッサは、1つまたは複数の動作または機能を行うために動作するプロセッサ実装モジュールを構成してよい。本明細書で言及されるモジュールは、一部の実施形態例において、プロセッサ実装モジュールを含んでよい。
【００９２】
同様に、本明細書に記載される方法またはルーチンは、少なくとも部分的にプロセッサ実装されてよい。例えば、方法の動作の少なくとも一部が1つまたは複数のプロセッサまたはプロセッサ実装ハードウェアモジュールによって行われてよい。動作の一部の遂行は、単一のマシン内に存在するだけでなく、幾つかのマシンにわたって展開される、1つまたは複数のプロセッサ間で分散されてよい。一部の実施形態例において、1つまたは複数のプロセッサは単一の位置に(例えば、家庭環境、オフィス環境内に、またはサーバファームとして)設けられてよい一方、他の実施形態においては、プロセッサは幾つかの位置にわたって分散されてよい。
【００９３】
1つまたは複数のプロセッサは、「クラウドコンピューティング」環境においてまたはSaaSとして関連動作の遂行をサポートするためにも動作してよい。例えば、上記したように、動作の少なくとも一部が一群のコンピュータ(プロセッサを含むマシンの例として)によって行われてよく、これらの動作はネットワーク(例えば、インターネット)を介しておよび1つまたは複数の適切なインタフェース(例えば、API)を介してアクセス可能である。
【００９４】
また更に、図は、例示の目的でのみ環境例の一部の実施形態を表す。当業者は、本明細書に記載される原理から逸脱することなく、本明細書に例示される構造および方法の代替実施形態が利用されてよいことを以下の説明から直ちに認識するであろう。
【００９５】
本開示を読んだ上で、当業者は、本明細書における開示された原理を通してライドシェアサービスにおいて乗車位置の表示を提供するための更に追加の代替構造および機能設計を理解するであろう。このように、特定の実施形態および応用例が例示および記載されたが、開示した実施形態が本明細書に開示される厳密な構成および部品に限定されないことが理解されるはずである。当業者にとっては明らかであろうが、添付の特許請求の範囲に定められる趣旨および範囲から逸脱することなく本明細書に開示される方法および装置の配置、動作および詳細に様々な変更、変化および変形がなされ得る。
【符号の説明】
【００９６】
10  ドライバークライアント装置
28  ライダークライアント装置
44  ライドシェアアプリケーション
48  AR表示モジュール
100  ネットワーク
104  アプリケーション
106  メモリ
107  プロセッサ
109  グラフィック処理ユニット
110  拡張現実サーバ装置
112  プロセッサ
114  オペレーティングシステム
118  ネットワークインタフェース
120  ナビゲーションサーバ装置
121  ユーザインタフェース
122  センサ
130  ライドシェアサーバ装置
132  メモリ
134  AR生成エンジン
136  実世界像データベース
400  表示例
402  ライダーの現在位置
404  乗車位置
410  地図表示
450  表示例
460  カメラビュー
462  ARフィーチャ
500  表示例
502  ライダーの現在位置
504  乗車位置
510  地図表示
550  表示例
560  カメラビュー
562  ARフィーチャ
600  表示例
602  ドライバーの車両
604  ARフィーチャ
610  カメラビュー
700  表示例
702  ドライバーの車両
704  ARフィーチャ
710  カメラビュー
【図１】
2021516377.tif 000003
【図２】
2021516377.tif 000004
【図３】
2021516377.tif 000005
【図４Ａ】
2021516377.tif 000006
【図４Ｂ】
2021516377.tif 000007
【図５Ａ】
2021516377.tif 000008
【図５Ｂ】
2021516377.tif 000009
【図６】
2021516377.tif 000010
【図７】
2021516377.tif 000011
【図８】
2021516377.tif 000012
【図９】
2021516377.tif 000013
【手続補正書】
【提出日】令和2年3月10日(2020.3.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
輸送サービスにおいて乗車位置の表示を提供するための方法であって、
サーバ装置における1つまたは複数のプロセッサによって、ライダーを降車位置に輸送するようにとの要求を受信するステップと、
前記1つまたは複数のプロセッサによって前記ライダーのクライアント装置またはドライバーのクライアント装置に、前記ドライバーが前記ライダーを乗せる乗車位置を提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置の視野からの実世界像を受信するステップと、
前記1つまたは複数のプロセッサによって、前記実世界像に対応する位置を決定するステップと、
前記1つまたは複数のプロセッサによって、前記決定した位置を前記乗車位置と比較するステップと、
前記1つまたは複数のプロセッサによって、前記ライダーまたはドライバーを支援するために前記比較に基づいて前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置に提示される前記実世界像をオーバーレイする拡張現実モードで表示するための情報を提供するステップとを含み、
前記方法はさらに、
前記1つまたは複数のプロセッサによって、前記ライダーの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサにおいて、前記ライダーの現在位置および前記ドライバーの現在位置を得るステップと、
前記1つまたは複数のプロセッサによって、前記ライダーの前記現在位置に対する前記ドライバーの前記現在位置に基づいて前記ライダーに対する前記ドライバーの向きを識別するステップと、
前記1つまたは複数のプロセッサによって、前記ライダーの前記クライアント装置の前記向きが前記ライダーに対する前記ドライバーの前記向きと異なると決定するステップとを更に含み、
前記実世界像をオーバーレイする拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記ライダーが前記ドライバーに向く方向の指示を提供し、前記実世界像に前記ドライバーの車両を表示するステップを含む、方法。
【請求項２】
輸送サービスにおいて乗車位置の表示を提供するための方法であって、
サーバ装置における1つまたは複数のプロセッサによって、ライダーを降車位置に輸送するようにとの要求を受信するステップと、
前記1つまたは複数のプロセッサによって前記ライダーのクライアント装置またはドライバーのクライアント装置に、前記ドライバーが前記ライダーを乗せる乗車位置を提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置の視野からの実世界像を受信するステップと、
前記1つまたは複数のプロセッサによって、前記実世界像に対応する位置を決定するステップと、
前記1つまたは複数のプロセッサによって、前記決定した位置を前記乗車位置と比較するステップと、
前記1つまたは複数のプロセッサによって、前記ライダーまたはドライバーを支援するために前記比較に基づいて前記ライダーの前記クライアント装置または前記ドライバーの前記クライアント装置に提示される前記実世界像をオーバーレイする拡張現実モードで表示するための情報を提供するステップとを含み、
前記実世界像に対応する位置を決定するステップが、
クライアント装置によって提供される前記実世界像を分析して前記クライアント装置の位置を決定することを含む、方法。
【請求項３】
拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、請求項1または2に記載の方法。
【請求項４】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項3に記載の方法。
【請求項５】
前記1つまたは複数のプロセッサによって、前記実世界像が前記ドライバーの車両を含むと決定するステップを更に含み、
拡張現実モードで表示するための情報を提供するステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記車両を強調するステップを含む、
請求項1または2に記載の方法。
【請求項６】
前記実世界像が前記ドライバーの車両を含むと決定するステップが、
前記1つまたは複数のプロセッサにおいて、前記ドライバーの現在位置の指示を受信するステップと、
前記1つまたは複数のプロセッサによって、前記実世界像内に含まれる地理的範囲を決定するステップと、
前記1つまたは複数のプロセッサによって、前記ドライバーの前記現在位置の前記指示を前記地理的範囲と比較して、前記ドライバーが前記実世界像内に含まれる前記地理的範囲内に位置するかどうかを決定するステップとを含む、請求項5に記載の方法。
【請求項７】
前記1つまたは複数のプロセッサによって、前記実世界像内の前記ドライバーの前記現在位置におけるオブジェクトを識別するステップと、
前記1つまたは複数のプロセッサによって、前記オブジェクトを、車両を表現する1つまたは複数のテンプレートオブジェクトと比較して、前記オブジェクトが車両であるかどうかを決定するステップと、
前記1つまたは複数のプロセッサによって、前記オブジェクトが車両であるとの決定に応じて前記実世界像が前記ドライバーの前記車両を含むと決定するステップとを更に含む、
請求項6に記載の方法。
【請求項８】
輸送サービスにおいて乗車位置を識別してユーザに提示するための方法であって、
前記ユーザのクライアント装置における1つまたは複数のプロセッサによって、前記ユーザを降車位置に輸送するようにとの要求を送信するステップと、
前記1つまたは複数のプロセッサにおいて、車両が前記ユーザを乗せる乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記乗車位置の指示および前記ユーザの現在位置の指示を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ユーザの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ユーザを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含み、
前記方法は、
前記1つまたは複数のプロセッサにおいて、サーバ装置から前記車両のドライバーの現在位置を第1の頻度で定期的に受信するステップと、
前記ドライバーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記1つまたは複数のプロセッサにおいて、前記サーバ装置から前記ドライバーの前記現在位置を前記第1の頻度より高い第2の頻度で定期的に受信するステップとを更に含む、方法。
【請求項９】
輸送サービスにおいて乗車位置を識別してユーザに提示するための方法であって、
前記ユーザのクライアント装置における1つまたは複数のプロセッサによって、前記ユーザを降車位置に輸送するようにとの要求を送信するステップと、
前記1つまたは複数のプロセッサにおいて、車両が前記ユーザを乗せる乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記乗車位置の指示および前記ユーザの現在位置の指示を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ユーザの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ユーザを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップと含み、
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、方法。
【請求項１０】
輸送サービスにおいて乗車位置を識別してユーザに提示するための方法であって、
前記ユーザのクライアント装置における1つまたは複数のプロセッサによって、前記ユーザを降車位置に輸送するようにとの要求を送信するステップと、
前記1つまたは複数のプロセッサにおいて、車両が前記ユーザを乗せる乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記乗車位置の指示および前記ユーザの現在位置の指示を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ユーザの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ユーザを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含み、
前記方法は、
前記1つまたは複数のプロセッサによって、前記ユーザの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサによって、前記ユーザの前記現在位置に対する前記車両の現在位置に基づいて前記ユーザに対する前記車両の向きの指示を得るステップとを更に含み、
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記実世界像をオーバーレイする前記1つまたは複数のプロセッサによって、前記車両が前記実世界像に表示されるように前記ユーザが前記車両に向く方向の指示を提示するステップを含む、方法。
【請求項１１】
前記1つまたは複数のプロセッサによって、前記実世界像および前記ドライバーの更新された現在位置を前記サーバ装置に提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記サーバ装置から前記実世界像が前記ドライバーの前記車両を含むことの指示、および前記車両の前記実世界像内の位置を受信するステップとを更に含み、
前記ユーザを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記車両を強調するステップを含む、
請求項8に記載の方法。
【請求項１２】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項9に記載の方法。
【請求項１３】
輸送サービスにおいて乗車位置を識別してドライバーに提示するための方法であって、
ドライバーのクライアント装置における1つまたは複数のプロセッサによって、ライダーまたは物品を降車位置に輸送するようにとの要求を受信するステップと、
前記要求を受諾するステップと、
前記1つまたは複数のプロセッサにおいて、乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記ドライバーの現在位置から前記乗車位置へのナビゲーション方向を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ドライバーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ドライバーを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含み、
前記方法が、
前記1つまたは複数のプロセッサにおいて、輸送を要求する前記ライダーの現在位置を第1の頻度で定期的に受信するステップと、
前記ライダーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記1つまたは複数のプロセッサにおいて、前記ライダーの前記現在位置を前記第1の頻度より高い第2の頻度で定期的に受信するステップとを更に含む、方法。
【請求項１４】
輸送サービスにおいて乗車位置を識別してドライバーに提示するための方法であって、
ドライバーのクライアント装置における1つまたは複数のプロセッサによって、ライダーまたは物品を降車位置に輸送するようにとの要求を受信するステップと、
前記要求を受諾するステップと、
前記1つまたは複数のプロセッサにおいて、乗車位置を受信するステップと、
ユーザインタフェースを介して、地図表示モードで前記ドライバーの現在位置から前記乗車位置へのナビゲーション方向を含む地理的範囲の対話型デジタル地図を提供するステップと、
前記ドライバーの前記現在位置が前記乗車位置から閾値距離内であるとの決定に応じて、前記ユーザインタフェースを介して、前記クライアント装置の視野における実世界像を、前記ドライバーを支援するための前記実世界像をオーバーレイする情報とともに提示する拡張現実モードに切り替わるステップとを含み、
前記方法が、
前記1つまたは複数のプロセッサによって、前記ドライバーの前記クライアント装置の向きを決定するステップと、
前記1つまたは複数のプロセッサによって、前記ドライバーの前記現在位置に対する前記ライダーまたは物品の現在位置に基づいて前記ドライバーに対する前記ライダーまたは前記物品の向きの指示を得るステップとを更に含み、
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記実世界像をオーバーレイする前記1つまたは複数のプロセッサによって、前記ライダーまたは物品が前記実世界像に表示されるように前記ドライバーが前記ライダーまたは物品に向く方向の指示を提示するステップを含む、
方法。
【請求項１５】
前記1つまたは複数のプロセッサによって、前記実世界像および前記ライダーまたは前記物品の更新された現在位置をサーバ装置に提供するステップと、
前記1つまたは複数のプロセッサにおいて、前記実世界像が前記ライダーまたは前記物品を含むことの指示、および前記ライダーの前記実世界像内の位置を受信するステップとを更に含み、
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記ライダーまたは前記物品を強調するステップを含む、
請求項13に記載の方法。
【請求項１６】
前記ドライバーを支援するための前記実世界像をオーバーレイする情報を提示する拡張現実モードに切り替わるステップが、前記1つまたは複数のプロセッサによって、前記実世界像内の前記乗車位置の指示を提供するステップを含む、請求項13に記載の方法。
【請求項１７】
前記実世界像内の前記乗車位置の指示を提供するステップが、前記実世界像内の前記乗車位置にピンを提供するステップを含む、請求項16に記載の方法。
【国際調査報告】
2021516377.tif 000014
2021516377.tif 000015
2021516377.tif 000016