(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】実世界の信号を使用したデジタル地図アニメーション
(51)【国際特許分類】
G09B 29/00 20060101AFI20240403BHJP
G01C 21/26 20060101ALI20240403BHJP
G06T 17/05 20110101ALI20240403BHJP
G06T 13/80 20110101ALI20240403BHJP
G06F 3/048 20130101ALI20240403BHJP
【FI】
G09B29/00 A
G01C21/26 B
G06T17/05
G06T13/80 A
G06F3/048
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023561369
(86)(22)【出願日】2021-04-14
(85)【翻訳文提出日】2023-11-08
(86)【国際出願番号】 US2021027257
(87)【国際公開番号】W WO2022220821
(87)【国際公開日】2022-10-20
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ブライアン・ブルーイントン
(72)【発明者】
【氏名】ルーク・バリントン
(72)【発明者】
【氏名】スジョイ・バナルジー
【テーマコード(参考)】
2C032
2F129
5B050
5E555
【Fターム(参考)】
2C032HB05
2C032HC17
2C032HC21
2F129AA03
2F129BB03
2F129EE02
2F129EE06
2F129EE57
2F129EE66
2F129EE87
2F129EE94
2F129EE96
2F129FF02
2F129FF11
2F129FF20
2F129FF41
2F129FF59
2F129FF69
2F129FF71
2F129GG17
2F129HH02
2F129HH12
2F129HH20
2F129HH35
5B050AA10
5B050BA08
5B050BA11
5B050BA15
5B050BA17
5B050CA07
5B050CA08
5B050DA01
5B050EA07
5B050EA12
5B050EA19
5B050FA02
5B050FA10
5B050FA14
5E555AA25
5E555BA02
5E555BA06
5E555BA24
5E555BA85
5E555BB02
5E555BB06
5E555BB24
5E555BC04
5E555CA45
5E555CB73
5E555CB74
5E555CB78
5E555CB82
5E555DB32
5E555DB55
5E555DC09
5E555DC85
5E555FA00
(57)【要約】
地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを提示するための方法およびシステムが、本明細書において説明される。クライアントデバイスは、ユーザインターフェースを介して地理的エリアの地図表示を提示する。地理的エリアのアニメーションを提示するとの決定に応答して、クライアントデバイスは、地理的エリアの現在の状況を表す地図表示上に重ねられた仮想物体を使用して、地理的エリアの地図表示をアニメーション化する。
【特許請求の範囲】
【請求項1】
地理的エリア内の現在の状況に基づいて前記地理的エリアのアニメーションを提示するための方法であって、
ユーザインターフェースを介して1つまたは複数のプロセッサによって、地理的エリアの地図表示を提示するステップと、
前記1つまたは複数のプロセッサによって、前記地理的エリアのアニメーションを提示すると決定するステップと、
前記ユーザインターフェースを介して前記1つまたは複数のプロセッサによって、前記地理的エリアの現在の状況を表す前記地図表示上に重ねられた仮想物体を使用して、前記地理的エリアの前記地図表示をアニメーション化するステップとを含む、方法。
【請求項2】
前記地理的エリアの前記地図表示が、前記地理的エリアの生配信のビデオを提示することなくアニメーション化される、請求項1に記載の方法。
【請求項3】
前記地理的エリアの前記地図表示をアニメーション化するステップが、
スピーカを介して前記1つまたは複数のプロセッサによって、前記地理的エリア内の現在の環境音を表す音声を提示することをさらに含む、請求項1に記載の方法。
【請求項4】
前記地理的エリア内の前記現在の環境音が、
前記地理的エリア内の風、
前記地理的エリア内の交通の音、
前記地理的エリア内の工事の音、
前記地理的エリア内の雨、
前記地理的エリア内の群衆の騒音、または
前記地理的エリア内の動物の音、のうちの少なくとも1つを含む、請求項3に記載の方法。
【請求項5】
前記地理的エリアの前記現在の状況が、
前記地理的エリアにおける現在の天候の状況、
前記地理的エリアにおける現在の交通の状況、
前記地理的エリアにおける現在の群衆の状況、または
前記地理的エリアにおける現在の周囲の照明の状況、または
前記地理的エリアにおける現在のイベントの状況、のうちの少なくとも1つを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記地理的エリアのアニメーションを提示すると決定するステップが、前記1つまたは複数のプロセッサによって、前記地理的エリアの前記アニメーションの要求を示すジェスチャに基づく入力の受け取りに応答して、前記地理的エリアの前記アニメーションを提示すると決定することを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記1つまたは複数のプロセッサによってサーバデバイスに、前記アニメーションを生成するためのアニメーションデータの要求を送信するステップと、
前記1つまたは複数のプロセッサによって前記サーバデバイスから、前記要求に応答して前記アニメーションデータを受信するステップと、
前記1つまたは複数のプロセッサによって、前記受信されたアニメーションデータに基づいて前記地理的エリアの前記地図表示をアニメーション化するステップとをさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記地理的エリアの前記地図表示をアニメーション化するステップが、
前記地理的エリアの写実的な路上の画像、
前記地理的エリアの写実的な衛星画像、または
前記地理的エリアの非写実的な2次元地図表示、のうちの少なくとも1つを提示することを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
地理的エリアのアニメーションを提示するためのクライアントデバイスであって、
ユーザインターフェースと、
1つまたは複数のプロセッサと、
前記ユーザインターフェースおよび前記1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによって実行されるときに前記クライアントデバイスに、
前記ユーザインターフェースを介して、地理的エリアの地図表示を提示することと、
前記地理的エリアのアニメーションを提示すると決定することと、
前記ユーザインターフェースを介して、前記地理的エリアの現在の状況を表す前記地図表示上に重ねられた仮想物体を使用して、前記地理的エリアの前記地図表示をアニメーション化することと
をさせる命令を記憶する非一時的コンピュータ可読メモリとを含む、クライアントデバイス。
【請求項10】
前記地理的エリアの前記地図表示が、前記地理的エリアの生配信のビデオを提示することなくアニメーション化される、請求項9に記載のクライアントデバイス。
【請求項11】
前記地理的エリアの前記地図表示をアニメーション化するために、前記命令が、前記クライアントデバイスに、
スピーカを介して、前記地理的エリア内の現在の環境音を表す音声を提示させる、請求項9または10に記載のクライアントデバイス。
【請求項12】
前記地理的エリア内の前記現在の環境音が、
前記地理的エリア内の風、
前記地理的エリア内の交通の音、
前記地理的エリア内の工事の音、
前記地理的エリア内の雨、
前記地理的エリア内の群衆の騒音、または
前記地理的エリア内の動物の音、のうちの少なくとも1つを含む、請求項11に記載のクライアントデバイス。
【請求項13】
前記地理的エリアの前記現在の状況が、
前記地理的エリアにおける現在の天候の状況、
前記地理的エリアにおける現在の交通の状況、
前記地理的エリアにおける現在の群衆の状況、または
前記地理的エリアにおける現在の周囲の照明の状況、または
前記地理的エリアにおける現在のイベントの状況、のうちの少なくとも1つを含む、請求項9から12のいずれか一項に記載のクライアントデバイス。
【請求項14】
地理的エリア内の現在の状況に基づいて前記地理的エリアのアニメーションを生成するための方法であって、
1つまたは複数のプロセッサによって、地理的エリア内の現在の状況を示す状況データを取得するステップと、
前記1つまたは複数のプロセッサによって、前記地理的エリア内の地図の特徴を示す地図データを取得するステップと、
前記1つまたは複数のプロセッサによって、前記状況データに基づいて、前記地理的エリアの前記現在の状況を表す1つまたは複数の仮想物体を生成するステップと、
前記1つまたは複数のプロセッサによって、前記地図データおよび前記1つまたは複数の仮想物体に基づいて、前記地理的エリアのアニメーションを生成するステップと、
前記1つまたは複数のプロセッサによって、表示のためにクライアントデバイスに前記アニメーションを提供するステップとを含む、方法。
【請求項15】
前記地理的エリアの前記アニメーションが、前記地理的エリアの生配信のビデオを含まない、請求項14に記載の方法。
【請求項16】
地理的エリアの現在の状況を示す状況データを取得するステップが、
前記1つまたは複数のプロセッサによって、前記地理的エリアの交通の状況または群衆の規模を示す、前記地理的エリア内の複数のクライアントデバイスからのクラウドソーシングされたデータから前記状況データを取得すること、
前記1つまたは複数のプロセッサによって、群衆の規模、交通の状況、天候の状況、もしくは周囲の照明を特定するための、少なくとも1つのクライアントデバイスからの前記地理的エリアの現在の画像を取得すること、または
前記1つまたは複数のプロセッサによって、前記地理的エリアの天候の状況、イベント、もしくは交通の状況を示す第三者のサービスから前記状況データを取得すること、のうちの少なくとも1つを含む、請求項14または15に記載の方法。
【請求項17】
1つまたは複数の仮想物体を生成するステップが、
前記地理的エリアにおける交通の状況に基づいて前記アニメーションに含める仮想の乗り物のセット、
前記地理的エリアにおける群衆の規模に基づいて前記アニメーションに含める仮想の人のセット、
前記地理的エリアの天候の状況に基づいて前記アニメーションに含める日光、雲、雨、氷、もしくは雪、または
前記地理的エリアにおける周囲の照明に基づいて前記アニメーションに含める照明の状況、のうちの少なくとも1つを生成することを含む、請求項14から16のいずれか一項に記載の方法。
【請求項18】
前記地理的エリアのアニメーションを生成するステップが、
前記1つまたは複数のプロセッサによって、前記状況データに基づいて、前記地理的エリア内の現在の環境音の音声を生成することをさらに含む、請求項14から17のいずれか一項に記載の方法。
【請求項19】
前記1つまたは複数のプロセッサによって前記クライアントデバイスから、前記地理的エリアの前記アニメーションの要求を受信するステップと、
前記1つまたは複数のプロセッサによって、前記要求に応答して前記アニメーションを前記クライアントデバイスに提供するステップとをさらに含む、請求項14から18のいずれか一項に記載の方法。
【請求項20】
前記1つまたは複数のプロセッサによって、前記クライアントデバイスのユーザが進行している方向を決定するステップと、
前記1つまたは複数のプロセッサによって、前記決定された進行方向に基づいて、前記地理的エリアを見るための特定の方位に関する状況データを取得するステップと、
前記1つまたは複数のプロセッサによって、前記状況データに基づいて、前記地理的エリアの前記アニメーションを生成するステップとをさらに含む、請求項14から19のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、デジタル地図アニメーションに関し、より詳細には、エリア内の実世界の状況を表す地理的エリアのアニメーションを提示することに関する。
【背景技術】
【0002】
本明細書において与えられる背景技術の説明は、本開示の文脈をおおまかに提示することを目的とする。この背景技術の節で説明される範囲の、ここに名前を挙げた発明者の研究と、それ以外で出願時に従来技術として認定されない可能性がある説明の態様とは、明示的にも暗示的にも本開示の従来技術として認められない。
【0003】
今日、地理的領域の地図は、モバイル電話、カーナビゲーションシステム、ハンドヘルド全地球測位システム(GPS)ユニット、およびコンピュータを含む多種多様なデバイス上で実行されるソフトウェアアプリケーションによって表示される場合がある。アプリケーションおよび/またはユーザの好みに応じて、地図は、地形データ、衛星データ、道路データ、都市交通情報、交通データなどを表示する場合がある。しかし、地図は、地理的領域の現在の状況を描写しない。
【発明の概要】
【課題を解決するための手段】
【0004】
地理的エリアの現在の様子および/または感じをより正確に表す地図をユーザに提供するために、地図表示アニメーションシステムが、地理的エリアの現在の状況を示す状況データを取得してよい。状況データは、視覚データおよび音声データを含む場合がある。より詳細には、状況データは、地理的エリアにおける現在の交通の状況を示す交通データ、地理的エリアにおける群衆の状況を示す群衆状況データ、地理的エリアにおける現在の天候の状況を示す天候データ、地理的エリアにおける周囲の光を示す照明(lighting)データ、地理的エリア内の樹木および/またはその他の葉の状態を示す季節データ、風、雨、交通の音、工事の音、群衆の騒音、動物の音などの、地理的エリア内の環境音を示す環境音データを含む場合がある。追加的または代替的に、状況データは、ルートナビゲーションによる地理的エリアへのユーザの到着の予測された時間の地理的エリアの状況を含む場合がある。別の例において、状況データは、ユーザによって選択された所望の時間の地理的エリアの状況を含む場合がある(すなわち、ユーザは、翌朝の地理的エリアのそのときの状況を描写する地図表示アニメーションを見たい場合がある)。別の例において、状況データは、ユーザによって選択された所望の1つまたは複数の状況に関する地理的エリアの状況を含む場合がある(すなわち、ユーザは、天候の状況が雪であるときに、地理的エリアのそのときの状況を描写する地図表示アニメーションを見たい場合がある)。
【0005】
それから、地図表示アニメーションシステムは、状況データを使用して地理的エリアのアニメーションを生成してよい。アニメーションは、音声を含む場合、または含まない場合があるビデオクリップ(たとえば、10秒のビデオクリップ、30秒のビデオクリップ、または任意の好適な長さのビデオクリップ)であってよい。地理的エリア内の人、乗り物、および/またはその他のエンティティ(entity)のプライバシーを保護するために、地図表示システムは、地理的エリアの生配信の写真またはビデオを提示することなく、現在の状況を表す仮想物体を生成してよい。たとえば、地図表示アニメーションシステムは、アニメーションに含める仮想の乗り物のセットを生成する場合があり、乗り物の数および/または乗り物が走行している速度が、地理的エリアにおける現在の交通の状況に基づいて調整される。別の例において、地図表示アニメーションシステムは、アニメーションに含める仮想の人のセットを生成する場合があり、人の数および/または人の地理的エリアが、地理的エリアにおける現在の群衆の規模に基づいて調整される。仮想物体は、実世界の物体のように見える写実的な表現であってよい。追加的または代替的に、仮想物体は、人間のアーティストによって生み出される表現に視覚的に匹敵する抽象化および芸術的様式化を含む物体の非写実的な表現を含んでよい。たとえば、非写実的な表現は、ペインティング(painting)、ドローイング(drawing)、およびアニメなどの芸術的表現から着想を得る場合がある。
【0006】
地図表示アニメーションシステムは、地理的エリアの衛星画像、路上の(street-level)画像、または地図表現を取得する場合がある。一部の実装形態において、衛星画像、路上の画像、または地図表現は、人、乗り物、またはその他のエンティティを含まずに、道路、建物、公園、スタジアム、空港、水域、山脈などの地図の特徴を含む場合がある。また、衛星画像、路上の画像、または地図表現は、同じ時季(たとえば、夏)の間の、同じ天候および/または照明の状況(たとえば、晴天の状況)の下の、同じ時間帯(たとえば、日中)から提示されてよい。そして、地図表示アニメーションシステムは、仮想物体を衛星画像、路上の画像、または地図表現に適用して、現在の状況を描写する地理的エリアのアニメーションを生成してよい。たとえば、地図表示アニメーションシステムは、衛星画像内の道路上に仮想の乗り物のセットを提示してよく、仮想の乗り物のセットは、アニメーション内で選択された速度で移動する。別の例において、地図表示アニメーションシステムは、夜間であることを示すために衛星画像の照明を調整する場合があり、雨の状況に基づいて衛星画像に雲および雨を追加する場合がある。
【0007】
それから、地図表示アニメーションシステムは、ユーザのクライアントデバイスに表示のためにアニメーションを提供してよい。一部の実装形態において、ユーザは、地理的エリアの現在の状況のアニメーションを要求するために、地理的エリアの地図表示を見ている間にジェスチャに基づく入力(たとえば、長押し)を実行する場合がある。地図表示アニメーションシステムは、ジェスチャに基づく入力に応答してアニメーションを提供してよい。その他の実装形態において、地図表示アニメーションシステムは、トリガ条件に応答してアニメーションを提供すると自動的に決定する場合がある。トリガ条件は、スポーツイベントまたはコンサートなどの特定のイベントが地理的エリア内で行われていることである場合がある。トリガ条件は、地理的エリアにおいて交通渋滞を引き起こしている乗り物の衝突事故などの、地理的エリア内の最新ニュースである場合もあり、または任意のその他の好適なトリガ条件である場合がある。いずれにしても、アニメーションは、そのとき、ユーザのクライアントデバイス上で自動的に提示される場合があり、またはユーザは、ユーザが地理的エリアの現在の状況のアニメーションを見たい場合があることを示し、選択されるときにクライアントデバイスにアニメーションを提示させるユーザコントロールを含むプロンプトを受け取る場合がある。
【0008】
本開示の技術の1つの例示的な実施形態は、地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを提示するための方法である。方法は、ユーザインターフェースを介して、地理的エリアの地図表示を提示するステップと、地理的エリアのアニメーションを提示すると決定するステップとを含む。加えて、方法は、ユーザインターフェースを介して、地理的エリアの現在の状況を表す地図表示上に重ねられた仮想物体を使用して、地理的エリアの地図表示をアニメーション化するステップを含む。
【0009】
別の例示的な実施形態は、地理的エリアのアニメーションを提示するためのクライアントデバイスである。クライアントデバイスは、ユーザインターフェースと、1つまたは複数のプロセッサと、ユーザインターフェースおよび1つまたは複数のプロセッサに結合され、命令を記憶する非一時的コンピュータ可読メモリとを含む。命令は、1つまたは複数のプロセッサによって実行されるときにクライアントデバイスに、ユーザインターフェースを介して、地理的エリアの地図表示を提示させ、地理的エリアのアニメーションを提示すると決定させる。命令は、さらにクライアントデバイスに、ユーザインターフェースを介して、地理的エリアの現在の状況を表す地図表示上に重ねられた仮想物体を使用して、地理的エリアの地図表示をアニメーション化させる。
【0010】
さらに別の例示的な実施形態は、地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを生成するための方法である。方法は、地理的エリアの現在の状況を示す状況データを取得するステップと、地理的エリア内の地図の特徴を示す地図データを取得するステップとを含む。方法は、状況データに基づいて、地理的エリアの現在の状況を表す1つまたは複数の仮想物体を生成するステップと、地図データおよび1つまたは複数の仮想物体に基づいて、地理的エリアのアニメーションを生成するステップとをさらに含む。さらに、方法は、表示のためにアニメーションをクライアントデバイスに提供するステップを含む。
【図面の簡単な説明】
【0011】
【
図1】地図表示アニメーションシステムを実装するためにクライアントデバイスおよびサーバデバイスが動作することができる例示的な通信システムのブロック図である。
【
図2】
図1のシステムに実装され得る実世界の状況データベースに含まれる例示的な実世界の状況データテーブルのブロック図である。
【
図3】地理的エリアの現在の状況を特定するためにセマンティックセグメンテーションを使用して、たとえば、
図1のシステムによって分析され得る地理的エリアの例示的な画像またはビデオクリップを示す図である。
【
図4A】地理的エリアの現在の状況を表す、地理的エリアの衛星ビューの例示的なアニメーションを示す図である。
【
図4B】地理的エリアの現在の状況を表す、地理的エリアの衛星ビューの例示的なアニメーションを示す図である。
【
図4C】地理的エリアの現在の状況を表す、地理的エリアの衛星ビューの例示的なアニメーションを示す図である。
【
図5】地理的エリアの現在の状況を表す、地理的エリアの例示的な路上ビューを示す図である。
【
図6】写実的な画像を使用して地理的エリアの現在の状況を表す、地理的エリアの例示的なハイブリッドな衛星/路上ビューを示す図である。
【
図7】非写実的な画像を使用して地理的エリアの現在の状況を表す、地理的エリアの例示的なハイブリッドな衛星/路上ビューを示す図である。
【
図8】非写実的な画像を使用して地理的エリアの現在の状況を表す、地理的エリアの例示的な2次元地図表示を示す図である。
【
図9】クライアントデバイスにおいて実施され得る、地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを提示するための例示的な方法の流れ図である。
【
図10】サーバデバイスにおいて実施され得る、地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを生成するための例示的な方法の流れ図である。
【発明を実施するための形態】
【0012】
概要
概して言えば、本開示のシステムおよび方法は、1つもしくは複数のクライアントデバイス、1つもしくは複数のネットワークサーバ、またはこれらのデバイスの組合せを含むシステムに実装され得る。しかし、明瞭にするために、以下の例は、クライアントデバイスが地理的エリアの2次元地図表現などの地理的エリアの地図表示を提示する一実施形態に主に焦点を当てる。(たとえば、長押しジェスチャなどのユーザ入力を介した)ユーザからの地理的エリアのアニメーションの要求の受信に応答して、クライアントデバイスは、サーバデバイスに要求を送信してよい。一部の実装形態において、サーバデバイスは、そのとき、衛星画像、路上の画像、ハイブリッドな衛星/路上の画像、または地理的エリアの2次元地図表現などの背景画像を取得する。その他の実装形態において、サーバデバイスは、地理的エリア内の道路、建物、公園、スタジアム、空港、水域、山脈、および/またはその他の地図の特徴に関する地理データに基づいて、写実的な、または写実的でない方法で画像を生成する。
【0013】
さらに、サーバデバイスは、地理的エリアにおける実世界の状況を示す地理的エリアに関する状況データを取得する。状況データは、地理的エリアにおける現在の交通の状況を示す交通データ、地理的エリアにおける群衆の状況を示す群衆状況データ、地理的エリアにおける現在の天候の状況を示す天候データ、地理的エリアにおける周囲の光を示す照明データ、地理的エリア内の樹木および/またはその他の葉の状態を示す季節データ、風、雨、交通の音、工事の音、群衆の騒音、動物の音などの、地理的エリア内の環境音を示す環境音データを含む場合がある。
【0014】
それから、サーバデバイスは、地理的エリアの生配信の写真またはビデオを提示することなく、現在の状況を表す仮想物体を生成してよい。たとえば、仮想物体は、仮想の乗り物、仮想の人、仮想の照明、仮想の雲、仮想の雨、仮想の氷、仮想の雪、仮想の建物、仮想の窓、仮想の動物、仮想の工事の音、仮想の群衆の騒音、仮想の動物の音などを含む場合がある。そして、サーバデバイスは、仮想物体を、衛星画像、路上の画像、ハイブリッドな衛星/路上の画像、または2次元地図データと組み合わせて、地理的エリアのアニメーションを生成してよい。アニメーションは、ビデオクリップであってよく、仮想物体は、ビデオクリップ中に位置またはその他の属性を変える。たとえば、乗り物が現在の交通の状況を反映する速度で道路を走行する、人の群衆が現在の群衆の状況を反映する速度で移動する、照明の状況が変化する、雲が形を成す、および/または消散する、雨または雪が降る、氷が形を成すなどする場合がある。アニメーションは、地理的エリア内の現在の音を表す音声も含んでよい。
【0015】
サーバデバイスは、ユーザがアニメーションを見るおよび/または聞くためにクライアントデバイスにアニメーションを提供する。このようにして、ユーザは、エリア内の人、乗り物、および/またはその他のエンティティのプライバシーを損なうことなく、地理的エリアの現在の様子および/または感じを知らされる。
【0016】
その他の実施形態において、サーバデバイスは、状況データ、地理データ、背景画像、および/または仮想物体をクライアントデバイスに提供してよい。そして、クライアントデバイスが、状況データ、地理データ、背景画像、および/または仮想物体に基づいてアニメーションを生成してよい。
【0017】
例示的なハードウェアおよびソフトウェアコンポーネント
まず
図1を参照すると、例示的な地図表示アニメーションシステム100が、ネットワーク160を介して地図表示アニメーションサーバ130(本明細書においては「サーバ130」とも呼ばれる)に結合されたクライアントコンピューティングデバイス102(本明細書においては「クライアントデバイス」とも呼ばれる)を含む。ネットワーク160は、概して、1つまたは複数の有線および/またはワイヤレス通信リンクを含むことが可能であり、たとえば、インターネットなどの広域ネットワーク(WAN)、ローカルエリアネットワーク(LAN)、セルラ電話ネットワーク、または別の好適な種類のネットワークを含んでよい。
【0018】
クライアントデバイス102は、たとえば、スマートフォンまたはタブレットコンピュータなどのポータブルデバイスであってよい。クライアントデバイス102は、ラップトップコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、全地球測位システム(GPS)ユニット、スマートグラスなどのウェアラブルデバイス、または別の好適なコンピューティングデバイスであってもよい。クライアントデバイス102は、メモリ106、1つまたは複数のプロセッサ(CPU)104、全地球測位システム(GPS)モジュール112または別の好適な測位モジュール、ネットワークインターフェース114、ユーザインターフェース116、入力/出力(I/O)インターフェース118、カメラ120、およびマイクロフォン122を含んでよい。クライアントデバイス102は、グラフィックス処理ユニット(GPU)などの、
図1には示されていないコンポーネントも含んでよい。
【0019】
ネットワークインターフェース114は、セルラネットワーク、WiFiネットワーク、またはネットワーク160などの任意その他の好適なネットワークを介した通信を可能にするためのハードウェア、ソフトウェア、および/またはファームウェアなどの1つまたは複数の通信インターフェースを含んでよい。ユーザインターフェース116は、地図表示アニメーションなどの情報をユーザに提供するように構成されてよい。I/Oインターフェース118は、様々なI/Oコンポーネント(たとえば、ポート、静電容量式または抵抗膜式タッチ入力パネル、キー、ボタン、ライト、LED)を含んでよい。たとえば、I/Oインターフェース118は、タッチスクリーンであってよい。
【0020】
メモリ106は、非一時的メモリであってよく、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、その他の種類の永続的なメモリなどの1つまたは複数の好適なメモリモジュールを含んでよい。メモリ106は、クライアントデバイス102の1つまたは複数のプロセッサ104および/または専用の処理ユニット上で実行可能な機械可読命令を記憶してよい。メモリ106は、任意の好適なモバイルまたは汎用オペレーティングシステム(OS)であることが可能なOS 110も記憶する。メモリは、地理的地図作成アプリケーション108を含む、ネットワーク160を介してデータを伝達する1つまたは複数のアプリケーションも記憶することができる。地理的地図作成アプリケーション108は、仮想物体を使用して地理的エリアのアニメーションを提示するアニメーション提示モジュール137を含んでよい。アニメーション提示モジュール137は、ユーザインターフェース116および/またはスピーカを介してアニメーションを提示してよい。さらに、メモリは、カメラ120および/またはマイクロフォン122によってキャプチャされた地理画像(geographic image)ファイル、地理ビデオ(geographic video)ファイル、地理音声(geographic audio)ファイル、またはその他の地理メディアファイルを記憶することができる。データを伝達することは、データを送信すること、データを受信すること、またはそれら両方を含み得る。OS 110は、アプリケーションがGPSモジュール112またはクライアントデバイス102のその他のコンポーネントからの情報にアクセスすることを可能にするアプリケーションプログラミングインターフェース(API)関数を含んでよい。たとえば、地理的地図作成アプリケーション108は、クライアントデバイス102の現在の地理的エリアを取り出すためのOS 110のAPIを呼び出す命令を含み得る。
【0021】
カメラ120は、地理画像ファイル内の地理画像の写真キャプチャを可能にするためのハードウェア、ソフトウェア、および/またはファームウェアなどの1つまたは複数の写真インターフェースを含んでよい。カメラ120は、地理ビデオファイルにマイクロフォン122によって記録された地理音声を含む場合、または含まない場合がある地理ビデオのビデオキャプチャ(videographic capture)を可能にするためのハードウェア、ソフトウェア、および/またはファームウェアなどの1つまたは複数のビデオインターフェース(videographic interface)も含んでよい。マイクロフォンは、地理音声ファイルの地理音声の音響的キャプチャを可能にするためのハードウェア、ソフトウェア、および/またはファームウェアなどの1つまたは複数の音響インターフェースを含んでよい。カメラ120および/またはマイクロフォン122によってキャプチャされた地理画像ファイル、地理ビデオファイル、および地理音声ファイルは、GPSモジュール112によって収集された地理的エリア情報に基づいて、ジオタグを付けられる(地理ファイルのメタデータに追加された地理的識別情報を有する)場合がある。
【0022】
実装形態に応じて、地理的地図作成アプリケーション108は、ナビゲーション情報、地図作成情報、地理画像、または地図表示アニメーションを含む地図作成コンテンツを表示することであって、地図作成コンテンツが、地理的エリアのものである、表示すること、地図作成コンテンツ中をナビゲートすることによって地理的エリアを探索するためのユーザコントロールを提供すること、地図作成コンテンツが利用可能な地理的エリアを示すインタラクティブなデジタル地図を表示すること、生成された地図作成コンテンツを要求し、受信すること、ユーザが指定した条件を反映する地図作成コンテンツを要求するためのユーザコントロールを提供すること、様々なジオロケーションを使用して位置を特定された(geolocated)コンテンツを提供することなどを行い得る。
図1は地理的地図作成アプリケーション108をスタンドアロンアプリケーションとして示すが、地理的地図作成アプリケーション108の機能は、クライアントデバイス102上で実行されるウェブブラウザを介してアクセス可能なオンラインサービスの形態で提供されること、クライアントデバイス102上で実行される別のソフトウェアアプリケーションのプラグインまたは拡張機能として提供されることなども可能である。概して、地理的地図作成アプリケーション108は、異なるそれぞれのオペレーティングシステムのための異なるバージョンで提供され得る。たとえば、クライアントデバイス102のメーカーは、Android(商標)プラットフォームのための地理的地図作成アプリケーション108を含むソフトウェア開発キット(SDK)、iOS(商標)プラットフォームのための別のSDKなどを提供し得る。
【0023】
サーバ130は、地図表示アニメーションの要求を提供および受信し、地図表示アニメーションを生成し、地図表示アニメーションをクライアントデバイス102に送信するように構成されてよい。サーバ130は、1つまたは複数のプロセッサ132およびメモリ134を含む。メモリ134は、有形の非一時的メモリであってよく、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、その他の種類の永続的なメモリなどを含む任意の種類の好適なメモリモジュールを含んでよい。メモリ134は、地図表示アニメーション生成モジュール136を構成するプロセッサ132上で実行可能な命令を記憶し、地図表示アニメーション生成モジュール136は、地図表示アニメーションの要求を処理し、地図表示アニメーションを生成することができる。一部の実装形態において、地図表示アニメーション生成モジュール136は、クライアントデバイス102からそのような地図表示アニメーションの要求を受信する前に地図表示アニメーションを生成し、後で取り出すために、生成された地図表示アニメーションをキャッシュしてよい。キャッシュされた地図表示アニメーションは、以下の段落でさらに検討されるように、メディアデータベース140に記憶されてよい。
【0024】
一部の実装形態において、地図表示アニメーション生成モジュール136は、地図表示アニメーションを生成するように動作可能な機械学習モデルを訓練し、記憶する場合がある。一部の実装形態において、機械学習モデルは、2つのニューラルネットワーク、生成器ネットワークおよび識別器ネットワークを含む敵対的生成ネットワーク(GAN)である。
【0025】
その他の実装形態において、地図表示アニメーション生成モジュール136は、地図表示アニメーションを生成する。たとえば、地図表示アニメーション生成モジュール136は、衛星画像、路上の画像、ハイブリッドな衛星/路上の画像、または地理的エリアの2次元地図データなどの背景画像を取得してよい。地図表示アニメーション生成モジュール136は、地理的エリアとしての現在の状況を示す現在の状況データなどの、地理的エリアの状況データも取得してよい。それから、地図表示アニメーション生成モジュール136は、状況データに基づいて、仮想の乗り物、仮想の人、仮想の照明、仮想の雲、仮想の雨、仮想の雪、仮想の氷、仮想の建物、仮想の窓、仮想の動物などの仮想物体を生成してよく、仮想物体と背景画像とを組み合わせてアニメーションを生成してよい。
【0026】
サーバ130は、ユーザ生成コンテンツ、非ユーザ生成メディア、地図表示アニメーション、および地理空間情報をそれぞれ記憶するデータベース140、142、144、および146と通信可能に結合され得る。別々のデータベースとして描かれているが、データベースに記憶された情報は、より少ないデータベースまたは単一のデータベースへと合併される可能性がある。これらのデータベース140、142、144、および146は、地理的エリアの背景画像もしくは背景画像を生成するための情報を提供してよく、ならびに/または仮想物体を生成するための状況データを提供してよい。
【0027】
ユーザ生成コンテンツ(UGC)データベース140は、ユーザ生成地理画像ファイル、地理ビデオファイル、および地理音声ファイルを含む場合がある。UGCは、クラウドソーシングされる場合がある。UGCは、メタデータをタグ付けされる場合がある。UGCは、UGCがキャプチャされた地理的エリアをタグ付けされる(ジオタグを付けられる)か、またはUGCがキャプチャされた時間をタグ付けされる場合がある。UGCは、UGCデータベース140からのUGCの要求に応答して、またはUGCデータベース140からの要求なしに地理的地図作成アプリケーション108が地理ファイルを提供することが原因で、1つまたは複数のクライアントデバイス102の地理的地図作成アプリケーション108からUGCデータベース140によって受信される場合がある。たとえば、地理的地図作成アプリケーション108のユーザは、それらのユーザのクライアントデバイス102のカメラ120を使用して街角の地理画像をキャプチャしてよく、街角の地理画像は、地理画像がキャプチャされた地理的エリアを含むメタデータが埋め込まれた地理画像ファイルにキャプチャされる。この例において、ユーザは、それから、地理画像ファイルを、地理地図作成アプリケーション108を介して、サーバ130またはメディアデータベースにアップロードしてよい。
【0028】
メディアデータベース142は、非ユーザ生成地理画像ファイル、地理ビデオファイル、または地理音声ファイル、またはその他の非ユーザ生成地理ファイルを含む場合がある。非ユーザ生成地理ファイルは、メディアデータベース142に記憶するためにキャプチャ、作成、購入、またはそれ以外の方法で取得されたファイルであってよい。たとえば、非ユーザ生成コンテンツの地理ファイルは、一般的な鳥のさえずりまたは木々の風にそよぐ音の音声ファイルを含む可能性がある。非ユーザ生成地理ファイルは、路上の視点、鳥瞰視点、衛星視点などからの地理的エリアのキャプチャされた地理画像ファイルも含む可能性がある。
【0029】
地図作成データベース144は、通りおよび道路情報を記憶する図式的および衛星データ、地形データ、衛星画像、公共交通ルートに関連する情報、企業またはその他の関心地点(POI: point of interest)についての情報、様々な交通手段の案内などのナビゲーションデータなどを含む地理空間情報を含む場合がある。一部の実装形態において、衛星画像、路上の画像、または地図表現は、人、乗り物、またはその他のエンティティを含まずに、道路、建物、公園、スタジアム、空港、水域、山脈などの地図の特徴を含む場合がある。サーバ130がデータベース140および142から受信する画像は、画像がキャプチャされた時間および/または地理的エリアを示すメタデータを含む場合がある。サーバ130は、(たとえば、特定の地理的エリアに関する情報を求める、サーバ130から地図作成データベース144への要求に応答して)地図作成データベース144から情報を受信し、この情報をクライアントデバイス102に送信してよい。地理的地図作成アプリケーション108は、この情報を使用して、地図表示アニメーションが利用可能な地理的エリアを示すインタラクティブなデジタル地図を表示することができる。一例として、衛星ビューモードで動作する地理的地図作成アプリケーション108は、地理的エリアの衛星ビュー画像を表示し、地理的エリアが利用可能な地図表示アニメーションを有するというインジケーションも表示する場合がある。地理的地図作成アプリケーション108とインタラクションすることによって、ユーザは、地図内でアクセスされた地理的エリアの地図表示アニメーション中をナビゲートすることができる。
【0030】
サーバ130は、地図表示アニメーション生成モジュール136において地図表示アニメーションを生成するのを支援するために、UGCデータベース140、メディアデータベース142、および/または地図作成データベース144からの地理ファイルを要求してよい。
【0031】
地図表示アニメーションデータベース146は、地図表示アニメーション生成モジュール136を使用してサーバ130によって生成された可能性がある既存の地図表示アニメーションを含んでよい。地理的地図作成アプリケーション108は、直接か、またはサーバ130を介してかのどちらかで、地図表示アニメーションデータベース146からの既存の地図表示アニメーションを要求してよい。さらに、既存の地図表示アニメーションは、機械学習モデルの訓練データとして使用されてよい。いくつかのシナリオでは、地理的地図作成アプリケーション108は、路上モードで動作している間、地図表示アニメーションデータベース146内の地図表示アニメーションにアクセスするように構成されてよい。路上モードは、地図表示アニメーションを含んでよい画像によって形成された仮想環境中をユーザがナビゲートすることを可能にする。たとえば、地理的地図作成アプリケーション108は、ユーザが、路上の画像がキャプチャされた小道または道路に沿って移動することを仮想的に体験するように、地図表示アニメーションによって形成された仮想環境中をユーザがナビゲートすることを可能にする。また、路上の画像は、同じ時季(たとえば、夏)の間の、同じ天候および/または照明の状況(たとえば、晴天の状況)の下の、同じ時間帯(たとえば、日中)から提示されてよい。地図表示アニメーションは、地理的エリアおよび現在の状況を反映するようにアニメーション化される路上の画像内の仮想物体を含んでよい。その他のシナリオでは、地理的地図作成アプリケーション108は、衛星モード、2次元地図表現モード、または任意のその他の好適なモードで動作している間、地図表示アニメーションデータベース146内の地図表示アニメーションにアクセスするように構成されてよい。
【0032】
概して、サーバ130は、任意の数の好適なデータベースから地理的エリアに関連する情報を受信してよい。たとえば、サーバ130は、様々な地理的エリアの現在のもしくは平均的な天候データを含む天候データベース(図示せず)、様々な地理的エリア内で発生する現在のもしくはよくある自然災害を含む自然災害データベース(図示せず)、様々な地理的エリア内の道路、小道、もしくはエリアの現在のもしくは平均的な乗り物のおよび/もしくは歩行者の交通量を含む交通データベース(図示せず)、様々な地理的エリアの現在のもしくは平均的な群衆の集まりを含む群衆データベース(図示せず)、ならびに/または様々な地理的エリア内で発生する現在のもしくは平均的なイベントを含むイベントデータベース(図示せず)に結合される場合がある。
【0033】
地図表示アニメーション生成モジュール136およびアニメーション提示モジュール137は、地図表示アニメーションシステムのコンポーネントとして動作することが可能である。あるいは、地図表示アニメーションシステムは、サーバサイドのコンポーネントのみを含み、単に、アニメーション提示モジュール137に地図表示アニメーションを表示する命令を与えることが可能である。言い換ると、これらの実施形態における地図表示アニメーション技術は、アニメーション提示モジュール137に対して透過的に実装され得る。別の選択肢として、地図表示アニメーション生成モジュール136の機能全体が、アニメーション提示モジュール137に実装され得る。たとえば、クライアントデバイス102が、地図表示アニメーションをローカルで生成する場合がある。追加的または代替的に、サーバデバイス130は、クライアントデバイス102に、地理的エリアの状況データおよび/または地理データを提供する場合がある。そして、クライアントデバイス102が、状況データおよび/または地理データに基づいてアニメーションを生成してよい。
【0034】
データベース140~146と通信することに加えて、サーバ130は、天候データ、交通データ、群衆データ、およびイベントデータをそれぞれ提供するその他のサーバ150、152、154、および156と通信可能に結合され得る。
【0035】
天候サーバ150は、様々な地理的エリアの現在のもしくは平均的な天候データを含んでよい。天候サーバは、クラウドソーシングされるか、政府機関(すなわち、米国商務省国家海洋大気庁(National Oceanic and Atmospheric Administration))から受け取られるか、地元の気象予報士(meteorologist)(すなわち、地元の天気予報およびニュース報道機関)から受け取られるか、全国的な気象予報士から受け取られるか、またはその他の気象ベンダ(weather vendor)から受け取られる場合がある。天候データは、温度、湿度、雲量、照明の状況、日の出時間、日の入り時間、季節、気候、風速、風向き、潮位情報、大気質(air quality)、大気可視性(air visibility)、花粉レベル(pollen level)、雪塊(snowpack)の深さ、雨、雪、みぞれ、もしくはあられを含む降水の確率および/もしくは強度、稲妻を伴う、もしくは伴わない雷雨、ハリケーン、竜巻、台風、暴風雨、吹雪、あられを伴う嵐、着氷性の雨を伴う嵐(ice storm)、もしくは熱帯暴風雨を含む嵐の確率および/もしくは強度を含む地理的エリアの天候についての情報、月相、惑星の可視性、恒星の可視性、もしくは食の発生を含む天文データ、またはその他の天候および/もしくは気象データを含む場合がある。天候データは、天候データがキャプチャされた地理的エリア、天候データが適用される領域、天候データがキャプチャされた時間、または天候データが適用される時間を含むメタデータをタグ付けされる場合がある。天候データは、地理的エリアの気候を表す、長期間にわたって平均された天候データを含んでよい。天候データは、サーバ130もしくはクライアントデバイス102からの要求に応答して、またはサーバ130もしくはクライアントデバイス102からの要求なしに天候サーバ150が天候データを提供することが原因で、サーバ130またはクライアントデバイス102によって天候サーバ150から受信されてよい。天候サーバ150は、天候サーバ150からの要求に応答して、または天候サーバ150からの要求なしにクライアントデバイス102が天候データを提供することが原因で、クライアントデバイス102から天候データを受信してよい。
【0036】
交通サーバ152は、様々な地理的エリアの現在のまたは平均的な交通データを含んでよい。交通サーバは、クラウドソーシングされるか、政府機関(すなわち、米国運輸省)から受け取られるか、地元のニュース報道機関から受け取られるか、全国的なニュース報道機関から受け取られるか、またはその他の交通ベンダ(traffic vendor)から受け取られる場合がある。交通データは、交通の激しさ、信号の状態、乗り物の速度、乗り物の種類、乗り物の衝突、道路工事、ラッシュ時の交通量、バス、列車、船舶、航空機などを含む自家用でない乗り物の交通量、歩行者の交通量、自転車の交通量、またはその他の交通情報についての地理的エリアの情報を含む場合がある。交通データは、交通データがキャプチャされた地理的エリア、交通データが適用される領域、交通データがキャプチャされた時間、または交通データが適用される時間を含むメタデータをタグ付けされる場合がある。交通データは、長期間にわたって平均された交通データを含んでよい。交通データは、サーバ130もしくはクライアントデバイス102からの要求に応答して、またはサーバ130もしくはクライアントデバイス102からの要求なしに交通サーバ152が交通データを提供することが原因で、サーバ130またはクライアントデバイス102によって交通サーバ152から受信されてよい。交通サーバ152は、交通サーバ152からの要求に応答して、または交通サーバ152からの要求なしにクライアントデバイス102が交通データを提供することが原因で、クライアントデバイス102から交通データを受信してよい。
【0037】
群衆サーバ154は、様々な地理的エリアの現在のまたは平均的な群衆データを含んでよい。群衆データサーバは、クラウドソーシングされるか、政府機関(すなわち、米国国立公園局)から受け取られるか、地元のニュース報道機関から受け取られるか、全国的なニュース報道機関から受け取られるか、またはその他の群衆データベンダ(crowd data vendor)から受け取られる場合がある。群衆データは、群衆の多さ(crowd intensity)、群衆の振る舞い、群衆の人口統計学的属性、またはその他の群衆の情報についての地理的エリアの情報を含む場合がある。たとえば、群集データは、コミュニティパークが密な群集を有し、群集のメンバーがコミュニティパークを歩いている、スポーツをしている、および座っているという情報を含む場合がある。群衆データは、ウイルスの拡散を減少させるための適切なソーシャルディスタンスを保つことが地理的エリアで可能かどうかのインジケーションを含む場合がある。群衆データは、地理的エリアの興奮の全体的なレベルを提供するために、現在の群衆の状況のレビュー、格付け、ソーシャルメディアの記述、写真、ビデオ、および/または音声も含む場合がある。群衆データは、群衆データがキャプチャされた地理的エリア、群衆データが適用される領域、群衆データがキャプチャされた時間、または群衆データが適用される時間を含むメタデータをタグ付けされる場合がある。群衆データは、長期間にわたって平均された群衆データを含んでよい。群衆データは、サーバ130もしくはクライアントデバイス102からの要求に応答して、またはサーバ130もしくはクライアントデバイス102からの要求なしに群衆サーバ154が群衆データを提供することが原因で、サーバ130またはクライアントデバイス102によって群衆サーバ154から受信されてよい。群衆サーバ154は、群衆サーバ154からの要求に応答して、または群衆サーバ154からの要求なしにクライアントデバイス102が群衆データを提供することが原因で、クライアントデバイス102から群衆データを受信してよい。
【0038】
イベントサーバ156は、様々な地理的エリアの現在のまたは平均的なイベントデータを含んでよい。イベントサーバは、クラウドソーシングされるか、地元のニュース報道機関から受け取られるか、全国的なニュース報道機関から受け取られるか、イベントの主催者から受け取られるか、またはその他のイベントベンダ(event vendor)から受け取られる場合がある。イベントデータは、イベントの規模、イベントの時間、イベントのチケットもしくは入場許可を取得する方法、イベントの地理的エリア、イベントの人口統計学的属性、イベントのカテゴリ、イベントの参加者、イベントの参加者の振る舞い、またはその他のイベント情報を含む、スポーツイベント、政治イベント、音楽イベント、芸術イベント、教育イベント、プロのイベント、家族のイベント、娯楽イベント、建設イベントもしくはプロジェクト、またはその他のイベントを含む予定されたイベントについての地理的エリアの情報を含む場合がある。イベントデータは、ウイルスの拡散を減少させるための適切なソーシャルディスタンスを保つことがイベントの地理的エリアで可能かどうかのインジケーションを含む場合がある。イベントデータは、長期間にわたって平均されたイベントデータを含んでよい。イベントデータは、サーバ130もしくはクライアントデバイス102からの要求に応答して、またはサーバ130もしくはクライアントデバイス102からの要求なしにイベントサーバ156がイベントデータを提供することが原因で、サーバ130またはクライアントデバイス102によってイベントサーバ156から受信されてよい。イベントサーバ156は、イベントサーバ156からの要求に応答して、またはイベントサーバ156からの要求なしにクライアントデバイス102がイベントデータを提供することが原因で、クライアントデバイス102からイベントデータを受信してよい。
【0039】
概して、サーバ130は、任意の数の好適なサーバ、ウェブサービスなどから地理的エリアに関連する情報を受信してよい。たとえば、サーバ130は、ユーザ生成地理画像ファイル、地理ビデオファイル、地理音声ファイル、もしくはその他の地理メディアファイルを含むユーザ生成コンテンツサーバ(図示せず)、非ユーザ生成地理画像ファイル、地理ビデオファイル、もしくは地理音声ファイル、もしくはその他の非ユーザ生成地理ファイルを含むメディアサーバ(図示せず)、様々な地理的エリア内で発生する現在のもしくはよくある自然災害を含む自然災害サーバ(図示せず)、および/または様々な地理的エリアの地理空間情報を含む地図作成サーバ(図示せず)に結合されてよい。
【0040】
簡単にするために、
図1は、サーバの唯一のインスタンスとしてサーバ130を示す。しかし、一部の実装形態によるサーバ130は、それぞれが1つまたは複数のプロセッサを備え、その他のサーバデバイスとは独立して動作可能な1つまたは複数のサーバデバイスのグループを含む。そのようなグループで動作するサーバデバイスは、クライアントデバイス102からの要求を(たとえば、可用性に基づいて)個々に処理するか、要求の処理に関連する1つの動作が1つのサーバデバイス上で実行される一方で、同じ要求の処理に関連する別の動作が別のサーバデバイス上で実行される分散方式で処理するか、または任意のその他の好適な技術によって処理することができる。この検討のために、用語「サーバデバイス」は、個々のサーバデバイスを指すか、または2つ以上のサーバデバイスのグループを指す場合がある。
【0041】
例示的な実世界の状況データ
サーバデバイス130は、
図1を参照して説明されたように、ユーザ生成メディア、非ユーザ生成メディア、地図作成情報、または既存の地図表示アニメーションなどの、地図表示アニメーションの生成を支援する情報を記憶するデータベース140~146に通信可能に結合され得る。サーバデバイス130は、データベース140~146からデータを取り出し、現在の状況データなどの、地理的エリアの状況データのデータテーブルを生成してよい。
【0042】
これが、例示的なデータテーブル200を示す
図2を参照して説明される。データテーブル200は、定義された地理的エリア、方位、日付、および時間の天候、交通の状況、群衆の状況、周囲の照明の状況、イベントの状況、風の音、工事の音、雨の音、群衆の音、動物の音、およびメディアを含む、地理的エリアの現在の状況を示す例示的な現在の状況データを含む。
【0043】
データテーブル200は、運転している(または自転車に乗っている、歩いている、またはそれ以外の方法でナビゲーションのルートに沿って移動している)ときに可視であり得る地理的エンティティに関する情報を記憶することができる。たとえば、データテーブル200は、各地理的エリアに関する地理情報を記憶することができ、地理的エリアに関連する1つまたは複数のメディアファイルを記憶することができる。データテーブル200にメディアファイルを投入するために、サーバデバイス130は、様々なユーザによって提出された衛星画像、写真、ビデオ、および/または音声、特殊なパノラマカメラを搭載した自動車によって収集された路上の画像、歩行者および自転車に乗っている人によって収集された通りおよび歩道の画像、監視またはセキュリティカメラによって収集された写真、ビデオ、および/または音声、ソーシャルメディアまたはその他のオンラインソースに投稿された写真、ビデオ、および/または音声、ストック写真またはビデオソースから提供された写真、ビデオ、および/または音声などを受信し得る。同様に、データテーブル200は、サーバデバイス130の運用者、クライアントデバイス102のユーザ、150、152、154、もしくは156などのその他のサーバの運用者、または外部の第三者などの様々なソースからの地理的エリアの記述を含み得る。
【0044】
データテーブル200への複数の例示的なエントリが、示される。たとえば、データテーブル200の第1のエントリ210は、大晦日のマンハッタンにおける地理的エリアの地図表示アニメーションを生成するのを支援するための情報を含む。第1のエントリ210は、交通量が多く、群衆が多く、周囲の照明のレベルが高い、曇りの天候の状況を示す。照明データは、空からの拡散照明、乗り物のヘッドライトもしくはテールライト、地理的エリア内の街灯、照らされた店先および看板などのローカル光源のライト、またはその他の好適な光源から取得されてよい。光源は、セマンティックセグメンテーションを使用して地理的エリアの写真および/またはビデオを分析し、特定された街灯、乗り物のヘッドライトまたはテールライト、店先、看板などの明るさのレベルを検出することによって特定されてよい。光源は、たとえば、天候サーバ150から決定される、地理的エリアの日の出時間および日の入り時間と比較した時刻、ならびに/または地理的エリアの天候の状況に基づいて特定されてもよい。さらに、第1のエントリ210は、祝賀イベントが地理的エリアにおいて開催されていることを示す。第1のエントリ210は、中程度の風の音および大きな群衆の音などの音声情報も含む。最後に、第1のエントリ210は、メディアとして2つの画像ファイルおよび1つのビデオファイルも含む。画像ファイルは、地理的エリアのストック写真である場合がある。ビデオファイルは、たとえば、クライアントデバイス102のユーザによってUGCとしてデータベース200に提出された、そのときの大晦日の間にマンハッタンにおいてキャプチャされたビデオである場合がある。データテーブル200の第1のエントリ210に記憶されたデータは、地図表示アニメーションを生成する際に使用される場合があり、この地図表示アニメーションは、たとえば、お祝いをするアニメーション化された人々、通りの交通の中をゆっくりと移動するアニメーション化された乗り物、ならびに歓声を上げる群衆および風の音声を有する夜のマンハッタンの街頭のシーンを含む場合がある。
【0045】
データテーブル200の第2のエントリ220は、暴風雨の間のパシフィックコーストハイウェイ上のカリフォルニア州における地理的エリアの地図表示アニメーションを生成するのを支援するための情報を含む。第2のエントリ220は、天候が原因で群衆がまったくいない雨の天候の条件を示す。地理的エリアで計画されたイベントが何もない場合がある。
【0046】
音声情報も、第2のエントリ220に含まれる場合がある。たとえば、音声情報は、中程度の風の音、中程度の工事の音、および高程度の雨の音を含む場合がある。最後に、第2のエントリ220は、メディアとして既存の地図表示アニメーション(MDA_1)を含む。地図表示アニメーションは、たとえば、前回の暴風雨の間に地理的エリアに関して以前に作成された可能性があり、後で取り出すためにデータベース200に保存された可能性があり、それによって、雨天の間のこの地理的エリアのための地図表示アニメーションを生成するために必要とされる計算を削減する場合がある。データテーブル200の第2のエントリ220に記憶されたデータは、地図表示アニメーションを生成する際に使用されてよく、地図表示アニメーションは、たとえば、暗い曇り空から降るアニメーション化された雨、ハイウェイを走行するアニメーション化された自動車、動作するアニメーション化された建設機械、風に揺れるアニメーション化された木、ならびに雨、風、交通、および工事の音声を有する暴風雨の間のパシフィックコーストハイウェイの街頭のシーンを含む場合がある。
【0047】
データテーブル200の第3のエントリ230は、週末の公共の公園の地図表示アニメーションを生成するのを支援するための情報を含む。第3のエントリ230は、快晴の天候の状況、中程度の群衆の状況、および高レベルの周囲の照明を示す。第3のエントリ230は、地理的エリアにおいてスポーツイベントがあることも示し、これは、たとえば、地域のサッカーの計画された試合を示すソーシャルメディアソースから取得された情報に基づく場合がある。
【0048】
音声情報も、第3のエントリ230に含まれる場合がある。たとえば、音声情報は、中程度の群衆の音および中程度の動物の音を含む場合がある。最後に、第3のエントリ230は、ビデオファイルおよび音声ファイルも含む。音声ファイルは、たとえば、クライアントデバイス102のユーザによってキャプチャされ、UGCとしてデータベース200に提出される場合がある。データテーブル200の第3のエントリ230に記憶されたデータは、地図表示アニメーションを生成する際に使用されてよく、地図表示アニメーションは、たとえば、サッカーをするアニメーション化された人々、サッカーの試合を観戦するアニメーション化された群衆、芝生でくつろぐアニメーション化された人々、小道を歩くアニメーション化された人々、空を飛ぶアニメーション化された鳥、ならびに話し声、歓声、および鳥のさえずりの音声を有する快晴の週末の日の間の公共の公園のシーンを含む場合がある。
【0049】
概して、データテーブル200は、地図表示アニメーションを生成するのに有用である場合がある地理的エリアに関連する情報を有するユーザ、政府機関、民間団体(すなわち、ニュース報道機関、ストックメディア配信者、地図プロバイダなど)、またはその他の所有者および/もしくは運用者によって所有および/または運用される場合がある任意の数の好適なデータベース、サーバ、ウェブサービスなどから、地理的エリアに関連する情報を受信してよい。たとえば、データテーブル200は、様々な地理的エリアの現在のもしくは平均的な天候データを含む天候サーバ、様々な地理的エリア内で発生する現在のもしくはよくある自然災害を含む自然災害サーバ、様々な地理的エリア内の道路、小道、もしくはエリアの現在のもしくは平均的な乗り物の、および/もしくは歩行者の交通量を含む交通サーバ、様々な地理的エリアの現在のもしくは平均的な群衆の集まりを含む群衆サーバ、様々な地理的エリア内で発生する現在のもしくは平均的なイベントを含むイベントサーバ、ユーザ生成地理画像ファイル、地理ビデオファイル、地理音声ファイル、もしくはその他の地理メディアファイルを含むユーザ生成コンテンツサーバ、非ユーザ生成地理画像ファイル、地理ビデオファイル、もしくは地理音声ファイル、もしくはその他の非ユーザ生成地理ファイルを含むメディアサーバ、ならびに/または様々な地理的エリアの地理空間情報を含む地図作成サーバに通信可能に結合されてよい。
【0050】
一部の実装形態において、地理的エリアの状況データは、上述のUGCファイルまたはメディアファイルなどの地理的エリアの画像またはビデオクリップを分析することによって特定されてよい。地理的エリアのそのような画像またはビデオクリップは、それらが地理的エリアのアニメーションの要求の送信前の閾値の期間内にクライアントデバイス102によって(カメラ120、マイクロフォン122を使用して、またはそれ以外の方法で)以前にキャプチャされたという点で、「最近の」ものである場合がある。閾値の期間は、1時間、30分、10分などの任意の妥当な期間であってよい。たとえば、画像またはビデオクリップは、画像またはビデオクリップをサーバ130に提供する地理的地図作成アプリケーション108を実行するユーザのクライアントデバイス102から取得されてよい。
図3は、地理的エリアの現在の状況を特定するためにセマンティックセグメンテーションを使用して、たとえば、
図1のシステムによって分析され得る、ある地理的エリアの画像またはビデオクリップである場合がある例示的な路上の画像300を示す。有益なことに、クライアントデバイス102によってキャプチャされた画像またはビデオクリップに基づいて状況データを特定することによって、状況データは、より正確になり、その時点の地理的エリアの実際の状況を表す。
【0051】
サーバ130は、路上の画像300内の物体を特定し、各物体の物体タイプを決定するために、物体認識および/またはセマンティックセグメンテーション技術を使用して路上の画像300を分析する。たとえば、サーバ130は、路上の画像300を分析して、第1の自動車302、第2の自動車304、街灯306、歩行者308、および雲310を特定する。それから、サーバ130は、路上の画像内の各物体302~310の位置を決定する。たとえば、サーバ130は、路上の画像を描写する仮想カメラの視錐台(view frustum)を特定し、視錐台内の地理的エリアを路上の画像内のピクセルにマッピングすることによって、実世界の画像内の各物体302~310の位置を決定してよい。そして、サーバ130は、路上の画像300内の物体の特定に基づいて、街頭のシーンの現在の状況を特定してよい。たとえば、サーバ130は、パノラマの路上の画像300内の第1の自動車および第2の自動車のみの特定に基づいて、交通の状況が低程度であると特定する場合があり、またはサーバ130は、雲310の特定と、街灯306が点いていないという特定とに基づいて、周囲の光の状況が中程度であると特定する場合がある。
【0052】
さらに、サーバ130は、街頭のシーンを見るための異なる方位に関して街頭のシーンの現在の状況を特定してよい。たとえば、ユーザが東に進行している場合、サーバ130は、東から街頭のシーンを見るための交通の状況および/または周囲の照明の状況を特定してよい。街頭のシーンの現在の状況を別々に特定するために、サーバ130は、複数の方位または地理的エリアからの複数の視点からの路上の画像を取得してよい。そして、サーバ130は、ユーザが向いている方位に対応する視点からの路上の画像を分析して、街頭のシーンの現在の状況を特定してよい。
【0053】
一部の実装形態において、地図表示アニメーション生成モジュール136は、機械学習技術を使用して画像またはビデオクリップ内の物体を特定してよい。より詳細には、地図表示アニメーション生成モジュール136は、画像またはビデオクリップに含まれる物体タイプでラベル付けされた画像またはビデオクリップを訓練データとして使用して、機械学習モデルを生成してよい。その他の実装形態において、地図表示アニメーション生成モジュール136は、様々な物体タイプ(たとえば、人、乗り物など)のテンプレート物体を使用して機械学習モデルを生成してよい。
【0054】
機械学習モデルは、乗り物の特徴の第1のセット、人の特徴の第2のセット、街灯の特徴の第3のセット、雲の特徴の第4のセットなどの、各物体タイプの特徴のセットを含んでよい。そして、地図表示アニメーション生成モジュール136は、UGCファイルまたはメディアファイル内の未知の物体の特徴をテンプレート物体の特徴と比較することによって、UGCファイルまたはメディアファイル内の特徴および物体を取得し、特定してよい。たとえば、セマンティックセグメンテーションが、自動車、街灯柱、歩行者、建物、天候、イベントなどを特定するために使用されてよい。機械学習技術は、線形回帰、多項式回帰、ロジスティック回帰、ランダムフォレスト、ブースティング、最近傍、ベイズネットワーク、ニューラルネットワーク、サポートベクタマシン、GANS、または任意のその他の好適な機械学習技術を含んでよい。
【0055】
一部の実施形態において、テンプレートの特徴は、最近傍アルゴリズムを使用して物体の特徴と比較されてよい。最近傍アルゴリズムは、物体のピクセル幅および高さ、物体のRGBピクセル値、物体内の色のグラデーションなどの、特徴ベクトルを生成するための特徴の数値表現を作成することによって、物体の特徴に最も近いテンプレートの特徴を特定してよい。物体の特徴の数値表現または特徴ベクトルは、物体の特徴と各テンプレート物体の特徴との間のベクトル距離を決定するために、テンプレート物体の特徴ベクトルと比較されてよい。そのとき、物体の特徴と、特定の物体タイプを表すテンプレート物体の特徴との間の類似の量または最近傍アルゴリズムにおけるベクトル距離に基づく物体の物体タイプが、決定されてよい。地図表示アニメーション生成モジュール136は、路上の画像内の複数の物体に関してこのプロセスを繰り返す場合がある。
【0056】
例示的な地図表示アニメーション
上述のように、地理的地図作成アプリケーション108が地理的エリアのアニメーションの要求を送信するとき、地図表示アニメーション生成モジュール136は、データベース200内の状況データなど、地理的エリア内の現在の状況を示す状況データを取得する。さらに、地図表示アニメーション生成モジュール136は、たとえば、地図作成データベース144から、衛星画像、路上の画像、ハイブリッドな衛星/路上の画像、または地理的エリアの2次元地図表現などの地理的エリアの地図データを取得する場合がある。
【0057】
それから、地図表示アニメーション生成モジュール136は、地理的エリアの生配信の写真またはビデオを提示することなく、現在の状況を表す仮想物体を生成してよい。たとえば、仮想物体は、仮想の乗り物、仮想の人、仮想の照明、仮想の雲、仮想の雨、仮想の雪、仮想の氷、仮想の建物、仮想の窓、仮想の動物、仮想の工事の音、仮想の群衆の騒音、仮想の動物の音などを含む場合がある。仮想物体の種類、数、振る舞い、外観などは、地理的エリアの現在の状況に基づいて選択されてよい。そして、地図表示アニメーション生成モジュール136は、仮想物体を衛星画像、路上の画像、ハイブリッドな衛星/路上の画像、または2次元地図データと組み合わせて、地理的エリアのアニメーションを生成してよい。アニメーションは、ビデオクリップであってよく、仮想物体は、ビデオクリップ中に位置またはその他の属性を変える。たとえば、乗り物が現在の交通の状況を反映する速度で道路を走行する、人の群衆が現在の群衆の状況を反映する速度で、および/または(たとえば、叫ぶこと、歓声を上げること、走ること、踊ることなどによって)興奮の現在のレベルを反映するようにして移動する、照明の状況が変化する、雲が形を成し、および/または消散する、雨または雪が降るなどする場合がある。アニメーションは、地理的エリア内の現在の音を表す音声も含んでよい。
【0058】
図4~
図8は、地図表示アニメーション生成モジュール136によって生成され、アニメーション提示モジュール137を介してクライアントデバイス102の地理的地図作成アプリケーション108によって提示されてよいアニメーション400~800の例示的な表示を示す。表示400~800は静止画として示されるが、これは、説明を容易にするためであるに過ぎない。地理的地図作成アプリケーション108は、移動する乗り物、移動する歩行者または群衆、雨、雪、変化する光の状況などの移動する物体を有するビデオクリップ(たとえば、10秒のビデオクリップ、30秒のビデオクリップ、または任意の好適な長さのビデオクリップ)を提示してよい。ビデオクリップは、音声コンポーネントも含む場合がある。
【0059】
一部の実装形態において、ユーザのクライアントデバイス102の地理的地図作成アプリケーション108は、地理的エリアの地図表示を提示する。地図表示は、2次元地図表現、衛星ビュー、路上ビュー、ハイブリッドな衛星/路上ビュー、または地理的エリアの任意のその他の好適なビューであってよい。さらに、地理的エリアは、ユーザによって選択される場合があり、またはユーザの現在地などのデフォルトの地理的エリアである場合がある。いずれにしても、地理的地図作成アプリケーション108は、ユーザから地理的エリアのアニメーションを提示する要求を受信する場合がある。
【0060】
たとえば、ユーザは、長押しジェスチャを実行する場合があり、またはユーザが地理的エリアのアニメーションを見たいことを示す任意のその他の好適なジェスチャ入力を実行する場合がある。その他の実装形態において、地図表示アニメーションシステムは、トリガ条件に応答してアニメーションを提供すると自動的に決定する場合がある。トリガ条件は、スポーツイベントまたはコンサートなどの特定のイベントが地理的エリア内で行われていることである場合がある。トリガ条件は、地理的エリアにおいて交通渋滞を引き起こしている乗り物の衝突事故などの、地理的エリア内の最新ニュースである場合もあり、または任意のその他の好適なトリガ条件である場合がある。いずれにしても、地理的地図作成アプリケーション108は、そのとき、ユーザの要求またはトリガ条件に応答して、地理的エリアのアニメーションを提示してよい。
【0061】
図4A~
図4Cは、衛星ビューからのアニメーション400、450、480の例示的な表示を示す。
図4Aに示される例示的な表示400は、地理的エリアの夜間の衛星ビューを描写する。建物および道路の衛星ビューは、いかなる乗り物、人、またはその他のエンティティもない地理的エリア内の建物および道路の日中の快晴の天候の状況における普通の衛星ビューを含む地図作成データベース144から取得されてよい。
【0062】
地図表示アニメーション生成モジュール136は、夜間であること、いくつかの街灯が点いていること、ほどほどの交通量があること、および天候の状況が快晴であることを示す現在の状況データを取得する。したがって、地図表示アニメーション生成モジュール136は、現在の状況データに従って、仮想の乗り物402、仮想の夜空404、仮想の点灯した街灯406などの仮想物体を生成する。たとえば、仮想の乗り物は、乗り物のストック画像であってよく、地理的エリアに現在ある実世界の乗り物ではない。そして、地図表示アニメーション生成モジュール136は、衛星ビューに仮想物体を重ねる。さらに、地図表示アニメーション生成モジュール136は、仮想の乗り物が時間の経過とともに移動するようなアニメーションを生成する。仮想の乗り物は、地理的エリアにおける現在の交通の状況を反映した速度で移動してよい。たとえば、道路の制限速度が35mphであり、交通量が多い場合、仮想の乗り物は、アニメーション400において10mphまたは15mphで走行する場合がある。交通量が少ない場合、仮想の乗り物は、アニメーション400において40mphで走行する場合がある。さらに、信号の状態が、アニメーションにおいて変化する場合があり、仮想の乗り物が、交通規制を遵守するようにして移動する場合がある。たとえば、仮想の乗り物は、赤信号もしくは一時停止の標識で停止する場合があり、および/または掲示制限速度(post speed limit)に従う場合がある。
【0063】
さらに、アニメーション400は、交通の音(たとえば、自動車のクラクション)、工事の音、動物の音などの音を含む場合がある。アニメーション400の音は、地理的エリア内の実際の音を含まず、その代わりに、あらかじめ記憶された交通の音、工事の音、動物の音などのライブラリから取得されてよい。
【0064】
図4Bは、
図4Aに示されたアニメーション400と同様のアニメーションの別の例示的な表示450を示す。しかし、アニメーション450において、現在の状況は、曇りであり、それに応じて、仮想の雲452が、衛星ビューに重ねられる。
【0065】
図4Cは、アニメーションのさらに別の例示的な衛星表示480を示す。表示480の地理的エリアは、スタジアム482および駐車場484、486を含む。表示400、450と同様に、表示480に含まれる乗り物および人は、仮想の乗り物および仮想の人488であり、地理的エリアに現在存在する実世界の乗り物または人ではない。地図表示アニメーション生成モジュール136は、群衆の規模および/または群衆データを示す現在の状況データを取得し、それから、駐車場484、486およびスタジアム482にそれぞれ含める仮想の乗り物および仮想の人488の数を決定する。地図表示アニメーション生成モジュール136は、仮想の人488が時間の経過とともに移動するようなアニメーションを生成する。たとえば、仮想の人488は、興奮の現在のレベルを反映するようにして、スタジアム482において手を振る、踊る、または歓声を上げる場合がある。仮想の人488は、人の写実的な画像、または漫画、棒人間などの人の非写実的な画像を含んでよい。
【0066】
図5は、路上ビューからのアニメーションの例示的な表示500を示す。建物および道路の路上ビューは、いかなる乗り物、人、またはその他のエンティティもない地理的エリア内の建物および道路の日中の快晴の天候の状況における普通の路上ビューを含む地図作成データベース144から取得されてよい。地図表示アニメーション生成モジュール136は、交通量が非常に少ないこと、雨が降っていること、および街灯からの周囲の照明のレベルが低いことを示す現在の状況データを取得する。したがって、地図表示アニメーション生成モジュール136は、数台の仮想の乗り物502、仮想の雨雲504を生成し、街灯506を点ける。そのとき、アニメーション500は、雨が降っているところを描写する。
【0067】
さらに、アニメーション500は、雨の音を含んでよい。アニメーション500内の音は、地理的エリア内の実際の音を含まず、その代わりに、あらかじめ記憶された雨の音のライブラリから取得されてよい。
【0068】
図6は、写実的な画像を使用するハイブリッドな衛星/路上ビューからのアニメーションの例示的な表示600を示す。ハイブリッドな衛星/路上ビューは、路上からでなく、地理的エリアの真上からでもない。その代わり、ハイブリッドな衛星/路上ビューは、約45度の角度で提示される。建物および道路のハイブリッドな衛星/路上ビューは、いかなる乗り物、人、またはその他のエンティティもない地理的エリア内の建物および道路の日中の快晴の天候の状況における普通の路上ビューを含む地図作成データベース144から取得されてよい。地図表示アニメーション生成モジュール136は、ほどほどの交通量があることを示す現在の状況データを取得する。したがって、地図表示アニメーション生成モジュール136は、仮想の乗り物602を生成し、アニメーション600は、仮想の乗り物602がほどほどの速度で移動するところを描写する。
【0069】
図7は、ハイブリッドな衛星/路上ビューからのアニメーションの別の例示的な表示700を示す。例示的な表示600が写実的な画像を含む一方、例示700は、非写実的な画像を含む。この実装形態において、地図表示アニメーション生成モジュール136は、地図作成データベース144から建物および道路のハイブリッドな衛星/路上ビューを取得しない場合がある。その代わりに、地図表示アニメーション生成モジュール136は、地図作成データベース144から地図データを取得する場合があり、それから、地図データに基づいて、建物、道路、およびその他の地理的特徴の非写実的な画像を生成する場合がある。
【0070】
さらに、地図表示アニメーション生成モジュール136は、仮想の乗り物702、704および仮想の人706などの仮想物体を非写実的に生成する場合がある。たとえば、仮想の乗り物702、704および仮想の人706は、漫画であってよい。
【0071】
さらに、現在の状況データは、地理的エリア内で乗り物の衝突事故があったことを示す場合がある。したがって、アニメーション700は、互いに衝突する、または互いに衝突した仮想の乗り物704を含む場合がある。これは、衝突事故が原因でエリアにおいて交通がある可能性が高いことをユーザに示す場合がある。
【0072】
図8は、地理的エリアの2次元地図表示の例示的なアニメーション800を示す。2次元地図表示は、地理的エリアの普通の地図表現を含む地図作成データベース144から取得されてよい。地図表示アニメーション生成モジュール136は、雪が降っていること、およびデニーウェイの交通量が多く、ウェストレイクアベニューの交通量がほどほどであることを示す現在の状況データを取得する。したがって、地図表示アニメーション生成モジュール136は、仮想の乗り物802および仮想の雲804などの仮想物体を生成する。そして、地図表示アニメーション生成モジュール136は、2次元地図表現に仮想物体を重ねる。そのとき、アニメーション800は、雪が降っているところを描写する。
【0073】
さらに、地図表示アニメーション生成モジュール136は、仮想の乗り物が時間の経過とともに移動するようなアニメーションを生成する。仮想の乗り物は、地理的エリアにおける現在の交通の状況を反映した速度で移動してよい。たとえば、道路の制限速度が35mphであり、交通量が多い場合、仮想の乗り物は、アニメーション800において10mphまたは15mphで走行する場合がある。交通量が少ない場合、仮想の乗り物は、アニメーション800において40mphで走行する場合がある。さらに、信号の状態が、アニメーションにおいて変化する場合があり、仮想の乗り物が、交通規制を遵守するようにして移動する場合がある。たとえば、仮想の乗り物は、赤信号もしくは一時停止の標識で停止する場合があり、および/または掲示制限速度に従う場合がある。
【0074】
図4~
図8に示された表示400~800は、説明を容易にすることのみのために、アニメーションに含まれてよい例示的な画像である。クライアントデバイス102は、地理的エリアの現在の状況を反映する地理的エリアの任意の好適なアニメーションを提示してよい。より詳細には、クライアントデバイス102は、写実的または非写実的な画像を使用して、衛星ビュー、路上ビュー、ハイブリッドな衛星/路上ビュー、または2次元地図表現のアニメーションを提示してよい。クライアントデバイス102は、地理的エリアの現在の状況を反映するために、衛星ビュー、路上ビュー、ハイブリッドな衛星/路上ビュー、または2次元地図表現に任意の好適な写実的または非写実的な仮想物体を重ねてもよい。
【0075】
地図表示アニメーションを生成するための例示的な方法
図9は、地理的エリア内の現在の状況に基づいて地理的エリアのアニメーションを提示するための例示的な方法900の流れ図を示す。方法は、クライアントデバイス102のコンピュータ可読メモリ上に記憶され、1つまたは複数のプロセッサにおいて実行可能な命令のセットに実装され得る。たとえば、方法900は、地理的地図作成アプリケーション108と、より詳細には、アニメーション提示モジュール137とによって実施され得る。
【0076】
ブロック902において、地理的エリアの地図表示が、クライアントデバイス102のユーザインターフェース上に提示される。地図表示は、地理的エリアの路上の画像、地理的エリアの地形画像、地理的エリアの衛星画像、2次元地図画像、地理的エリアの都市交通画像、地理的エリアの交通画像、または地理的エリアのその他の地図表示画像を含む場合がある。地図表示画像は、左折、右折、直進など、ルートに沿った対応する地理的エリアにおける操作を含んでよいナビゲーション指示とともに提示される場合がある。ユーザが操作を実行するための地理的エリアを特定するのを支援するために、ナビゲーション指示のセットは、操作を実行するための地理的エリアに近接する道路標識、建物看板などの視覚的補助を参照する場合がある。
【0077】
ブロック904において、地理的エリアのアニメーションの要求が、受信される。要求は、長押し、ピンチまたはプル(pull)ジェスチャなどのズームジェスチャ、クリック入力、ダブルタップジェスチャ、タイプ入力、選択、または地理的エリアをアニメーション化する要求を示す任意のその他の入力であってよい。一部の実装形態において、ユーザは、地図表示上の特定の場所においてジェスチャを実行する場合があり、ジェスチャの場所が、要求に関する地理的エリアを示す。たとえば、地図表示がニューヨーク市の2次元地図表示であり、ユーザがマンハッタンの上で長押しジェスチャを実行する場合、要求は、マンハッタンのアニメーションを求めるものである場合がある。ユーザは、地図表示内に特定の地理的エリアを表示するためにズームもしくはパンのジェスチャを実行するか、または特定の地理的エリアの要求を入力する場合もある。特定の地理的エリアが地図表示内に表示された後、ユーザは、特定の地理的エリアのアニメーションを要求するために、長押しなどのジェスチャに基づく入力を実行する場合がある。
【0078】
ブロック906において、要求の受信に応答して、アニメーション提示モジュール137は、地理的エリアのアニメーションを提示すると決定してよい。たとえば、アニメーション提示モジュール137は、地理的エリアのオーディオビジュアルデータまたはアニメーションの要求をサーバ130に送信してよく、要求に応答してサーバ130からアニメーションを受信してよい。その他の実装形態において、サーバ130は、ベクトルグラフィックスデータなどの、アニメーションを生成するためのオーディオビジュアルまたはアニメーションデータを提供する場合があり、アニメーション提示モジュール137が、アニメーションデータに基づいてアニメーションを生成する場合がある。さらにその他の実装形態において、サーバ130は、アニメーションを生成するための状況データおよび/または地理データを提供する場合があり、アニメーション提示モジュール137が、状況データおよび/または地理データに基づいてアニメーションを生成する場合がある。たとえば、地理データは、地理的エリア内の道路、建物、公園、スタジアム、空港、水域、山脈、および/またはその他の地図の特徴に関する地理データを含む場合がある。
【0079】
さらにその他の実装形態において、アニメーション提示モジュール137は、要求なしでトリガ条件に応答してアニメーションを提供すると自動的に決定する場合がある。トリガ条件は、スポーツイベントまたはコンサートなどの特定のイベントが地理的エリア内で行われていることである場合がある。トリガ条件は、地理的エリアにおいて交通渋滞を引き起こしている乗り物の衝突事故などの、地理的エリア内の最新ニュースである場合もあり、または任意のその他の好適なトリガ条件である場合がある。たとえば、サーバ130は、トリガイベントを特定し、クライアントデバイス102からの要求を受信することなく、アニメーションまたはアニメーションデータをアニメーション提示モジュール137に自動的に提供する場合がある。そして、アニメーション提示モジュール137は、ユーザからの要求を受信することなく、アニメーションを提示すると自動的に決定する場合がある。
【0080】
ブロック908において、アニメーション提示モジュール137は、たとえば、サーバ130からのアニメーションまたはアニメーションデータを使用して、地図表示内の地理的エリアをアニメーション化する。アニメーションは、地理的エリアの背景画像と組み合わされた、地理的エリアの現在の状況を表す仮想物体を含む場合がある。アニメーションは、音声を含む場合、または含まない場合があるビデオである場合がある。仮想物体は、地理的エリアの生配信の写真またはビデオを提示することなく、地理的エリアの現在の状況を表す場合がある。仮想物体は、実世界の物体のように見える写実的および/または非写実的な表現であってよい。背景画像は、地理的エリアの衛星画像、路上の画像、または地図表現を含む場合がある。一部の実装形態において、衛星画像、路上の画像、または地図表現は、人、乗り物、またはその他のエンティティを含まずに、道路、建物、公園、スタジアム、空港、水域、山脈などの地図の特徴を含む場合がある。アニメーションは、地理的エリアの現在の状況と同じ時季の間の、同じ天候および/または照明の状況の下の、同じ時間帯から提示されてよい。
【0081】
図10は、表示のためにクライアントデバイスにアニメーションを提示する例示的な方法1000の流れ図を示す。方法は、サーバ130のコンピュータ可読メモリ上に記憶され、1つまたは複数のプロセッサにおいて実行可能な命令のセットに実装され得る。たとえば、方法は、地図表示アニメーション生成モジュール136によって実施され得る。
【0082】
ブロック1002において、地理的エリアの状況を示す状況データが、取得される。状況は、地理的エリアにおける現在の交通の状況を示す交通データ、地理的エリアにおける群衆の状況を示す群衆状況データ、地理的エリアにおける現在の天候の状況を示す天候データ、地理的エリアにおける周囲の光を示す照明データ、地理的エリア内の樹木および/またはその他の葉の状態を示す季節データ、風、雨、交通の音、工事の音、群衆の騒音、動物の音などの、地理的エリア内の環境音を示す環境音データを含む場合がある地理的エリアの現在の状況であってよい。既に検討されたように、地理的エリアの状況データは、クライアントデバイス102によってキャプチャされた地理的エリアの画像またはビデオクリップを分析することによって特定されてよい。状況は、状況データが取得される時点の地理的エリアのそのときの状況、ナビゲーションのルートに基づく地理的エリアへのユーザの到着の予測された時間の状況、ユーザによって要求された所望の時間の状況、またはユーザによって要求された所望の1つもしくは複数の状況であってよい。状況が、ナビゲーションのルートに基づく地理的エリアへのユーザの到着の予測された時間の状況である場合、ブロック1002は、まず、ナビゲーションのルートに基づく地理的エリアへのユーザの予測された到着時間を決定することと、それから、予測された到着時間の地理的エリアの状況を示す状況データを取得することとを含んでよい。したがって、有益なことに、このシナリオでは、提供されるアニメーションが、将来の到着場所の状況をユーザに知らせることができる。
【0083】
ブロック1004において、地理的エリアの地図の特徴を示す地図データが、取得される。地理的エリアの地図の特徴は、人、乗り物、またはその他のエンティティを含まずに、道路、建物、公園、スタジアム、空港、水域、山脈などを含む場合がある。地図データは、衛星画像、路上の画像、または2次元地図表現などの、アニメーションのための背景画像を含んでよい。
【0084】
ブロック1006において、地理的エリアの現在の状況を表す仮想物体が、生成される。仮想物体は、仮想の乗り物、仮想の人、仮想の照明、仮想の雲、仮想の雨、仮想の雪、仮想の氷、仮想の建物、仮想の窓、仮想の動物、仮想の工事の音、仮想の群衆の騒音、仮想の動物の音などを含む場合がある。仮想物体は、地理的エリアの現在の状況に基づいてよい。たとえば、仮想物体の種類、数、振る舞い、外観などが、地理的エリアの現在の状況に基づいてよい。仮想物体は、実世界の物体のように見える写実的な表現であってよい。追加的または代替的に、仮想物体は、人間のアーティストによって生み出される表現に視覚的に匹敵する抽象化および芸術的様式化を含む物体の非写実的な表現を含んでよい。
【0085】
ブロック1008において、地理的エリアのアニメーションが、生成される。アニメーションは、地理的エリアの現在の状況、地理的エリアの地図の特徴、および地理的エリアの仮想物体に基づくか、またはそれらを含んでよい。地図表示アニメーション生成モジュール136は、仮想物体を背景画像に適用して、地理的エリアの現在の状況を描写する地理的エリアのアニメーションを生成してよい。
【0086】
ブロック1010において、地理的エリアのアニメーションは、表示のためにクライアントデバイス102に提供される。クライアントデバイスは、地理的地図作成アプリケーション108を介してアニメーションを表示してよい。地理的地図作成アプリケーション108とインタラクションすることによって、ユーザは、地図表示内でアクセスされた地理的エリアのアニメーション中をナビゲートすることができる。
【0087】
このように、本技術は、地理的エリアの現在の状況を描写するアニメーションの生成によって、ユーザと地理的地図作成アプリケーションとの間の改善されたインターフェースを提供する。実施形態に例示されたように、所与のユーザの地理的エリア、ルート、計画された操作、速度、好み、照明、天候の状況などが、クライアントのディスプレイに提示されるアニメーションを決定する際にすべて考慮に入れられてよいので、これらのアニメーションは、所与のユーザの状況に合わせて仕立てられる場合がある。これらのアニメーションは、任意のナビゲーションのルート、ユーザの任意の所与の地理的エリア、またはユーザの関心がある任意の地理的エリアに関して自動的に生成されてよい。これらのアニメーションは、地理的エリア内の人、乗り物、および/またはその他のエンティティのプライバシーを損なうことなく、地理的エリアの現在の様子および/または感じを評価するユーザの能力を高める。これらのアニメーションは、ナビゲーションのためのネットワークトラフィックを削減することによってユーザのためのナビゲーションの効率を向上させることを通じて、乗り物のナビゲーションの技術分野を改善することができる。たとえば、ユーザは、地理的エリアのアニメーションを見て、第1の地理的エリアの現在の様子および/または感じを判定し、アニメーションに基づいて、第1の地理的エリアのナビゲーションのルートを要求する前に、第1の地理的エリアを訪れず、その代わりに、第2の地理的エリアのみを訪れると決断し、それによって、ユーザによって要求されるナビゲーションのルートの数を減らす場合がある。さらに、地理的エリアの様子および/または感じを評価する高められた能力は、すべてのユーザにとってより簡単でより安全なナビゲーションを提供するのに役立つ。
【0088】
追加的な考察
以下の追加的な考察が、上の検討に当てはまる。本明細書全体を通じて、単一のインスタンスとして説明されたコンポーネント、動作、または構造を複数のインスタンスが実装する場合がある。1つまたは複数の方法の個々の動作が別々の動作として示され、説明されているが、個々の動作のうちの1つまたは複数が同時に実行される場合があり、動作が示された順序で実行される必要はない。例示的な構成において別々のコンポーネントとして提示された構造および機能が、組み合わされた構造またはコンポーネントとして実装される場合がある。同様に、単一のコンポーネントとして提示された構造および機能が、別々のコンポーネントとして実装される場合がある。これらのおよびその他の変更、修正、追加、および改良は、本開示の主題の範囲内に入る。
【0089】
加えて、特定の実施形態が、論理またはいくつかのコンポーネント、モジュール、もしくはメカニズムを含むものとして本明細書において説明されている。モジュールは、ソフトウェアモジュール(たとえば、機械可読媒体に記憶されるコード)か、またはハードウェアモジュールのどちらかを構成する場合がある。ハードウェアモジュールは、特定の動作を実行することができる有形のユニットであり、特定の方法で構成または配列されてよい。例示的な実施形態において、1つもしくは複数のコンピュータシステム(たとえば、スタンドアロンのクライアントもしくはサーバコンピュータシステム)またはコンピュータシステムの1つもしくは複数のハードウェアモジュール(たとえば、プロセッサもしくはプロセッサのグループ)は、本明細書において説明されたように特定の動作を実行するように動作するハードウェアモジュールとしてソフトウェア(たとえば、アプリケーションまたはアプリケーションの一部)によって構成されてよい。
【0090】
様々な実施形態において、ハードウェアモジュールは、機械的または電子的に実装される場合がある。たとえば、ハードウェアモジュールは、特定の動作を実行するように(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして)恒久的に構成される専用の回路または論理を含んでよい。また、ハードウェアモジュールは、特定の動作を実行するようにソフトウェアによって一時的に構成されるプログラミング可能な論理または回路を(たとえば、汎用プロセッサまたはその他のプログラミング可能なプロセッサ内に包含されるものとして)含んでもよい。機械的に、専用の恒久的に構成された回路内に、または(たとえば、ソフトウェアによって構成された)一時的に構成された回路内にハードウェアモジュールを実装する判断がコストおよび時間の考慮によって促される可能性があることは、理解されるであろう。
【0091】
したがって、ハードウェアという用語は、特定の方法で動作するか、または本明細書において説明された特定の動作を実行するように、物理的に構築されるか、恒久的に構成される(たとえば、結線される)か、または一時的に構成される(たとえば、プログラミングされる)エンティティである有形のエンティティを包含すると理解されるべきである。本明細書において使用されるとき、「ハードウェアによって実装されたモジュール」は、ハードウェアモジュールを指す。ハードウェアモジュールが一時的に構成される(たとえば、プログラミングされる)実施形態を考慮すると、ハードウェアモジュールの各々が常に構成またはインスタンス化される必要はない。たとえば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成されてよい。したがって、ソフトウェアは、たとえば、1つの時点において特定のハードウェアモジュールを構成し、異なる時点において異なるハードウェアモジュールを構成するようにプロセッサを構成する場合がある。
【0092】
ハードウェアモジュールは、その他のハードウェアモジュールに情報を提供し、その他のハードウェアモジュールから情報を受信することができる。したがって、説明されたハードウェアモジュールは、通信可能に結合されると考えられてよい。複数のそのようなハードウェアモジュールが同時に存在する場合、通信は、ハードウェアモジュールを接続する(たとえば、適切な回路およびバスを介した)信号の送信を通じて実現されてよい。複数のハードウェアモジュールが異なる時間に構成またはインスタンス化される実施形態において、そのようなハードウェアモジュールの間の通信は、たとえば、複数のハードウェアモジュールがアクセスすることができるメモリ構造内の情報の記憶および取り出しを通じて実現されてよい。たとえば、1つのハードウェアモジュールが、動作を実行し、その動作の出力を、そのハードウェアモジュールが通信可能に結合されるメモリデバイスに記憶する場合がある。そのとき、さらなるハードウェアモジュールが、後でメモリデバイスにアクセスして、記憶された出力を取り出し、処理する場合がある。ハードウェアモジュールは、入力デバイスまたは出力デバイスとの通信を開始する場合もあり、リソース(たとえば、情報の集合)で動作し得る。
【0093】
方法900、1000は、非一時的コンピュータ可読ストレージ媒体に記憶され、コンピューティングデバイス(たとえば、本明細書において説明されたサーバデバイス、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、スマートウォッチ、モバイルコンピューティングデバイス、またはその他のクライアントコンピューティングデバイス)のプロセッサを使用して実行される有形のコンピュータ実行可能な命令の形態の1つまたは複数の関数ブロック、モジュール、個々の関数、またはルーチンを含んでよい。方法900、1000は、たとえば、任意のバックエンドサーバ(たとえば、本明細書において説明された地図データサーバ、ナビゲーションサーバ、もしくは任意のその他の種類のサーバコンピューティングデバイス)の一部、例示的な環境のクライアントコンピューティングデバイスのモジュールとして、またはそのような環境の外部にあるモジュールの一部として含まれる場合がある。図は、説明を容易にするためにその他の図を参照して説明される場合があるが、方法900、1000は、その他の物体およびユーザインターフェースとともに利用され得る。さらに、上記の説明は、方法900、1000のステップが(サーバデバイス130またはクライアントデバイス102などの)特定のデバイスによって実行されることを述べるが、これは、説明のみを目的として行われる。方法900、1000のブロックは、1つもしくは複数のデバイス、または環境のその他の部分によって実行される場合がある。
【0094】
本明細書において説明された例示的な方法の様々な動作は、少なくとも部分的に、関連する動作を実行するように(たとえば、ソフトウェアによって)一時的に構成されるか、または恒久的に構成される1つまたは複数のプロセッサによって実行されてよい。一時的に構成されるか、または恒久的に構成されるかにかかわらず、そのようなプロセッサは、1つまたは複数の動作または機能を実行するように動作するプロセッサによって実装されるモジュールを構成する場合がある。本明細書において言及されるモジュールは、一部の例示的な実施形態において、プロセッサによって実装されるモジュールを含む場合がある。
【0095】
同様に、本明細書において説明された方法またはルーチンは、少なくとも部分的にプロセッサによって実装されてよい。たとえば、方法の動作の少なくとも一部は、1つまたは複数のプロセッサまたはプロセッサによって実装されるハードウェアモジュールによって実行されてよい。動作の一部の実行は、単一のマシン内に存在するのみでなく、いくつかのマシンにわたって配置される1つまたは複数のプロセッサの間に分散される場合がある。一部の例示的な実施形態においては、1つまたは複数のプロセッサが単一の地理的エリア(たとえば、家庭の環境内に、事務所の環境内に、またはサーバファームとして)置かれる場合があり、一方、その他の実施形態においては、プロセッサがいくつかの地理的エリアにわたって分散される場合がある。
【0096】
1つまたは複数のプロセッサは、「クラウドコンピューティング」環境におけるまたはSaaSとしての関連する動作の実行をサポートするように動作する場合もある。たとえば、上で示されたように、動作の少なくとも一部は、(プロセッサを含むマシンの例として)コンピュータのグループによって実行される場合があり、これらの動作は、ネットワーク(たとえば、インターネット)を介して、および1つまたは複数の適切なインターフェース(たとえば、API)を介してアクセスされ得る。
【0097】
さらに、図は、例示のみを目的として、例示的な環境のいくつかの実施形態を描写する。当業者は、以下の検討から、本明細書において説明された原理から逸脱することなく、本明細書において示された構造および方法の代替的な実施形態が採用されてよいことを容易に認識するであろう。
【0098】
本開示を読むと、当業者は、本明細書の開示された原理によって地図表示アニメーションを提示するためのさらなる追加の代替的な構造的および機能的設計を理解するであろう。したがって、特定の実施形態および応用が示され、説明されたが、開示された実施形態は本明細書において開示された厳密な構造およびコンポーネントに限定されないことを理解されたい。当業者に明らかであろう様々な修正形態、変更形態、および変形形態が、添付の特許請求の範囲において定義される精神および範囲を逸脱することなく、本明細書において開示された方法および装置の配置、動作、および詳細になされてよい。
【符号の説明】
【0099】
100 地図表示アニメーションシステム
102 クライアントコンピューティングデバイス、クライアントデバイス
104 プロセッサ(CPU)
106 メモリ
108 地理的地図作成アプリケーション
110 オペレーティングシステム(OS)
112 全地球測位システム(GPS)モジュール
114 ネットワークインターフェース
116 ユーザインターフェース
118 入力/出力(I/O)インターフェース
120 カメラ
122 マイクロフォン
130 地図表示アニメーションサーバ、サーバ
132 プロセッサ
134 メモリ
136 地図表示アニメーション生成モジュール
137 アニメーション提示モジュール
140 ユーザ生成コンテンツ(UGC)データベース、メディアデータベース
142 メディアデータベース
144 地図作成データベース
146 地図表示アニメーションデータベース
150 天候サーバ
152 交通サーバ
154 群衆サーバ
156 イベントサーバ
160 ネットワーク
200 データテーブル
210 第1のエントリ
220 第2のエントリ
230 第3のエントリ
300 路上の画像
302 第1の自動車
304 第2の自動車
306 街灯
308 歩行者
310 雲
400 アニメーション、表示
402 仮想の乗り物
404 仮想の夜空
406 仮想の点灯した街灯
450 アニメーション、表示
480 アニメーション、表示
482 スタジアム
484 駐車場
486 駐車場
488 仮想の人
500 アニメーション、表示
502 仮想の乗り物
504 仮想の雨雲
506 街灯
600 アニメーション、表示
602 仮想の乗り物
700 アニメーション、表示
702 仮想の乗り物
704 仮想の乗り物
706 仮想の人
800 アニメーション、表示
802 仮想の乗り物
804 仮想の雲
900 方法
1000 方法
【国際調査報告】