JP5748900B2 - Provision of real-time segment performance information - Google Patents
Provision of real-time segment performance information Download PDFInfo
- Publication number
- JP5748900B2 JP5748900B2 JP2014502830A JP2014502830A JP5748900B2 JP 5748900 B2 JP5748900 B2 JP 5748900B2 JP 2014502830 A JP2014502830 A JP 2014502830A JP 2014502830 A JP2014502830 A JP 2014502830A JP 5748900 B2 JP5748900 B2 JP 5748900B2
- Authority
- JP
- Japan
- Prior art keywords
- segment
- user
- data
- effort
- current activity
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/14—Receivers specially adapted for specific applications
- G01S19/19—Sporting applications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
Description
他の出願の相互参照
本願は、すべての目的のために参照により本明細書に組み込まれる、発明の名称を「MOBILE GLOBAL POSITIONING SYSTEM (GPS) DEVICE FOR PROVIDING REAL−TIME FEEDBACK」とする、2011年3月31日出願の米国特許仮出願第61/470,238号に基づく優先権を主張する。
CROSS-REFERENCE Other applications are incorporated herein by reference for all purposes, the entitled as "MOBILE GLOBAL POSITIONING SYSTEM (GPS) DEVICE FOR PROVIDING REAL-TIME FEEDBACK ", March 2011 Claims priority based on US Provisional Patent Application No. 61 / 470,238, filed 31 January.
従来から、GPSデバイスは、アスリートの身体活動(例えば、ランニング、サイクリング)中にアスリートのGPS位置およびその他のデータポイント(例えば、高度、心拍数)を記録および格納することが可能であり、また、GPSデバイスは、かかる身体活動の実行中にリモートサーバへ増分的にこれらのデータポイントをアップロードでき得る。 Traditionally, GPS devices have been able to record and store the athlete's GPS position and other data points (eg altitude, heart rate) during the athlete's physical activity (eg running, cycling), and The GPS device may be able to upload these data points incrementally to a remote server while performing such physical activity.
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。 Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および/または、プロセッサ(プロセッサに接続されたメモリに格納および/またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ)を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、1または複数のデバイス、回路、および/または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。 The present invention is a process, apparatus, system, composition of matter, computer program product embodied on a computer readable storage medium, and / or processor (stored in and / or stored in a memory connected to a processor). A processor configured to execute the provided instructions) and can be implemented in various forms. In this specification, these implementations or any other form that the invention may take may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or memory that is described as being configured to perform a task is a general component that is temporarily configured to perform a task at a certain time, or It may be implemented as a particular component that is manufactured to perform a task. As used herein, the term “processor” is intended to refer to a processing core configured to process one or more devices, circuits, and / or data such as computer program instructions.
以下では、本発明の原理を示す図面を参照しつつ、本発明の1または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。 The following provides a detailed description of one or more embodiments of the invention with reference to the drawings illustrating the principles of the invention. Although the invention has been described in connection with such embodiments, it is not limited to any embodiment. The scope of the invention is limited only by the claims and includes many alternatives, modifications, and equivalents. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. These details are for the purpose of illustration, and the present invention may be practiced according to the claims without some or all of these specific details. For the purpose of simplicity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
セグメントを定義して、セグメントにエフォートをマッチングさせることについて、本明細書で開示する。本明細書で用いられているように、セグメントとは、関心のある地理的経路のことであり、基準(例えば、経路に沿った運動パフォーマンスの比較および/またはその他の用途のための基準)として利用できる。例えば、セグメントは、サイクリストに人気のヒルクライムコースを特定するために利用されうる。本明細書で用いられているように、エフォートとは、タイムスタンプを伴う記録された一連のGPS情報のことである(例えば、運動パフォーマンスを表しうる)。いくつかの実施形態において、エフォートは、関連データ(例えば、エフォートが関連する活動の測定値)と共に格納される。いくつかの実施形態では、格納されたエフォートから1または複数のセグメントが導出される。いくつかの実施形態において、ユーザは、セグメントを定義できる。いくつかの実施形態では、エフォートの視覚的表現がユーザインターフェースに提示され、ユーザは視覚的表現を用いてセグメントを定義する。いくつかの実施形態では、地図がユーザインターフェースに提示され、ユーザは地図上に経路を示すことによってセグメントを定義する。様々な実施形態において、一連のGPS情報が、セグメントとして格納される前に、1セットの地理的抽象に変換される。いくつかの実施形態において、セグメントは、そのセグメントに一致すると判定されたエフォートの関連データと共に格納される。 Disclosed herein is defining a segment and matching the effort to the segment. As used herein, a segment is a geographic path of interest as a reference (eg, a comparison of exercise performance along the path and / or other uses). Available. For example, the segments can be used to identify hill climb courses that are popular with cyclists. As used herein, an effort is a series of recorded GPS information with a time stamp (eg, may represent athletic performance). In some embodiments, the effort is stored with associated data (eg, a measure of activity with which the effort is associated). In some embodiments, one or more segments are derived from the stored effort. In some embodiments, the user can define segments. In some embodiments, a visual representation of the effort is presented on the user interface, and the user defines the segment using the visual representation. In some embodiments, a map is presented on the user interface and the user defines the segment by showing a route on the map. In various embodiments, a series of GPS information is converted into a set of geographic abstractions before being stored as segments. In some embodiments, the segment is stored with the associated data of the effort determined to match the segment.
様々な実施形態において、エフォートは、格納されたセグメントとマッチングされる。様々な実施形態において、2つのレベルのマッチングが、エフォートおよび格納済みのセグメントを用いて実行されうる。第1のレベルのマッチングでは、格納されたセグメントの1つに対するエフォートの一致率が第1の閾値を超える場合に、第1の決定がなされる(例えば、エフォートは、セグメントに対する緩やかな一致である)。第2のレベルのマッチングでは、格納されたセグメントの1つに対するエフォートの一致率が(第1の閾値よりも大きい)第2の閾値を超え、さらに、エフォートがセグメントのスタートラインおよびゴールラインを横切る(セグメントのスタートラインおよびゴールラインと交差する)場合(または、セグメントがループを形成し、二度目にループセグメントのエントリポイントを超えたと判定された場合)、第2の決定がなされる(例えば、エフォートは、セグメントに対する厳密な一致である)。いくつかの実施形態では、エフォートが、1または複数の格納されたセグメントに対する緩やかな一致であり、そのエフォートが、さらに、1または複数の格納されたセグメントに対する厳密な一致であると判定されうる。いくつかの実施形態において、エフォートがセグメントに(例えば、緩やかな一致または厳密な一致のいずれかとして)一致する場合、エフォートの関連データが、一致したセグメントと共に格納された関連データと比較される。いくつかの実施形態において、エフォートがセグメントに一致する場合、エフォートの関連データは、セグメントに一致する他のエフォートの関連データとも比較される。 In various embodiments, the effort is matched with the stored segment. In various embodiments, two levels of matching can be performed using effort and stored segments. In a first level of matching, a first decision is made when the effort match rate for one of the stored segments exceeds a first threshold (eg, an effort is a loose match for a segment). ). In the second level of matching, the effort match rate for one of the stored segments exceeds a second threshold (greater than the first threshold), and the effort crosses the segment start and goal lines. A second decision is made (e.g., if the segment crosses the start line and goal line of the segment) (or if it is determined that the segment forms a loop and the loop segment entry point is exceeded a second time) (e.g., Effort is an exact match for a segment). In some embodiments, the effort can be determined to be a loose match for one or more stored segments, and the effort can be further determined to be an exact match for one or more stored segments. In some embodiments, if the effort matches a segment (eg, as either a loose match or an exact match), the effort related data is compared to the related data stored with the matched segment. In some embodiments, if the effort matches a segment, the effort related data is also compared with other effort related data matching the segment.
図1は、いくつかの実施形態に従ってセグメントを定義してマッチングさせるためのシステムである。システム100は、デバイス102、ネットワーク104、および、セグメントマッチングサーバ106を備える。ネットワーク104は、様々な高速データネットワークおよび/または遠隔通信ネットワークを含む。デバイス102は、ネットワーク104を通してセグメントマッチングサーバ106と通信する。いくつかの実施形態において、システム100は、図1の例に示したのと異なる数の構成要素を備えてもよい。
FIG. 1 is a system for defining and matching segments according to some embodiments. The
デバイス102は、GPS情報および/または身体活動に関連するその他のデータを記録できるデバイスである。デバイス102は、さらに、GPS情報および/または身体活動に関連するその他のデータがアップロードまたは転送されうるデバイスであってよい。デバイス102の例としては、GPSデバイス(例えば、Garmin Forerunner 110、205、301、305、310XT、405、405CX、および、Garmin Edge 305、605、705、500など、Garmin ForerunnerおよびEdgeデバイス)、GPS記録アプリケーション(例えば、MotionX、Endomondo、および、RunKeeper)を備えたスマートフォン(例えば、AndroidデバイスまたはApple iPhoneデバイス)などの携帯電話、コンピュータ、タブレットデバイス、および/または、その他の汎用コンピュータデバイスおよび/または専用コンピュータデバイスが挙げられるが、これらに限定されず、それらは、一般的に、汎用プロセッサと、メモリまたはその他のストレージ要素と、ネットワークまたは出入力(I/O)機能と、統合GPS機能またはサポートもしくはGPSデバイスまたはGPS機能のためのインターフェースと、を備える。
様々な実施形態において、デバイス102(または、そのアプリケーション)は、活動中に、GPS情報と、身体活動に関連するデータとを記録するよう構成されている。いくつかの実施形態において、デバイス102は、活動の終了後に、記録されたGPS情報および活動中の身体活動に関連するデータを受信するよう構成されている(例えば、かかる情報が、デバイス102にアップロードされる)。いくつかの実施形態において、記録されたGPS情報および関連データは、「エフォート」と呼ばれる。言い換えると、エフォートは、身体活動の事象であり、地理情報、および、運動パフォーマンスに関連するその他の測定値によって表現されうる。身体活動の例としては、サイクリング、ランニング、および、スキーが挙げられる。いくつかの実施形態において、GPS情報は、一連の連続的かつ離散的なGPSデータポイント(例えば、緯度および経度)を含み、各ポイントに対してタイムスタンプを備える。いくつかの実施形態において、関連データは、標高、心拍数、仕事率/ワット数(例えば、消費されたエネルギ)、タイム、速度(例えば、セグメントおよび/またはルートごとの平均および/または最大速度、例えば、平均速度はタイムおよびGPS情報から導出されうる)を含むが、これらに限定されない。関連データは、様々な粒度で記録されうる。例えば、関連データは、各GPSデータポイント、活動全体(例えば、関連データが測定値の平均を含む)、または、活動の一部に対応しうる。一例として、サイクリングの時にデバイス102を利用できる。サイクリングの終わりに、ユーザは、ユーザが辿った地理的経路、ユーザがサイクリングでどれだけのエネルギを消費したか、どのくらい早くゴールしたか、平均速度、標高に基づいた測定値、および/または、その他の測定値を見るために、(例えば、デバイス102のユーザインターフェースを通して)記録されたGPS情報と共に自身のパフォーマンスを振り返ることができる。いくつかの実施形態において、デバイス102は、記録されたGPS情報および関連データ(例えば、エフォート)を格納する、および/または、エフォート情報をサーバ106に送信するよう構成される。いくつかの実施形態において、デバイス102は、対話型ユーザインターフェースを提示するよう構成される。ユーザインターフェースは、GPS情報を表示し、それらの表示に関する(例えば、ユーザによってなされた)選択を受信しうる。いくつかの実施形態において、デバイス102は、受信した選択をセグメントマッチングサーバ106に送信する。
In various embodiments, the device 102 (or its application) is configured to record GPS information and data related to physical activity during activity. In some embodiments, the
様々な実施形態において、セグメントマッチングサーバ106は、デバイス102のユーザインターフェースをサポートおよび提示するよう構成される。いくつかの実施形態において、セグメントマッチングサーバ106は、記録されたエフォートを用いてユーザインターフェースにおいてユーザが定義したセグメントを受信するよう構成される。セグメントとは、関心のある地理的経路のことを意味しており、地理的経路に沿った運動パフォーマンスの比較のための基準として利用できる。セグメントマッチングサーバ106は、一連のGPS情報および関連データ(例えば、エフォート)を受信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ106は、地図ソフトウェアアプリケーションを用いてユーザインターフェースにGPS情報の視覚的表現を表示するよう構成されている。視覚的表現は、例えば、地図上にマークされた一連のフラッグまたは連続的な線であってよい。いくつかの実施形態において、セグメントマッチングサーバ106は、地図ソフトウェア/アプリケーション(例えば、Google Maps、MapQuest、Bing maps、および/または、別のマッピングアプリケーション/サービス)のアプリケーション・プログラミング・インターフェース(API)と相互作用するよう構成されたロジックを備えることによって、ユーザインターフェースで地図をサポートできる。いくつかの実施形態において、ユーザは、GPS情報の視覚的表現を用いてセグメントを定義できる。いくつかの実施形態において、GPS情報の視覚的表現に沿って、スタートポイントおよびゴールポイント(例えば、終点)が、セグメントを定義するために地図上で選択される。例えば、ユーザは、身体活動中に辿った地理的経路に沿ってスタートポイントおよび/またはゴールポイントを(例えば、マーカをドロップするか、または、クリックすることによって)選択できる。このように、選択されたスタートポイントおよびゴールポイントの間にある地理的経路の一部が、セグメントとして定義される。いくつかの実施形態において、スタートポイントおよびゴールポイントは、定義されたセグメントと共に格納される。いくつかの実施形態において、スタートポイントおよびゴールポイントの間にある地理的経路の一部は、抽象形態に変換された後に、セグメントを格納するためのデータベースに格納される。いくつかの実施形態において、定義されたセグメントに対応する関連データも、セグメントと共にデータベースに格納される。
In various embodiments, the
いくつかの実施形態において、セグメントマッチングサーバ106は、地図上の選択肢を用いてユーザインターフェースにおいてユーザが定義したセグメントを受信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ106は、地図(例えば、Google Maps、MapQuest)を提示し、セグメントのコースを示すための地図上の一連のポイント選択を受信する。地図上の一連のポイント選択は、記録されたエフォートに基づく必要はなく、単に、関心のある任意の地理的経路であってよい。例えば、選択されるセグメントは、サイクリストが以前に走ったが記録はしていない経路であってもよいし、選択されるセグメントは、サイクリストが将来走りたいと思う経路であってもよい。地図上の一連のポイント選択は、一連のGPS情報(例えば、座標)に変換できる。いくつかの実施形態において、一連のGPS情報は、抽象形態に変換された後に、セグメントとして格納される。
In some embodiments, the
いくつかの実施形態では、ユーザインターフェースにおいてセグメントが定義された後、格納されたエフォート(例えば、過去の身体活動からのGPS情報のセット)が、定義されたセグメントと比較される。いくつかの実施形態において、この定義されたセグメントとエフォートが比較された時に、部分的には、スタートポイントおよびゴールポイントを通過したことをエフォートのGPS情報が示すか否かをチェックすることによって、エフォートがセグメントと一致するか否かが判定される。1または複数のエフォートがセグメントに一致すると判定されると、エフォートに関連付けられたデータが、リトリーブされて分析される。いくつかの実施形態において、新たに定義されたセグメントに関連付けられたデータも、分析に含められる。例えば、データを比較することにより、セグメントに一致するどのエフォートがセグメント完了の最速タイムを有するのかを決定することができる。 In some embodiments, after a segment is defined in the user interface, a stored effort (eg, a set of GPS information from past physical activity) is compared to the defined segment. In some embodiments, when the effort is compared to this defined segment, in part, by checking whether the effort's GPS information indicates that it has passed the start and goal points, It is determined whether the effort matches the segment. If it is determined that one or more efforts match the segment, the data associated with the effort is retrieved and analyzed. In some embodiments, data associated with the newly defined segment is also included in the analysis. For example, by comparing the data, it can be determined which effort that matches the segment has the fastest time to complete the segment.
セグメントマッチングサーバ106は、さらに、セグメントに対してエフォート(例えば、GPS情報のセット)をマッチングするよう構成されている。いくつかの実施形態において、エフォートは、エフォートの一致を判定する前に、格納されたセグメントと同じ抽象形態に変換される。セグメントに対してエフォートをマッチングさせる1つの目的は、関心のある同一の区切られた経路にわたって行われた格納済みの身体活動の事例(すなわち、セグメント)を見いだすことである。言い換えると、セグメントに一致するエフォートとは、定義されたトラックに沿って行われた身体活動の事例のことである。同一のセグメントで起きた複数の身体活動の事例が見いだされると、それらの関連情報(例えば、終了タイム、速度、心拍数、および/または、ワット数)が、同一の経路における1または複数の個人による運動パフォーマンスに関して特定の統計値(例えば、最速タイム、最高ワット数)を生成するために比較されうる。いくつかの実施形態において、新たに定義されたセグメントについて、セグメントマッチングサーバ106は、格納されたエフォートをセグメントと比較するよう構成されている。いくつかの実施形態において、エフォートの関連データは、エフォートが一致すると判定されたセグメントと共に格納される。いくつかの実施形態において、セグメントマッチングサーバ106は、(例えば、デバイス102から)エフォートを受信し、一致を見いだすためにエフォートを格納済みのセグメントと比較するよう構成されている。様々な実施形態において、エフォートがセグメントと一致すると判定されると、それらの関連データが比較される(例えば、セグメントに一致するすべてのエフォートの関連データが比較される)。
The
図2Aは、いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図である。いくつかの実施形態において、セグメントマッチングサーバ106は、図2Aの例を用いて実装されうる。図の例において、セグメントマッチングサーバ106は、セグメントデータベース202、エフォートデータベース204、定義エンジン206、および、マッチングエンジン208を備える。しかしながら、セグメントマッチングサーバ106は、より多くまたはより少ない構成要素を備えてもよい。いくつかの実施形態において、セグメントマッチングサーバは、市販の汎用コンピュータハードウェアを用いて実装される(例えば、市販のサーバ(HP BladeSystemブレードサーバなど)上でLinux(登録商標)オペレーティングシステムを実行するホストサービスプロバイダ(AmazonEC2クラウドなど)を用いて)。
FIG. 2A is a diagram illustrating one embodiment of a segment matching server, according to some embodiments. In some embodiments,
セグメントデータベース202は、定義されたセグメントを格納するよう構成されている。例において、セグメントデータベース202は、1つのデータベースとして図示されているが、セグメントマッチングサーバは、定義されたセグメントを格納するための2以上のデータベースを含んでもよい。いくつかの実施形態において、セグメントデータベース202は、ユーザが、格納されたエフォートをアップロードして、ユーザインターフェースでエフォートの視覚的表現に沿ってスタートポイントおよびゴールポイント/終点を示すことによって定義されたセグメントを含む。いくつかの実施形態において、セグメントデータベース202は、ユーザがユーザインターフェースで地図上の経路に沿って一連の選択を行うことによって定義されたセグメントを含む。いくつかの実施形態において、セグメントデータベース202は、様々な経路または登山道の既知の特徴(例えば、専門団体によって提供された情報)に基づいて、(例えば、セグメントサーバ106の管理者によって)予め定義されたセグメントを含む。いくつかの実施形態において、セグメントは、抽象形態で(例えば、最小外接矩形のセットとして)セグメントデータベース202に格納される。抽象形態でセグメントを格納する1つの理由は、類似のセグメントまたはセグメントに一致するエフォートの検索クエリを効率的に実行できるようにするためである。いくつかの実施形態において、セグメントデータベース202は、R木インデックスに基づいて組織化される。いくつかの実施形態において、セグメントは、GPSデータポイントのセットとしてセグメントデータベース202に格納される。いくつかの実施形態において、セグメントデータベース202内の各セグメントは、セグメントに一致すると判定されたエフォートデータベース204からのエフォートの識別子と共に格納される。いくつかの実施形態において、セグメントデータベース202内の各セグメントは、セグメントに一致すると判定されたエフォートの関連データと共に格納される。
The
エフォートデータベース204は、GPS情報およびタイムスタンプのセットとしてエフォートを格納するよう構成されている。例において、エフォートデータベース204は、1つのデータベースとして図示されているが、セグメントマッチングサーバは、エフォートを格納するための2以上のデータベースを含んでもよい。いくつかの実施形態において、エフォートデータベース204は、記録されてデバイス(例えばデバイス102)からアップロードされたエフォートを含む。エフォートデータベース204に格納されたエフォートは、少なくとも、GPS情報、GPS情報に対応するタイムスタンプ、および、エフォートの運動パフォーマンスに関係する測定値(例えば、関連データ)を含む。いくつかの実施形態において、タイムスタンプは、GPS情報に含まれる(例えば、GPS情報は、対応するタイムスタンプと共に緯度および経度の座標を含む)。いくつかの実施形態において、エフォートは、エフォートを実行したアスリート(例えば、デバイス102のユーザ)の識別子と共に格納される。いくつかの実施形態において、エフォートデータベース204の各エフォートは、それが一致すると判定されたセグメントデータベース202のセグメントの識別子と共に格納される。
The
定義エンジン206は、セグメントの定義を受信するよう構成されている。定義エンジン206は、ハードウェアおよび/またはソフトウェアで実装されてよい。いくつかの実施形態において、定義エンジン206は、(例えば、デバイスに)ユーザインターフェースを提示するよう構成されている。いくつかの実施形態において、ユーザインターフェースは、ユーザインターフェースに(例えば、デバイスによって記録された)エフォートの視覚的表現を表示する。いくつかの実施形態において、定義エンジン206は、地図サービス(例えば、地図の表示、表示された地図上の選択のGPS座標の受信、および/または、その他の地図サービス)を取得するためにAPIを通してサードパーティの地図アプリケーション(例えば、Google Maps、MapQuest)と相互作用するよう構成されている。スタートポイントおよびゴールポイントの選択が、ユーザインターフェースでなされ、定義エンジン206で受信される。次いで、定義エンジン206は、スタートポイントおよびゴールポイントによって区切られた経路をセグメントとしてセグメントデータベース202に格納する。いくつかの実施形態では、ユーザインターフェースによって表示された地図上の(例えば、一連の選択として示された)経路が、定義エンジン206で受信される。次いで、定義エンジン206は、地図上にマークされた経路をセグメントとしてセグメントデータベース202に格納する。いくつかの実施形態において、定義エンジン206は、セグメントを格納する前に抽象的な地理形態(例えば、最小外接矩形のセット)に変換する。
The
いくつかの実施形態において、定義エンジン206は、任意の既存のセグメントが新たに定義されたセグメントと類似するか否かを判定するために、新たに定義されたセグメントとセグメントデータベース202に格納されたセグメントとを比較するよう構成されている。いくつかの実施形態において、既存のセグメントが新たに定義されたセグメントに類似すると判定された場合、そのセグメントの作成者に既存のセグメントが存在する旨の警告が表示されてよい。いくつかの実施形態において、新たなセグメントの作成者は、類似したセグメントがすでに定義されているので、新たなセグメントを保存しないことを選択してもよい。
In some embodiments, the
いくつかの実施形態において、定義エンジン206は、2以上のセグメントを含むグループが類似しているか否かを判定するために、セグメントデータベース202に格納されたセグメントを(例えば、定期的に)比較するよう構成されている。いくつかの実施形態において、類似すると判定されたセグメントについて、データベースに残すセグメントを1つだけ選択できる(例えば、デバイス102のようなデバイスを利用するユーザのコミュニティによる投票処理を用いてクラウドソーシングできる)ように、それらのセグメントが表示される。選択されないセグメントは、公開セグメントとして表示されないように余分なセグメントを除去または格下げすることによってスペースを解放するために、データベースから破棄されうる(ただし、投稿したユーザが私的に用いるために保持されてもよい)。いくつかの実施形態において、定義エンジン206は、類似したセグメントが、他のセグメントに完全に含まれるセグメントを含むことを決定するよう構成されている(すなわち、サブセグメントおよびスーパーセグメント)。いくつかの実施形態において、セグメントと、そのスーパーセグメントまたはサブセグメントとの間の関係が、セグメントデータベース202に記録される。
In some embodiments, the
マッチングエンジン208は、(例えば、セグメントデータベース202の)1または複数のセグメントに一致するエフォートを決定するよう構成されている。いくつかの実施形態において、マッチングエンジン208は、エフォートデータベース204に格納されたエフォートにアクセスするよう構成されている。いくつかの実施形態において、(例えば、アップロードされたエフォートまたは地図上のマーキングに基づいて)セグメントのユーザ定義が行われた後に、マッチングエンジン208は、格納されたエフォートにアクセスして、新たに定義されたセグメントとマッチングする。例えば、ユーザ(例えば、サイクリスト)は、セグメントを定義し(そして、任意選択的に、他のユーザが見られるようにセグメントを公開して共有し)、その後、定義されたセグメントを辿った過去の活動(例えば、サイクリスト自身または他のサイクリストによる過去の走行)に関する情報を受信できる。いくつかの実施形態において、マッチングエンジン208は、セグメントデータベース204に格納されたセグメントにアクセスするよう構成されている。いくつかの実施形態において、受信されたエフォート(例えば、デバイス102によって送信されたエフォート)に応答して、マッチングエンジン208は、受信されたエフォートがセグメントデータベース202に格納されたいずれかのセグメントと一致するか否かを判定する。例えば、ユーザ(例えば、サイクリスト)は、最近記録されたエフォート(例えば、サイクリング)が1または複数のすでに定義されたセグメントを含むか否かをチェックできる。エフォートがセグメントを含むと判定された場合、セグメントの関連データ(例えば、運動パフォーマンスデータ)がアクセスされ、エフォートの関連データと比較される。このように、ユーザは、セグメントの開始または終了の場所を手動で決定する必要なしに、ユーザがセグメントを辿ったか否かを自動的にチェックできることにより、すでに定義されたセグメントから恩恵を受けうる。
いくつかの実施形態において、マッチングエンジン208は、(例えば、セグメントデータベースをクエリすることにより)格納済みのセグメントとのマッチングを実行する前に、エフォート(例えば、GPS座標のセット)を、セグメントが格納されるのと同じ抽象形態(例えば、最小外接矩形のセット)に変換するよう構成されている。いくつかの実施形態において、エフォートと格納されたセグメントとの間のマッチングの実行に基づいて、2つのタイプの判定(例えば、エフォートが緩やかな一致である、エフォートが厳密な一致である)がなされうる。エフォートは、一致率が第1の閾値(例えば、65%以上)を超える場合に、格納されたセグメントとの緩やかな一致であると判定されうる。いくつかの実施形態において、格納されたセグメントとの緩やかな一致であるエフォートは、記録された身体活動が、一致したセグメントと同じ経路をおおよそ辿ったことを意味しうる。一致率が第2の閾値(例えば、80%)を超え、さらに、エフォートが格納済みのセグメントに関連付けられたスタートラインおよびゴールラインを横切る場合、そのエフォートは、格納されたセグメントとの厳密な一致であると判定されうる。いくつかの実施形態において、格納されたセグメントとの厳密な一致であるエフォートは、記録された身体活動が、一致したセグメントと同じ経路を厳密に辿ったことを意味しうる。様々な実施形態において、2つの判定(例えば、緩やかな一致および厳密な一致)について、一致率の決定は同じ方法で実行される。いくつかの実施形態において、エフォートは、1または複数のセグメントとの緩やかな一致であると判定されると共に、(同じまたは異なる)1または複数のセグメントとの厳密な一致であると判定されうる。例えば、エフォートは、セグメントとの緩やかな一致であると判定されると共に、同じセグメントとの厳密な一致であると判定されうる。別の例において、エフォートは、或るセグメントとの緩やかな一致かつ異なるセグメントとの厳密な一致であると判定されうる。いくつかの実施形態において、エフォートが緩やかな一致であるとの判定が、第1のデータベースに格納された1または複数のセグメントに対してなされ、エフォートが厳密な一致であるとの判定が、第2の異なるデータベースに格納された1または複数のセグメントに対してなされる。
In some embodiments, the
いくつかの実施形態において、エフォートが(例えば、緩やかな一致または厳密な一致のいずれかとして)セグメントに一致すると判定された場合、セグメントの関連データ(例えば、セグメントに一致すると判定された格納済みのエフォートの関連データ)が、エフォートの関連データとの比較のためにアクセスされる。いくつかの実施形態において、複数の格納されたエフォートが、新たに定義されたセグメントに一致すると判定され、一致したセグメントの関連データがアクセス、集計、および、解析される。いくつかの実施形態において、マッチングエンジン208は、リトリーブされたデータに基づいて解析結果を生成するよう構成されている。いくつかの実施形態において、マッチングエンジン208は、解析結果をデバイス102に送信する(例えば、ユーザインターフェースに表示するために)。
In some embodiments, if an effort is determined to match a segment (eg, as either a loose match or an exact match), the associated data of the segment (eg, stored data determined to match the segment) Effort related data) is accessed for comparison with the Effort related data. In some embodiments, a plurality of stored efforts are determined to match a newly defined segment, and the associated data for the matched segment is accessed, aggregated, and analyzed. In some embodiments, the
例えば、ユーザは、セグメントを定義することができ、セグメントに一致する格納済みのエフォートすべてが集計および解析されて、最速タイムまたは最大仕事率でセグメントを辿ったユーザのリスト(すなわち、順位表)が生成されうる。別の例において、ユーザは、エフォートを生成することができ、セグメントマッチングサーバは、エフォートがいずれかの定義済みセグメントを辿ったか否かを判定できる。エフォートが定義済みのセグメントを辿ったと判定された場合、そのエフォートに関連付けられたデータが、定義済みのセグメントを辿ったと判定された全エフォートの履歴と比較されうる。このように、ユーザは、セグメント上での自分の運動パフォーマンスが、(そのセグメントによって代表される)同じ地理的経路を辿ったすべての他のエフォートと比べてどのようであるかを判断できる。さらに、ユーザは、セグメントが開始または終了する正確な場所を(例えば、ユーザが自転車に乗っている時に)知る必要はない。 For example, a user can define a segment, and all stored effort that matches the segment is aggregated and analyzed to provide a list of users that followed the segment with the fastest time or maximum work rate (ie, a standing table). Can be generated. In another example, the user can generate an effort and the segment matching server can determine whether the effort has followed any defined segment. If it is determined that an effort has followed a defined segment, the data associated with that effort can be compared to the history of all efforts determined to have followed the defined segment. In this way, the user can determine how his athletic performance on a segment is compared to all other efforts that have followed the same geographic path (represented by that segment). Furthermore, the user does not need to know the exact location where the segment begins or ends (eg, when the user is riding a bicycle).
いくつかの実施形態において、デバイス102は、セグメントデータベース202、エフォートデータベース204、定義エンジン206、および、マッチングエンジン208を備えてもよいし、デバイス102が(セグメントマッチングサーバ106と情報をやり取りする必要なしに)デバイス102で、セグメントを格納、エフォートを格納、セグメントを定義、および、セグメントに対してエフォートをマッチングできるように等価な機能を備えてもよい。いくつかの実施形態において、デバイス102のエフォートデータベースは、そのデバイスのユーザによって生成されたエフォートのみを含む。
In some embodiments, the
図2Bは、いくつかの実施形態に従って、エフォートデータベースのテーブルに格納されたエフォートの一例を示す図である。いくつかの実施形態において、エフォートデータベース204に格納されるエフォートは、図2Aの例と同様の方法で格納されうる。ただし、データベースのエフォートのテーブルは、例で示した列の数とは異なる数の列を含んでもよい。例において、各エフォートは、エフォートID、その一連のGPS情報(例えば、それぞれのタイムスタンプを有するGPS座標)、エフォートを記録したユーザに関連付けられた識別子、エフォートが記録された日付、ならびに、速度(km/h)、心拍数(1分間あたり)、仕事率(ワット)、および、タイム(時:分)などの関連データと共に格納される。いくつかの実施形態において、エフォートがセグメントと比較される時、エフォートのGPS情報(例えば、タイムスタンプを有する一連のGPS座標)が、アクセスされて、比較に用いられる。いくつかの実施形態において、エフォートがセグメントに一致すると判定されると、エフォートの関連データ(例えば、速度、心拍数、仕事率、タイム、標高、勾配)が、セグメントに一致するその他のエフォート(もしあれば)の関連データと共に集計される。次いで、集計されたデータは、(例えば、集計データをまとめた表示を生成するために)解析される。
FIG. 2B is a diagram illustrating an example of an effort stored in a table of an effort database, according to some embodiments. In some embodiments, the effort stored in the
図3は、いくつかの実施形態に従って、セグメントマッチングのための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理300は、システム100で実施される。
FIG. 3 is a flowchart illustrating one embodiment of a process for segment matching in accordance with some embodiments. In some embodiments,
工程302では、セグメントが定義される。いくつかの実施形態において、セグメントは、ユーザがユーザインターフェースで、エフォート(例えば、タイムスタンプを有する一連のGPS情報)の視覚的表現に沿ってスタートポイントおよびゴールポイントを選択することによって定義される。いくつかの実施形態において、エフォートは、GPS追跡機能を備えたデバイスによって記録される。いくつかの実施形態において、セグメントは、ユーザがユーザインターフェースで、(例えば、Google Mapsなどサードパーティの地図ソフトウェアによってサポートされた)地図上で一連のポイントを選択することによって定義される。いくつかの実施形態において、セグメントは、地理的経路の既知の特徴(例えば、標高および平均勾配)を用いて、(例えば、セグメントマッチングサーバの管理者によって)定義される。定義されたセグメントは、1または複数のデータベースに格納される。いくつかの実施形態において、定義されたセグメントは、抽象形態(例えば、最小外接矩形のセット)に変換され、抽象形態で格納される。いくつかの実施形態において、セグメントが格納されるデータベースは、R木インデックスに基づいて組織化される。
In
工程304では、セグメントに一致するエフォートが決定される。いくつかの実施形態において、定義されたセグメントについて、格納されたエフォートに関する情報がアクセスされ、セグメントと比較される。いくつかの実施形態において、エフォートは、タイムスタンプと共に(そして、運動パフォーマンスの様々な測定値などの関連データと共に)GPS情報のセットとして格納される。いくつかの実施形態において、格納済みエフォートのGPS情報がアクセスされ、比較の前にセグメントと同じ形態(例えば、最小外接矩形)に変換される。いくつかの実施形態において、格納済みエフォートは、セグメントに一致する格納済みエフォートのサブセットを決定するために、セグメントと比較される。セグメントに一致すると判定された格納済みエフォートのサブセットの関連データが(例えば、エフォートを格納しているのと同じデータベースから)取得され、集計される。集計された関連データは解析され、いくつかの実施形態において、解析結果は、表(例えば、順位表)および/または画像で提示される。
In
図4は、いくつかの実施形態に従って、エフォートに基づいてセグメントを定義する処理の一実施形態を示すフローチャートである。いくつかの実施形態では、処理400は、システム100を用いて実施されうる。いくつかの実施形態において、処理400は、工程302を実行するために用いられてよい。
FIG. 4 is a flowchart illustrating one embodiment of a process for defining segments based on effort, according to some embodiments. In some embodiments,
工程402では、エフォートの視覚的表現が提示される。いくつかの実施形態において、エフォートは、GPS追跡機能を備えたデバイスによって記録されたタイムスタンプを伴う一連のGPS情報である。いくつかの実施形態において、視覚的表現はユーザインターフェースで提示される。例えば、GPS座標は、(例えば、Google Mapsなどの地図アプリケーションによってサポートされた)地図上の実線または一連のマーカとして表示されうる。いくつかの実施形態では、一連のGPS情報が1セットの離散的な地理的座標である場合でも、実線の形態の視覚的表現を生成する際に、2つの座標間のポイントを推定することができる。
In
例えば、ユーザ(例えば、サイクリスト)が、サイクリングを終えて、その走行の少なくとも一部をセグメントとして指定したいと思う。このように、そのサイクリストまたは他のサイクリストが、セグメントによって参照された地理的経路でのパフォーマンスを追跡および比較することができる。 For example, a user (eg, a cyclist) wants to finish cycling and designate at least part of the run as a segment. In this way, the cyclist or other cyclist can track and compare performance on the geographic path referenced by the segment.
工程404では、スタートポイントの選択が受信される。いくつかの実施形態において、ユーザは、セグメントのスタートポイントとして、ユーザインターフェースにおいて視覚的表現に沿ってポイントを選択する。いくつかの実施形態において、選択されたポイントが、そのエフォートで2回以上通過されている場合、選択されたスタートポイントを通過した回数の各々をエフォートに沿って示すように、表示が生成される。次いで、ユーザは、ユーザがスタートポイントとしたい所望の事例に対応する回数を選択してよい。いくつかの実施形態において、選択されたスタートポイントは、それに対応するGPS座標(例えば、地図アプリケーションに関連付けられたAPIによって返された座標)として格納される。いくつかの実施形態において、選択されたスタートポイントは、エフォートの選択されたスタートポイントおよびその他の1または複数のポイントに基づいて得られたた仮想のスタートラインと共に格納される。
At
前の例に戻ると、サイクリストは、セグメントのスタートポイントとして指定するために、自分の走行に沿ったポイントを選択できる。スタートポイントは、セグメント全体のスタートポイントにある必要はなく、走行に沿った任意のポイントであってよい。スタートポイントは、レースのためのスタートラインと考えることができる。別のサイクリストが(または、同じサイクリストが、異なる機会に)、セグメントを走行したか否かを後に判定する時に、後の走行(すなわち、エフォート)がスタートポイントを通過したか否かが判定される。 Returning to the previous example, the cyclist can select a point along his run to designate it as the starting point of the segment. The start point need not be at the start point of the entire segment, but may be any point along the run. The starting point can be thought of as the starting line for the race. When another cyclist (or the same cyclist at a different opportunity) later decides whether or not it has run through the segment, it is determined whether a later run (ie, effort) has passed the start point. .
工程406では、ゴールポイントの選択が受信される。いくつかの実施形態において、ユーザは、セグメントのゴールポイントすなわち終点として、ユーザインターフェースにおいて視覚的表現に沿ってポイントを選択する。様々な実施形態において、ゴールポイントを選択して格納するための技術は、スタートポイントに用いられるものと同じである。例えば、選択されたゴールポイントは、それに対応するGPS座標として、および/または、得られた仮想ゴールラインと共に格納されうる。
At
例に戻ると、サイクリストは、セグメントのゴールポイントとして指定するために、自分の走行に沿ったポイントを選択できる。ゴールポイントは、その走行のまさに最後である必要はなく、スタートポイントの後の任意のポイントであってよい。ゴールポイントは、レースのためのゴールラインと考えることができる。別のサイクリストが(または、同じサイクリストが、異なる機会に)、セグメントを走行したか否かを後に判定する時に、後の走行(すなわち、エフォート)がゴールポイントも通過したか否かが判定される。いくつかの実施形態において、定義されるセグメントがループを含む場合、選択されたスタートポイントおよびゴールポイントは、同じセットのGPS座標でありうる。 Returning to the example, the cyclist can select points along his run to designate as the goal point of the segment. The goal point need not be at the very end of the run, but can be any point after the start point. A goal point can be considered as a goal line for a race. When another cyclist (or the same cyclist at a different opportunity) later decides whether or not it has run through the segment, it is determined whether the later run (ie, effort) has also passed the goal point. . In some embodiments, if the defined segment includes a loop, the selected start point and goal point may be the same set of GPS coordinates.
工程408では、定義されたセグメントは、任意選択的に格納される。いくつかの実施形態において、定義されたセグメントが、(例えば、セグメントデータベースなど、事前定義および/またはユーザ定義されたセグメントを含むデータストア内の)既存のセグメントと類似していると判定された場合、ユーザは対応する表示によってプロンプトされる。いくつかの実施形態において、ユーザは、既存のセグメントを見直す、および/または、既存の重複するセグメントに照らして、新たに定義されたセグメントを破棄する選択をすることができる。ユーザが新たに定義されたセグメントを破棄すると選択した場合、ユーザは、自分のエフォートを既存のセグメントと関連付けて、エフォートに関連付けられたデータを既存のセグメントと共に格納することを選択できる。いくつかの実施形態において、ユーザの定義したセグメントが既存のセグメントと一致する場合、一致した既存のセグメントが、(例えば、セグメントデータベースなど、事前定義および/またはユーザ定義されたセグメントを含むデータストアに)すでに格納されている。既存の類似するセグメントがない場合、または、重複の可能性があるにもかかわらず新たに定義されたセグメントをいずれにせよ格納することを選択した場合、新たに定義されたセグメントが格納される。いくつかの実施形態において、セグメントは、抽象形態(例えば、最小外接矩形のセット)に変換され、格納される。いくつかの実施形態において、新たに定義されたセグメントは、名称ならびに/もしくは(例えば、ユーザによって選択された)1または複数のタグと共に保存されうる。いくつかの実施形態において、格納されたエフォートは、このセグメントに対してマッチングするためにアクセスされる。一致するエフォートが見いだされた場合、一致するエフォートに関連付けられたデータが結合および比較される。
In
例に戻ると、サイクリストは、ユーザインターフェースを用いて、セグメントを作成することができる。サイクリストは、セグメント名を「Old La Honda」と入力して、セグメントを、そのセグメントが存在する道路の名称と関連付けることもできる。サイクリストは、(例えば、セグメントマッチングによって決定された)「Old La Honda」で行われた過去の走行についてのフィードバックを受信することもできる。フィードバックは、どのユーザがセグメント上で走行したか、いつ誰が最速タイムを記録したか、誰がセグメントの完了時に最大量のエネルギを費やしたか、などである。また、サイクリストは、「Old La Honda」での自身のパフォーマンスが過去の走行と比較してどの程度であるかを見ることができる(例えば、ユーザのパフォーマンスがそのセグメントでの走行の履歴の中でどこに順位付けされるか)。また、後続ユーザは、セグメントデータベースでの検索をサポートするユーザインターフェースで「Old La Honda」と入力することによって、このセグメントを検索することができる。さらに、後続ユーザは、走行を記録し、一致するセグメントがあるかチェックするためにその走行を送信することによって、「Old La Honda」を走行したことがあるか否かをチェックすることができる。走行が「Old La Honda」セグメントを含むと(例えば、セグメントマッチングによって)判定された場合、そのセグメントでの走行中の後続ユーザのパフォーマンスを、そのセグメントを走行したことがある他のユーザのパフォーマンスの履歴と比較することができる。 Returning to the example, the cyclist can create a segment using the user interface. The cyclist can also enter the segment name “Old La Honda” to associate the segment with the name of the road on which the segment resides. The cyclist may also receive feedback on past runs made in “Old La Honda” (eg, determined by segment matching). The feedback is which user has run on the segment, who has recorded the fastest time, who has spent the maximum amount of energy at the completion of the segment, and so on. Cyclists can also see how their performance at “Old La Honda” is compared to past runs (eg, the user's performance in the run history for that segment). Where will it be ranked?) Subsequent users can also search for this segment by entering “Old La Honda” in a user interface that supports searching in the segment database. In addition, subsequent users can check whether they have traveled “Old La Honda” by recording their travel and sending the travel to check for a matching segment. If a run is determined to include an “Old La Honda” segment (eg, by segment matching), the performance of subsequent users during the run in that segment is determined by the performance of other users who have run that segment. It can be compared with the history.
図5は、いくつかの実施形態に従って、エフォートに基づいてセグメントを定義するためのユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程402は、図5の例を用いて実施される。図の例において、地図上に配置された濃い線は、例えば、GPSデバイスによって記録されたエフォート(例えば、タイムスタンプを伴う一連のGPS情報)から描画された視覚的表現502である。例に示すように、セグメントが選択されるエフォートの名称は、「Easy Ride around Lake Fairley」として領域504に示されている。いくつかの実施形態において、ユーザインターフェースで用いられる地図は、Google Mapsなどの地図アプリケーションによってサポートされる。地図アプリケーションとは、関連APIを通して相互作用できる。
FIG. 5 is a diagram illustrating an example of a user interface for defining segments based on effort, according to some embodiments. In some embodiments,
図6は、いくつかの実施形態に従って、セグメントのスタートポイントの選択を示すユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程404は、図6の例を用いて実施される。例に示すように、視覚的表現502を示す地図は、スタートポイントが選択される領域にズームインされる。いくつかの実施形態において、スタートポイントは、地図の位置をクリックすることによって選択できる。例に示すように、マーカ602が、エフォートに沿って選択されたスタートポイントを示す。例に示すように、選択されたスタートポイントは、エフォートに沿って異なる機会に3回通過されている(604、606、および、608)。ユーザは、スタートポイントとして設定されるのに望ましい回を選択するようプロンプトされる。いくつかの実施形態において、定義されたセグメントの長さはスタートポイントおよびゴールポイントの間のエフォートの長さに基づいて決定されるので、ユーザは、複数の可能なスタートポイントのうちの1つを選択するようプロンプトされる。いくつかの実施形態において、選択されたスタートポイントは、GPS座標のセットとして格納される。いくつかの実施形態において、選択されたスタートポイントは、スタートポイントから部分的に得られた仮想スタートラインと共に格納される。
FIG. 6 is a diagram illustrating an example of a user interface illustrating the selection of a segment start point according to some embodiments. In some embodiments,
図7は、いくつかの実施形態に従って、セグメントのゴールポイントの選択を示すユーザインターフェースの一例を示す図である。いくつかの実施形態において、工程406は、図7の例を用いて実施される。いくつかの実施形態では、ゴールポイントが選択され、スタートポイントに用いたのと同じ技術によって格納される。例に示すように、マーカ703は、セグメントの選択されたゴールポイント(例えば、終点)を示す。いくつかの実施形態において、選択されたゴールポイントは、GPS座標のセットとして格納される。いくつかの実施形態において、選択されたスタートポイントは、部分的にスタートポイントから得られた仮想ゴールラインと共に格納される。
FIG. 7 is a diagram illustrating an example of a user interface illustrating the selection of goal points for a segment in accordance with some embodiments. In some embodiments,
図8は、いくつかの実施形態に従って、地図上の一連の選択を用いてセグメントを定義するためのユーザインターフェースの一例を示す図である。いくつかの実施形態において、図の例は、工程302を実行するために用いることができる。いくつかの実施形態において、セグメントは、ユーザインターフェースの地図上で選択を直接行うことによって定義できる。図5、図6、および、図7で示したようなセグメント定義技術とは対照的に、図8の例のセグメント定義技術は、記録されたエフォートを必要としない。例に示すように、ユーザは、セグメントを示すために地図上の経路(例えば、「Montebello Rd」)に沿って順番にマーカ802ないし818をドロップした。マーカ802から818の地理的情報のセットは、地図アプリケーション(例えば、Google Maps)から取得され、セグメントとして格納されうる。いくつかの実施形態において、セグメントのために最初にドロップされたマーカがスタートポイントとみなされ、最後にドロップされたマーカがゴールポイントと見なされる。
FIG. 8 is a diagram illustrating an example of a user interface for defining a segment using a series of selections on a map, according to some embodiments. In some embodiments, the illustrated example can be used to perform
図9は、いくつかの実施形態に従って、一連のGPS情報を最小外接矩形(MBR)に変換する一実施形態を示すフローチャートである。いくつかの実施形態において、一連のGPS情報(例えば、地図アプリケーションによってサポートされた地図上の一連の選択に対して、記録されたエフォートに基づいてセグメントを定義するために用いられる)は、1セットの最小外接矩形(MBR)に変換され、セグメントに対して格納される。いくつかの実施形態において、一連のGPS情報は、MBRのセットに変換され、MBRのセットとして格納されたセグメントのR木インデックス化データベースにクエリするために用いられる。 FIG. 9 is a flowchart illustrating one embodiment of converting a series of GPS information into a minimum circumscribed rectangle (MBR) according to some embodiments. In some embodiments, a set of GPS information (eg, used to define a segment based on recorded effort for a set of selections on a map supported by a map application) is a set. Are converted to the minimum circumscribed rectangle (MBR) and stored for the segment. In some embodiments, the series of GPS information is converted to a set of MBRs and used to query a segment R-tree indexing database stored as a set of MBRs.
一連のGPS情報を1セットのMBRに変換する理由の1つは、様々な実施形態において、MBRを用いて、MBRのR木(Rツリー)インデックス化データベースに対して効率的な境界ボックスクエリを実行できることである。いくつかの実施形態において、(例えば、定義されたセグメントに対する)R木データベースのクエリのための検索入力は、(例えば、エフォートに関連付けられた)MBRであり、クエリは、入力されたMBRと重複する(例えば、セグメントに関連付けられた)MBRを返す。いくつかの実施形態において、エフォートがセグメントと類似する(例えば、一致する)か否かは、境界ボックスクエリを用いて見いだされたそれらのMBRの重複の程度に依存する。いくつかの実施形態において、或るセグメントが別のセグメントと類似するか否かも、それらのMBRの重複の程度に依存する。 One reason for converting a set of GPS information into a set of MBRs is that, in various embodiments, MBR can be used to perform an efficient bounding box query against an MBR R-tree indexing database. It can be done. In some embodiments, the search input for an R-tree database query (eg, for a defined segment) is an MBR (eg, associated with an effort) and the query overlaps with the entered MBR. Returns the MBR (eg, associated with the segment). In some embodiments, whether an effort is similar (eg, matches) to a segment depends on the degree of overlap of those MBRs found using a bounding box query. In some embodiments, whether a segment is similar to another segment also depends on the degree of overlap of their MBRs.
工程902では、一連のGPS情報が、1セットのタイル上にマッピングされる。いくつかの実施形態において、一連のGPS情報は、GPS追跡機能を備えるデバイスによって記録されたエフォートに由来する。いくつかの実施形態において、一連のGPS情報は、(例えば、ユーザインターフェースで定義された)セグメントに対応する。
In
ユニバーサルタイリング(universal tiling)の周知の技術を用いて、関心のある地理的領域を略均一なタイルに分割する。例えば、各タイルは20メートル四方であってよい。このユニバーサルタイリングスキームを一連のGPS情報に適用して、1セットの対応するタイルを生成する。例えば、GPS座標を含む各タイル(および、2つのかかるタイル間の任意のタイル)が、タイルのセットに含まれる。いくつかの実施形態において、おおよそ同じ地域をカバーする任意の2つの地理的経路が、それぞれのGPS情報のセットに小さい違いがあっても、同じセットのユニバーサルタイル(universal tiles)にマッピングされる。 Using the well-known technique of universal tiling, the geographical area of interest is divided into substantially uniform tiles. For example, each tile may be 20 meters square. This universal tiling scheme is applied to a series of GPS information to generate a set of corresponding tiles. For example, each tile that includes GPS coordinates (and any tile between two such tiles) is included in the set of tiles. In some embodiments, any two geographic routes covering approximately the same area are mapped to the same set of universal tiles, even though there are minor differences in their respective sets of GPS information.
工程904では、任意でタイルを埋めるためにタイルを追加し、連続するタイルのセットを含むGPSポイント間の経路を提供する。例えば、2つの連続的なGPSポイントが、隣接するタイルにマッピングされない場合、連続的なGPSポイントをつなぐラインが横切った任意のタイルをタイルセットに追加することができる(例えば、拡張前にGPSポイント間のタイルを埋めることができる)。 Step 904 optionally adds tiles to fill the tiles and provides a path between GPS points that includes a continuous set of tiles. For example, if two consecutive GPS points are not mapped to adjacent tiles, any tile crossed by a line connecting consecutive GPS points can be added to the tile set (eg, GPS points before expansion) Can fill tiles between).
工程906では、任意でタイルのセットが拡張される。いくつかの実施形態において、タイルのセットは、GPSデータの差異を補償するために、隣接するタイルを含むように拡張されうる。例えば、工程902でにて成されたタイルセット内の各タイルに隣接する8つのタイルがまだ含まれていなければ、それらのタイルをタイルセットに含めることができる。ただし、タイルのセットは、その他の適切な方法で拡張することもできる。
In
工程908では、1セットのタイルは、1セットのMBRにグループ化される。いくつかの実施形態において、セット内で互いに近いタイルが、1つのMBRにグループ化される。いくつかの実施形態において、MBRの各寸法(例えば、高さ、幅)は、1または複数のタイル全体である。例えば、1セットのタイルを1セットのMBRにグループ化するために、まず、そのセットのタイルを、1セットの重複しない長方形のボックスに結合する。1つのアプローチでは、水平方向に隣接するセルを結合して、幅が広くタイル1つ分の高さを有する1セットのボックスを生成する。次に、各ボックスが、下の行のボックスと比較され、同じ幅および水平位置を有するボックスがある場合には、それと結合される。結果として得られるボックスのセットが、所望のMBRのセットである。ただし、1セットのタイルを1セットのMBRにグループ化する方法は、この例だけに限定されない。
In
いくつかの実施形態において、各MBRは、(例えば、タイリングスキームでは)それぞれの4つの角の座標によって特定される。いくつかの実施形態において、MBRのセットは、セグメントのためのデータベースに格納される。例えば、セット内のMBRは、R木インデックス化データベーステーブルの行に格納できる。セット内のMBRは、それらが表すセグメントに関連付けられた識別子と共に格納されてもよい。 In some embodiments, each MBR is identified by its four corner coordinates (eg, in a tiling scheme). In some embodiments, the set of MBRs is stored in a database for the segment. For example, the MBRs in the set can be stored in a row of the R-tree indexing database table. The MBRs in the set may be stored with an identifier associated with the segment they represent.
しかしながら、いくつかの実施形態において、セグメントは、(MBRに変換された後に格納されるのではなく)対応するセットのGPSデータポイントとして格納されてもよい。 However, in some embodiments, the segments may be stored as a corresponding set of GPS data points (rather than being stored after being converted to MBR).
図10Aは、いくつかの実施形態に従って、一連のGPS情報を1セットのMBRに変換する例を示す図である。いくつかの実施形態において、図10Aの例は、一連のGPS情報に処理900を適用した結果である。図の例では、記録された自転車走行が、1セットのGPS座標を含んでおり、座標は小さい黒丸で示されている。GPS座標を含むユニバーサルタイリングスキームの各タイルは、GPS情報がマッピングされたタイルと、連続的なGPSポイントをつなぐ線分が交差する(横切る)任意のタイルとを含むセット内に含まれる。図の例において、タイルのセットに含まれるタイルには、網掛けされている。セット内の各タイルに隣接する8つのタイルも、(以前にタイルが含まれていなかった場合には)拡張されたタイルセットに含められる。次いで、拡張されたセットのタイルは、4つのMBRにグループ化される(MBR1、MBR2、MBR3、および、MBR4)。図の例において、各MBRは、黒く縁取りされている。各MBRは、4つの角を表す(例えば、タイリングスキームの)座標のセット(x1、x2、y1、y2)によって特定されうる。一連のGPS情報がセグメントを定義するよう意図されている場合、対応するセットのMBRは、いくつかの実施形態において、セグメントの識別子と共にR木インデックス化データベースのテーブルに格納されうる。
FIG. 10A is a diagram illustrating an example of converting a series of GPS information into a set of MBRs according to some embodiments. In some embodiments, the example of FIG. 10A is the result of applying
図10Bは、いくつかの実施形態に従って、セグメント情報を格納するためのデータベーステーブルのエントリの一例を示す図である。いくつかの実施形態において、データベースは、R木インデックス化データベースである。例えば、データベースは、MySQL、Oracle、または、Postgresであってよい。いくつかの実施形態において、図10Bの例は、図10Aの例で作成された格納済みのMBRのセットを含む。いくつかの実施形態において、セグメントデータベース内の各セグメントは、英数字の識別子と共に格納される。図10Aの例が、「Old_La_Honda」という識別子を有するセグメントのために1セットのMBRを作成したとする。図10Bの例に示すように、各MBRは、そのセグメント識別子、その4つの座標、および、占有率と共に格納される。図の例において、占有率とは、セグメントに関連付けられたタイルの数に対する、セグメントに関連付けられMBRに含まれたタイルの数の比である。いくつかの実施形態において、占有率は、百分率で表されてもよい。例えば、図10Aに示すように、26の網掛けのタイル、すなわち、セグメント「Old_La_Honda」に関連付けられた26のタイルがある。これら26のタイルの内の6がMBR1に含まれているため、データベース内のMBR1の占有率エントリは、「6/26」である。 FIG. 10B is a diagram illustrating an example of an entry in a database table for storing segment information according to some embodiments. In some embodiments, the database is an R-tree indexed database. For example, the database can be MySQL, Oracle, or Postgres. In some embodiments, the example of FIG. 10B includes a set of stored MBRs created in the example of FIG. 10A. In some embodiments, each segment in the segment database is stored with an alphanumeric identifier. Assume that the example of FIG. 10A has created a set of MBRs for a segment having the identifier “Old_La_Honda”. As shown in the example of FIG. 10B, each MBR is stored with its segment identifier, its four coordinates, and occupancy. In the example of the figure, the occupation ratio is a ratio of the number of tiles associated with the segment and included in the MBR to the number of tiles associated with the segment. In some embodiments, the occupancy may be expressed as a percentage. For example, as shown in FIG. 10A, there are 26 shaded tiles, ie, 26 tiles associated with the segment “Old_La_Honda”. Since 6 of these 26 tiles are included in MBR1, the occupancy entry of MBR1 in the database is “6/26”.
図10Bの例は、セグメントについて4つのエントリ(セット内の各MBRについてのエントリ)しか含んでいないが、実際のセグメントは、経路の長さに応じて、データベースに数千のエントリを含みうる。いくつかの実施形態において、セグメント情報を格納するためのデータベースのエントリは、図10Bの例に示したのと異なる数の列を含んでもよい。いくつかの実施形態において、データベースに格納されたセグメントの情報セットは、すべてのエフォート(例えば、エフォートデータベースからのエフォート)と、セグメントに一致すると判定されたエフォートの関連データと、を含む。そうすれば、セグメントがデータベースからリトリーブされる時に、運動パフォーマンス(例えば、一致したエフォートおよびそれらの関連データによって表される)にも迅速にアクセスすることができる。 The example of FIG. 10B contains only four entries for a segment (an entry for each MBR in the set), but an actual segment may contain thousands of entries in the database, depending on the length of the path. In some embodiments, the database entries for storing segment information may include a different number of columns than shown in the example of FIG. 10B. In some embodiments, the segment information set stored in the database includes all effort (eg, effort from the effort database) and associated data of the effort determined to match the segment. That way, when a segment is retrieved from the database, athletic performance (eg, represented by matched effort and their associated data) can also be quickly accessed.
図11Aは、いくつかの実施形態に従って、セグメントデータベースで一致するセグメントを検索する処理の一実施形態を示すフローチャートである。 FIG. 11A is a flowchart illustrating one embodiment of a process for searching for a matching segment in a segment database, according to some embodiments.
いくつかの実施形態では、セグメントが、R木インデックス化データベース内にMBRのセットとして格納される。いくつかの実施形態では、セグメントが、データベース内にGPSデータポイントのセットとして格納される。 In some embodiments, the segments are stored as a set of MBRs in the R-tree indexing database. In some embodiments, the segments are stored as a set of GPS data points in the database.
いくつかの実施形態において、クエリ入力(例えば、一連のGPSデータポイントによって表された地理的経路)が、セグメントデータベースの定義済みセグメントに一致するか否かを判定するために、セグメントデータベースに対してクエリが実行される。本明細書で用いられているように、一連のGPS情報(例えば、エフォートに属するもの)と、別の一連のGPS情報(例えば、セグメントに属するもの)との一致率が、特定の閾値を超えた場合に、それらのGPS情報が一致するものとする。 In some embodiments, to determine whether a query input (eg, a geographic route represented by a series of GPS data points) matches a predefined segment of the segment database, to the segment database The query is executed. As used herein, a match rate between a series of GPS information (eg, belonging to an effort) and another series of GPS information (eg, belonging to a segment) exceeds a certain threshold. In the event that the GPS information matches.
工程1102では、必要に応じて、一連のGPS情報が変換される。いくつかの実施形態において、一連のGPS情報は、エフォート(例えば、GPSを備えたデバイスによって記録されたエフォート)から抽出される。いくつかの実施形態において、GPS情報は、一連の連続的なGPSデータポイントである。いくつかの実施形態において、セグメントは、1セットのMBRなど抽象形態で格納される。セグメントがMBRのセットとして格納される場合、一連のGPS情報も1セットのMBRに変換される。いくつかの実施形態では、セグメントがGPSデータポイントのセットとして格納されるので、GPS情報は別の形態に変換される必要はない。
In
工程1104では、GPS情報を用いて、セグメントデータベースへのクエリが行われる。いくつかの実施形態において、データベースのクエリは、一連のGPS情報に類似したセグメントの部分(例えば、GPSデータポイント、MBR)を返す。
In
いくつかの実施形態において、セグメントは、R木インデックス化データベースにMBRのセットとして格納される。例えば、データベースで検索を行うために、GPS情報から変換されたMBRを用いて、R木インデックス化データベースに対して境界ボックスクエリを実行する。クエリは、入力されたMBRと重複するMBRを返す。重複するMBRは、類似していると考えられる。重複するMBRについて、データベースのテーブル(例えば、図10Bのテーブル1000)から、それぞれのエントリが返されうる。テーブル1000を参照して、この例で、MBR1、MBR2、および、MBR3(いずれもセグメント「Old_La_Honda」に属する)が、重複すると判定されたと仮定する。したがって、それらのエントリの解析(例えば、入力されたMBRのセットがセグメント「Old_La_Honda」に一致するか否かを判定するための解析)を実行できるように、MBR1、MBR2、および、MBR3のそれぞれの行が返されうる。いくつかの実施形態では、2以上のセグメントに関連付けられた重複MBRが返されてもよい。 In some embodiments, the segments are stored as a set of MBRs in the R-tree indexing database. For example, to perform a search in the database, a bounding box query is executed against the R-tree indexed database using MBR converted from GPS information. The query returns an MBR that overlaps with the input MBR. Overlapping MBRs are considered similar. For duplicate MBRs, each entry can be returned from a database table (eg, table 1000 in FIG. 10B). Referring to table 1000, in this example, it is assumed that MBR1, MBR2, and MBR3 (all belonging to segment “Old_La_Honda”) are determined to overlap. Thus, each of MBR1, MBR2, and MBR3 can be analyzed so that analysis of those entries (eg, analysis to determine whether the set of input MBRs matches the segment “Old_La_Honda”) can be performed. Rows can be returned. In some embodiments, duplicate MBRs associated with more than one segment may be returned.
いくつかの実施形態において、セグメントは、データベースにGPSデータポイントのセットとして格納される。類似する一連のGPSデータポイントを(例えば、許容範囲内で)決定するための様々な検索技術を用いて、データベースで類似のセグメントを見つけることができる。かかる技術の一例では、データベースの各GPSデータポイントは、選択された長さ(例えば、50メートル)の半径で示される許容領域を含むと仮定される。一連のGPS情報に含まれる各ポイントも、選択された長さ(データベースのポイントの半径と同じ長さでありうる)の半径で示される許容領域を含むと仮定される。結果として、各GPSデータポイントは、円の中の領域に広がるものとして考えることができる。続いて、一連のGPS情報内の各ポイントの円形領域を用いて、データベースで(セグメントに関連付けられた)GPSデータポイントに関連付けられた重複する円を検索する。いくつかの実施形態では、重複する円に対応するデータベースのGPSデータポイントが返されうる。いくつかの実施形態では、2以上のセグメントに関連付けられたGPSデータポイントが返されてもよい。 In some embodiments, the segments are stored as a set of GPS data points in the database. Similar segments can be found in the database using various search techniques to determine a similar set of GPS data points (eg, within acceptable limits). In one example of such a technique, each GPS data point in the database is assumed to include a tolerance area indicated by a radius of a selected length (eg, 50 meters). Each point included in the series of GPS information is also assumed to include a tolerance region indicated by a radius of a selected length (which may be the same length as the radius of the points in the database). As a result, each GPS data point can be thought of as extending over an area within a circle. Subsequently, the circular area of each point in the series of GPS information is used to search the database for overlapping circles associated with GPS data points (associated with the segment). In some embodiments, database GPS data points corresponding to overlapping circles may be returned. In some embodiments, GPS data points associated with more than one segment may be returned.
いくつかの実施形態において、一連のGPSデータポイントを用いて類似のセグメントを検索するには、MBRおよびR木インデックス化データベースを用いるのに必要とされるよりも多くの計算時間および/または資源が必要で或る。 In some embodiments, searching for similar segments using a series of GPS data points requires more computation time and / or resources than are required to use the MBR and R-tree indexing databases. It is necessary.
工程1106では、クエリ結果が解析される。いくつかの実施形態において、クエリ結果は、一連のGPS情報がデータベースのセグメントに一致するか否かを判定するために用いられる。いくつかの実施形態において、一連のGPS情報と、返された1または複数のセグメント(の部分)との間の一致率を決定するために、計算が実行される。
In
いくつかの実施形態において、セグメントがMBRとして格納された場合、一致率は、返されたMBRを用いて決定される。いくつかの実施形態において、一連のGPS情報とセグメントとの一致率は、セグメントの重複したMBRの数の、セグメントのMBRの総数に対する比に基づいて計算される。一致率が閾値を超えた場合、一連のGPS情報によって表された地理的経路は、そのセグメントに一致すると見なされる。いくつかの実施形態において、一連のGPS情報とセグメントとの類似度は、返されたMBRの占有率の合計に基づいて計算される。占有率の合計が閾値を超えた場合、一連のGPS情報によって表された地理的経路は、そのセグメントに一致すると見なされる。いくつかの実施形態において、(例えば、工程1104において)クエリの結果として返されたMBRは、データベースのテーブルからの行をそれぞれ含む。図10Bのテーブルを参照して、この例で、MBR1、MBR2、および、MBR3(いずれもセグメント「Old_La_Honda」に属する)が、重複すると判定されたと仮定する。したがって、MBR1、MBR2、および、MBR3のそれぞれの行が返される。この例において、一連のGPS情報と「Old_La_Honda」セグメントとの類似度は、重複したMBRの占有率の合計に基づいて計算される。MBR1、MBR2、および、MBR3が重複しているので、それぞれの占有率の合計(すなわち、6/26+4/26+10/26)は、20/26すなわち約76.9%である。一致率の閾値が65%である場合、一連のGPS情報は、「Old_La_Honda」セグメントに一致すると見なされる。いくつかの実施形態において、2以上のセグメントについてMBRが返されてもよく、それらのセグメントの各々に対する類似度が決定されうる。 In some embodiments, if the segment is stored as an MBR, the match rate is determined using the returned MBR. In some embodiments, the rate of matching between a set of GPS information and a segment is calculated based on the ratio of the number of overlapping MBRs in the segment to the total number of MBRs in the segment. If the match rate exceeds the threshold, the geographic route represented by the series of GPS information is considered to match the segment. In some embodiments, the similarity between a set of GPS information and a segment is calculated based on the total MBR occupancy returned. If the total occupancy exceeds the threshold, the geographic route represented by the series of GPS information is considered to match that segment. In some embodiments, the MBR returned as a result of a query (eg, at step 1104) includes a row from each table in the database. Referring to the table of FIG. 10B, in this example, it is assumed that MBR1, MBR2, and MBR3 (all belonging to the segment “Old_La_Honda”) are determined to overlap. Therefore, the respective rows of MBR1, MBR2, and MBR3 are returned. In this example, the similarity between the series of GPS information and the “Old_La_Honda” segment is calculated based on the total occupancy rate of the duplicate MBRs. Since MBR1, MBR2, and MBR3 overlap, the total occupancy (ie 6/26 + 4/26 + 10/26) is 20/26 or about 76.9%. If the match rate threshold is 65%, the series of GPS information is considered to match the “Old_La_Honda” segment. In some embodiments, MBRs may be returned for more than one segment, and the similarity for each of those segments may be determined.
いくつかの実施形態において、セグメントがGPSデータポイントのセットとして格納される場合、一致率は、クエリによって返されたGPSデータポイントの数に基づいて決定される。いくつかの実施形態では、クエリによって返されたGPSデータポイントの数の、セグメントに関連付けられたGPSデータポイントの総数に対する比が、特定の閾値を超える場合、一連のGPS情報によって表された地理的経路は、セグメントに一致すると見なされる。いくつかの実施形態において、2以上のセグメントについてGPSデータポイントが返されてもよく、それらのセグメントの各々に対する一致率が決定されうる。 In some embodiments, if the segment is stored as a set of GPS data points, the match rate is determined based on the number of GPS data points returned by the query. In some embodiments, if the ratio of the number of GPS data points returned by the query to the total number of GPS data points associated with the segment exceeds a certain threshold, the geographic represented by the set of GPS information The path is considered to match the segment. In some embodiments, GPS data points may be returned for more than one segment, and a match rate for each of those segments may be determined.
いくつかの実施形態において、一連のGPS情報の間の一致率が閾値(例えば、65%)を下回った場合、地理的経路は、セグメントに一致しないと見なされる。いくつかの実施形態では、複数の閾値が存在し、それらの閾値内で、一連のGPS情報がセグメントに一致しうる。いくつかの実施形態において、一連のGPS情報は、低い方の閾値(例えば、65%から79%の間)でセグメントに一致すると、セグメントの穏やかな一致と見なされうる。いくつかの実施形態において、一連のGPS情報は、高い方の閾値(例えば、80%から100%の間)でセグメントに一致すると、セグメントの厳密な一致の候補と見なされうる。いくつかの実施形態において、セグメントの厳密な一致と見なされるには、一連のGPS情報は、高い方の閾値でセグメントに一致するだけではなく、セグメントの仮想のスタートラインおよびゴールラインを横切る必要がある。一連のGPS情報が、セグメントへの緩やかな一致であると見なされた場合、そのGPS情報に関連付けられた地理的経路(例えば、エフォート)が、セグメントによって参照された経路を厳密には辿っていないことを意味する。例えば、セグメントによって区切られた一般的な地形に沿ってのんびりとサイクリングをするつもりのサイクリストは、正確なセグメントから少し逸脱しうる。一連のGPS情報が、セグメントへの厳密な一致であると見なされた場合、そのGPS情報に関連付けられた地理的経路が、セグメントによって参照された経路を厳密に辿ったことを意味する。例えば、自身の記録または他人のパフォーマンスに対して、セグメントを横切るタイム(または、別のパフォーマンス測定値)を競うつもりのサイクリストは、セグメントによって区切られた領域をより厳密に辿る必要がある。また、タイムを競う目的のサイクリストは、セグメントの(一部だけではなく)全長を走ることを保証するために、セグメントの仮想のスタートラインおよびゴールラインを横切る必要がある(もしくは、セグメントがループを形成する場合には、ループセグメントに入ったエントリポイントをもう一回通過する必要がある)。 In some embodiments, if the match rate between a series of GPS information falls below a threshold (eg, 65%), the geographic path is considered not to match the segment. In some embodiments, there are multiple thresholds within which a set of GPS information may match a segment. In some embodiments, a sequence of GPS information can be considered a gentle match of a segment if it matches the segment with a lower threshold (eg, between 65% and 79%). In some embodiments, a set of GPS information may be considered a candidate for an exact match of a segment if it matches the segment with a higher threshold (eg, between 80% and 100%). In some embodiments, in order to be considered an exact match of a segment, a series of GPS information needs to cross the segment's virtual start and goal lines as well as match the segment with a higher threshold. is there. If a series of GPS information is considered a loose match to a segment, the geographic path (eg, effort) associated with that GPS information does not strictly follow the path referenced by the segment Means that. For example, a cyclist who intends to cycle slowly along the general terrain delimited by segments can deviate slightly from the exact segment. If a series of GPS information is considered an exact match to a segment, it means that the geographic path associated with that GPS information has followed the path referenced by the segment exactly. For example, a cyclist who intends to compete for time (or another performance measure) across a segment against his records or the performance of others needs to follow the area bounded by the segment more closely. Cyclists who compete for time must also cross the virtual start line and goal line of the segment (or the segment loops) to ensure that it runs the entire length (not just a part) of the segment. If so, the entry point that entered the loop segment must be passed once more).
図11Bは、いくつかの実施形態に従って、エフォートをセグメントに対してマッチングする一実施形態を示すフローチャートである。いくつかの実施形態において、処理1150は、いくつかの実施形態に従った工程1106を実行するために用いられる。
FIG. 11B is a flowchart illustrating one embodiment of matching effort to a segment according to some embodiments. In some embodiments,
処理1150の開始時に、工程1104がすでに実行されており、クエリが、セグメントの類似部分(例えば、与えられた許容範囲内の重複したMBRまたはGPSデータポイント)を返したとする。
Assume that at the start of
いくつかの実施形態において、エフォートをセグメントに対してマッチングする処理は、工程1152を含み、工程1154(緩やかな一致の決定)の後に終了し、厳密な一致の決定を含まない。いくつかの実施形態において、エフォートをセグメントに対してマッチングする処理は、工程1155から1160(厳密な一致の決定)を含むが、緩やかな一致の決定を含まない。いくつかの実施形態において、エフォートをマッチングする処理は、格納されたセグメントに対するエフォートの緩やかな一致および厳密な一致の両方の決定を含む。
In some embodiments, the process of matching an effort to a segment includes
工程1152では、エフォートとセグメントとの間の一致率が第1の閾値を超えるか否かが判定される。一致率が第1の閾値未満である(例えば、一致率が65%未満である)場合、エフォートは、セグメントに一致しないと見なされ、処理1150は終了する。一致率が第1の閾値を超える(例えば、一致率が65%を超える)場合、エフォートは、工程1154においてセグメントに対する緩やかな一致であると見なされ、制御は工程1155に進む。
In
工程1155では、エフォートとセグメントとの間の一致率が第2の閾値を超えるか否かが判定される。一致率が第2の閾値を超える(例えば、一致率が80%を超える)場合、エフォートは、セグメントに対する厳密な一致の候補であると見なされ、制御は工程1156に進む。一致率が第2の閾値未満である(例えば、一致率が65%から79%の間である)場合、エフォートは、厳密な一致ではない(緩やかな一致に過ぎない)と見なされ、処理は終了する。
In
工程1156では、エフォートがセグメントのスタートラインおよびゴールラインを横切っているか否かが判定される。スタートラインおよびゴールラインの両方を横切っている場合、エフォートは、工程1160においてセグメントの厳密な一致であると見なされる。しかしながら、ラインの一方または両方を横切っていない場合、処理は終了し、エフォートは、厳密な一致ではない(緩やかな一致に過ぎない)と見なされる。
In
いくつかの実施形態において、エフォートが、ループを形成するセグメント(例えば、ニューヨーク市のセントラルパーク)と比較される場合、ループセグメントには、スタートラインもゴールラインも作成されないので、工程1156は実行されなくてよい。代わりに、いくつかの実施形態において、ループセグメントの厳密な一致の候補と見なされたエフォートについて、エフォートが最初にループセグメントと交差した場所に関連付けられたエントリポイントが、まず決定される。次いで、エフォートが、ループセグメントの決定済みのエントリポイントを2回目に通過したと判定された場合、そのエフォートは、ループセグメントの厳密な一致であると見なされる。
In some embodiments, if the effort is compared to a segment forming a loop (eg, Central Park in New York City),
図12は、いくつかの実施形態に従って、仮想スタートラインを作成する一例を示す図である。いくつかの実施形態では、定義されたセグメントに対して仮想スタートラインが作成される。いくつかの実施形態において、記録されたエフォートを用いてセグメントが(例えば、処理400によって)定義されると、仮想スタートラインが、GPS情報および選択されたスタートポイントから導出される。いくつかの実施形態において、セグメントがループを形成する場合、セグメントに対して、スタートラインもゴールラインも作成されない。 FIG. 12 is a diagram illustrating an example of creating a virtual start line according to some embodiments. In some embodiments, a virtual start line is created for the defined segment. In some embodiments, when a segment is defined (eg, by process 400) using recorded effort, a virtual start line is derived from the GPS information and the selected start point. In some embodiments, if a segment forms a loop, no start line or goal line is created for the segment.
図12の例において、記録されたエフォートは、一連の連続的なGPS座標P1(t0)、P2(t1)、P3(t2)、P4(t3)、および、P5(t4)で表されている。ポイントP1(t0)は、P2(t1)よりも早い時間に通過され、P2(t1)は、P3(t2)よりも早い時間に通過され、以下同様である。スタートポイントは、位置1202に選択されている。選択されたスタートポイントは、P1(t0)の通過後かつP2(t1)の通過前に配置されている。一連のGPS座標の内の次のGPS座標は、未通過のP2(t1)なので、線形経路1208が、P2(t1)から、選択されたスタートポイントまで引かれている。仮想スタートライン1206は、その中心が、選択されたスタートポイントおよびP2(t1)の間の線形経路1208の中心と重なるような位置に選択される。この例において、仮想スタートライン1206は、90度の角度で線形経路1208と交差しているが、他の角度で交差してもよい。仮想スタートラインの長さは、任意の適切な長さ(例えば、100メートル)に設定されてよい。いくつかの実施形態において、仮想スタートラインは、それに関連付けられたセグメントと共にセグメントデータベースに格納されてよい。いくつかの実施形態において、仮想スタートラインは、ラインの両端の座標のみとして格納されてよい(例えば、2つの座標の間に直線を引くことによってラインを再現できるため)。いくつかの実施形態において、仮想スタートラインは、ラインに沿った密な一連の連続的なGPS座標として格納されてもよい。
In the example of FIG. 12, the recorded effort is represented by a series of continuous GPS coordinates P1 (t0), P2 (t1), P3 (t2), P4 (t3), and P5 (t4). . Point P1 (t0) is passed at a time earlier than P2 (t1), P2 (t1) is passed at a time earlier than P3 (t2), and so on. The start point is selected at
いくつかの実施形態において、ゴールラインが、前述の技術と同様に作成および格納されうる。 In some embodiments, a goal line can be created and stored similar to the techniques described above.
いくつかの実施形態において、スタート(またはゴール)ラインは、エフォートの一連のGPS情報がラインと交わると判定されうる場合に横切られたと見なされる。例えば、一連のGPS情報が離散的なポイントで形成されている場合でも、2つの連続したポイントがラインの異なる側に存在するとわかれば、関連する経路が、ラインを横切っていると見なされる。いくつかの実施形態において、一連のGPS情報内の1つのポイントがラインに近い(例えば、与えられた距離以内である)とわかれば、対応する記録が示唆しなかったとしても、実際の身体活動が仮想ラインを横切ったか否かを判定するために、エフォートについて既知の関連データ(例えば、速度、勾配、心拍数)に基づいて、一連のGPS情報の補外を行うことができる。例えば、いくつかのGPS対応デバイスは、他と異なる頻度でGPS情報を記録する。したがって、用いた記録デバイスのタイプに応じて、記録されるGPS情報の間にいくらかの相違が生じうる。しかしながら、他の既知のデータに基づいてGPS情報を補外することにより、少なくとも一部の相違を補償して、実際にラインを横切ったアスリートがそれを認められることをより確実にすることができる。 In some embodiments, a start (or goal) line is considered crossed if it can be determined that a series of effort GPS information intersects the line. For example, even if a series of GPS information is formed of discrete points, if two consecutive points are found on different sides of the line, the associated path is considered to cross the line. In some embodiments, if one point in a series of GPS information is known to be close to a line (eg, within a given distance), actual physical activity, even if the corresponding record did not suggest A series of GPS information extrapolations can be performed based on known relevant data (e.g., speed, slope, heart rate) for the effort to determine whether or not has crossed the virtual line. For example, some GPS enabled devices record GPS information at a different frequency than others. Therefore, depending on the type of recording device used, some differences can occur between the recorded GPS information. However, extrapolating GPS information based on other known data can compensate for at least some of the differences and make it more certain that athletes who actually cross the line will be allowed to do so. .
図13は、いくつかの実施形態に従って、一致するエフォートを決定するための処理の一実施形態を示すフローチャートである。 FIG. 13 is a flowchart illustrating one embodiment of a process for determining a matching effort according to some embodiments.
工程1302では、エフォートがセグメントと比較される。いくつかの実施形態において、セグメントは、すでに定義されている。いくつかの実施形態において、セグメントは、データベースに格納されている。いくつかの実施形態において、セグメントは、1セットのMBRとして格納されている。いくつかの実施形態において、セグメントは、一連のGPSデータポイントとして格納されている。いくつかの実施形態において、エフォートは、格納済みの過去のエフォートのデータベースから取得される。
In
様々な実施形態において、エフォートは、一致率を決定するために、セグメントと比較される。いくつかの実施形態において、エフォートに関連するGPS情報が取得される(例えば、データベースから)。いくつかの実施形態において、セグメントが1セットのMBRとして格納されている場合、エフォートのGPS情報も1セットのMBRに変換され、その後に比較される。いくつかの実施形態において、セグメントが1セットのGPS情報として格納されている場合、エフォートのGPS情報は変換される必要がない。 In various embodiments, the effort is compared to the segment to determine a match rate. In some embodiments, GPS information associated with the effort is obtained (eg, from a database). In some embodiments, if the segment is stored as a set of MBRs, the effort GPS information is also converted to a set of MBRs and then compared. In some embodiments, if the segment is stored as a set of GPS information, the effort GPS information need not be converted.
いくつかの実施形態において、一致率が閾値を超えた場合、エフォートは、セグメントに一致すると見なされる。いくつかの実施形態では、エフォートが、2つの異なるレベル(緩やかな一致および厳密な一致)でセグメントと一致しうる。エフォートが低い方の閾値でセグメントに一致した場合、そのエフォートは、緩やかな一致であると決定され、エフォートとセグメントとの間の地理的経路の類似度がより低いことが示唆される。エフォートが高い方の閾値でセグメントと一致し、さらに、エフォートがセグメントのスタートラインおよびゴールラインの両方を横切ると判定された(もしくは、セグメントがループを形成する場合には、エフォートがループセグメントへのエントリポイントを2回目に通過したと判定された)場合、そのエフォートは、厳密な一致である。いくつかの実施形態において、厳密な一致は、エフォート(の少なくとも一部)と、セグメントとの間の地理的経路の類似度が高いことを示す。いくつかの実施形態では、セグメントに一致するエフォートに関連付けられた識別子が、セグメントと共に格納される。いくつかの実施形態では、エフォートに一致するセグメントの識別子が、エフォートと共に格納される。 In some embodiments, an effort is considered to match a segment if the match rate exceeds a threshold. In some embodiments, the effort may match a segment at two different levels: a loose match and an exact match. If the effort matches a segment with a lower threshold, the effort is determined to be a loose match, suggesting that the similarity of the geographic path between the effort and the segment is lower. It is determined that the effort matches the segment at the higher threshold and that the effort crosses both the start line and goal line of the segment (or if the segment forms a loop, the effort If it is determined that the entry point was passed for the second time, the effort is an exact match. In some embodiments, an exact match indicates a high degree of similarity of geographic paths between (at least a portion of) the effort and the segment. In some embodiments, an identifier associated with the effort that matches the segment is stored with the segment. In some embodiments, the identifier of the segment that matches the effort is stored with the effort.
工程1304では、セグメントと比較すべきさらなるエフォートがあるか否かが判定される。いくつかの実施形態では、格納されたエフォートすべてが、セグメントと比較される。いくつかの実施形態では、格納されたエフォートのサブセットのみが、セグメントと比較される。いくつかの実施形態では、セグメントと比較されたエフォートすべてが、1ユーザに関連している。いくつかの実施形態では、セグメントと比較されたエフォートは、2以上のユーザに関連している。
In
工程1306では、一致したエフォートに関連するデータが集計される。いくつかの実施形態において、(例えば、緩やかな一致または厳密な一致として)セグメントに一致すると見なされたエフォートについて、それらの関連データ(例えば、心拍、速度、心拍数、仕事率、タイム)に(例えば、エフォートデータベースで)アクセスして集計する。例えば、集計されたデータは、別のデータベースに一時的に格納されてよい。
In
工程1308では、集計されたデータが解析される。いくつかの実施形態では、一致したエフォートの集計済みデータを用いて、計算が実行される。例えば、平均心拍数、平均速度、平均タイム、平均仕事率、および/または、平均勾配が計算されうる。いくつかの実施形態において、各エフォートの関連データのセットは、一致したエフォートのソート済みリストを作成するために、他の各エフォートの関連データのセットと比較される(例えば、そのリストは、関連データの任意の1つの測定値に基づいてソートされうる)。例えば、ソートされたリストは、最速タイムから降順に並べたエフォートのリストを含みうる。もしくは、別の例において、ソートされたリストは、最高仕事率から昇順に並べたエフォートのリストを含みうる。例えば、ソートされたリストは、最近記録されたエフォートのリストを含みうる。いくつかの実施形態において、集計されたデータの解析結果が、(例えば、ユーザインターフェースに)表示されうる。表示は、表および/または画像を含みうる。
In
図14は、いくつかの実施形態に従って、一致したエフォートについて解析されたデータの表示の一例を示す図である。いくつかの実施形態において、図14の例は、一致するエフォートが決定された選択済みのセグメントについて表示されている。言い換えると、セグメントにマッチングされた各エフォートは、各エフォートがセグメントによって参照された地理的経路を辿ったと見なされたことを示唆する。図14の例は、(例えば、デバイスの)ユーザインターフェースに表示されうる。例において、エフォートに関連する身体活動はサイクリングであるため、各エフォートを走行と呼ぶこととする。セクション1402は、ユーザ、日付(Date)、心拍数(HR)、仕事率(Watts)、および、タイム(Time)を含む最近の走行(Latest Rides)のリストを含む。セクション1404は、タイムでソートされた走行のリストであり、セグメントを走り終えた最速タイムが最初にリストされている。セクション1404のリストは、「順位表」の一例である。
FIG. 14 is a diagram illustrating an example of a display of data analyzed for matched effort, according to some embodiments. In some embodiments, the example of FIG. 14 is displayed for a selected segment for which a matching effort has been determined. In other words, each effort matched to a segment implies that each effort was considered to have followed the geographic path referenced by the segment. The example of FIG. 14 may be displayed on a user interface (eg, of a device). In the example, since the physical activity associated with the effort is cycling, each effort will be referred to as running.
地理的経路をセグメントとして定義することにより、その経路上での運動パフォーマンスの比較のために、セグメントを容易に参照することができる。いくつかの実施形態において、ユーザは、自分自身の身体活動から記録されたGPSデータを用いてユーザインターフェースでセグメントを定義することができる。いくつかの実施形態において、ユーザは、地図上で選択を行うことにより、ユーザインターフェースでセグメントを定義することができる。どのようにセグメントが定義されても、いったん定義されると、身体活動(例えば、エフォート)の格納済みの履歴にアクセスして、セグメントとマッチングすることができる。一致するエフォートの関連データが集計され、セグメントに関連するすべての身体活動の全部または一部を表すテーブルまたは画像に提示されうる。いくつかの実施形態では、記録された活動が、定義されたセグメントを含むのか一致するのかを、同じユーザまたは別のユーザが、後にチェックすることができる。後のチェックにより、ユーザは、セグメントが開始または終了する場所を正確に知る必要なしに、自分の記録済みの活動を定義および格納済みのセグメントに対して自動的にマッチングできるという恩恵を受けうる。 By defining a geographic path as a segment, the segment can be easily referenced for comparison of athletic performance on that path. In some embodiments, the user can define segments in the user interface using GPS data recorded from his own physical activity. In some embodiments, the user can define a segment in the user interface by making a selection on the map. No matter how the segment is defined, once defined, the stored history of physical activity (eg, effort) can be accessed and matched to the segment. Matching effort related data may be aggregated and presented in a table or image representing all or part of all physical activity associated with the segment. In some embodiments, the same user or another user can later check whether the recorded activity includes or matches a defined segment. Subsequent checks may benefit the user from automatically matching their recorded activities against the defined and stored segments without having to know exactly where the segments begin or end.
従来のシステムを用いて、ユーザのGPS位置およびユーザの他のデータポイントに基づいて解析を行っても、身体活動時の他のユーザとのリアルタイムなフィードバックの比較をサポートすることはできない。なぜなら、かかる解析は、以前は、ユーザのGPSデバイスをコンピュータに接続できるまで実行できなかったからである。 Analyzing based on the user's GPS location and other data points of the user using conventional systems cannot support a real-time feedback comparison with other users during physical activity. This is because such analysis could not be performed before the user's GPS device could be connected to the computer.
セグメントに関連する現行活動のリアルタイムなフィードバックを提供することが開示されている。様々な実施形態において、ユーザが、1または複数のセグメントに一致する現行活動(例えば、サイクリング、ランニング)を実行している間に、定義および格納されたセグメントを用いて、ユーザのためにリアルタイムでフィードバックを生成することができる。いくつかの実施形態において、「リアルタイム」は、ユーザが現行活動をまだ続けている間に、デバイスでユーザにフィードバックすなわち通信を提供することを含む(すなわち、フィードバックは、現行活動が継続している間に、ユーザに提供される)。様々な実施形態において、フィードバックは、フィードバックを求めるユーザによる入力を必要とすることなしに、ユーザの現行活動中に、ユーザに提供される。その代わり、いつ、どのイベントに応答して、どのタイプのコンテンツを、ユーザの活動中に提供するのかなどを示すパラメータが、ユーザによって、または、デフォルト設定によって設定されうる。フィードバックのタイプの例は、一致したセグメントでのそれまでのユーザの現在のパフォーマンスと、そのセグメントでのユーザ自身の履歴パフォーマンスデータまたは他のユーザの履歴パフォーマンスデータとの比較、近くのユーザおよび/またはセグメントの検出、ならびに、それまでのセグメントでのユーザのパフォーマンスに関するユーザ個人の成果の指摘を含みうる。結果として、ユーザは、活動を行っている最中に、セグメントのマッチング/発見または比較などを能動的に開始する必要なしに、一致した1または複数のセグメントでのユーザの現在のパフォーマンスに基づいたフィードバックと、一致したセグメントに関する他の情報とを享受することができる。例えば、身体活動中に、ユーザは、関心を持たないこともあるし、ユーザの現行活動に関するフィードバックの受信をユーザが手動で開始することが実際的ではない場合もある。 It is disclosed to provide real-time feedback on current activity associated with a segment. In various embodiments, while a user is performing a current activity (eg, cycling, running) that matches one or more segments, the defined and stored segments are used in real time for the user. Feedback can be generated. In some embodiments, “real time” includes providing feedback or communication to the user at the device while the user is still in the current activity (ie, feedback is ongoing for the current activity). In between, provided to the user). In various embodiments, the feedback is provided to the user during the user's current activity without requiring input by the user for feedback. Instead, parameters can be set by the user or by default settings that indicate when and in response to which event, what type of content is provided during the user's activities, and so on. Examples of types of feedback include comparing a user's current performance so far in a matched segment with the user's own historical performance data or other users' historical performance data in that segment, nearby users and / or It may include segment detection as well as an indication of the user's individual performance regarding the user's performance in previous segments. As a result, the user is based on the user's current performance on one or more matched segments without having to actively initiate segment matching / discovery or comparison etc. while performing the activity. You can enjoy feedback and other information about the matched segments. For example, during physical activity, the user may not be interested, or it may not be practical for the user to manually start receiving feedback regarding the user's current activity.
図15は、いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムのフィードバックを提供するためのシステムの一実施形態を示す図である。この例において、システム1500は、デバイス1502、デバイス1504、ネットワーク1506、および、セグメントマッチングサーバ1508を備える。ネットワーク1506は、様々な高速データネットワークおよび/または遠隔通信ネットワークを含む。いくつかの実施形態において、システム1500は、さらなる構成要素および/または機能に加えて、少なくともシステム200の構成要素を備える。
FIG. 15 is a diagram illustrating one embodiment of a system for providing real-time feedback during current activity associated with a segment, according to some embodiments. In this example, the
いくつかの実施形態において、ユーザは、身体活動を行う時に、デバイス1502およびデバイス1504の一方または両方を携帯することができる。例えば、一方または両方のデバイスが、ユーザの身体に身につけられてもよいし(例えば、ユーザの腕にストラップで固定)、身体活動中にユーザが用いる乗り物(例えば、自転車など)に取り付けられてもよい。
In some embodiments, a user can carry one or both of
デバイス1502およびデバイス1504の一方または両方が、位置情報(例えば、GPSデータ)および/または身体活動に関連するその他のデータ(例えば、速度、心拍数)を記録しうる。デバイス1502および/またはデバイス1504の例としては、GPSデバイス(例えば、Garmin Forerunner 110、205、301、305、310XT、405、405CX、および、Garmin Edge 305、605、705、500など、Garmin ForerunnerおよびEdgeデバイス)、GPS記録アプリケーション(例えば、MotionX、Endomondo、および、RunKeeper)を備えたスマートフォン(例えば、AndroidデバイスまたはApple iPhoneデバイス)などの携帯電話、コンピュータ、タブレットデバイス、および/または、その他の汎用コンピュータデバイスおよび/または専用コンピュータデバイスが挙げられ、それらは、通例、一般的なプロセッサと、メモリまたはその他のストレージ要素と、ネットワークまたは出入力(I/O)機能と、統合GPS機能またはサポートもしくはGPSデバイスまたはGPS機能のためのインターフェースと、を備える。
One or both of
いくつかの実施形態において、デバイス1502は、ネットワーク1506を介してリモートサーバ(セグメントマッチングサーバ1508など)とデータをやり取りする機能を備えるが、デバイス1504と通信する機能は備えない。例えば、デバイス1502は、Bluetooth(登録商標)などの無線通信用の近距離プロトコルを用いて、または、有線接続を用いて、デバイス1504と通信することができる。かかる実施形態において、デバイス1504は、ネットワーク1506を介してセグメントマッチングサーバ1508とデータをやり取りする機能を備える。したがって、デバイス1502は、デバイス1504を介してセグメントマッチングサーバ1508とデータをやり取りすることができる。かかる実施形態について、デバイス1502は、ユーザの位置情報および/または身体活動に関連するその他のデータを記録した後に、記録した情報をデバイス1504に送信する非ネットワークデバイスであってよい。例えば、デバイス1504は、記録された情報をデバイス1502から(例えば、インストール済みのアプリケーションを用いて)受信した後に、記録された情報をセグメントマッチングサーバ1508に送信することができるネットワークデバイス(スマートフォンまたはタブレットデバイスなど)であってよい。さらに、セグメントマッチングサーバ1508から送信された情報(例えば、フィードバックデータ)が、デバイス1504によって受信され、次いで、デバイス1502に送信される。
In some embodiments,
いくつかの実施形態において、デバイス1502は、ネットワーク1506を介してデータを送受信する機能を備えており(すなわち、1502はネットワークデバイスであり)、デバイス1504は、任意選択的にシステム内に含まれる。デバイス1502が、位置情報および/または身体活動に関連するその他のデータを記録して、ネットワーク1506を介してデータを送受信することができる実施形態において、デバイス1502は、デバイス1504を介することなしに、例えば、記録された情報をセグメントマッチングサーバ1508に送信し、例えば、記録された情報の解析結果をセグメントマッチングサーバ1508から受信することができる。
In some embodiments,
身体活動に関連する情報を記録して、セグメントマッチングサーバ1508と通信するために、2以上のデバイス(上記の例に記載したデバイス1502およびデバイス1504の組み合わせなど)を利用できるが、図面および以下の説明では、例示のために、1つのデバイス(ネットワーク機能を有するデバイス1502)のみを用いて、情報を記録してセグメントマッチングサーバ1508と通信することについて記載する。
Two or more devices (such as the combination of
様々な実施形態において、デバイス1502(または、そのアプリケーション)は、ユーザが身体活動を行う間に、位置情報(例えば、GPSデータ)、および/または、身体活動に関連するその他のデータを記録するよう構成される。いくつかの実施形態において、ユーザが現在行っている身体活動を、「現行活動」と呼ぶこととする。身体活動の例としては、サイクリング、ランニング、および、スキーが挙げられる。いくつかの実施形態において、GPS情報は、一連の連続的かつ離散的なGPSデータポイント(例えば、緯度および経度)を含み、各ポイントに対してタイムスタンプを備える。いくつかの実施形態において、関連データは、標高、心拍数、仕事率/ワット数(例えば、消費されたエネルギ)、タイム、速度(例えば、セグメントおよび/またはルートごとの平均および/または最大速度、例えば、平均速度はタイムおよびGPS情報から導出されうる)を含むが、これらに限定されない。いくつかの実施形態において、関連データの少なくとも一部を、「パフォーマンスデータ」と呼ぶこととする。関連データは、様々な粒度で記録されうる。例えば、関連データは、各GPSデータポイント、活動全体(例えば、関連データが測定値の平均を含む)、または、活動の一部に対応しうる。 In various embodiments, the device 1502 (or its application) may record location information (eg, GPS data) and / or other data related to physical activity while the user performs physical activity. Composed. In some embodiments, the physical activity that the user is currently performing will be referred to as the “current activity”. Examples of physical activity include cycling, running, and skiing. In some embodiments, the GPS information includes a series of continuous and discrete GPS data points (eg, latitude and longitude), with a time stamp for each point. In some embodiments, the relevant data includes elevation, heart rate, power / wattage (eg, energy consumed), time, speed (eg, average and / or maximum speed per segment and / or route, For example, the average speed may be derived from time and GPS information), but is not limited thereto. In some embodiments, at least some of the relevant data will be referred to as “performance data”. Related data can be recorded at various granularities. For example, the relevant data may correspond to each GPS data point, the entire activity (eg, the relevant data includes an average of measurements), or a portion of the activity.
いくつかの実施形態において、身体活動時にデバイス1502を用いる前に、デバイス1502が身体活動の前または最中にセグメントマッチングサーバ1508とデータをやり取りする方法を決定するために、デバイス1502のパラメータ(または、デバイス1502のアプリケーションに関連するユーザのアカウント)が設定される。デバイス1502のパラメータ(または、デバイス1502のアプリケーションに関連するユーザのアカウント)は、ユーザによって、および/または、プリセット設定によって設定できる。いくつかの実施形態において、デバイス1502に関連するパラメータは、ユーザが身体活動を開始する前にデバイス1502でセグメントマッチングサーバ1508からどのデータを受信するのかを決定するために設定されてよい。いくつかの実施形態において、パラメータは、ユーザにとって関心のないデータをフィルタアウトしたり、ユーザにとって関心のあるデータのタイプを特定したりすることができる。例えば、身体活動の前にセグメントマッチングサーバ1508から取得されたデータは、デバイス1502にローカルに格納され(例えば、キャッシュまたはその他の方法で一時的に格納され)、身体活動中にデバイス1502によって記録された情報を処理するために利用されうる。いくつかの実施形態において、デバイス1502に関連するパラメータは、身体活動中にセグメントマッチングサーバ1508と、いつ(例えば、どのような頻度で)どのタイプのデータをやり取りするのかを決定するために設定されてもよい。デバイスおよび/またはユーザに関連するパラメータは、例えば、デバイス1502で設定されうる、および/または、他で設定されてデバイス1502にダウンロードされる。いくつかの実施形態では、設定されたパラメータのコピーも、セグメントマッチングサーバ1508に送信されて保持される。例えば、身体活動中にデバイス1502から送信するデータは、記録されたGPSデータと、それまでのユーザの現行活動に関連するその他のデータとを含みうる。また、例えば、デバイス1502でセグメントマッチングサーバ1508から受信するデータは、デバイス1502から送信された記録済みのGPSデータおよびその他のデータの処理に少なくとも部分的に基づいた様々なタイプのリアルタイムフィードバックを含む。いくつかの実施形態において、デバイス1502は、新しいおよび/または更新された記録済みの情報をセグメントマッチングサーバ1508に連続的(例えば、定期的)に送信し、セグメントマッチングサーバ1508は、更新されたフィードバックデータをデバイス1502に連続的に戻しうる。いくつかの実施形態において、フィードバックデータは、ユーザの現行活動に関連する記録済みの情報が一致または近似すると判定された1または複数のセグメントを含む。いくつかの実施形態において、フィードバックデータは、現行活動でのユーザのパフォーマンスと、ユーザの現行活動が一致すると判定された1または複数のセグメントについて格納された(例えば、そのユーザまたは他のユーザの)履歴または同時のパフォーマンス情報との比較結果を含む。いくつかの実施形態において、フィードバックデータは、他のユーザが行う同時の活動に関連する通知および招待、ならびに/もしくは、ユーザの個人的な成果の指摘を含む。上記以外のタイプのフィードバックデータが、デバイス1502で受信されてもよい。いくつかの実施形態では、デバイス1502で受信されたデータ(例えば、フィードバックデータ)の少なくとも一部が、画像、テキスト、および/または、オーディオビジュアルを用いて、リアルタイムでユーザに提示される。例えば、デバイス1502のユーザインターフェースが、フィードバックデータからの比較結果を表示して、デバイス1502の音声出力が、比較結果の読み上げを出力することができる。
In some embodiments, prior to using the
様々な実施形態において、セグメントマッチングサーバ1508は、セグメントマッチングサーバ106の機能と、さらなる機能とを有する。いくつかの実施形態において、セグメントマッチングサーバ1508は、デバイス1502から受信したGPSデータが1または複数の定義されたセグメントと一致するか否かを判定するよう構成されている。例えば、セグメントマッチングサーバ1508は、それまでにデバイス1502から受信したGPSデータの少なくとも一部がセグメントの少なくとも一部を横切る(例えば、GPSデータが、現行活動中のユーザがセグメントに関連する指定済みのスタートラインを横切ったことを示唆する)という判定に基づいて、受信したGPSデータがセグメントに一致すると判定できる。いくつかの実施形態において、ユーザの現行活動について記録された位置情報がセグメントに一致すると判定された場合、そのユーザは、一致したセグメント上に存在する(すなわち、そのセグメントに沿って進んでいる)と推定される。いくつかの実施形態において、一致するセグメントが決定されると、セグメントマッチングサーバ1508は、ユーザの現行活動に基づいてデバイス1502から受信した現在のパフォーマンスデータとの比較に用いるために、一致したセグメントに関連する格納済みの履歴または同時パフォーマンスデータをリトリーブするよう構成されている。セグメントマッチングサーバ1508は、比較結果の少なくとも一部をフィードバックデータの一部としてデバイス1502に送信するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ1508は、それまでのユーザの現行活動に関する受信データに一致する1または複数のセグメントに少なくとも部分的に基づいて、他のタイプのフィードバック(例えば、他のユーザの同時進行の活動に関連する通知および招待、および/または、ユーザデータについての個人的な成果の指摘)を生成するよう構成されている。いくつかの実施形態において、セグメントマッチングサーバ1508は、セグメントマッチングを実行する、および/または、ユーザに関連して設定されたパラメータに基づいて、そのユーザのためのフィードバックデータを生成するよう構成される。いくつかの実施形態において、セグメントマッチングサーバ1508は、時間と共に更新されてデバイス1502から受信されるGPSデータおよびその他の関連データに基づいて、生成されたフィードバックデータを更新するよう構成されている。
In various embodiments, the
図16は、いくつかの実施形態に従って、ユーザが活動を行う間にシステム1500を利用する様子を示す図である。例において、ユーザ1600は、サイクリング活動を行っている。ユーザ1600が、サイクリング中にシステム1500のデバイス1502を利用していると仮定する。その活動を開始する前に、ユーザ1600は、ユーザの関心に基づいて、リモートサーバにデータを送信してフィードバックデータを受信するか、または、活動中にデバイスでローカルにフィードバックを生成するか、セグメントとの一致、他のユーザ、比較のタイプなどに関するデバイス1502のパラメータをすでに設定している。ユーザ1600は、経路に沿ってサイクリングしている時に、自分がセグメントに沿って進んでいるか否か、そして、セグメントがユーザ1600のサイクリング経路に対してどこに位置しているかを知る必要はない。しかしながら、デバイス1502を用いれば、ユーザ1600は、ユーザ1600の活動中にデバイス1502にフィードバックを提示されうる。例えば、図に示すように、ユーザ1600は、ユーザ1600が現在どのセグメントを走っているのか(“Old La Honda”)、および、ユーザ1600が現在セグメントのどの場所にいるのか(「セグメント“Old La Honda”の25%に到達しました」)を示すフィードバックデータをデバイス1502で提示されうる。ユーザ1600は、活動中にフィードバックを開始することも問い合わせることも必要なしに、セグメントに沿って進む間、連続的(例えば、定期的および/または設定されたイベント時)に、更新されたフィードバックおよび他のタイプのフィードバックデータ(例えば、「今までの最低心拍数で”Old La Honda≡を走行しています!」)を受信することができる。ユーザ1600が身体活動中に受信するフィードバックは、時に、ユーザ1600がセグメントの残り部分で自分のパフォーマンスを変化させる動機付けまたはそのたの要因となりうる。例えば、ユーザ1600が、「”Old La Honda”のトップより3秒だけ前にいます」などのフィードバックを受信した場合、ユーザ1600の目標であるならば、速度を上げてセグメントのトップに追いつくまたは追い越すように動機づけられる。この例に示すように、ユーザの現行活動中にシステム1500を利用すれば、ユーザが活動の終了後にしか知り得なかったユーザのパフォーマンスに関する情報をリアルタイムにユーザに知らせる助けとなりうる。
FIG. 16 is a diagram illustrating use of
図17は、いくつかの実施形態に従って、セグメントマッチングサーバの一実施形態を示す図である。いくつかの実施形態において、セグメントマッチングサーバ1508は、図17の例を用いて実装される。例に示すように、セグメントマッチングサーバ1508は、上述のセグメントマッチングサーバ106と同じ構成要素をいくつか(セグメントデータベース202および定義エンジン206)備えており、さらに、設定パラメータデータベース1702、フィードバックエンジン1704、エフォート/現行活動データベース1703、および、マッチングエンジン1708など、さらなる構成要素を備える。
FIG. 17 is a diagram illustrating one embodiment of a segment matching server, according to some embodiments. In some embodiments, the
いくつかの実施形態において、設定パラメータデータベース1702は、様々なデバイスおよび/またはユーザに関連する設定パラメータのセットを格納するよう構成されている。いくつかの実施形態では、データ(例えば、記録されたGPSデータおよび関連データ)がセグメントマッチングサーバ1508に送信される方法およびデータ(例えば、フィードバック)がセグメントマッチングサーバ1508から受信される方法に関する1セットのパラメータが、特定のユーザおよび/または特定のデバイスのためにユーザによって設定される。いくつかの実施形態において、パラメータのセットは、ユーザが設定したパラメータと、事前設定されたパラメータ(例えば、デバイス1502などのデバイスの製造業者によって決定されたパラメータ)とを含む。パラメータの例は、セグメントに関連するデータがデバイスにダウンロードされるか否か、そしていつダウンロードするか、特定のユーザが関心を持つセグメントに関連付けられた識別子、特定のユーザが自分自身のパフォーマンスと比較したいと思うパフォーマンスデータ(例えば、履歴または同時のパフォーマンスデータ)を有する他のユーザに関連付けられた識別子、現行活動に関連するユーザのパフォーマンスデータと、別のセットのパフォーマンスデータとの間の比較のタイプ;記録済みのGPSおよびその他のデータがデバイスから送信される頻度、デバイスから送信されるべき記録済みのGPSおよびその他のデータを送信するための1または複数のトリガ、デバイスのバッテリ寿命の節約に関する関心度、ユーザが関心を持つ個人的成果のタイプ、特定のユーザのパフォーマンスを1または複数のソーシャルメディア/ネットワークプラットフォームで共有するか否か、そしていつ共有するか、複数のユーザの間での同時性に関する時間の範囲(例えば、その定義は、身体活動を行っている少なくとも2人のユーザが互いに同時進行であると見なされる時間または距離の範囲を示す)、を含みうる。いくつかの実施形態では、1セットのパラメータが、その設定の対象となったユーザおよび/またはデバイスに関連付けられた識別子と共に格納される。
In some embodiments, the
いくつかの実施形態において、エフォート/現行活動データベース1703は、エフォートデータベース204の機能と、さらなる機能とを有する。いくつかの実施形態において、エフォートデータベース204について上述したように記録済みのエフォートのデータを格納することに加えて、エフォート/現行活動データベース1703は、ユーザの現行活動(すなわち、進行中の活動)について記録されたGPSデータおよび関連データも格納する。様々な実施形態において、ユーザの現行活動について記録されたGPSデータおよび関連データは、ユーザが現行活動をさらに進めるにつれて経時的にユーザの現行活動について記録された新規および/または更新GPSデータおよび関連データで、更新および/または追加される。例えば、ユーザ「Barry」の現在のランニング活動中に、時間t0までに記録されたGPSデータおよび関連データが、セグメントマッチングサーバ1508に送信され、エフォート/現行活動データベース1703のエントリに格納されうる。次いで、Barryの現在のランニング活動についてその後の時間t1までに記録されたGPSデータおよび関連データ(すなわち、時間t0から時間t1までに記録されたデータのみ)が、セグメントマッチングサーバ1508に送信され、エフォート/現行活動データベース1703の対応するエントリに追加される。
In some embodiments, the effort /
様々な実施形態において、マッチングエンジン1708は、マッチングエンジン208の機能と、さらなる機能とを有する。いくつかの実施形態において、マッチングエンジン1708は、ユーザが身体活動を進めるにつれて経時的にデバイス1502などのデバイスで記録された新規または更新されたGPSデータおよびその他のデータを連続的(例えば、定期的および/または様々な設定済みのトリガイベント時)に受信するよう構成されている。いくつかの実施形態において、マッチングエンジン1708は、それまでにデバイスから受信したGPSデータを用いて、GPSデータが1または複数の定義されたセグメントの少なくとも一部を横切っているか否かを判定する。例えば、マッチングエンジン1708は、GPSデータにより、記録されたGPSデータの少なくとも一部が、セグメントに対して定義された仮想スタートラインと交差したことが示された場合に、現行活動について記録されたGPSデータがそのセグメントに一致する(すなわち、ユーザが、そのセグメントの経路上または非常に近くに存在する)と判定することができる。セグメントの仮想スタートラインを定義して、仮想スタートラインが横切られたか否かを判定することは、図12を参照して上述した技術を用いて実行することが可能であり、例えば、記録されたエフォートに関連付けられたGPS情報を用いる代わりに、それまでに現行活動について記録されたGPSデータを用いて、2つの連続したポイントが仮想スタートラインの異なる側にあるか否かを判定する。異なる側にあれば、現行活動は、セグメントの仮想スタートラインを横切ったと判定されるため、そのセグメントと一致すると判定される。セグメントがループを形成する別の実施形態では、ループセグメントの仮想スタートラインを定義する代わりに、現行活動について記録されたGPSデータを用いて、現行活動が(例えば、ループセグメントの少なくとも一部を少なくとも横切ったことにより)ループに入ったか否かを判定することができる。現行活動について記録されたGPSデータが、ループセグメントの少なくとも一部を横切ったと判定された場合、その現行活動は、ループセグメントに一致すると判定される。いくつかの実施形態において、1または複数のセグメントが、現行活動について記録されたGPSデータに一致すると判定されうる。いくつかの実施形態において、時間の経過と共に、現行活動について記録されたさらなる新規および/または更新GPSデータが受信されるので、マッチングエンジン1708は、新規および/または更新GPSデータを用いて、ユーザの現行活動に関連するGPSデータが、その現行活動に一致すると以前に判定されたセグメントにまだ一致しているか否か(すなわち、ユーザがまだ、そのセグメントに関連する経路上にいるか否か)を判定することができる。ユーザの現行活動がまだセグメントに一致していると判定された場合、マッチングエンジン1708は、ユーザがセグメントに沿ってどれだけ進んだかを決定できる。例えば、それまでに受信されたユーザの現行活動について記録されたGPSデータに基づいて、マッチングエンジン1708は、ユーザがセグメントの70%まで到達したと決定しうる。いくつかの実施形態において、マッチングエンジン1708は、現在活動を行っているユーザに関連する1セットの設定済みのパラメータ(設定パラメータデータベース1702からリトリーブされる)を用いて、マッチングしたいと思うセグメントとしてユーザが特定した1または複数のセグメントを決定するよう構成されている。次いで、マッチングエンジン1708は、データベース内のすべての利用可能な/定義済みのセグメントではなく、ユーザにとって関心のあるセグメントのみと、ユーザの現行活動のGPSデータをマッチングすることができる。いくつかの実施形態において、マッチングエンジン1708は、一致した1または複数のセグメントに関連付けられた識別子をフィードバックエンジン1704に送信するよう構成されている。
In various embodiments, the
フィードバックエンジン1704は、ユーザに関連付けられている1セットの設定済みパラメータと、ユーザの現行活動と一致した少なくとも1つのセグメントに関するデータとを用いて、ユーザが利用しているデバイスに送信するフィードバックデータのタイプを決定するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、ユーザの識別子に関連付けられている設定済みパラメータのセットを設定パラメータデータベース1702からリトリーブする。いくつかの実施形態において、フィードバックエンジン1704は、ユーザの現行活動と一致するセグメントに関連付けられた識別子をマッチングエンジン1708から受信する。いくつかの実施形態において、一致したセグメントに関連付けられている受信済みの識別子を用いて、フィードバックエンジン1704は、ユーザおよび/または同じセグメントに一致した他のユーザのエフォートに関する履歴データをエフォート/現行活動データベース1703からリトリーブするよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、セグメントに一致した他のユーザの現行活動に関して同時並行で得られたデータをエフォート/現行活動データベース1703からリトリーブするよう構成されている。例えば、他のユーザの現行活動のデータは、リトリーブされた設定済みパラメータのセット内の同時性の定義に基づいてユーザと同時性を持つと判定されうる。いくつかの実施形態において、フィードバックエンジン1704は、リトリーブした設定済みパラメータのセットを用いて、ユーザが、一致したセグメントに関するリトリーブされたデータの内の少なくともどのサブセットを、ユーザの現行活動の関連データ(パフォーマンスデータとも呼ぶ)と比較したいのかを決定する。例えば、ユーザの設定済みパラメータは、ユーザが、ユーザの現行活動に関連するユーザのパフォーマンスデータを、一致したセグメント上での自分の友達Carrie、Daniel、および、Ericの履歴または同時パフォーマンスデータと比較したいと思っていることを示唆しうる。いくつかの実施形態において、フィードバックエンジン1704は、リトリーブした設定済みパラメータのセットを用いて、リトリーブした履歴および/または同時データに対して、どのタイプの比較を行うのかを決定することができる。例えば、ユーザの設定済みパラメータは、ユーザが、自分自身のパフォーマンスデータと、友達Carrie、Daniel、および、Ericに関連するパフォーマンスデータとを含む順位表に関するフィードバックデータを受信したいと思っていることを示唆しうる。いくつかの実施形態において、フィードバックエンジン1704は、(リトリーブされた設定済みパラメータのセットで示唆されたように)ユーザが関心を持つセグメントおよび/または別のユーザを近くに検出したことに関する通知を送信するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、サードパーティが運営するソーシャルネットワークに通信して、ユーザが現行活動で達成したユーザの特定のパフォーマンスおよび/またはユーザの現行活動の更新された進捗レポートの表示をソーシャルネットワークのプラットフォームに投稿するよう構成されている。いくつかの実施形態において、フィードバックエンジン1704は、上記のタイプ以外のフィードバックデータを提供するよう構成されてもよい。
The
いくつかの実施形態において、デバイス1502は、セグメントデータベース202、定義エンジン206、エフォート/現行活動データベース1703、マッチングエンジン1708、設定パラメータデータベース1702、および、フィードバックエンジン1704の少なくとも一部もしくは等価の機能を備えてよく、それにより、デバイス1502は、ユーザの活動中にセグメントマッチングサーバ1508と情報をやり取りする必要なしに、デバイス1502でリアルタイムなフィードバックを提供することができる。いくつかの実施形態において、デバイス1502は、ユーザが身体活動を行う前にセグメントマッチングサーバ1508からセグメントデータをプリフェッチしてローカルに格納する。そうすれば、活動の実行中に、プリフェッチ済みのデータに基づいて、フィードバックデータ(例えば、少なくとも一致したセグメントを含むデータ)が生成されうる。
In some embodiments,
図18は、いくつかの実施形態に従って、セグメントに関連する現行活動中にリアルタイムのフィードバックを提供するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1800は、システム1500で実施される。いくつかの実施形態において、処理1800は、システム1500のデバイス1502で実施される。
FIG. 18 is a flowchart illustrating one embodiment of a process for providing real-time feedback during current activity associated with a segment, according to some embodiments. In some embodiments,
工程1802では、ユーザの現行活動に関連するセグメントが、それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて決定される。いくつかの実施形態において、位置情報(例えば、GPSデータ)は、ユーザが活動を行っている間にユーザの現行活動(例えば、サイクリングまたはランニング)について記録される。いくつかの実施形態では、ユーザの現行活動の関連データも、ユーザが活動を行っている間に記録される。関連データ(例えば、速度、心拍数、仕事率/ワット、リズム)の少なくとも一部は、現行活動中のユーザパフォーマンスに関連する。経時的に、さらなるGPSデータおよび関連データが、ユーザの現行活動について記録される。ユーザの現行活動中の或る時点に、記録済みのGPSデータの少なくとも一部を用いて、ユーザの現行活動に関連するセグメントが決定される。いくつかの実施形態において、ユーザの現行活動に関連するセグメントは、ユーザの現行活動についてそれまでに記録された位置情報の少なくとも一部が一致するセグメントである。
In
工程1804では、セグメントでのユーザの現行活動に関連するリアルタイムのセグメントパフォーマンス情報が伝達される。いくつかの実施形態において、伝達されるパフォーマンス情報のタイプおよび方法は、ユーザおよび/または位置情報を生成したデバイスに関連する設定済みパラメータのセットに基づいて決定される。いくつかの実施形態において、(例えば、セグメントマッチングによって)セグメントが決定されると、そのセグメントに関連して格納されたデータがリトリーブされる。いくつかの実施形態において、リトリーブされたデータは、ユーザ(現行活動を行っているユーザと、その他のユーザとを含む)の関連セグメント(例えば、一致したセグメント)に関する履歴パフォーマンスデータと、現在セグメント上にいる他のユーザの関連セグメントに関する同時パフォーマンスデータとを含みうる。いくつかの実施形態において、それまでに決定済みセグメントでユーザの現行活動について記録されたパフォーマンスデータは、決定済みセグメントに関連するリトリーブ済みのデータの対応する部分と比較され、比較結果は、伝達されるパフォーマンス情報を含む。例えば、比較結果は、決定済みセグメントでのユーザの履歴パフォーマンスデータをそのセグメントでのユーザの現行活動のパフォーマンスデータと比較することによって生成されうる。いくつかの実施形態において、パフォーマンス情報は、セグメントに沿ったユーザの現在の進捗を含み、それまでに記録された位置情報と、セグメントに沿って地理的位置を特定するデータとに少なくとも部分的に基づいて決定される。いくつかの実施形態において、パフォーマンス情報は、記録された位置情報と、ユーザの現行活動の関連データとに基づいた、達成された個人的成果に関する指摘を含む。いくつかの実施形態において、決定済みのセグメントでのユーザの現行活動に関連するパフォーマンス情報(他の情報の代わりまたは追加で)が、(例えば、位置情報および関連データを生成したデバイスの)ユーザインターフェースの表示もしくは音声および/または映像出力を通して伝達されうる。
At
いくつかの実施形態において、ユーザの現行活動の現在位置に近接/隣接したセグメントに関する情報も伝達される。いくつかの実施形態において、ユーザの現在位置に近接または隣接するセグメントは、ユーザの現行活動に一致しないがユーザの現在位置まで指定された距離の範囲内にあるセグメントを含む。例えば、ユーザは、ユーザの現在位置および/またはユーザが現在進んでいるセグメントに近い(例えば、半径10マイルの範囲内など、指定された距離の範囲内の)推奨セグメントに関心を持ちうる。近くのセグメントをユーザに知らせれば、ユーザが、存在を知らなかったセグメントまたは現在位置の近くに存在することを知らなかったセグメントを発見するのに役立ちうる。いくつかの実施形態では、1または複数の基準に合うセグメントのみが検出されてユーザに推奨されるように、ユーザに対して近くのセグメントの検出/通知/推奨を行うためのフィルタのパラメータが設定されうる。例えば、近くのセグメントの検出に関する基準は、以下の内の1または複数を含みうる。ユーザの現在位置まで特定の距離の範囲内にあるセグメント、ユーザが関心を持っていることを示唆したセグメント、ユーザが関心を持っていることを示唆したセグメントに(例えば、地理、距離、標高、および/または、その他の基準に基づいて)類似していると判定されたセグメント、ならびに/もしくは、1または複数の他のユーザの間で人気があると判定されたセグメント。いくつかの実施形態において、ユーザが現行活動を行うと現在位置が変化するため、近くのセグメントの検出は、ユーザの現行活動の間中、定期的および/またはその他のイベント時に実行されうる。例えば、ユーザが現行活動を進めていくと、新しいおよび/または異なる地理的領域に入る場合があり、そこで、異なるセットの近くのセグメントが検出されてユーザに推奨されうる。いくつかの実施形態において、ユーザの現行活動中に各イベントが起きた時に、設定済みの基準およびユーザの更新された現在位置に基づいて、近くのセグメントの決定がなされうるように、かかるイベントが設定されうる。例えば、イベントは、以前の決定から10分間の経過、または、以前の決定から5マイルの距離の進行であってよい。 In some embodiments, information about segments close / adjacent to the current location of the user's current activity is also communicated. In some embodiments, segments that are close to or adjacent to the user's current location include segments that do not match the user's current activity but are within a specified distance to the user's current location. For example, the user may be interested in recommended segments that are close to the user's current location and / or the segment the user is currently traveling (eg, within a specified distance, such as within a 10 mile radius). Informing the user of nearby segments can help the user find a segment that did not know about the presence or that did not know about the current location. In some embodiments, a filter parameter is set to detect / notify / recommend nearby segments for the user so that only segments that meet one or more criteria are detected and recommended to the user. Can be done. For example, criteria for detection of nearby segments may include one or more of the following. For segments that are within a certain distance to the user ’s current location, that suggests that the user is interested, or that suggest that the user is interested (for example, geography, distance, elevation, Segments determined to be similar (based on and / or other criteria) and / or segments determined to be popular among one or more other users. In some embodiments, detection of nearby segments may be performed periodically and / or during other events throughout the user's current activity because the current location changes as the user performs the current activity. For example, as a user proceeds with current activity, they may enter new and / or different geographic regions, where different sets of nearby segments can be detected and recommended to the user. In some embodiments, such events are determined so that as each event occurs during the user's current activity, a determination of nearby segments can be made based on the established criteria and the user's updated current location. Can be set. For example, an event may be a 10 minute progress from a previous decision, or a progression of 5 miles from a previous decision.
図19は、いくつかの実施形態に従って、デバイスで記録された情報をリモートのセグメントマッチングサーバに送信することに関するパラメータを設定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理1900は、システム1900で実施される。いくつかの実施形態において、処理1900は、処理1800の実行前に実施される。
FIG. 19 is a flow diagram illustrating one embodiment of a process for setting parameters related to sending information recorded at a device to a remote segment matching server, according to some embodiments. In some embodiments,
処理1900は、サーバがデータを受信して解析を実行できるように、記録済みのGPSデータおよび関連データ(例えば、パフォーマンスデータ)が、記録されているデバイスから、セグメントマッチングサーバ(セグメントマッチングサーバ1508など)に送信される時に関連するパラメータを設定するために利用されうる。いくつかの実施形態において、処理1900の選択は、デバイス1502などのデバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、処理1900によって設定されたパラメータは、格納されてユーザの活動中に利用されうる。いくつかの実施形態において、データ送信のためのパラメータは、例に示したものより多くても少なくてもよい。いくつかの実施形態において、設定されたパラメータに基づいて、デバイスが記録済みデータをセグメントマッチングサーバに送信する頻度は、ユーザの現行活動を通して動的でありうる。いくつかの実施形態において、データ送信のために設定されたパラメータが、より高い頻度のデータ送信を定義した場合、サーバから返されるデータ解析結果(すなわち、フィードバックデータ)は、より高頻度/詳細になりうるが、デバイスの電力消費が増大する。しかしながら、データの送信頻度を低くすると、サーバからのフィードバックデータの頻度は低くなるが、デバイスの電力消費は小さくなる。
The
工程1902では、データの送信をトリガするイベントが設定されるか否かが決定される。トリガイベントが設定される場合、制御は工程1904に進む。そうれなければ、制御は工程1906に進む。工程1904では、1または複数のトリガイベントの定義が受信される。例えば、ユーザが休憩している、および/または、ユーザの現行活動に関して異常なことが起きていることを示しうるユーザの現行活動の中断に、1つのトリガイベントが関連付けられうる。
In
工程1906では、データの送信が定期的に行われるか否かが決定される。データが定期的に送信される場合、制御は工程1908に進む。そうれなければ、制御は工程1910に進む。工程1908では、期間定義が受信される。例えば、期間は、データが10秒ごとにサーバに送信されるように設定されうる。
In
工程1910では、データの送信が、デバイスのバッテリ寿命の節約に関する関心度に依存するか否かが決定される。データの送信が、バッテリ寿命の節約に関する関心度に依存する場合、制御は工程1912に進む。そうれなければ、制御は工程1914に進む。工程1912では、バッテリ寿命節約に関連する1または複数の定義が受信される。例えば、デバイスのバッテリ寿命の節約に対するいくつかのレベルの関心度(例えば、バッテリ寿命の節約を強く望むレベルからバッテリ寿命の節約への関心が低いレベルまで)が、記録済みのデータをサーバに送信する頻度についての対応する設定と共に定義されうる。したがって、例えば、バッテリ寿命の節約への強い関心度は、比較的低い頻度でデータをサーバに送信することに関連付けられ、バッテリ寿命の節約への低い関心度は、比較的高い頻度でデータをサーバに送信することに関連付けられる。
In
工程1914では、他のルールが設定されるか否かが決定される。他のルールが設定される場合、制御は工程1916に進む。そうでなければ、処理1900は終了する。例えば、工程1902、1906、および、1910に記載された例以外のルールが定義されうる。
In
図20は、いくつかの実施形態に従って、セグメントデータをサーバからプリフェッチして、デバイスでリアルタイムのフィードバックを生成するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2000は、システム1500で実施される。
FIG. 20 is a flowchart illustrating one embodiment of a process for prefetching segment data from a server and generating real-time feedback at a device according to some embodiments. In some embodiments,
処理2000を用いれば、ユーザの身体活動の開始前にセグメントマッチングサーバ(セグメントマッチングサーバ1508など)からどのデータをプリフェッチするのかを決定し、後になってユーザの身体活動中にデバイスでローカルにリアルタイムのフィードバックを生成できるように、かかるデータをデバイスに格納することができる。いくつかの実施形態において、処理2000は、活動のGPSデータが決定されうるように、ユーザの身体活動中にネットワーク接続の利用を必要とするが、セグメントマッチングサーバからプリフェッチしたデータを用いて、フィードバックデータを生成するための解析をローカルで実行できるため、リモートのセグメントマッチングサーバに記録済みのGPSデータおよびその他のデータを繰り返し送信する必要はない。いくつかの実施形態において、処理2000は、リモートのセグメントマッチングサーバと頻繁に通信する必要のある処理よりも、バッテリ寿命の消費が遅く、フィードバックデータを早く提供しうる。
Using
工程2002では、任意選択的に、セグメントに関連する1または複数の選択が受信される。いくつかの実施形態において、かかる選択は、デバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、工程2002は、ユーザが身体活動を行う前に(また、おそらくは、ユーザが身体活動を始める準備の時に)ユーザがマッチングしたいと思うセグメントのみを選択する機会をユーザに与える。したがって、工程2002において受信されたセグメントに関する選択を用いて、データが格納されている全セグメントではなく、上記のようなセグメントのみを含むデータを決定することができる。
In
いくつかの実施形態において、かかる1または複数の選択は、ユーザにとって関心のあるセグメントにも関連してよく、かかるセグメントは、ユーザが身体活動中にセグメントの近く(例えば、半径10マイル以内など、指定された距離の範囲内)にいる場合に検出される。例えば、ユーザは、ユーザにとって関心のあるセグメントに関連するセグメントデータを選択して、セグメントマッチングサーバからプリフェッチすることが可能であり、そうすれば、ユーザは、身体活動中、かかるセグメントの近くにいる時に通知される。例えば、後に、ユーザが身体活動を行っている時に、セグメントマッチングサーバからデバイスにロードされたプリフェッチ済みのデータは、ユーザの現行活動がセグメントに一致しているか否か、および/または、ユーザの現在位置の近くにセグメントがあるか否かを(例えば、定期的および/またはユーザがXマイル進むごとに)判定するために利用されうる。 In some embodiments, such one or more selections may also be related to segments of interest to the user, such segments being close to the segment during physical activity by the user (eg, within a 10 mile radius, etc.) Detected when in the specified distance range. For example, the user can select segment data related to the segment of interest to the user and prefetch from the segment matching server so that the user is close to such segment during physical activity Be notified at times. For example, later, when the user is performing physical activity, the prefetched data loaded into the device from the segment matching server may indicate whether the user's current activity matches the segment and / or the user's current It can be utilized to determine if there is a segment near the location (eg, periodically and / or every time the user travels X miles).
工程2004では、セグメントに関するデータが、1または複数の選択に少なくとも部分的に基づいてサーバから取得される。いくつかの実施形態において、選択によって特定されたセグメントに関するデータは、セグメントに一致すると判定されたエフォートの履歴パフォーマンスデータ、および、セグメントの各々を規定する地理情報(例えば、タイルまたはMBRのセット)の一方または両方を含む。
At
いくつかの実施形態において、1または複数の選択によって特定されたセグメント以外のセグメントに関するさらなるセグメントデータが取得されてもよい。例えば、選択されたセグメントに類似すると判定されたセグメントに関するデータが取得されてもよい。 In some embodiments, additional segment data regarding segments other than those identified by one or more selections may be obtained. For example, data regarding a segment determined to be similar to the selected segment may be acquired.
工程2006では、取得されたデータがローカルに格納される。ユーザの身体活動の開始前に取得されたデータは、デバイスの一時記憶装置または永続記憶装置のいずれかに格納されてよく、そうすれば、後にユーザの身体活動中に利用できるため、ユーザが現在身体活動を行っている間に、一致するセグメントおよび/またはユーザに近い任意のセグメントを決定するために、リモートのセグメントマッチングサーバが必要にならない。
In
工程2008では、ユーザの現行活動に関連する位置情報およびパフォーマンス情報が、格納済みのデータと比較される。例えば、それまでにユーザの現行活動について記録されたGPSデータの少なくとも一部を用いて、ユーザ活動の開始前にセグメントマッチングサーバからプリフェッチされたデータを含むデータがローカルに格納されているセグメントをマッチングすることができる。また、例えば、ユーザの現行活動に一致したセグメントに一致すると判定されたエフォートの履歴パフォーマンスデータを用いて、それまでのユーザの現行活動について記録されたパフォーマンスデータと比較することができる。いくつかの実施形態において、ユーザの現行活動に関する位置情報およびパフォーマンス情報ならびにローカルに格納された情報を用いて、他の判定がなされてもよい。例えば、ローカルに格納されたデータを用いて、ユーザの現在位置に近接/隣接したセグメントが存在するか否かを判定することができる。
In
図21は、いくつかの実施形態に従って、ユーザの現行活動のパフォーマンスデータとの比較のために取得されるデータへのフィルタに関するパラメータを設定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2100は、システム1500において実施される。
FIG. 21 is a flowchart illustrating one embodiment of a process for setting parameters relating to a filter on data obtained for comparison with performance data of a user's current activity, according to some embodiments. In some embodiments,
処理2100は、ユーザが関心を持つデータ(例えば、ユーザの現行活動中にセグメントマッチングサーバ1508などのセグメントマッチングサーバから取得される)のタイプを特定するパラメータを設定するために利用されうる。なお、パラメータは、ユーザにとって関心のないデータをフィルタアウトするために利用できる。いくつかの実施形態において、処理2100の選択および定義は、例えば、デバイスに関連するユーザインターフェースでユーザによって入力されうる。いくつかの実施形態において、処理2100は、潜在的にマッチングしたい、または、現行活動中に近くにあるか否かを検出したいと、ユーザが実際に思うセグメントのサブセット(例えば、ユーザは多くのセグメントを含む地理的領域を横切りうるため、セグメントの多くに関心を示さないため)、他のユーザに関連するパフォーマンスデータのサブセット(例えば、ユーザは、友達である特定の他のユーザとのみパフォーマンスの比較を行いたいと思う場合があるため)、および、少なくとも2人のユーザの間の同時性の範囲に関するユーザ所望の定義(例えば、ユーザは、自分のパフォーマンスデータを「同時の」ユーザと比較したいと思い、時間的または空間的に近いと思うユーザのみを含むように同時性の範囲を定義して、そのようなユーザのパフォーマンスデータが同じセグメントの同時ユーザとして比較されうるよう望むため)を特定するために利用される。例に示したようなフィルタとして機能しうるパラメータを設定することにより、大量のデータ(そのほとんどは、デバイスを利用するユーザにとって潜在的に望まれていない)をデバイスでリトリーブすることなしに、焦点を絞った効率的な方法でセグメントマッチングサーバからデータをリトリーブすることができる。
工程2102では、マッチングすべき、または、近くにあるか否かを検出すべき1または複数のセグメントに関する1または複数の選択がリトリーブされる。いくつかの実施形態において、セグメントに関する選択は、セグメントの名称(例えば、「Old La Honda」)に対応する識別子であってもよいし、1または複数のセグメントの特性(例えば、距離=30+マイル、難関度=中、セグメント内の傾斜の最大数=5)を記述してもよい。次いで、選択は、選択内に含まれる記述に対応する1または複数のセグメントを検索するために利用されてよく、見つかったセグメントは、ユーザの現行活動の記録済みのGPSデータと比較され、ユーザの現行活動が、見つかったセグメントの内の任意の1または複数のセグメントと一致するか否か、または、近くにあるか否かが判定される。換言すると、選択の対応するセグメントのみを用いて、それらの内のいずれかが、ユーザの現行活動が行われているセグメントであるか否か、および/または、ユーザの現在位置に近いか否かを判定する。
In
工程2104では、検出対象の1または複数の他のユーザに関する1または複数の選択がリトリーブされる。いくつかの実施形態において、他のユーザに関する選択は、ユーザの現行活動が一致したセグメントでの他のユーザのパフォーマンスデータの内、ユーザが同じセグメントでの自分のパフォーマンスデータと潜在的に比較したいと思うのはどのデータであるのかを判定するために利用される。例えば、ユーザBarryは、自分のパフォーマンスデータを友達のデータとのみ比較したいと思うかもしれない。いくつかの実施形態において、他のユーザに関する選択は、ユーザが活動を行っている時にどの他のユーザを検出したいのかを決定する。例えば、ユーザBarryは、友達のCarrie(Carieもデバイス1502などのデバイスを用いる)も近く(例えば、Barryがサイクリングしていない時にBarryと同じセグメントまたは近くのセグメント)で身体活動を行っているという通知をいつ受信するのかを設定することができる。いくつかの実施形態において、検出対象の他のユーザに関する選択は、他のユーザに関連付けられた識別子、例えば、セグメントマッチングサーバのユーザのアカウントに関連付けられたユーザの実際の名前またはニックネーム、を含む。いくつかの実施形態において、検出対象の他のユーザに関する選択は、1または複数の身体的特徴、例えば、年齢の範囲、性別、および、関連する経験レベル、を含む。例えば、ユーザBarryは、自分と似た身体的特徴を持つユーザ(ユーザとすでに友達であってもなくてもよい)を、身体活動を行っていない時に検出したいと思いうる。そうすれば、Barryの活動中にそのようなユーザとパフォーマンスデータの比較が行われるため、Barryは、類似した個人とのパフォーマンスの対比を知ることができる。
In
工程2106では、少なくとも2人のユーザの間の同時性の範囲の定義が受信される。いくつかの実施形態において、同時性の範囲の定義は、その範囲内にある2以上のユーザを同時であると分類するための時間または距離の範囲であってよい。例えば、2人のユーザが、同じセグメントに沿ってサイクリングしていたとしても、異なる時間に出発した場合があり、結果として、各々が所与の時間にセグメントの別の地点にいることになる。しかしながら、ユーザは、2人のユーザが、同時にセグメントをスタートしなかった場合、および/または、並んでサイクリングしていない場合でも、同じセグメントにいる別のユーザを自分と同時であると見なしたい場合がある。したがって、例えば、ユーザは、同時性の範囲を、2人のユーザの間の距離10マイルまで、または、2人のユーザの間のスタート時間の差2分まで、と定義できる。このように、ユーザは、現在同じセグメントに存在するがユーザの1分前にセグメントの仮想スタートラインを横切った別のユーザに関するフィードバックデータを潜在的に受信できる。こうして、ユーザは、他の同時のユーザの知識を受信すると、その同時のユーザに追いつくまたは追い越すよう動機づけられうる。
At
図22は、いくつかの実施形態に従って、ユーザの現行活動にセグメントをマッチングさせるための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2200は、デバイス1502において実施される。
FIG. 22 is a flowchart illustrating one embodiment of a process for matching a segment to a user's current activity in accordance with some embodiments. In some embodiments,
処理2200は、ユーザの現行活動中にユーザがセグメントに一致した場合(すなわち、ユーザがセグメント上で活動を行っている場合)を決定するための技術の一例である。
工程2202では、ユーザの現行活動に関する位置情報が記録される。いくつかの実施形態において、位置情報は、GPSデータを含む。いくつかの実施形態において、ユーザの現行活動の位置情報は、ユーザによって、または、情報を記録するデバイス1502などのデバイスのデフォルト設定によって設定された頻度で記録される。いくつかの実施形態において、記録された位置情報は、リモートセグメントマッチングサーバ1508などのリモートセグメントマッチングサーバに送信される。
In
工程2204では、セグメントの仮想スタートラインが横切られたか否かが判定される。いくつかの実施形態では、ユーザの現行活動中にそれまでに記録された位置情報の少なくとも一部を用いて、活動の地理的経路が格納済みのセグメントに対して定義された仮想スタートラインを横切ったか否かを判定する。例えば、仮想スタートラインが横切られたか否かの判定は、図12で説明した技術に基づいてなされうる。いくつかの実施形態において、工程2204の判定は、セグメントマッチングサーバでなされる。いくつかの実施形態において、工程2204の判定は、セグメントデータ(例えば、セグメントおよびそれらの仮想スタートラインを定義するデータのセット)がデバイスにローカルに格納されている場合、そのデバイスでなされる。仮想スタートラインが横切られたと判定された場合、制御は工程2206に進む。仮想スタートラインがまだ横切られていないと判定された場合、制御は工程2202に戻り、ユーザの現行活動に関するさらなる位置情報が、経時的に記録される。
In
工程2206では、横切られたスタートラインに関連するセグメントが、ユーザの現行活動に一致すると決定される。いくつかの実施形態では、ユーザの現行活動の位置情報が横切ったと判定された仮想スタートラインに関連するセグメントについて、ユーザが、そのセグメントに存在すると仮定される。いくつかの実施形態において、セグメントに一致すると判定されたエフォートに関連する履歴パフォーマンスデータおよび/またはセグメントに一致すると判定された他のユーザの現行活動の同時パフォーマンスデータが、セグメントマッチングサーバからリトリーブされるか、または、かかるデータのコピーがデバイスでローカルに入手可能である場合にはローカルでリトリーブされる。リトリーブされたデータは、例えば、ユーザの現行パフォーマンスデータと、一致したセグメントでのユーザの履歴パフォーマンスデータとの比較結果、ならびに、ユーザの現行パフォーマンスデータと、一致したセグメントでの他のユーザの履歴および/または同時パフォーマンスデータとの比較結果など、ユーザのための1または複数のタイプのフィードバックデータを提供するために利用されうる。
In
いくつかの実施形態において、格納されたセグメントがループを形成し、それに対して定義された仮想スタートラインを持たない場合、ユーザの現行活動がかかるループセグメントに一致するか否かを判定する際には、工程2204も工程2206も実行されなくてよい。代わりに、いくつかの実施形態では、ユーザの現行活動について記録された位置情報がループセグメントの少なくとも一部を横切った(これは、ユーザがループに入ったことを示しうる)場合に、ユーザの現行活動がループセグメントに一致すると判定される。
In some embodiments, when the stored segment forms a loop and does not have a virtual start line defined for it, in determining whether the user's current activity matches such a loop segment Neither
図23は、いくつかの実施形態に従って、セグメントに沿ったユーザの進捗を決定するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2300は、システム1500において実施される。いくつかの実施形態において、処理1800は、処理2300を用いて実施される。
FIG. 23 is a flowchart illustrating one embodiment of a process for determining a user's progress along a segment in accordance with some embodiments. In some embodiments,
処理2300は、ユーザの現行活動がセグメントに一致する(すなわち、セグメント上で行われている)と(処理2200などの処理で)判定された後に利用されうる。処理2300は、経時的に(例えば、定期的に)、ユーザの現行活動が、一致したセグメント上で継続されているか否かを判定し、そうである場合に、ユーザがセグメントに沿ってどれだけ進んだかを決定するために利用できる。いくつかの実施形態では、ユーザがまだ、一致したセグメント上を進んでいると判定された場合に、その判定に少なくとも部分的に基づいてフィードバックデータが提供される。
工程2302では、ユーザの現行活動に関連するセグメントが決定される。いくつかの実施形態において、セグメントは、処理2200などの処理を用いてユーザの現行活動についてそれまでに記録された位置情報の少なくとも一部に一致するセグメントとして決定される。
At
工程2304では、ユーザがまだセグメント上にいるか否かが判定される。いくつかの実施形態において、工程2304は、一致したセグメントが決定された後の或る時に実行される。いくつかの実施形態では、工程2304では、ユーザの現行活動についてそれまでに記録された位置情報を、一致したセグメントを定義するデータ(例えば、MBRのセット)と比較して、ユーザの現行活動がまだセグメントに沿って進んでいるのか、セグメントから逸脱したのかを判定する。例えば、一致したセグメントが、格納されたMBRのセットとして表される場合、ユーザの現行活動についてそれまでに記録された位置情報も、MBRのセットに変換されうる。次いで、ユーザの現行活動についてそれまでに記録された位置情報に関連するMBRが、格納されたセグメントに関連する1セットのMBRの少なくとも一部とほとんど重複する場合に、ユーザの現行活動がまだセグメント上にあると判定される。いくつかの実施形態において、工程2304の判定は、セグメントマッチングサーバ1508などのリモートセグメントマッチングサーバで実行されるか、もしくは、セグメントデータがデバイス1502などのデバイスにローカルに格納されている場合にそのデバイスで実行される。ユーザがもはやセグメント上にいないと判定された場合、処理2300は終了する。ユーザがまだセグメント上にいると判定された場合、制御は工程2306に進む。
In
工程2306では、セグメントに沿った現在の進捗が、それまでのユーザの現行活動に関連する位置情報に少なくとも部分的に基づいて決定される。例えば、ユーザの現行活動についてそれまでに記録された位置情報から変換されたMBRと重複する格納済みセグメントに関連する1セットのMBRの割合を決定することが可能であり、この割合をセグメントに沿ったユーザの現在の進捗として決定できる。
At
工程2308では、現在の進捗に少なくとも部分的に基づいたセグメントでのユーザの現行活動に関連するリアルタイムのセグメントパフォーマンス情報が伝達される。いくつかの実施形態では、工程2308は、任意選択的に実行される。いくつかの実施形態において、セグメントにおけるユーザの決定された現在の進捗に少なくとも部分的に基づいて決定されたパフォーマンス情報のフィードバックデータが伝達される。例えば、設定されたパラメータを用いて、どのような場合に、現在の進捗がユーザに伝達されるのが望ましいのかを決定できる。一例としては、ユーザがセグメントの中間地点にいる時であり、その時に、いくつかのパフォーマンス情報(例えば、パフォーマンスデータの比較に基づいて決定されたもの)が、ユーザに伝達される。例えば、かかるフィードバックデータのユーザへの伝達は、「Old La Hondaの中間地点を過ぎました。自己最高記録のペースを11秒上回っています」という表示および/または音声出力としてデバイスでなされうる。
In
図24は、いくつかの実施形態に従って、ユーザの現行活動に関するリアルタイムのパフォーマンス情報を伝達するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理2400は、システム1500において実行される。いくつかの実施形態において、処理1800の工程1804は、処理2400を用いて実施される。
FIG. 24 is a flowchart illustrating one embodiment of a process for communicating real-time performance information regarding a user's current activity in accordance with some embodiments. In some embodiments,
処理2400は、ユーザの現行活動中にユーザに提供されるリアルタイムフィードバックのタイプを決定する一例として利用されうる。
工程2402では、ユーザの現行活動に一致すると判定されたセグメントに関するデータがリトリーブされる。いくつかの実施形態では、(例えば、ユーザの現行活動についてそれまでに記録された位置情報に基づいて)、ユーザの現行活動がセグメントに一致することがすでに判定されている。いくつかの実施形態において、セグメントに一致すると判定されたエフォートに関連する履歴パフォーマンスデータおよび/またはセグメントに一致すると判定された他のユーザの現行活動の同時パフォーマンスデータが、セグメントマッチングサーバ1508などのリモートセグメントマッチングサーバからリトリーブされる。
In
工程2404では、それまでのユーザの現行活動に関するパフォーマンスデータが、リトリーブされたデータと比較される。いくつかの実施形態において、ユーザの現行活動についてデバイス(デバイス1502など)によって記録された関連データのパフォーマンスデータ部分が、リトリーブされたデータと比較される。様々なタイプのデータ比較が実行されうる。いくつかの実施形態では、行われる比較のタイプは、リトリーブされた設定済みパラメータのセットによって指定される。例えば、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同じセグメントでのユーザ自身の履歴パフォーマンスデータ(例えば、そのユーザの以前に一致したエフォートに由来するもの)と比較されうる。また、例えば、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同じセグメントでの他のユーザの履歴パフォーマンスデータ(例えば、他のユーザの以前に一致したエフォートに由来するもの)と比較されうる。別の例では、セグメントでのユーザの現行活動に関するパフォーマンスデータは、同時に同じセグメントにいる他のユーザのパフォーマンスデータと比較されうる。
In
工程2406では、比較に少なくとも部分的に基づいて決定された結果が提示される。例えば、比較結果は、画像、テキスト、映像、および、音声の内の1または複数を用いてデバイスのユーザインターフェースでユーザに提供されうる。
At
ユーザがまだ活動を行っている時、または、ユーザが活動を終えた直後に、デバイス1502などのデバイスで決定および提示されうるリアルタイムフィードバックデータのいくつかの例を以下に示す。
Below are some examples of real-time feedback data that can be determined and presented on a device, such as
それまでのセグメントでのユーザの現行活動に関する記録済みのパフォーマンスデータに基づいてユーザの将来のパフォーマンスを推定することに基づいて決定されたフィードバックデータの例は以下を含む。 Examples of feedback data determined based on estimating a user's future performance based on recorded performance data regarding the user's current activity in previous segments include:
「80Paradise Loopルートに入って34マイルです。現在のペースでは、2時間15分後、4:30pmにゴールします」 “It ’s 34 miles on the 80 Paradise Loop route. At the current pace, we ’ll reach 4:30 pm in 2 hours and 15 minutes.”
「Paradise Loopルートのおよそ半分です。あなたの全平均ペースでは、45分でゴールします」 “It's about half of the Paradise Loop route. At your full average pace, you will finish in 45 minutes.”
「Paradise Loopルートのおよそ半分です。現在の平均ペースでは、35分でゴールします」 “It's about half of the Paradise Loop route. At the current average pace, we will finish in 35 minutes.”
「Paradise Loopルートのおよそ半分です。平均的なライダーでは、45分でゴールです」 “About half of the Paradise Loop route. For average riders, the goal is 45 minutes.”
セグメントでのユーザの現行活動に関するパフォーマンスデータを、同じセグメントでのそのユーザの履歴パフォーマンスデータと比較することに基づいて決定されたフィードバックデータの例は以下を含む。 Examples of feedback data determined based on comparing performance data regarding a user's current activity in a segment with the user's historical performance data in the same segment include:
「Old La Hondaでの自己最高記録を22秒更新しました」 “Old La Honda has updated his record for 22 seconds”
「Old La Hondaで3位の自己記録が出ました。1ヶ月前の自己最高記録と13秒の差です」 “Old La Honda has a third-place self-record. It ’s a difference of 13 seconds from the highest one month ago.”
「現在Old La Hondaの中間地点です。自己最高記録のペースを11秒上回っています」 “Currently the middle point of Old La Honda. I ’m 11 seconds faster than my best record.”
「現在Old La Hondaの中間地点です。自己最高記録のペースを7秒下回っています」 “Currently the middle point of Old La Honda. It is 7 seconds below the record pace of my personal record.”
セグメントでのユーザの現行活動に関するパフォーマンスデータを、同じセグメントでの他のユーザの履歴または同時パフォーマンスデータと比較することに基づいて決定されたフィードバックデータの例は以下を含む。 Examples of feedback data determined based on comparing performance data regarding a user's current activity in a segment with other users' historical or concurrent performance data in the same segment include:
「Old La Hondaの最高記録を更新しました。Mark Shawの以前の記録を22秒上回りました」。この例では、Mark Shawに関連するデータは、履歴であり、Old La Hondaでのユーザの現行活動と同時進行のデータではない。 “Old La Honda's best record has been updated. The previous record of Mark Shaw was 22 seconds higher.” In this example, the data related to Mark Shaw is history, not data that is concurrent with the user's current activity at Old La Honda.
「Old La Hondaで28位になりました。27位のAaron Fosterと15秒の差です」。図25は、いくつかの実施形態に従って、「Marincello Trail」セグメントで完了したエフォートに関する順位表(Leaderboard)を表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンデバイスのアプリケーションに関連する。スクリーンショットに示すように、セグメントを完了した様々なユーザ(Christian Hobbs、Aaron Foster、Mark Shaw、Jane Mitchell、および、Rich Adams)が、それぞれのセグメント完了タイムに基づいて順位表に順位付けされている。この例では、セグメントでの活動を完了したばかりの現行ユーザMark Shawは、順位表の27位に位置するAaron Fosterの次に順位付けされる。 “I was 28th in Old La Honda. It was 15 seconds away from 27th place Aaron Foster.” FIG. 25 is a diagram illustrating a screenshot of a user interface displaying a leaderboard for effort completed in the “Marincello Trail” segment, according to some embodiments. The screenshot in this example is related to the smartphone device application. As shown in the screenshot, the various users who completed the segments (Christian Hobbs, Aaron Foster, Mark Shaw, Jane Mitchell, and Rich Adams) are ranked in the ranking table based on their segment completion times. . In this example, the current user Mark Shaw who has just completed the activity in the segment is ranked next to Aaron Foster, which is located in position 27 of the ranking table.
「現在の順位:1位Mark S.、2位Chris D.、3位John D. あなたは現在17位で、トップとの差は4分30秒です」。この例に示すように、(ユーザが身体活動を完了した後に、ユーザだけの順位表を決定するのではなく)、ユーザがまだ身体活動を行っている間に、ユーザおよびユーザと同じセグメント上のその他の同時ユーザとについて、順位表が決定されうる。 “Current ranking: 1st place Mark S. 2nd place Chris D. 3rd place John D. You are currently in 17th place and the difference from the top is 4:30”. As shown in this example, the user and the user are on the same segment as the user while still performing physical activity (rather than determining the user's standings after the user has completed physical activity) A ranking table can be determined for other concurrent users.
「現在、Mark Shawのタイムを13秒上回り、300メートル先にいます」。この例では、Mark Shawもユーザの現行活動と同じセグメントで活動を行っているため、Mark Shawに関するデータは同時データである。 “Currently, Mark Shaw's time is 13 seconds, 300 meters away.” In this example, since Mark Shaw is also active in the same segment as the user's current activity, the data related to Mark Shaw is simultaneous data.
「現在、Mark Shawのタイムを13秒下回り、300メートル後ろにいます」 “Currently, Mark Shaw time is 13 seconds below and 300 meters behind.”
「Markは、Alpine Dam登山道を終えたところです。2人ともAlpine Dam Mt. Tam Loopを歩き続ければ、現在のペースでは30分で追いつきます」 “Mark has just finished the Alpine Dam trail. If both continue walking on the Alpine Dam Mt. Tam Loop, they will catch up with the current pace in 30 minutes.”
「Paradise Loopルートに、2人のライダーが前にいます。30秒前方にMark S.、45秒前方にChris D.。1人のライダーが後ろにいます。5分後方にPan T.」 “There are two riders in front of the Paradise Loop route. Mark S. ahead of 30 seconds, Chris D. ahead of 45 seconds. One rider is behind. Pan T. 5 minutes behind.”
ユーザの現行活動に関連する位置情報データを、格納されたセグメントデータと比較することに基づいて検出された近くのセグメント(例えば、ユーザは現在そこにいないが近くにいるセグメント)を含むフィードバックデータの例は以下を含む。 Of feedback data including nearby segments detected based on comparing location information data related to the user's current activity with stored segment data (eg, segments where the user is not currently there but nearby) Examples include:
「Mark Shawは5.0マイル離れています。彼は、Paradise Loopルートのおよそ半分に到達しそうです。今日、彼はすでに16マイル進んでいます」 “Mark Shaw is 5.0 miles away. He is likely to reach about half of the Paradise Loop route. Today he is already 16 miles ahead.”
「距離1.5マイル、標高差1500フィートの新しいカテゴリ2の登山道を発見しました。この登山道を保存して名前をつけますか?」 “I discovered a new Category 2 trail with a distance of 1.5 miles and an altitude difference of 1500 feet. Would you like to save and name this trail?”
図26は、いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)のリストを表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンのアプリケーションに関連する。例に示すように、近くのセグメントのリストに含まれる各エントリは、セグメントの物理的特徴のいくつかと共にリストされている。 FIG. 26 shows a screenshot of a user interface that displays a list of detected segments (“climbs”) located near the user's current activity, according to some embodiments. The screenshot in this example is related to a smartphone application. As shown in the example, each entry included in the list of nearby segments is listed along with some of the physical characteristics of the segment.
図27は、いくつかの実施形態に従って、ユーザの現行活動の近くに位置する検出されたセグメント(「登山道(climbs)」)の地図(map)を表示したユーザインターフェースのスクリーンショットを示す図である。この例のスクリーンショットは、スマートフォンのアプリケーションに関連する。例において、紫色のピンは、検出された各セグメントが始まる場所を示す。 FIG. 27 is a diagram illustrating a screen shot of a user interface displaying a map of detected segments (“climbs”) located near a user's current activity, according to some embodiments. is there. The screenshot in this example is related to a smartphone application. In the example, the purple pin indicates where each detected segment begins.
検出された近くの他のユーザに通知を送信することを含むフィードバックデータの例は以下を含む。 Examples of feedback data including sending notifications to other detected nearby users include:
「Mark Shawは1.0マイル離れています。彼はAlpine Dam登山道を終えたところです。2人ともAlpine Dam Mt. Tam Loopを歩き続ければ、現在のペースでは30分で追いつきます。彼に待つように通知を送りますか?」 “Mark Shaw is 1.0 mile away. He has just finished the Alpine Dam trail. If both keep walking on Alpine Dam Mt. Tam Loop, they will catch up in 30 minutes at the current pace. Do you want to send a notification to wait? "
近くのユーザと出会うことに関する指摘を含むフィードバックデータの例は以下を含む。 Examples of feedback data including indications about meeting nearby users include:
「Mark S.とChris D.が、Paradise Loopルートの出発地点から10分進んだ所で待っています」 “Mark S. and Chris D. are waiting for 10 minutes from the departure point of the Paradise Loop route.”
「お気に入りのライディンググループのライダーが、現在のセグメントで、およそ5分後方にいます」 “Riders from your favorite riding group are about 5 minutes behind in the current segment.”
検出された近くの他のユーザに挑戦状を送信することを含むフィードバックデータの例は以下を含む。 Examples of feedback data including sending a challenge to other detected nearby users include:
「Mark S.は1.0マイル離れています。Old La Hondaで勝負をする旨の挑戦状を送りますか?彼の自己最高記録は、あなたを22秒上回っています。グッドラック!」 “Mark S. is 1.0 mile away. Do you send a challenge to win the game at Old La Honda? His personal record is 22 seconds above you. Good luck!”
ユーザの個人的成果の指摘を含むフィードバックデータの例は以下を含む。 Examples of feedback data that include indications of the user's personal performance include:
「今週、100マイルを達成しました。おめでとうございます!」 “We have achieved 100 miles this week. Congratulations!”
「今月、200マイルを達成しました。おめでとうございます!」 “We have achieved 200 miles this month. Congratulations!”
いくつかの実施形態では、ユーザまたはデバイスに対して設定されたパラメータにより、ユーザに提供されたどのフィードバックデータを1または複数のソーシャルネットワーク(例えば、Facebook)で共有するのかが決定されうる。例えば、ユーザが身体活動を開始する前に設定されたパラメータにより、ユーザの身体活動中、ユーザが現在、セグメントの順位表の1位であった場合に、その記事をユーザのFacebookのウォールに投稿するように指示することができる。例えば、サードパーティのサーバ(Facebookプラットフォームをサポートするサーバなど)と通信するために、セグメントマッチングサーバ1508などのセグメントマッチングサーバは、適切なAPIおよび認証情報を用いてFacebookサーバと通信することができる。記事がソーシャルネットワークで共有されると、ソーシャルネットワークの友達またはその他のユーザが、その記事に関する選択を行いうる(すなわち、ユーザに仮想の賞賛を与えることができる)。そして、例えば、ソーシャルネットワークでの他のユーザの選択をユーザに知らせるために、その選択は、ユーザのデバイスに送信されてよい。
In some embodiments, parameters set for the user or device may determine which feedback data provided to the user is shared with one or more social networks (eg, Facebook). For example, if the user is currently
いくつかの実施形態において、ユーザに対して設定されるパラメータは、他のユーザがユーザの現行活動のリアルタイムの進捗を見ることができるか否かを決定してもよく、そうである場合に、どの他のユーザに閲覧を許可するのかを決定しうる。例えば、セグメントマッチングサーバおよび/またはサードパーティのサーバ(ソーシャルネットワークをサポートするサーバなど)に関連するウェブサイトで、ユーザの現行活動の視覚的表現が提示されてよく、その視覚的表現は、活動が一致したセグメントに沿ってユーザが進むにつれて更新されうる。視覚的表現は、地図に沿ったマーカ、および/または、セグメントでのユーザのパフォーマンスデータに関する他のデータを含みうる。例えば、身体活動を開始する前に、ユーザは、活動中の一致セグメントに沿った自分のリアルタイムの進捗を共有したいこと、そして、誰がその進捗を閲覧できるのかを示すために、パラメータを設定できる。例えば、ユーザは、特定の他のユーザ(例えば、ソーシャルネットワークのユーザの友達)だけに活動中の自分の進捗を閲覧する許可を与えてもよいし、任意の他のユーザが自分の進捗を閲覧することを許可するように選択してもよい。いくつかの実施形態において、セグメントに沿ったユーザのリアルタイムの進捗を閲覧する許可を有する他のユーザは、ユーザの活動がまだ続いている間に、デバイス(例えば、携帯型デバイスまたはデスクトップコンピュータ)を用いて適切なウェブサイト(例えば、セグメントマッチングサーバおよび/またはソーシャルネットワークに関連するウェブサイト)にアクセスすることによって、進捗を閲覧することができる。いくつかの実施形態において、閲覧しているユーザは、ユーザのリアルタイムの進捗に関する選択を行うこともできる(すなわち、仮想の賞賛をユーザに与える)。そして、例えば、ウェブサイトでの他のユーザの選択をユーザに知らせるために、その選択は、ユーザのデバイスに送信されてよい。 In some embodiments, the parameters set for a user may determine whether other users can see the real-time progress of the user's current activity, and if so, It may be determined which other users are allowed to view. For example, a website associated with a segment matching server and / or a third party server (such as a server that supports social networks) may be presented with a visual representation of the user's current activity, It can be updated as the user progresses along the matched segment. The visual representation may include markers along the map and / or other data regarding user performance data in the segment. For example, before initiating physical activity, the user can set parameters to indicate that he wants to share his real-time progress along the active matching segment and who can view the progress. For example, a user may give permission to only certain other users (eg, social network user friends) to view their progress in action, or any other user to view their progress You may choose to allow that. In some embodiments, other users who have permission to view the user's real-time progress along the segment can connect the device (eg, portable device or desktop computer) while the user's activity is still ongoing. The progress can be viewed by using to access an appropriate website (eg, a website associated with a segment matching server and / or social network). In some embodiments, the viewing user may also make selections regarding the user's real-time progress (ie, give the user a virtual praise). And, for example, the selection may be sent to the user's device to inform the user of the selection of another user on the website.
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
適用例1:リアルタイムのセグメントパフォーマンス情報を提供する方法であって、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定し、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達すること、
を備える、方法。
適用例2:適用例1に記載の方法であって、前記ユーザの現行活動に関連する前記セグメントの決定は、前記ユーザの現行活動が前記セグメントに一致するか否かを判定することを含む、方法。
適用例3:適用例2に記載の方法であって、前記ユーザの現行活動が前記セグメントに一致するか否か判定は、前記それまでに記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている仮想スタートラインを交差しているか否かを判定することを含む、方法。
適用例4:適用例2に記載の方法であって、前記ユーザの現行活動が前記セグメントに一致するか否かの判定は、前記それまでに記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている部分を交差しているか否かを判定することを含む、方法。
適用例5:適用例1に記載の方法であって、前記位置情報は、全地球測位システム(GPS)のポイントと、各GPSポイントにおける関連のタイムスタンプとを含む、方法。
適用例6:適用例1に記載の方法であって、さらに、デバイスによるデータの送信に関するユーザ設定可能な選択を受信することであって、1または複数のトリガイベント定義を受信すること、期間定義を受信すること、バッテリ寿命の節約に関する1または複数の定義を受信することの内の1または複数を含む、方法。
適用例7:適用例1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、方法。
適用例8:適用例1に記載の方法であって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、方法。
適用例9:適用例1に記載の方法であって、前記セグメントは、潜在的にマッチングされるセグメントのユーザ選択に関連する、方法。
適用例10:適用例1に記載の方法であって、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得することを備え、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記位置情報の前記少なくとも一部、および前記ユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、方法。
適用例11:適用例1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、方法。
適用例12:適用例1に記載の方法であって、前記格納された履歴パフォーマンスデータは、前記ユーザおよび別のユーザの一方または両方に関するデータを含む、方法。
適用例13:適用例1に記載の方法であって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、方法。
適用例14:適用例1に記載の方法であって、さらに、前記ユーザの現行活動に関する前記パフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信することを備える、方法。
適用例15:適用例1に記載の方法であって、さらに、同時性の範囲に関するユーザ設定可能な選択を受信し、
前記範囲内のユーザ活動のパフォーマンスデータは互いに比較される、方法。
適用例16:適用例1に記載の方法であって、さらに、サードパーティが運営するソーシャルネットワークに前記パフォーマンス情報の少なくとも一部を送信することを備える、方法。
適用例17:適用例1に記載の方法であって、さらに、前記パフォーマンス情報の前記送信された一部に少なくとも部分的に基づいて、前記サードパーティが運営するソーシャルネットワークから応答を受信することを備える、方法。
適用例18:適用例1に記載の方法であって、さらに、前記セグメントでの前記ユーザの現行活動に関する現在の進捗を決定することを備える、方法。
適用例19:適用例1に記載の方法であって、さらに、別のセグメントが前記ユーザの現行活動の現在位置の近くに存在するか否かを判定することを備える、方法。
適用例20:リアルタイムのセグメントパフォーマンス情報を提供するためのシステムであって、
プロセッサであって、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定し、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するよう構成されているプロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。
適用例21:適用例20に記載のシステムであって、前記ユーザの現行活動に関連する前記セグメントの決定は、前記ユーザの現行活動が前記セグメントに一致するか否かを判定することを含む、システム。
適用例22:適用例20に記載のシステムであって、前記プロセッサは、さらに、デバイスによるデータの送信に関するユーザ設定可能な選択を受信することであって、1または複数のトリガイベント定義を受信すること、期間定義を受信すること、バッテリ寿命の節約に関する1または複数の定義を受信することの内の1または複数を含む、デバイスによるデータの送信に関するユーザ設定可能な選択を受信するように構成されている、システム。
適用例23:適用例20に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスに送信されたフィードバックデータに少なくとも部分的に基づく、システム。
適用例24:適用例20に記載のシステムであって、前記リアルタイムのセグメントパフォーマンス情報の伝達は、デバイスで生成されたフィードバックデータに少なくとも部分的に基づく、システム。
適用例25:適用例20に記載のシステムであって、前記プロセッサは、さらに、
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得するように構成されており、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記位置情報の前記少なくとも一部、および前記ユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、システム。
適用例26:適用例20に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントに関連する格納された履歴パフォーマンスデータとの間の比較結果を含む、システム。
適用例27:適用例20に記載のシステムであって、前記パフォーマンス情報は、前記セグメントでの前記ユーザの現行活動に関する前記パフォーマンスデータと、前記セグメントでの他のユーザの現行活動に関する格納された同時パフォーマンスデータとの間の比較結果を含む、システム。
適用例28:適用例20に記載のシステムであって、前記プロセッサは、さらに、前記ユーザの現行活動に関する前記パフォーマンスデータと比較されるパフォーマンスデータを有する1または複数の他のユーザに関するユーザ設定可能な選択を受信するように構成されている、システム。
適用例29:適用例20に記載のシステムであって、前記プロセッサは、さらに、同時性の範囲に関するユーザ設定可能な選択を受信するように構成されており、
前記範囲内のユーザ活動のパフォーマンスデータは互いに比較される、システム。
適用例30:リアルタイムのセグメントパフォーマンス情報を提供するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
それまでに記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、ユーザの現行活動に関連するセグメントを決定するためのコンピュータ命令と、
前記セグメントでの前記ユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
Although the embodiments described above have been described in some detail for ease of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not intended to be limiting.
Application Example 1: A method for providing real-time segment performance information,
Determining a segment related to the user's current activity based at least in part on at least a portion of the location information recorded so far;
Communicating real-time segment performance information regarding the current activity of the user in the segment;
A method comprising:
Application Example 2: The method of Application Example 1, wherein the determination of the segment associated with the user's current activity includes determining whether the user's current activity matches the segment. Method.
Application example 3: The method according to application example 2, wherein whether or not the current activity of the user matches the segment is determined based on whether at least a part of the position information recorded so far is included in the segment. Determining whether the associated virtual start line is crossed.
Application Example 4: The method according to Application Example 2, wherein whether or not the current activity of the user matches the segment is determined by determining whether at least a part of the position information recorded so far is the segment Determining whether or not the portion associated with is intersected.
Application Example 5: The method according to Application Example 1, wherein the position information includes a Global Positioning System (GPS) point and an associated time stamp at each GPS point.
Application Example 6: The method as described in Application Example 1, further comprising receiving a user configurable selection regarding the transmission of data by the device, receiving one or more trigger event definitions, and a period definition , Receiving one or more definitions relating to battery life saving.
Application Example 7: The method of Application Example 1, wherein the transmission of the real-time segment performance information is based at least in part on feedback data transmitted to the device.
Application Example 8: The method of Application Example 1, wherein the transmission of the real-time segment performance information is based at least in part on feedback data generated at a device.
Application Example 9: The method of Application Example 1, wherein the segment is associated with a user selection of potentially matched segments.
Application Example 10: The method described in Application Example 1, further comprising:
Obtaining data about one or more potentially matched segments in the device,
The acquired segment data is stored locally on the device, and the at least part of the location information and other data relating to the current activity of the user are compared with the data stored locally at the device. The way.
Application Example 11: The method of Application Example 1, wherein the performance information is between the performance data relating to the user's current activity in the segment and stored historical performance data associated with the segment. A method that includes a comparison result.
Application example 12: The method of application example 1, wherein the stored historical performance data includes data relating to one or both of the user and another user.
Application example 13: The method of application example 1, wherein the performance information is stored simultaneously with the performance data relating to the current activity of the user in the segment and the current activity of other users in the segment. A method that includes the results of comparisons with performance data.
Application example 14: The method of application example 1, further receiving a user-configurable selection for one or more other users having performance data compared to the performance data for the user's current activity. A method comprising:
Application Example 15: The method described in Application Example 1, further receiving a user configurable selection regarding the range of simultaneity,
A method wherein performance data of user activities within the range are compared to each other.
Application Example 16: The method according to Application Example 1, further comprising transmitting at least part of the performance information to a social network operated by a third party.
Application Example 17: The method of Application Example 1, further comprising receiving a response from a social network operated by the third party based at least in part on the transmitted portion of the performance information. A method of providing.
Application Example 18: The method of Application Example 1, further comprising determining current progress regarding the current activity of the user in the segment.
Application example 19: The method of application example 1, further comprising determining whether another segment exists near the current location of the user's current activity.
Application Example 20: A system for providing real-time segment performance information,
A processor,
Determining a segment related to the user's current activity based at least in part on at least a portion of the location information recorded so far;
A processor configured to communicate real-time segment performance information regarding the current activity of the user in the segment;
A memory connected to the processor and configured to provide instructions to the processor;
A system comprising:
Application example 21: The system of application example 20, wherein the determination of the segment associated with the current activity of the user includes determining whether the current activity of the user matches the segment. system.
Application example 22: The system according to application example 20, wherein the processor further receives a user-configurable selection for transmission of data by the device and receives one or more trigger event definitions. Configured to receive a user-configurable selection for sending data by the device, including one or more of: receiving a period definition, receiving one or more definitions related to battery life saving. The system.
Application example 23: The system according to application example 20, wherein the transmission of the real-time segment performance information is based at least in part on feedback data transmitted to the device.
Application example 24: The system of application example 20, wherein the transmission of the real-time segment performance information is based at least in part on feedback data generated at the device.
Application Example 25: The system according to Application Example 20, wherein the processor further includes:
Configured to obtain data about one or more potentially matched segments to the device;
The acquired segment data is stored locally on the device, and the at least part of the location information and other data relating to the current activity of the user are compared with the data stored locally at the device. System.
Application example 26: The system of application example 20, wherein the performance information is between the performance data relating to the current activity of the user in the segment and stored historical performance data associated with the segment. System including comparison results.
Application example 27: The system according to application example 20, wherein the performance information is stored simultaneously with the performance data relating to the current activity of the user in the segment and the current activity of other users in the segment. A system that includes the results of comparisons with performance data.
Application example 28: The system of application example 20, wherein the processor is further user configurable for one or more other users having performance data compared to the performance data for the user's current activity. A system that is configured to receive a selection.
Application Example 29: The system of application example 20, wherein the processor is further configured to receive a user-configurable selection for a range of concurrency;
A system in which performance data of user activity within the range is compared to each other.
Application Example 30: A computer program product for providing real-time segment performance information, wherein the computer program product is embodied in a persistent computer-readable storage medium,
Computer instructions for determining a segment associated with the user's current activity based at least in part on at least a portion of the location information recorded so far;
Computer instructions for communicating real-time segment performance information regarding the user's current activity on the segment;
A computer program product comprising:
Claims (24)
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取ること、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定することであって、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含む、前記第1のユーザの現行活動に一致するセグメントを決定すること、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定すること、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定すること、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達すること、
を備える、方法。 A method for providing real-time segment performance information,
Receiving a definition of a range of simultaneity indicating a range in which at least two users engaged in physical activity are concurrent with each other;
Determining a segment matching the current activity of the first user based at least in part on at least a portion of the recorded location information of the first user , the first user's recorded Determining a segment that matches the current activity of the first user, including determining that at least a portion of the location information matches at least a portion of the set of geographic information associated with the segment. ,
Determining the segment that matches the current activity of the second user based at least in part on at least a portion of the recorded location information of the second user;
Determining whether the second user is a concurrent user for the first user based at least on the definition of the range of concurrency;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user about,
A method comprising:
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得することを備え、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記第1のユーザの記録された位置情報の前記少なくとも一部、および前記第1のユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、方法。 The method of claim 1, further comprising:
Obtaining data about one or more potentially matched segments in the device,
The obtained segment data is stored locally on the device, the at least part of the recorded location information of the first user, and other data relating to the current activity of the first user are stored in the device And compared with the locally stored data.
プロセッサであって、
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取り、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定し、前記第1のユーザの現行活動に一致するセグメントを決定することは、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含み、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定し、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定し、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するよう構成されているプロセッサと、
前記プロセッサに接続され、前記プロセッサに命令を提供するよう構成されているメモリと、
を備える、システム。 A system for providing real-time segment performance information,
A processor,
Receive a definition of a range of simultaneity indicating a range in which at least two users engaged in physical activity are concurrent with each other;
Determining a segment matching the current activity of the first user based at least in part on at least a portion of the recorded location information of the first user, and matching the current activity of the first user Determining at least a portion of the recorded location information of the first user matches at least a portion of a set of geographic information associated with the segment;
Determining the segments that match the second user's current activity based at least in part on at least a portion of the second user's recorded location information;
Determining whether the second user is a concurrent user for the first user based at least on the definition of the scope of concurrency;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user A processor configured to:
A memory connected to the processor and configured to provide instructions to the processor;
A system comprising:
潜在的にマッチングされる1または複数のセグメントに関するデータをデバイスに取得するように構成されており、
前記取得されたセグメントデータは、前記デバイスにローカルに格納され、前記第1のユーザの記録された前記位置情報の前記少なくとも一部、および前記第1のユーザの現行活動に関する他のデータは、前記デバイスにおいて前記ローカルに格納されたデータと比較される、システム。 The system of claim 17 , wherein the processor further comprises:
Configured to obtain data about one or more potentially matched segments to the device;
The obtained segment data is stored locally on the device, the at least part of the recorded location information of the first user, and other data relating to the current activity of the first user are: A system that is compared to the locally stored data at a device.
身体活動を行っている少なくとも2人のユーザが互いに同時進行である範囲を示す同時性の範囲の定義を受け取るための機能と、
第1のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第1のユーザの現行活動に一致するセグメントを決定するために機能であって、前記第1のユーザの記録された位置情報の少なくとも一部が、前記セグメントに関連付けられている地理的情報のセットの少なくとも一部に一致することの決定を含む、前記第1のユーザの現行活動に一致するセグメントを決定するための機能と、
第2のユーザの記録された位置情報の少なくとも一部に少なくとも部分的に基づいて、前記第2のユーザの現行活動に一致する前記セグメントを決定するための機能と、
少なくとも前記同時性の範囲の定義に基づいて、前記第2のユーザが前記第1のユーザについての同時ユーザであるか否かを決定するための機能と、
前記第2のユーザが前記第1のユーザの同時ユーザであるか否かの決定に少なくとも部分的に基づいて、前記セグメントでの前記第1のユーザの現行活動に関するリアルタイムのセグメントパフォーマンス情報を伝達するための機能と
をコンピュータによって実現させる、コンピュータプログラム。 A computer program for providing a real-time segment performance information,
A function for receiving a definition of a range of simultaneity indicating a range in which at least two users performing physical activity are concurrent with each other;
A function for determining a segment that matches a current activity of the first user based at least in part on at least a portion of the recorded location information of the first user , the first user's Determining a segment that matches the current activity of the first user, including determining that at least a portion of the recorded location information matches at least a portion of a set of geographic information associated with the segment; With the function to
A function for determining the segment that matches a current activity of the second user based at least in part on at least a portion of the recorded location information of the second user;
A function for determining whether the second user is a concurrent user for the first user based at least on the definition of the range of simultaneity;
Deliver real-time segment performance information regarding current activities of the first user in the segment based at least in part on the determination of whether the second user is a concurrent user of the first user to realize a function for a computer, the computer program.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161470238P | 2011-03-31 | 2011-03-31 | |
US61/470,238 | 2011-03-31 | ||
US13/434,435 | 2012-03-29 | ||
US13/434,435 US9291713B2 (en) | 2011-03-31 | 2012-03-29 | Providing real-time segment performance information |
PCT/US2012/031415 WO2012135602A2 (en) | 2011-03-31 | 2012-03-30 | Providing real-time segment performance information |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014517947A JP2014517947A (en) | 2014-07-24 |
JP5748900B2 true JP5748900B2 (en) | 2015-07-15 |
Family
ID=46928264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014502830A Active JP5748900B2 (en) | 2011-03-31 | 2012-03-30 | Provision of real-time segment performance information |
Country Status (5)
Country | Link |
---|---|
US (2) | US9291713B2 (en) |
EP (1) | EP2691902A4 (en) |
JP (1) | JP5748900B2 (en) |
CN (1) | CN103828399B (en) |
WO (1) | WO2012135602A2 (en) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9664518B2 (en) | 2010-08-27 | 2017-05-30 | Strava, Inc. | Method and system for comparing performance statistics with respect to location |
US8683008B1 (en) | 2011-08-04 | 2014-03-25 | Google Inc. | Management of pre-fetched mapping data incorporating user-specified locations |
US8280414B1 (en) | 2011-09-26 | 2012-10-02 | Google Inc. | Map tile data pre-fetching based on mobile device generated event analysis |
US9275374B1 (en) | 2011-11-15 | 2016-03-01 | Google Inc. | Method and apparatus for pre-fetching place page data based upon analysis of user activities |
US8711181B1 (en) | 2011-11-16 | 2014-04-29 | Google Inc. | Pre-fetching map data using variable map tile radius |
US9063951B1 (en) | 2011-11-16 | 2015-06-23 | Google Inc. | Pre-fetching map data based on a tile budget |
US8886715B1 (en) | 2011-11-16 | 2014-11-11 | Google Inc. | Dynamically determining a tile budget when pre-fetching data in a client device |
US9305107B2 (en) | 2011-12-08 | 2016-04-05 | Google Inc. | Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device |
US9197713B2 (en) | 2011-12-09 | 2015-11-24 | Google Inc. | Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device |
US9389088B2 (en) | 2011-12-12 | 2016-07-12 | Google Inc. | Method of pre-fetching map data for rendering and offline routing |
US8803920B2 (en) | 2011-12-12 | 2014-08-12 | Google Inc. | Pre-fetching map tile data along a route |
US10456077B1 (en) * | 2012-02-04 | 2019-10-29 | Thomas Chu-Shan Chuang | Athletic training optimization |
US10300334B1 (en) | 2012-02-04 | 2019-05-28 | Thomas Chu-Shan Chuang | Athletic training optimization |
US11103747B1 (en) | 2012-02-04 | 2021-08-31 | Thomas Chu-Shan Chuang | Athletic training optimization |
US8718927B2 (en) * | 2012-03-12 | 2014-05-06 | Strava, Inc. | GPS data repair |
US8983637B2 (en) | 2012-07-30 | 2015-03-17 | Mapmyfitness, Inc. | Determining authenticity of reported fitness-related activities |
US20210252384A1 (en) * | 2012-07-31 | 2021-08-19 | Niantic, Inc. | Linking real world activities with a parallel reality game |
US9669296B1 (en) * | 2012-07-31 | 2017-06-06 | Niantic, Inc. | Linking real world activities with a parallel reality game |
US20140107816A1 (en) * | 2012-10-16 | 2014-04-17 | Qualcomm Iskoot, Inc. | Dynamically creating future routes based on user characteristics |
WO2014071051A1 (en) | 2012-10-31 | 2014-05-08 | Mapmyfitness, Inc. | System and method for personal and peer performance ranking of outdoor activities |
WO2014089238A1 (en) | 2012-12-04 | 2014-06-12 | Mapmyfitness, Inc. | Gait analysis system and method |
US20150081062A1 (en) * | 2013-09-16 | 2015-03-19 | 4Iiii Innovations Inc. | Location-Based Athlete Pacing With Biofeedback Systems And Methods |
US9297651B2 (en) | 2013-12-11 | 2016-03-29 | Strava, Inc. | Generating user preference activity maps |
GB201409883D0 (en) * | 2014-06-03 | 2014-07-16 | Ocado Ltd | Methods, systems, and apparatus for controlling movement of transporting devices |
KR101776098B1 (en) | 2014-09-02 | 2017-09-07 | 애플 인크. | Physical activity and workout monitor |
US9746331B1 (en) * | 2014-12-15 | 2017-08-29 | Marvell International Ltd. | Method and apparatus for map matching |
KR102303952B1 (en) * | 2015-01-05 | 2021-09-24 | 나이키 이노베이트 씨.브이. | Energy expenditure calculation using data from multiple devices |
CN107249456B (en) * | 2015-01-05 | 2020-11-13 | 耐克创新有限合伙公司 | Energy consumption calculation using data from multiple devices |
US20160302030A1 (en) * | 2015-04-10 | 2016-10-13 | Visor, Inc. | Location-Based Real-Time Contextual Data System |
CN104857692B (en) * | 2015-05-25 | 2018-04-06 | 惠州Tcl移动通信有限公司 | A kind of processing method, system and the mobile device of user movement state |
KR102359281B1 (en) * | 2015-06-17 | 2022-02-04 | 삼성전자주식회사 | Method and wearable device for providing information on exercise |
CN107921317B (en) | 2015-08-20 | 2021-07-06 | 苹果公司 | Motion-based dial and complex function block |
JP6586818B2 (en) * | 2015-08-21 | 2019-10-09 | オムロンヘルスケア株式会社 | Medical support device, medical support method, medical support program, biological information measuring device |
US10429192B2 (en) * | 2015-09-16 | 2019-10-01 | Strava, Inc. | Generating trail network maps |
JP6758820B2 (en) * | 2015-11-18 | 2020-09-23 | マクセル株式会社 | Information processing device and its image data control method |
US10111033B2 (en) * | 2016-03-31 | 2018-10-23 | Hitachi Ltd. | GIS based compression and reconstruction of GPS data for transmission from a vehicular edge platform to the cloud |
DK201770423A1 (en) | 2016-06-11 | 2018-01-15 | Apple Inc | Activity and workout updates |
US10540483B2 (en) * | 2017-04-25 | 2020-01-21 | International Business Machines Corporation | Personalized training based on planned course and personal assessment |
US10717005B2 (en) | 2017-07-22 | 2020-07-21 | Niantic, Inc. | Validating a player's real-world location using activity within a parallel reality game |
JP6974505B2 (en) | 2017-12-05 | 2021-12-01 | グーグル エルエルシーGoogle LLC | Landmark-aided navigation |
US10136253B1 (en) | 2017-12-18 | 2018-11-20 | LapKing Holdings, LLC | System and method for tracking a vehicle's course by comparing geolocation data from a known course |
US10739857B2 (en) * | 2018-04-21 | 2020-08-11 | Dale Kazdan | Wearable tracking computer |
US11317833B2 (en) * | 2018-05-07 | 2022-05-03 | Apple Inc. | Displaying user interfaces associated with physical activities |
JP6585770B1 (en) * | 2018-05-22 | 2019-10-02 | 株式会社アールビーズ | Trajectory display device and program |
DK201970532A1 (en) | 2019-05-06 | 2021-05-03 | Apple Inc | Activity trends and workouts |
EP3792815A1 (en) | 2019-09-14 | 2021-03-17 | MyLaps B.V. | Sports timing based on a camera system |
DK181076B1 (en) | 2020-02-14 | 2022-11-25 | Apple Inc | USER INTERFACES FOR TRAINING CONTENT |
JP2021153904A (en) * | 2020-03-27 | 2021-10-07 | 株式会社コロプラ | Game program, game method, and terminal device |
TWI799337B (en) * | 2020-05-11 | 2023-04-11 | 美商尼安蒂克公司 | Method and computer-readable storage medium for providing a virtual element for display in a parallel reality experience |
US11926385B2 (en) * | 2021-03-01 | 2024-03-12 | IRL Incorporated | Cycling exercise system, device, and method |
WO2022245669A1 (en) | 2021-05-15 | 2022-11-24 | Apple Inc. | User interfaces for group workouts |
US11915805B2 (en) | 2021-06-06 | 2024-02-27 | Apple Inc. | User interfaces for shared health-related data |
US20230390626A1 (en) | 2022-06-05 | 2023-12-07 | Apple Inc. | User interfaces for physical activity information |
Family Cites Families (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0514887B1 (en) | 1991-05-21 | 1997-04-16 | Matsushita Electric Industrial Co., Ltd. | Vehicle position detecting apparatus |
JP2826086B2 (en) | 1995-12-28 | 1998-11-18 | アルパイン株式会社 | Navigation device |
US6029173A (en) | 1997-11-26 | 2000-02-22 | Navigation Technologies Corporation | Method and system for representation and use of shape information in geographic databases |
US7454002B1 (en) | 2000-01-03 | 2008-11-18 | Sportbrain, Inc. | Integrating personal data capturing functionality into a portable computing device and a wireless communication device |
US6282486B1 (en) | 2000-04-03 | 2001-08-28 | International Business Machines Corporation | Distributed system and method for detecting traffic patterns |
AU2002255568B8 (en) | 2001-02-20 | 2014-01-09 | Adidas Ag | Modular personal network systems and methods |
US7080065B1 (en) | 2001-06-22 | 2006-07-18 | Oracle International Corporation | Query pruning using interior rectangles in an R-tree index |
JP2003065784A (en) | 2001-08-28 | 2003-03-05 | Vertex Standard Co Ltd | Gps navigation device |
US7480512B2 (en) | 2004-01-16 | 2009-01-20 | Bones In Motion, Inc. | Wireless device, program products and methods of using a wireless device to deliver services |
US6837827B1 (en) | 2003-06-17 | 2005-01-04 | Garmin Ltd. | Personal training device using GPS data |
US20050033515A1 (en) | 2003-08-07 | 2005-02-10 | Motorola, Inc. | Wireless personal tracking and navigation system |
US20050049765A1 (en) | 2003-08-27 | 2005-03-03 | Sacagawea21 Inc. | Method and apparatus for advertising assessment using location and temporal information |
DE04773640T1 (en) | 2003-09-30 | 2007-02-08 | Kabushiki Kaisha Kenwood, Hachiouji | GUIDE ROUTE SEARCH AND GUIDANCE ROUTE SEARCH METHOD |
US7756639B2 (en) | 2003-10-06 | 2010-07-13 | Sirf Technology, Inc. | System and method for augmenting a satellite-based navigation solution |
FR2861491B1 (en) | 2003-10-24 | 2006-01-06 | Thales Sa | METHOD FOR SELECTING SYNTHESIS UNITS |
DE102004013629B4 (en) | 2004-03-19 | 2023-06-01 | Volkswagen Ag | Communication system for a motor vehicle |
US7901292B1 (en) | 2004-04-15 | 2011-03-08 | Navteq North America, Llc | Method for comparing performances on remotely located courses |
GB0420097D0 (en) | 2004-09-10 | 2004-10-13 | Cotares Ltd | Apparatus for and method of providing data to an external application |
US7254516B2 (en) | 2004-12-17 | 2007-08-07 | Nike, Inc. | Multi-sensor monitoring of athletic performance |
US7828697B1 (en) | 2005-09-23 | 2010-11-09 | Garmin Switzerland Gmbh | Portable personal training device |
JP5082295B2 (en) | 2006-05-19 | 2012-11-28 | 株式会社デンソー | Map data providing device |
US7787857B2 (en) | 2006-06-12 | 2010-08-31 | Garmin Ltd. | Method and apparatus for providing an alert utilizing geographic locations |
US7771320B2 (en) * | 2006-09-07 | 2010-08-10 | Nike, Inc. | Athletic performance sensing and/or tracking systems and methods |
CN103007493B (en) | 2006-09-07 | 2016-06-01 | 耐克创新有限合伙公司 | Athletic performance tracking system and method |
US20080082254A1 (en) | 2006-10-02 | 2008-04-03 | Yka Huhtala | Route-assisted GPS location sensing via mobile device |
CN101563625A (en) | 2006-11-06 | 2009-10-21 | 电子地图有限公司 | Arrangement for and method of two dimensional and three dimensional precision location and orientation determination |
FR2908323B1 (en) | 2006-11-09 | 2009-01-16 | Parrot Sa | METHOD OF DEFINING A COMMON REFERENTIAL FOR A VIDEO GAMING SYSTEM |
CA2597347A1 (en) | 2006-11-30 | 2008-05-30 | Ittay Ronen | Automated travel log system |
US8600668B2 (en) | 2007-01-10 | 2013-12-03 | Tomtom International B.V. | Navigation device and method for display of position in text readible form |
DE202007019152U1 (en) * | 2007-03-01 | 2011-03-17 | Telefonaktiebolaget L M Ericsson (Publ) | Mobile service to stay up-to-date during a competitor race |
JP5064870B2 (en) | 2007-04-17 | 2012-10-31 | 株式会社日立製作所 | Digital road map generation method and map generation system |
US8930135B2 (en) | 2007-04-17 | 2015-01-06 | Esther Abramovich Ettinger | Device, system and method of landmark-based routing and guidance |
DE102007028401B4 (en) | 2007-06-15 | 2011-08-25 | Navigon Ag, 20251 | Method for operating a navigation device |
JP4453728B2 (en) | 2007-08-07 | 2010-04-21 | 株式会社デンソー | Position correction device |
US8121785B2 (en) | 2007-08-28 | 2012-02-21 | Garmin Switzerland Gmbh | Bicycle computer having position-determining functionality |
US7885764B2 (en) | 2007-09-06 | 2011-02-08 | GM Global Technology Operations LLC | Method for adaptively constructing and revising road maps |
US8234264B2 (en) | 2008-02-08 | 2012-07-31 | International Business Machines Corporation | System and method for preferred services in nomadic environments |
US8015144B2 (en) | 2008-02-26 | 2011-09-06 | Microsoft Corporation | Learning transportation modes from raw GPS data |
US8047966B2 (en) | 2008-02-29 | 2011-11-01 | Apple Inc. | Interfacing portable media devices and sports equipment |
US8108139B1 (en) | 2008-02-29 | 2012-01-31 | Williams-Pyro, Inc. | System and method for route representation with waypoint storage |
CN101978374A (en) | 2008-03-03 | 2011-02-16 | 耐克国际有限公司 | Interactive athletic equipment system |
US8512211B2 (en) | 2008-09-05 | 2013-08-20 | Apple Inc. | Method for quickstart workout generation and calibration |
US9409052B2 (en) * | 2008-10-03 | 2016-08-09 | Adidas Ag | Program products, methods, and systems for providing location-aware fitness monitoring services |
JP2010088886A (en) * | 2008-10-03 | 2010-04-22 | Adidas Ag | Program products, methods, and systems for providing location-aware fitness monitoring services |
US20100131184A1 (en) | 2008-11-21 | 2010-05-27 | Richard Stanton | Method for creating suggested pathways for helping pedestrians cross open spaces |
US8880568B2 (en) | 2008-12-16 | 2014-11-04 | Here Global B.V. | Report generation for a navigation-related database |
WO2010081837A1 (en) | 2009-01-16 | 2010-07-22 | Tele Atlas B.V. | Method for creating speed profiles for digital maps |
CN102197419A (en) | 2009-03-16 | 2011-09-21 | 电子地图有限公司 | Method for updating digital maps |
CA2929927C (en) | 2009-04-26 | 2018-09-11 | Nike Innovate C.V. | Gps features and functionality in an athletic watch system |
WO2011023247A1 (en) | 2009-08-25 | 2011-03-03 | Tele Atlas B.V. | Generating raster image representing road existence probability based on probe measurements |
US8271497B2 (en) | 2009-12-03 | 2012-09-18 | Sony Computer Entertainment Inc. | Information processing apparatus and information processing method outputting information on movement of person |
US9304005B2 (en) | 2009-12-04 | 2016-04-05 | GM Global Technology Operations LLC | Application programming interface (API) for navigation applications that merges incremental updates with existing map database |
US8401250B2 (en) | 2010-02-19 | 2013-03-19 | MindTree Limited | Detecting objects of interest in still images |
US9261376B2 (en) | 2010-02-24 | 2016-02-16 | Microsoft Technology Licensing, Llc | Route computation based on route-oriented vehicle trajectories |
JP5511060B2 (en) | 2010-03-23 | 2014-06-04 | アイシン・エィ・ダブリュ株式会社 | Map update data supply device and map update data supply program |
US9273968B2 (en) | 2010-06-23 | 2016-03-01 | Aisin Aw Co., Ltd. | Track information generating device, track information generating method, and computer-readable storage medium |
US9460419B2 (en) | 2010-12-17 | 2016-10-04 | Microsoft Technology Licensing, Llc | Structuring unstructured web data using crowdsourcing |
US8798909B2 (en) | 2011-04-15 | 2014-08-05 | Blackberry Limited | Enhanced geolocation device |
CN103718000B (en) | 2011-05-19 | 2017-01-18 | Sk 普兰尼特有限公司 | real-time map data updating system and method |
JP5845016B2 (en) | 2011-07-27 | 2016-01-20 | 株式会社デンソー | Map difference data creation device and map difference data creation method |
EP2570771B1 (en) | 2011-09-13 | 2017-05-17 | TomTom Global Content B.V. | Route smoothing |
US9424397B2 (en) | 2011-12-22 | 2016-08-23 | Adidas Ag | Sports monitoring system using GPS with location beacon correction |
-
2012
- 2012-03-29 US US13/434,435 patent/US9291713B2/en active Active
- 2012-03-30 EP EP12765793.0A patent/EP2691902A4/en not_active Ceased
- 2012-03-30 JP JP2014502830A patent/JP5748900B2/en active Active
- 2012-03-30 WO PCT/US2012/031415 patent/WO2012135602A2/en active Application Filing
- 2012-03-30 CN CN201280016174.6A patent/CN103828399B/en active Active
-
2015
- 2015-12-21 US US14/977,316 patent/US9804269B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120253488A1 (en) | 2012-10-04 |
EP2691902A4 (en) | 2015-04-08 |
WO2012135602A3 (en) | 2014-03-13 |
EP2691902A2 (en) | 2014-02-05 |
WO2012135602A2 (en) | 2012-10-04 |
US9291713B2 (en) | 2016-03-22 |
US20160178751A1 (en) | 2016-06-23 |
JP2014517947A (en) | 2014-07-24 |
CN103828399B (en) | 2018-01-02 |
US9804269B2 (en) | 2017-10-31 |
CN103828399A (en) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5748900B2 (en) | Provision of real-time segment performance information | |
US11869651B2 (en) | Methods and apparatus for virtual competition | |
JP6065295B2 (en) | How to display the route followed by an athlete wearing a place-aware mobile sports activity monitoring device | |
AU2012100801A4 (en) | System and Method for Providing an Athlete with a Performance Profile | |
US8655591B2 (en) | Method of creating varied exercise routes for a user | |
US9208175B2 (en) | Defining and matching segments | |
US10591302B2 (en) | Selecting routes | |
US9609485B2 (en) | Predicting companion data types associated with a traveler at a geographic region including lodging | |
US9744447B2 (en) | Methods and apparatus for controlling an information processing system based on geographic position information | |
US20210029491A1 (en) | System and Method for Tracking a User's Course by Comparing Geolocation Data from a Known Course | |
US20170347240A1 (en) | Detecting group activities | |
CN110086849B (en) | Data processing method, device and system in motion process | |
TW202319101A (en) | Reducing latency in anticheat dataflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141027 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150324 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150414 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150512 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5748900 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |