KR20170001377A - 운동 가이드 정보 제공 방법 및 그 장치 - Google Patents
운동 가이드 정보 제공 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20170001377A KR20170001377A KR1020150091285A KR20150091285A KR20170001377A KR 20170001377 A KR20170001377 A KR 20170001377A KR 1020150091285 A KR1020150091285 A KR 1020150091285A KR 20150091285 A KR20150091285 A KR 20150091285A KR 20170001377 A KR20170001377 A KR 20170001377A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- section
- electronic device
- information
- motion
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 46
- 238000004458 analytical method Methods 0.000 claims abstract description 44
- 238000004891 communication Methods 0.000 claims description 41
- 230000008859 change Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 description 45
- 238000012545 processing Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 14
- 238000000605 extraction Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 230000036541 health Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 6
- 235000019577 caloric intake Nutrition 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000014509 gene expression Effects 0.000 description 6
- 230000008676 import Effects 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 5
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 4
- 230000001174 ascending effect Effects 0.000 description 4
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 4
- 239000008280 blood Substances 0.000 description 4
- 210000004369 blood Anatomy 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 4
- 239000008103 glucose Substances 0.000 description 4
- 239000001301 oxygen Substances 0.000 description 4
- 229910052760 oxygen Inorganic materials 0.000 description 4
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 3
- 230000036772 blood pressure Effects 0.000 description 3
- 230000036760 body temperature Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000002567 electromyography Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007103 stamina Effects 0.000 description 3
- 230000000386 athletic effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000007789 gas Substances 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 230000035882 stress Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 210000000577 adipose tissue Anatomy 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000037147 athletic performance Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000017531 blood circulation Effects 0.000 description 1
- 210000004204 blood vessel Anatomy 0.000 description 1
- 230000002612 cardiopulmonary effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 230000008909 emotion recognition Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000037081 physical activity Effects 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000010344 pupil dilation Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000036387 respiratory rate Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 230000002792 vascular Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
- 238000009736 wetting Methods 0.000 description 1
- 229910052724 xenon Inorganic materials 0.000 description 1
- FHNFHKCVQCLJFQ-UHFFFAOYSA-N xenon atom Chemical compound [Xe] FHNFHKCVQCLJFQ-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/22—Social work or social welfare, e.g. community support activities or counselling services
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0075—Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0619—Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0021—Tracking a path or terminating locations
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0062—Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/343—Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/3673—Labelling using text of road map data items, e.g. road names, POI names
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3667—Display of a road map
- G01C21/3676—Overview of the route on the road map
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
- G01C21/3815—Road data
- G01C21/3822—Road feature data, e.g. slope data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3844—Data obtained from position sensors only, e.g. from inertial navigation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
- G01C22/006—Pedometers
-
- 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/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
- G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/42—Determining position
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0021—Tracking a path or terminating locations
- A63B2024/0025—Tracking the path or location of one or more users, e.g. players of a game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0619—Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
- A63B2071/065—Visualisation of specific exercise parameters
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0619—Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
- A63B2071/0658—Position or arrangement of display
- A63B2071/0661—Position or arrangement of display arranged on the user
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/10—Positions
- A63B2220/12—Absolute positions, e.g. by using GPS
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/18—Inclination, slope or curvature
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/20—Distances or displacements
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/30—Speed
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/62—Time or time measurement used for time reference, time stamp, master time or clock signal
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Physical Education & Sports Medicine (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Tourism & Hospitality (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Navigation (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Child & Adolescent Psychology (AREA)
Abstract
전자 장치가 개시된다. 상기 전자 장치는, 디스플레이, 위치 데이터(location data) 및 고도 데이터(elevation data)를 포함하는 운동 경로 데이터, 및 사용자 프로파일이 저장되는 메모리, 상기 사용자 프로파일에 기초한 상기 운동 경로 데이터의 분석을 통해 적어도 하나의 경사 구간(section)을 결정하고, 상기 경사 구간을 포함하는 운동 경로를 표시하는 지도를 상기 디스플레이에 출력하는 프로세서를 포함할 수 있다. 여기서 상기 운동 경로 중 상기 경사 구간은 비 경사 구간과 다른 형태로 표시될 수 있다.
이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.
Description
본 문서에서 개시되는 실시 예들은, 운동 경로 또는 운동 기록을 분석하고, 사용자 맞춤형 운동 경로 및 운동 가이드를 제공하는 기술과 관련된다.
스마트폰이나 웨어러블 디바이스, 또는 자동차나 자전거에 장착 가능한 전자 장치들의 기능이 다양해짐에 따라, 사용자의 운동을 기록하고 보조하기 위한 서비스들이 제공되고 있다. 예를 들어, 전자 장치는 GPS(Global Positioning System)나 각종 센서를 통해 운동 기록을 수집할 수 있다. 또한 전자 장치에서 제공되는 헬스 어플리케이션들은 사용자의 운동을 기록하고 공유하는 기능을 제공하고 있다.
기존의 전자 장치에서 제공되는 운동 어플리케이션/서비스들은 이동 경로(GPS) 정보, 시간 정보 등을 단순하게 제공하고 있다. 예를 들어, 사용자가 자전거 운동을 기록한 경우, 운동 시간, 이동 거리, 평균 속도 등이 제공될 수 있다. 고도 정보가 제공되는 경우에는, 특정 위치의 높이 정보가 제공되거나 전체 경로의 평균적인 경사 정보가 제공되고 있다. 예를 들면, 도착 지점의 고도와 시작 지점의 고도 차이를 두 지점 사이의 직선 경로로 나눈 값이 고도 정보로서 제공된다.
이와 같이, 기존의 운동 관련 서비스들은 운동 경로 또는 운동 기록의 분석과 관련하여, 운동 시간, 고도 이득(elevation gain), 평균 속도 등과 같은 기본적인 분석 정보만 제공하고 있다. 이러한 정보를 통해서는 이 운동 경로가 사용자의 신체 조건이나 운동 능력에 대해 어느 정도 매칭되는 운동 경로인지(예: 사용자에게 너무 쉬운 구간인지 너무 어려운 구간인지) 알기 어렵다. 예를 들어, 운동 경로 중 일부 경로에 11도 경사의 오르막 구간이 있는 경우, 일반적인 자전거 이용자(cycle rider)는 이 오르막 구간을 통과하기 어렵다. 그러나 기존의 운동 관련 서비스에서는 사용자가 이런 구간의 정보를 쉽게 파악하기 어렵다.
본 문서에서 개시되는 실시 예들은, 전술한 문제 및 본 문서에서 제기되는 과제들을 해결하기 위해, 타인이 운동한 경로나 자신이 운동한 경로의 데이터를 이용하여, 해당 경로의 구간별 경사, 난이도, 하이라이트 구간, 오르막(uphill) 구간, 내리막(downhill) 구간 등 고도화된 정보를 생성할 수 있다. 또한 이 정보를 사용자 프로파일(user profile)과 같은 개인 운동 정보와 함께 활용하여 사용자 맞춤형 운동 정보를 제공하고, 유의미한 운동 가이드를 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 전자 장치는, 디스플레이, 위치 데이터(location data) 및 고도 데이터(elevation data)를 포함하는 운동 경로 데이터, 및 사용자 프로파일이 저장되는 메모리, 상기 사용자 프로파일에 기초한 상기 운동 경로 데이터의 분석을 통해 적어도 하나의 경사 구간(section)을 결정하고, 상기 경사 구간을 포함하는 운동 경로를 표시하는 지도를 상기 디스플레이에 출력하는 프로세서를 포함할 수 있다. 여기서 상기 운동 경로 중 상기 경사 구간은 비 경사 구간과 다른 형태로 표시될 수 있다.
또한, 본 문서에 개시되는 전자 장치의 운동 가이드 방법은, 위치 데이터(location data) 및 고도 데이터(elevation data)를 포함하는 운동 경로 데이터 및 사용자 프로파일을 획득하는 동작, 상기 사용자 프로파일에 기초한 상기 운동 경로 데이터의 분석을 통해 적어도 하나의 경사 구간(section)을 결정하는 동작, 및 상기 적어도 하나의 경사 구간을 운동 경로를 표시하는 지도를 상기 전자 장치의 디스플레이에 출력하는 동작을 포함할 수 있다.
본 문서에 개시되는 실시 예들에 따르면, 사용자의 운동 목적이나 운동 수준과 같은 사용자의 프로파일에 기초하여 적합한 운동 경로 선택이 가능하다. 또한 같은 운동 경로라도 사용자의 프로파일에 따라 다르게 구간 분석이 가능하며 가이드의 제공이 달라질 수 있다.
또한, 일 실시 예에 따르면 사용자는 다른 사용자의 운동 기록을 자신의 프로파일에 기초하여 분석하여 운동을 수행할 수 있고, 자신의 운동 기록을 다른 사용자와 공유할 수 있다.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시 예에 따른 경로 데이터를 저장하고 처리하는 시스템을 나타낸다.
도 2는 일 실시 예에 따른 경로 분석 및 운동 가이드 제공의 흐름도를 나타낸다.
도 3은 일 실시 예에 따른 전자 장치의 구성을 나타낸다.
도 4는 일 실시 예에 따른 경로 정보 분석 모듈의 구성을 나타낸다.
도 5는 일 실시 예에 따른 운동 가이드 엔진 모듈의 구성을 나타낸다.
도 6a 내지 6d는 일 실시 예에 따른 경사 구간을 판단하는 방법을 나타낸다.
도 7은 일 실시 예에 따른 운동 경로 데이터를 분석, 출력하고 운동 가이드를 제공하는 프로세스를 나타낸다.
도 8은 일 실시 예에 따른 분석이 완료된 지도 화면을 나타낸다.
도 9a 내지 9c는 일 실시 예에 따른 운동 경로 가이드가 제공되는 디스플레이 화면을 나타낸다.
도 10a 및 도 10b는 일 실시 예에 따른 운동 경로 선택 화면 및 운동 경로의 상세 화면을 나타낸다.
도 11a 및 도 11b는 일 실시 예에 따른 운동 가이드를 제공하는 화면을 나타낸다.
도 12a 및 도 12b는 일 실시 예에 따른 목표 달성에 대한 가이드 화면을 나타낸다.
도 13a 및 도 13b는 일 실시 예에 따른 사용자 정보 설정 및 운동 기록을 위한 화면을 나타낸다.
도 14는 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 15는 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 16은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 2는 일 실시 예에 따른 경로 분석 및 운동 가이드 제공의 흐름도를 나타낸다.
도 3은 일 실시 예에 따른 전자 장치의 구성을 나타낸다.
도 4는 일 실시 예에 따른 경로 정보 분석 모듈의 구성을 나타낸다.
도 5는 일 실시 예에 따른 운동 가이드 엔진 모듈의 구성을 나타낸다.
도 6a 내지 6d는 일 실시 예에 따른 경사 구간을 판단하는 방법을 나타낸다.
도 7은 일 실시 예에 따른 운동 경로 데이터를 분석, 출력하고 운동 가이드를 제공하는 프로세스를 나타낸다.
도 8은 일 실시 예에 따른 분석이 완료된 지도 화면을 나타낸다.
도 9a 내지 9c는 일 실시 예에 따른 운동 경로 가이드가 제공되는 디스플레이 화면을 나타낸다.
도 10a 및 도 10b는 일 실시 예에 따른 운동 경로 선택 화면 및 운동 경로의 상세 화면을 나타낸다.
도 11a 및 도 11b는 일 실시 예에 따른 운동 가이드를 제공하는 화면을 나타낸다.
도 12a 및 도 12b는 일 실시 예에 따른 목표 달성에 대한 가이드 화면을 나타낸다.
도 13a 및 도 13b는 일 실시 예에 따른 사용자 정보 설정 및 운동 기록을 위한 화면을 나타낸다.
도 14는 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 15는 다양한 실시 예에 따른 전자 장치의 블록도를 나타낸다.
도 16은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면 웨어러블 장치는 엑세서리 형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체 형(예: 전자 의복), 신체 부착 형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식 형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD 플레이어(Digital Video Disk player), 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™), 게임 콘솔(예: Xbox™, PlayStation™), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(Global Navigation Satellite System)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
본 문서에 개시되는 다양한 실시 예들은, 전자 장치를 이용하여 사용자가 수행하는 운동을 기록하고 저장하는 운동 로그 서비스를 제공하는 것 이외에, 타인, 운동 코치, 또는 선수 등의 운동 경로를 사용자에게 적절한 형태로 제공할 수 있다. 예를 들어, 운동 전에는 사용자가 선택한 운동 경로가 사용자에게 적합한 운동 경로인지 여부 혹은 운동 경로의 구간 별 특징을 제공하고, 운동 중에는 효과적인 타이밍에 알림을 제공하여 경로를 이탈하지 않거나 경로를 효율적으로 진행하여 운동 목표를 달성할 수 있도록 가이드를 제공할 수 있다. 본 문서에서 운동이라 함은 일반적으로 경로를 이동하면서 수행 가능한 운동, 예를 들어 달리기(running), 사이클(cycling), 걷기(walking), 등산(mountaineering), 바이킹(biking) 등을 의미할 수 있다. 이하 도 1 및 도 2를 참조하여 전체적인 시스템의 개념 및 동작 시나리오를 설명한다.
도 1은 일 실시 예에 따른 경로 데이터를 저장하고 처리하는 예시적인 시스템을 나타낸다. 예를 들어, 사용자가 전자 장치 100의 헬스 어플리케이션을 실행한 상태에서 달리기를 하는 경우, GPS 110을 이용하여 사용자의 위치 정보가 지속적으로 수집될 수 있다. 또한 기압계와 같은 고도를 측정할 수 있는 센서 120을 이용한 사용자의 고도 정보도 위치 정보와 함께 수집될 수 있다. 도시하지는 않았으나 전자 장치 100에는 GPS 110이나 센서 120(예: 고도 센서) 외에도 운동과 관련된 정보 또는 기록을 수집하기 위한 다양한 센서/모듈이 포함될 수 있다. 예를 들어, 전자 장치 100은 타이머를 이용하여 사용자의 특정 경로를 이동하는데 소모되는 시간, 운동의 시작 시간, 운동의 종료 시간 등을 측정할 수 있다.
운동 기록은 운동 경로 데이터(workout route data)의 일종으로서 저장소 130에 저장될 수 있다. 위의 예시에서는 전자 장치 100에서 자체적으로 생성된 운동 기록이 저장소 130에 저장된다. 운동 기록은 구조화된 문서(structured document) 포맷으로 저장될 수 있다. 예를 들어, 운동 기록은 XML schema의 일종인 GPX 포맷(GPS Exchange format)으로 저장될 수 있다. GPX 포맷은 예를 들어, 경로(routes), 경유지(waypoints), 및 트랙(tracks)에 대한 정보를 포함할 수 있다. GPX 포맷은 부가적인 정보를 더 포함할 수 있다. 예를 들어, 사이클 운동에 대한 GPX 포맷은 바퀴의 rpm 정보를 더 포함할 수 있다.
본 문서에 개시되는 실시 예에서, GPS 정보를 표현하기 위한 구조적인 문서는 GPX 외에도, KML, CRS, TCX와 같은 포맷을 가질 수 있다. 이하의 설명에서 단순히 GPX 파일로 설명되더라도, 운동 경로 데이터가 저장되는 구조화된 문서를 참조하는 것으로 이해될 수 있다. 특히, 이러한 구조화된 문서는 위도, 경도 좌표와 함께 각 지점의 고도, 시간, 기타 지형 정보 등을 가질 수 있고, 각각의 포맷마다 지원하는 추가적인 정보를 정의 및/또는 포함할 수 있다. 여기서 지형 정보는, 고도 데이터, 경사도 데이터, 도로 타입(예: 포장/비포장), 도로 상태(예: (날씨 정보에 기반한) 젖음, 건조 상태 등)을 포함할 수 있다.
일 실시 예에서, 운동 기록, 또는 운동 경로 데이터는 서버 10으로부터 다운로드 될 수 있다. 예를 들어, 전자 장치 100의 사용자는 타인의 운동 기록을 제공하는 서버 10에 접속하여 원하는 코스 또는 수준의 운동 기록을 다운로드 할 수 있다. 일 실시 예에서, 전자 장치 100의 사용자는 자신의 운동 기록을 서버 10으로 업로드 할 수도 있다.
운동 기록, 또는 운동 경로 데이터는 외부 장치 20으로부터 획득될 수 있다. 예를 들어, 전자 장치 100과 네트워크(예: Bluetooth, NFC(Near Field Communication), Wi-Fi, Wi-Fi Direct, BLE(Bluetooth Low Energy, ANT, ANT+ 등) 또는 데이터 버스와 같은 유선 네트워크 등)를 통해 외부 장치 20과 연결될 수 있다. 외부 장치 20은, 예를 들어 사용자가 착용 가능한 스마트 워치나 스마트 글래스와 같은 웨어러블 디바이스, 또는 사용자의 운동 기구(예: 자전거나 바이크, 자동차, 스키 등)에 부착되어 사용자의 운동에 따라 운동 상태를 기록할 수 있는 전자 장치에 해당할 수 있다.
운동 기록, 또는 운동 경로 데이터는 하나 이상의 장치로부터 획득되어 조합될 수 있다. 예를 들어, 전자 장치 100은 GPS 110과 센서 120을 이용하여 위치 정보(예: 위도, 경도) 및 고도 정보를 획득할 수 있다. 또한 외부 장치 20으로부터 경로 상의 위치에서 사용자의 생체 정보(예: 심박수)를 획득할 수 있다. 이 경우 외부 장치 20은 획득하고자 하는 생체 정보에 대응되는 생체 인식 센서를 탑재할 수 있다.
저장소 130에는 운동 경로 데이터 외에, 사용자 프로파일 정보가 저장될 수 있다. 사용자 프로파일 정보는 사용자의 신체 조건(예: 키, 몸무게, 나이 등)이나 사용자의 운동 경력, 운동 수준(레벨) 등 운동 경로 데이터의 분석 및 운동 가이드 제공을 위해 필요한 정보를 포함할 수 있다.
저장소 130은 메모리에 해당할 수 있다. 예를 들어, 전자 장치 100에 포함되거나 연결될 수 있는 다양한 종류의 내장 메모리 또는 외장 메모리에 해당될 수 있다. 저장소 130의 구체적인 예시들이 후술된다.
처리 모듈 140은 저장소 130에 저장된 운동 경로 데이터를 분석하거나, 실시간으로 수집(센싱)되는 운동 상태 정보를 분석하여 제공될 가이드를 결정할 수 있다. 처리 모듈 140은 전자 장치 100의 전반적인 제어를 담당하는 프로세서에 해당할 수 있다. 또한 일 실시 예에서, 처리 모듈 140은 운동 경로 분석 및/또는 운동 가이드 제공을 담당하기 위한 별도의 프로세서(하드웨어 모듈) 또는 소프트웨어 모듈로 구현될 수 있다.
출력 모듈 150은 처리 모듈 140의 수행 결과를 출력하는 하드웨어에 해당할 수 있다. 예를 들어, 사용자 프로파일 및 운동 경로 데이터에 대한 분석 결과를 디스플레이에 출력될 수 있다. 또한 운동 프로그램이 수행되는 경우, 처리 모듈 140은 사용자의 위치나 운동 상태에 따라 가이드가 디스플레이 화면 또는 스피커를 통한 소리 등으로 제공될 수 있다. 이 경우 디스플레이나 스피커 등은 출력 모듈 150의 일 예시에 해당할 수 있다.
도 1에 도시된 시스템은 예시적은 구성으로, 운동의 종류 또는 사용자 장치에 따라 적절한 형태로 변형될 수 있다. 예를 들어, 전자 장치 100에는 일부 구성요소가 추가되거나, 삭제될 수 있다. 또는, 일 실시 예에서, 도 1에 전자 장치 100의 구성 요소로 도시된 일부 구성들은 전자 장치 100의 외부에 위치한 외부 장치(예: 웨어러블 장치, 연동된 운동 기구의 구성 등)로 대체되거나, 함께 동작할 수 있다. 예를 들어, 전자 장치 100은 전자 장치 100과 연동된 웨어러블 장치로 처리 모듈 140의 수행 결과를 전달하고, 웨어러블 장치(예: 스마트 워치, 스마트 글래스 등)에서 사용자 피드백이나 운동 가이드 등을 제공할 수 있다. 다른 예시적인 구성들이 다른 도면들을 참조하여 설명된다.
도 2는 일 실시 예에 따른 경로 분석 및 운동 가이드 제공의 예시적인 흐름도를 나타낸다.
동작 201에서, 전자 장치 100은 운동 경로 데이터 및 사용자 프로파일을 획득할 수 있다. 전술한 바와 같이, 운동 경로 데이터 및 사용자 프로파일은 전자 장치 100에서 자체적으로 생성될 수도 있고, 서버 10 또는 다른 외부 장치 20으로부터 획득될 수도 있다.
동작 203에서 전자 장치 100은 운동 경로 데이터 및 사용자 프로파일에 기초하여 복수의 운동 구간을 결정할 수 있다. 예를 들어, 전자 장치 100은 운동 경로 데이터에 포함된 위치 데이터(location data) 및 고도 데이터(elevation data)를 이용하여 운동 경로를 확인할 수 있다. 일반적으로 전자 장치 100은 위치 데이터만 가지고도 운동 경로를 결정할 수 있다. 운동 경로 데이터는 각 위치에 대응되는 고도 데이터를 가지고 있고, 전자 장치 100은 고도 데이터의 변화에 기초하여 여러 종류의 운동 구간을 결정할 수 있다. 예를 들어, 전자 장치 100은 경로에 따라 고도가 지속적으로 상승하는 구간은 오르막 구간, 고도가 지속적으로 하강하는 구간은 내리막 구간, 유의미한 고도의 변화가 없는 구간은 평지 구간으로 결정할 수 있다. 또한, 전자 장치 100은 같은 오르막 또는 내리막 구간이라 하더라도 변화의 크기에 기초하여 서로 다른 오르막 구간으로 설정할 수 있다. 예를 들어, 고도의 변화를 고려할 때 평균 1~2도의 경사(100미터 이동 시 고도가 1~2m 상승)를 갖는 구간은 레벨 1의 오르막 구간, 평균 3~4도의 경사를 갖는 구간은 레벨 2의 오르막 구간으로 설정될 수 있다.
본 문서에서 개시되는 실시 예에서, 사용자 프로파일에는 사용자의 이전 운동 기록이 포함될 수 있다. 또한, 운동 기록에는 운동 경로와 관련하여 획득된 사용자의 신체 및 생체 정보가 포함될 수 있다. 예를 들어, 사용자의 나이, 체중, 피로도, 혈압, 심박수, 심전도 등의 기록이 포함될 수 있고, 각각의 기록은 경로 구간 별로 구분되어 실시간으로 기록될 수 있다. 운동 기록은 추후에 사용자가 유사 또는 동일한 경로(구간)를 운동할 때 페이스 조절 또는 신체적 위험을 경고하는 것과 같은 피드백을 제공하기 위해 사용될 수 있다.
동작 203에서, 전자 장치 100은 사용자 프로파일에 기초하여 운동 구간의 속성을 다르게 결정할 수 있다. 예를 들어, 사용자가 사이클 종목에서 중급의 실력을 보유한 경우, 다시 말해서 사용자 프로파일에 사용자의 운동 수준이 중급으로 기록되어 있는 경우, 전술한 레벨 1의 오르막 구간은 평지 구간으로 안내될 수 있다. 즉, 전자 장치 100은 위치 데이터와 고도 데이터, 및 사용자 프로파일을 참고하여 운동 경로를 분석하고 운동 경로에 포함되는 복수의 운동 구간의 특징을 결정할 수 있다.
동작 205에서 전자 장치 100은 실시간 운동 안내를 위한 명령 또는 지침(instructions) 세트를 추출할 수 있다. 이 명령 세트에는 운동 경로에 대한 안내, 운동 구간 진입 전에 제공될 수 있는 안내, 운동 경로를 이탈하였을 때 제공되는 안내, 및/또는 특정 운동 구간에서 감지되는 운동 상태에 대한 안내 등에 대한 정보가 포함될 수 있다.
동작 207에서 운동 프로그램(work program)이 시작될 수 있다. 여기서 운동 프로그램이란, 사용자에 의해 선택 가능한 여러 운동 프로그램 중 어느 하나에 해당할 수 있다. 운동 프로그램이 시작되면 전자 장치 100은 사용자(전자 장치)의 현재 위치 및 고도, 속력, 생체 정보 등을 수집하여 사용자의 운동 상태를 확인할 수 있다.
동작 209에서 전자 장치 100은 운동 경로에 대한 가이드를 제공할 수 있다. 일 실시 예에서, 전자 장치 100은 사용자가 운동 경로 또는 특정 목표 구간에 진입하는 경우, 또는 진입 전에 운동 경로 또는 목표 구간(예: 목표 경로)이 시작된다는 것을 알려줄 수 있다. 예를 들어, 전자 장치 100은 디스플레이 또는 스피커를 통해, “1.6km의 오르막 구간이 곧 시작됩니다. 목표 통과 시간은 5분입니다.”라는 알림을 제공할 수 있다.
동작 211에서 전자 장치 100은 목표 경로를 완료하였는지 여부를 판단할 수 있다. 완료한 경우, 예를 들어, 전술한 1.6km의 오르막 구간을 5분 내로 주파한 경우, 동작 213에서 전자 장치 100은 리워드 또는 목표 달성을 알리는 화면이나 멘트를 제공할 수 있다. 목표 달성에 실패한 경우, 예를 들어 1.6km 오르막 구간을 오르지 못하거나 시간을 초과한 경우, 동작 217에서 전자 장치 100은 실패와 관련된 피드백을 제공할 수 있다.
이상의 프로세스를 통해 운동 경로 가이드 동작이 종료될 수 있다. 사용자가 수행한 운동 기록은 동작 219에서 목표 경로를 재설정하거나 다른 사용자와 공유하기 위해 사용될 수 있다. 예를 들어, 다른 사용자가, 또는 사용자가 예전에 30km의 운동 경로를 40분만에 주파한 운동 경로 데이터를 선택하여 운동 프로그램을 수행한 경우, 만약 사용자가 38분만에 주파한 것으로 기록 갱신을 한 경우, 사용자의 기록이 서버 10으로 업로드 되어 다른 사용자와 공유되거나, 사용자 프로파일을 업데이트 하거나(예: 초심자에서 중급자로 사용자의 운동 능력 정보 갱신), 또는 사용자의 다음 목표 설정(예: 37분 주파)를 위해 이용될 수 있다.
이상 일 실시 예에 따른 예시적인 시스템 구성과 동작 시나리오를 설명하였다. 이하에서는 운동 경로 데이터를 분석하는 실시 예와 운동 가이드를 제공하는 실시 예를 설명한다.
도 3은 일 실시 예에 따른 전자 장치의 구성을 나타낸다. 예를 들어, 도 3에 도시된 전자 장치의 구성은 도 1의 전자 장치 100의 다른 예시에 해당할 수 있다. 구체적으로, GPS 110은 통신 모듈 310의 일부를 구성할 수 있고, 센서 120은 센서 330에, 저장소(storage) 130은 저장소 340에 해당할 수 있다. GPS 110은 전자 장치 100의 위치를 감지한다는 의미에서 센서 330으로 분류될 수도 있다. 후술하는 바와 같이, 도 3에 도시된 일부 구성 요소는 전자 장치 100의 외부에 위치하는 구성 요소일 수 있다. 도 3에 도시된 구성은 본 문서에 개시되는 실시 예를 구현하기 위한 구성을 도시한 것이며, 이 구성들이 모두 하나의 전자 장치 내부에 구현될 필요는 없다. 전자 장치 100은 통신 모듈 310을 이용하여 외부 장치로 데이터 또는 데이터의 처리를 요청하고 데이터 또는 처리 결과를 수신할 수 있다.
이하에서는 도 3 내지 도 5를 참조하여 전자 장치의 구성 및 동작을 설명한다.
통신 모듈 310은 운동 프로그램 매니저 350에서 사용자의 운동 상태 분석을 위한 데이터를 서버 10 또는 외부 장치 20으로부터 수신할 수 있다. 일 예시에서, 통신 모듈 310은 운동 프로그램 코칭(가이드)를 실시하기 위한 외부 장치와 연결하는 동작을 수행할 수 있다. 통신 모듈 310은 2G/3G, LTE, Wi-Fi, NFC, Bluetooth와 같은 통신 방식을 사용하기 위한 통신 인터페이스 및 안테나를 포함할 수 있다. 통신 모듈 310의 구체적인 예시들이 도 14 및 도 15에서 통신 인터페이스 1470 또는 통신 모듈 1520으로 설명된다.
입력 모듈 320은 전자 장치에서 사용자의 소리, 터치 입력, 영상 등과 같은 다양한 형태의 입력을 수신하는 장치에 해당할 수 있다. 예를 들어, 입력 모듈 320은 마이크, 카메라, 터치 디스플레이, 물리 키보드나 키 버튼과 같은 구성 요소에 해당할 수 있다. 또한 입력 모듈 320은 전자 장치와 유선 또는 무선으로 연결되는 외부 입력 장치(예: Bluetooth 키보드)에 해당할 수 있다. 다만 이 경우, 입력 모듈 320을 통해 발생하는 입력은 통신 모듈 310을 통해 수신되어, 전자 장치 100의 처리 모듈 140(예: 프로세서)으로 전달될 수 있다.
센서 330은 사용자와 관련된 건강 상태 정보 또는 생체 정보와, 사용자(즉, 사용자의 전자 장치)의 이동 위치 정보를 측정하기 위한 하나 이상의 센서에 해당할 수 있다.
전자 장치 100은 운동 경로나 운동 기록을 저장하기 위해 센서 330에 의해 감지되는 정보를 활용할 수 있다. 예를 들어, 운동 경로를 저장하기 위해서 GPS 센서, 기압계(barometer), 자이로 센서, 가속도 센서 등이 활용될 수 있다. GPS 센서는 인공위성에서 보내는 신호를 이용하여 전자 장치 100의 현재 위치(예: 위도, 경도) 및 고도 정보를 획득할 수 있다. GPS 센서를 통해 획득되는 고도 정보의 정확성을 향상시키기 위해 전자 장치 100은 기압 센서를 활용할 수 있다. 자이로 센서는 기본적으로 회전하는 물체의 역학운동을 이용한 개념으로 위치 측정과 방향 설정 등에 활용되는 기술이다, 자이로 센서를 통해 현재 전자 장치 100의 사용자가 지도 상에서 이동하는 방향 또는 바라보고 있는 방향을 확인할 수 있다. 가속도 센서는 이동하는 물체의 가속도나 충격의 세기를 측정하는 센서로 현재 이동하는 속도를 측정할 수 있으며, GPS 센서를 통해 획득되는 정보와 함께 정확한 운동 속도를 측정하기 위해 사용될 수 있다. 이와 같은 센서를 통해 감지되는 정보를 활용하여, 전자 장치 100은 사용자의 현재 운동 시간, 거리, 속도, 고도, 위치 등을 파악할 수 있다. 추가적으로, 이렇게 파악된 정보는 최고 속도, 평균 속도, 칼로리 소모량, 평균/최대 페이스, 최고 고도, 고도 이득, 총 오르막 구간, 총 내리막 구간 등을 획득하기 위해 활용될 수 있다.
센서 330은, 예를 들어, 자전거, 런닝 머신, 스핀 바이크, 펌핑 보드 등과 같은 다양한 운동기기에 부착되어, 전자 장치 100으로 각 운동 기기에서 센싱된 정보를 제공할 수 있다. 예를 들어 라이딩(riding)시 자전거는 다양한 센서를 포함할 수 있다. 예를 들어, 카덴스(cadence), 스피드 미터(speed meter), 파워 미터(power meter) 등이 자전거에 센서 330으로 포함될 수 있다. 이와 같은 센서들은, 운동기기에서 발생한 정보를 저장할 수 있고, 이 정보는 상대적으로 정확한 운동 가이드나 운동 기록에 유용하게 사용될 수 있다. 예를 들어, 스피드 미터의 경우, 휠(wheel) 정보(예: 휠의 직경)를 활용하여 GPS기반 거리 측정 보다 정확한 거리 값을 측정할 수 있다. 또한 카덴스를 통한 균형적이 라이딩 방법과 파워 미터를 정보를 통한 근력 강화와 같이, 운동 중 또는 운동 후에 다양한 정보 제공 및 분석이 가능해질 수 있다.
.
사용자의 건강 상태 정보나 생체 정보를 측정하기 위한 센서는, 예를 들어, 페도미터(pedometer), 혈압계, 혈당계, PPG, ECG, EMG, EEG, 산소포화도 측정 센서, 피부 수준 측정 센서, 비만 측정기, 체온 센서 중 어느 하나일 수 있다. 사용자의 개인별 생체 특징을 인식하기 위한 센서는, 예를 들어 지문 센서, 홍채 인식 센서, 얼굴 인식기, 손 모양 인식기, 손 혈관 인식기, 음성 인식기, 필기 서명 인식기 중 어느 하나일 수 있다. 이 외에도 카메라, IR 카메라, 터치 센서, 마이크 등이 센서 330에 해당할 수 있다.
이와 같은 생체 정보를 획득하기 위한 헬스(health) 센서(이하 ‘헬스 센서’로 지칭한다)는, 사용자로부터 하나 이상의 생체 신호를 수집할 수 있다. 헬스 센서는 예를 들어, 사용자의 혈압, 혈류, 심박수(HRM, HRV), 체온, 호흡 수, 산소 포화도, 심폐음, 혈당, 허리 둘레, 키, 체중, 체지방, 칼로리 소비량, 뇌파, 목소리, 피부저항, 근전도, 심전도, 걸음걸이, 초음파 영상, 수면 상태, 표정(얼굴), 동공 확장, 눈 깜박임 중 하나 이상을 측정하기 위한 데이터를 수집할 수 있다. 처리 모듈 140은 수집된 생체 정보를 분석하여 생체 특성 정보를 추출할 수 있다. 예를 들어, 처리 모듈 140은 HRV(heart rate variability) 센서를 통해 획득되는 맥파 신호를 분석하여 평균 심박수나 심박 분포도와 같은 1차적인 생체 특성 정보를 획득할 수 있다. 나아가 획득된 생체 신호(정보)를 가공하여 스트레스 상태, 혈관 노화도와 같은 2차적인 생체 특성 정보를 획득하는 것도 가능하다.
헬스 센서는 수집한 사용자 생체 신호를 단순히 센서 외부로(또는 출력 모듈 150으로) 출력할 수도 있고, 센서와 함께 내장된 프로세서를 통해 생체 신호를 분석하여 생체 특성 정보를 출력할 수도 있다. 따라서 헬스 센서를 통해 수집된 생체 신호는 센서와 결합된 자체 프로세서 또는 센서 외부에 위치하고 전자 장치 100에 내장된 프로세서(예: 처리 모듈 140)에 전달되어 생체 특성 정보를 생성하기 위해 사용될 수 있다. 예를 들어, ECG 센서가 내장된 휴대전화(예: 스마트폰) 또는 PPG 센서가 내장된 손목 시계(예: 스마트 워치)가 생체 신호를 수집하고 생체 특성 정보를 생성하기 위해 사용될 수 있다.
일 실시 예에서, 이어 클립(ear clip)에 내장된 HRV 센서가 수집한 생체 정보가 스마트 워치 또는 스마트폰과 같은 전자 장치로 전달되고, 이 생체 정보를 수신한 전자 장치가 생체 특성 정보를 추출할 수 있다. 추출된 정보는 추출한 장치에서 활용되거나, 또는 하나 이상의 다른 장치로 전달될 수 있다. 만약 스마트폰에서 생체 특성 정보를 추출한 경우, 이 정보를 수신한 스마트 워치는 디스플레이를 통해, 이 정부를 수신한 이어 클립에서는 음성을 통해 생체 특성 정보를 (사용자에게) 제공할 수 있다.
이 외에도 센서 330은 터치 센서, 키 입력 감지 센서, 충격 감지 센서, 진동 감지 센서, 유선/무선 기기의 연결을 감지하기 위한 센서 등을 의미하거나 포함할 수 있다.
하나의 센서는 둘 이상의 정보를 감지할 수 있다. 예를 들어, 가속도 센서는 사용자의 모션과 사용자의 걸음 수를 동시에 측정할 수 있다. 다른 예시에서, PPG 센서는 심박수, 스트레스와 같은 생체 정보를 측정할 수 있고, 동시에 수신한 광량(photo)을 기반으로 근접 센서로 활용할 수 있다. 또 다른 예시에서, ECG 센서는 사용자의 심전도 분석을 통한 감정 인식, 심박수, HRV를 인식할 수 있고, 사용자를 인증하는 용도로 활용될 수 있다.
일 실시 예에서, 센서 330은 전자 장치 100의 전원이 ON 상태인 경우 상시 구동될 수 있다. 또는 센서 330은 사용자의 입력(예: 키 입력, 버튼 입력, GUI 입력, 제스처 인식 등)에 따라 구동될 수 있다. 또는 하나의 센서가 동작할 때 이와 연관된 다른 센서가 자동으로 구동될 수 있다.
일 실시 예에서, 센서 330은 전자 장치 100에 내장될 수 있으나, 일부 센서는 전자 장치 100의 외부에 위치하거나 센싱을 위한 외부 장치에 해당하거나, 또는 외부 환경(예: 실내, 실외, 건물, 기지국 등)에 설치될 수 있다.
저장소 340은 전자 장치 100의 사용자의 상태 정보를 저장할 수 있다. 이 외에 사용자의 운동 기록, 서버 10으로부터 수신되는 다른 사용자의 운동 기록 등을 저장할 수 있다. 또한 일 실시 예에서, 저장소 340 또는 저장소 340에 저장 가능한 일부 데이터는 통신 모듈 310을 통해 연결 가능한 서버 또는 클라우드에 위치할 수 있다.
저장소 340은 일종의 메모리에 해당할 수 있다. 저장소 340에는 각종 모듈, 매니저, 엔진을 구현 또는 구동하기 위한 명령어(예: 프로그램 코드)가 저장될 수 있다. 이 외에도, 저장소 340은 어플리케이션이나 이미지, 지도 데이터 등을 저장하고 있을 수 있다. 저장소 340에 저장되는 다양한 데이터와 관련하여, 도 14에서 메모리 130을 참조하여 설명된다.
도 3에 도시된 전자 장치는 운동 프로그램 매니저(workout program manager) 350을 포함할 수 있다. 운동 프로그램 매니저 350은 사용자의 운동 상태를 분석하여 상황에 맞는 가이드를 제공하는 역할을 담당할 수 있다. 운동 프로그램 매니저는 운동 프로그램 가이드 모듈(workout program guide module) 및 운동 루트 타깃 가이드 모듈(workout route target guide module) 등으로 세분화 될 수 있다. 운동 프로그램 가이드 모듈은 전체적인 운동 목표(예: 목표 페이스, 목표 거리, 목표 지속 시간, 목표 칼로리 등)를 제공하고 그 달성 여부를 판단하기 위한 기능을 제공할 수 있다. 운동 루트 타깃 가이드 모듈은 운동 프로그램 가이드를 위해 자신의 이전 운동 경로, 타인의 운동 경로 등을 활용하여 운동 목표를 설정할 경우, 목표 경로를 분석하고 사용자 프로파일에 기초하여 사용자의 운동에 적합한 인터랙션을 생성하는 기능을 수행할 수 있다. 본 문서의 실시 예들은 운동 루트 타깃 가이드 모듈과 주로 연관되므로, 도 3 내지 이하의 설명은 운동 루트 타깃 가이드 모듈의 구성 중심으로 설명한다.
운동 프로그램 매니저 350(루트 타깃 가이드 모듈)은 경로 정보 임포트 모듈 351, 경로 정보 분석 모듈 352, 운동 가이드 엔진 모듈 353, 목표 달성 판단 모듈 354, 경로 정보 익스포트 모듈 355, 및 운동 가이드 맵 모듈 356을 포함할 수 있다.
경로 정보 임포트 모듈 351은 GPX 파일과 같은 운동 경로 데이터로부터 목표 경로를 임포트 할 수 있다. 또한 운동 경로 데이터에 포함된 경로 정보가 운동 경로로 사용하기에 적합한지 여부를 판단할 수 있다. 예를 들어, 사용자는 사이틀 운동을 하고자 하는데, 경로에 자동차 전용 도로가 포함되어 있는 경우, 운동 경로로 활용하기에 적합하지 않은 것으로 판단될 수 있다. 또한 경로 정보 임포트 모듈 351은 지오 코드(geo code) 정보를 활용하여 운동 위치를 생성할 수 있다.
경로 정보 분석 모듈 352는 운동 안내 또는 코칭에 필요한 다양한 데이터를 분석하고 추출하는 기능, 기본 정보(예: 고도 이득, 평균 경사 등) 보기 기능, 연속된 고도 정보를 활용한 오르막, 내리막 정보 추출 기능, 난이도 및 사용자 프로파일에 기초한 사용자의 운동 능력 대비 운동 경로의 적합성 여부를 추정하는 기능 등을 수행할 수 있다. 경로 정보 분석 모듈 352의 동작과 관련하여, 도 4를 참조하여 자세하게 설명한다.
운동 가이드 엔진 모듈 353은 사용자가 임의의 운동 프로그램을 선택하여 운동을 시작한 경우, 사용자에게 운동과 관련된 가이드를 제공하는 기능을 수행할 수 있다. 예를 들어, 경로의 시작, 완료, 경로 이탈, 재진입, 진행 방향 등을 판단하고 사용자에게 알림을 제공하는 기능을 수행할 수 있다. 운동 가이드 엔진 모듈 353의 동작과 관련하여, 도 5를 참조하여 자세하게 설명한다.
목표 달성 판단 모듈 354는 사용자에게 제공된 지침(instructions)의 달성 비율 및 경로 이탈이나 목표 달성 여부를 판단하고, 판단 결과에 기초하여 리워드(reward) 또는 피드백(feedback)을 제공할 수 있다.
경로 정보 익스포트 모듈 355는 사용자의 운동 수행 기록을 저장하거나 공유하기 위한 익스포트(export) 기능을 수행할 수 있다. 또한 유의미하다고 판단되는 경로 또는 구간에 대하여 목표 경로 또는 목표 구간을 추가하는 기능을 수행할 수 있다.
운동 가이드 맵 모듈 356은 지도 상에 사용자의 시작 위치, 현재 위치, 목표 경로, 진행 경로, 진행 방향 등을 표시하기 위한 기능을 수행할 수 있다. 이를 위해 운동 가이드 맵 모듈 356은 전술한 센서 330에 의해 수집되는 다양한 정보를 활용할 수 있다.
운동 어플리케이션 360은 운동 프로그램 매니저 350으로부터 제공되는 정보에 기초하여 사용자와 인터랙션하며 운동 정보를 출력하고 사용자 입력을 수신하는 기능을 수행할 수 있다. 일 실시 예에서, 운동 프로그램 매니저 350은 운동 어플리케이션 360 내에 구현될 수 있다. 다른 실시 예에서, 운동 어플리케이션 360은 다양한 복수의 어플리케이션일 수 있고, 운동 프로그램 매니저 350은 각각의 어플리케이션에 적합한 정보를 제공할 수 있다.
도 4는 일 실시 예에 따른 경로 정보 분석 모듈의 구성을 나타낸다.
경로 정보 분석 모듈 352는 다양한 하위 모듈을 포함할 수 있다. 예를 들어, 전처리 모듈(pre-processing module) 410, 연속 데이터 분석 모듈(continuous data analyzer) 420, 구간 추출 모듈(key section extraction module) 430, 지침 추출 모듈(coaching instruction extraction module) 440, 및 경로 레벨 분석 모듈(route level analysis module) 450을 포함할 수 있다.
전처리 모듈 410은 가공되지 않은 초기 데이터, 예를 들어 GPX 파일에 포함된 데이터로부터 시간, 위치, 시작 지점, 종료 지점, 고도 정보 등을 추출할 수 있다. 예를 들어, 전처리 모듈 410은 프로 사이클 선수가 수행한 운동 기록이 저장된 GPX 파일로부터 운동 시작 지점, 운동 종료 지점, 이동한 지역의 GPS 위치 정보, 각 위치에서의 고도 정보, 운동 시간(기록) 정보(예: 운동 시작 시간, 운동 종료 시간) 등을 추출할 수 있다. 이 외에, 전처리 모듈 410은 운동 경로 데이터(예: GPX 파일)가 추가 또는 확장 정보를 포함하는 경우, 해당 추가 또는 확장 정보를 추출할 수 있다.
연속 데이터 분석 모듈 420은 전처리 모듈 410에 의해 전처리 된 정보를 바탕으로 고도 이득, 지속 시간, 이동 거리, 평균 경사도 등의 가공된 정보를 분석할 수 있다. 예를 들어, 연속 데이터 분석 모듈 420은 운동 시작 시간과 운동 종료 시간 정보로부터 운동 지속 시간 정보를 획득할 수 있다. 또한 고도 정보를 분석하여 사용자가 이동한 총 오르막 구간의 높이의 합(고도 이득)을 획득할 수 있다. 또한 각 GPS 위치 정보를 이용하여 수행된 운동 경로를 획득할 수 있다.
구간 추출 모듈 430은 경사도의 연속 패턴을 확인하여 오르막 구간과 내리막 구간, 및 하이라이트 구간을 판단할 수 있다. 예를 들어, 운동 경로는 경사도의 변화에 기초하여 10개의 구간으로 구분될 수 있다. 예를 들어, 1번 구간(평지), 2번 구간(오르막), 3번 구간(평지), 4번 구간(내리막), 5번 구간(오르막), 6번 구간(오르막/경사 급함), 7번 구간(평지), 8번 구간(내리막), 9번 구간(평지), 10번 구간(내리막)이 전체 운동 경로에 포함될 수 있다. 위 예시에서, 평지 구간은 -1도에서 1도 사이의 경사를 가지는 구간, 오르막 구간은 1도에서 3도 사이의 경사를 가지는 구간, 내리막 구간은 -1도 이하의 경사를 가지는 구간에 해당할 수 있다. 또한, 6번 오르막 구간은 3도 이상의 경사를 가지는 구간에 해당할 수 있다. 이와 같은 설정은 예시적인 것이며, 다양한 형태로 변형될 수 있다. 또한 같은 경로를 분석하더라도 사용자 프로파일에 따라 다른 분석 결과가 도출될 수 있다. 예를 들어, 사용자의 운동 수준이 초급(비기너)인 경우 1~2도의 경사를 제1 수준의 오르막 구간, 2도~4도를 제2 수준의 오르막 구간으로 분석하고, 4도를 초과하는 오르막 구간이 운동 경로에 포함되는 경우에는 사용자에게 해당 운동 경로가 현 시점에서 무리임을 알려주도록 할 수 있다. 그러나 사용자의 운동 수준이 고급(프로)인 경우, 2도 이하의 경사는 평지로 판단하고, 2~5도의 경사를 제1 수준의 오르막 구간, 5도~8도의 경사를 제2 오르막 구간, 8도~11도의 경사를 제3 오르막 구간으로 분석할 수 있다.
또한 위 예시에서, 구간 추출 모듈 430은 지정된 조건에 따라 하이라이트 구간을 결정할 수 있다. 예를 들어, 구간의 고도 변화 및 구간의 길이에 기초하여 칼로리의 소모가 가장 많을 것으로 예상되는 구간을 하이라이트 구간으로 결정할 수 있다.
구간 추출 모듈 430에 의해 분석된 구간 정보는, 운동 가이드 맵 모듈 356에 의해 운동 경로가 표시되는 지도 상에 반영될 수 있다. 이와 관련된 예시가 도 8에 도시된다.
이와 같은 구간 정보가 필요한 이유는, 같은 거리의 경로라도 구간 별로 운동 수행의 난이도가 다를 수 있고, 해당 구간이 오르막인지 내리막인지 여부에 따라서 운동에 필요한 가이드 방법이 달라지게 된다. 이와 같은 구간 분석 및 구간 분석 결과에 기초한 가이드 제공에 의하여, 일 실시 예에서는 효과적인 가이드를 통해 목표를 완수하는 비율을 높이고 사용자로 하여금 성취감을 느껴 지속적으로 목표를 가지고 운동을 이어갈 수 있도록 할 수 있다.
지침 추출 모듈 440은 오르막/내리막 정보 분석 모듈 442, 회전 정보 분석 모듈 444, 및 구간 판단 및 속도 계산 모듈 446을 포함할 수 있다. 오르막/내리막 정보 분석 모듈 442는 오르막 구간이나 내리막 구간으로 판단된 지점에 대한 지침을 추출할 수 있다. 예를 들어, 오르막/내리막 정보 분석 모듈 442는, 오르막 구간이나 내리막 구간의 경사, 이전 또는 이후 구간의 정보(예: 다음 구간이 경사가 더 심한 오르막인지, 평지인지, 내리막인지 여부), 또는 해당 구간이 전체 운동 경로에서 배치되는 위치(예: 운동 경로의 초반에 등장하는 오르막인지 후반에 등장하는 오르막인지 여부)에 대한 정보 등에 기초하여 사용자에게 제공할 지침을 결정할 수 있다. 또한, 오르막/내리막 정보 분석 모듈 442는 사용자 프로파일에 기초하여 사용자에게 제공할 지침을 다르게 결정할 수 있다. 예를 들어, 사용자가 상급자이거나, 동일한 코스를 여러 번 수행한 기록이 있는 경우, 사용자의 페이스나 다음 구간에 대한 지침(예: 이 구간에서는 체력을 비축해야 합니다, 기어를 낮게 조정하세요 등)은 생략할 수 있다. 그러나 사용자가 초심자이거나, 해당 코스를 처음 수행하는 경우 상세한 지침을 제공할 수 있다.
회전 정보 분석 모듈 444는 운동 경로 중에 직선 운동이 아닌 회전 운동이 포함된 부분에 대하여 제공될 지침을 결정할 수 있다. 또한 구간 판단 및 속도 계산 모듈 446은 입력된 운동 기록(운동 경로 데이터)에 대해 직선 구간에서 일정한 속도를 유지한 구간이 있다면, 해당 구간을 섹션화하여 속도 유지 구간임을 가이드하는 지침으로 정리할 수 있다.
경로 레벨 분석 모듈 450은 운동 종류 별 가중치 정보를 활용하여 목표 경로의 추정 시간, 소모 칼로리, 최대 산소 섭취량 등을 생성할 수 있다. 예를 들어, 운동 관련된 정보를 다음과 같이 항목화 할 수 있다: (1) 운동 예상 시간(workout estimated time), (2) VO2Max Level, (3) 스태미너 레벨(stamina level), (4) 난이도(difficulty). 여기서 (1) 운동 예상 시간은, 운동 가이드를 제공할 때, 사용자의 기록을 활용하여 운동 별 예상 시간에 해당하고, (2) VO2Max level은 최대 산소 섭취량을 나타내는 것으로, 이동 거리를 기준으로 분석될 수 있다. 또한 (3) 스태미너 레벨은 육체적인 활동을 장시간 지속할 수 있는 능력을 나타내는 지표에 해당하며, (4) 난이도는 위 정보들을 종합하여 결정되는 해당 경로의 난이도에 해당할 수 있다. 이 난이도는 운동 경로의 선택 기준으로 활용될 수 있다. 사용자의 운동 기록 또는 사용자 프로파일과 비교하여 운동 가능 여부, 가이드 변경 등에 활용될 수 있다.
이 정보들은 사용자 프로파일, 또는 사용자의 운동 기록(로그) 정보들과 함께 사용자가 효과적으로 운동 에너지를 소모하고 지속적으로 운동할 수 있도록 코칭 또는 프로그램 가이드를 생성하기 위한 자료로 활용될 수 있다.
일 실시 예에 따르면, 경로 정보 분석 모듈 352(예: 구간 추출 모듈 430)은 오르막 및 내리막 분석을 위해, 비정상 위치 정보를 제거하고, 각 위치 별 경사도를 보정하고, 경사도 그룹을 설정하고, 운동 별/사용자 별 경사 구간을 추출할 수 있다. 도 6a 내지 도 6d를 참조하여 구체적인 방법을 설명한다.
도 5는 일 실시 예에 따른 운동 가이드 엔진 모듈의 구성을 나타낸다.
도 1 내지 도 4를 참조하여 설명한 내용에 기초하여 선택된 운동 경로 정보에 대한 분석이 완료되고, 해당 운동 경로에 대하여 사용자가 운동을 시작하면, 운동 가이드 엔진 모듈 353이 동작할 수 있다. 운동 가이드 엔진 모듈 353은 경로 정보 분석 모듈 352로부터 분석 완료된 운동 경로 데이터를 획득하는 한편, 통신 모듈 310이나 센서 330과 같은 사용자의 현재 운동 상태 정보를 수집할 수 있는 수단으로부터 현재 운동 상태 정보를 획득할 수 있다. 운동 가이드 엔진 모듈 353은 분석 완료된 운동 경로 정보를 기반으로, 현재 사용자의 운동 상태 정보가 갱신될 때마다 동작할 수 있다. 운동 가이드 엔진 모듈 353에 의해 제공되는 가이드 정보들은 디스플레이 550에 시각적으로 출력되거나, 스피커 552를 통해 청각적으로 출력될 수 있다. 이 외에도, 가이드 정보는 진동 또는 LED와 같은 다양한 출력 모듈 150을 통해 제공될 수 있다.
운동 가이드 엔진 모듈 353은, 경로 이탈 판단 모듈 510, 경로 정보 제공 모듈 520, 가이드 강도 판단 모듈 530, 및 페이스 판단 모듈 540을 포함할 수 있다. 경로 이탈 판단 모듈 510은, 운동 경로 중에서, 사용자가 목표로 삼은 구간의 시작 지점을 통과하지 못했을 때 시작 지점까지의 거리 계산 및 현재 위치와 시작 지점을 연결하는 마커(marker)를 지도 상에 표시하는 기능을 수행할 수 있다. 예를 들어, 경로 이탈 판단 모듈 510은 위도 정보 및 경도 정보를 보간(interpolation)하여 지도 상에 마커 표시를 할 수 있다. 이와 관련하여 도 9a를 참조하면, 현재 사용자는 지점 911에 위치하고 있고, 목표 구간 913은 지점 912부터 시작한다. 이 경우, 경로 이탈 판단 모듈 510은 지점 911과 지점 912를 연결하는 마커 914를 지도상에 표시할 수 있다. 일 실시 예에서, 경로 이탈 판단 모듈 510은 사용자가 목표로 삼은 운동의 시작 지점을 통과한 다음부터 이탈 경고음을 제공하는 동작 및 경로 복귀를 알리는 동작을 수행할 수 있다.
경로 정보 제공 모듈 520 역시 사용자가 목표로 삼은 운동의 시작 지점을 통과한 다음부터 동작할 수 있다. 일 실시 예에 따르면, 사용자는 복수의 운동 구간을 포함하는 운동 경로 전체를 목표 운동 경로로 설정할 수도 있고, 전체 경로 중 일부 구간만 목표 구간으로 설정할 수도 있다. 예를 들어, 사용자는 전체 운동 구간 중에서 특정 구간(예: KOM(king of mountain) 구간, 오프로드(offload) 구간 등)만 목표로 하여 운동을 수행할 수 있다. 운동 프로그램이 시작되면, 운동 가이드 맵 모듈 356은 전자 장치 100의 디스플레이에 출력되는 지도 상에 목표 구간의 시작 지점과 사용자의 현재 위치를 표시할 수 있다. 또한 목표 구간 또는 운동 경로와, 사용자가 실제 이동하고 있는 이동 경로를 표시할 수도 있다. 센서 330을 통해 획득되는 정보에 기초하여, 사용자가 목표로 삼은 운동을 수행하고 있는 것으로 판단되면, 경로 정보 제공 모듈 520은 직선 경로 앞에 경로 변화가 있는지 여부(예: 좌회전, 우회전 등) 및/또는 경로 변화가 얼마나 멀리 떨어져 있는지에 대한 정보 등을 제공할 수 있다. 그 외에도 현재 사용자의 위치 또는 경로 상에서, 오르막이나 내리막, 하이라이트 구간까지 남은 거리 또는 시간에 대한 정보를 제공할 수 있다. 또한 사용자가 오르막 구간을 대비하여 힘을 비축하거나, 구간의 경사도에 대응하여 기어 비를 변경할 수 있도록 오르막이나 내리막 구간의 경사에 대한 정보를 미리 제공할 수 있다. 일 실시 예에서, 경사의 정도에 따라 가이드 정보가 제공되는 시간은 변경될 수 있다. 예를 들어, 오르막 구간의 경사가 심한 경우 가이드 정보는 미리(예: 오르막 경사 구간 시작 전 500m 지점) 제공되고, 경사가 낮은 경우 가이드 정보는 해당 구간에 근접(예: 오르막 경사 구간 시작 전 50m 지점) 또는 경사 진입 이후에 제공될 수 있다.
가이드 강도 판단 모듈 530은 사용자 프로파일에 기초하여 가이드의 강도를 판단할 수 있다. 예를 들어, 사용자가 사전에 입력한 사용자 프로파일 대비 오르막 구간의 경사가 높은 경우, 운동 중에 조금 더 높은 목표를 달성할 수 있도록 해당 오르막 구간을 정복하는 경우의 혜택이나 리워드를 오르막 구간 진입 전에 알려줄 수 있다. 만약 사용자 프로파일에 기초하여 판단할 때 오르막 구간의 경사가 상당이 높고 구간의 길이가 긴 편이라고 판단되면, 사용자가 오를 수 없음을 감안하여 오르막 구간을 정복하기 힘들다는 정보를 제공하거나, 사용자에게 다음에 해당 구간에 도전할 것을 제안할 수 있다. 만약 사용자 프로파일 대비 오르막 구간의 경사가 낮은 경우, 가이드의 강도를 약하게 설정할 수 있다.
페이스 판단 모듈 540은 센서 330 등을 통해 획득되는 구간 속도, 순간 속도, 전체 평균 속도 등을 계산하여 사용자의 속도가 기준이 되는 페이스보다 뒤쳐졌는지 또는 무리한 페이스로 운동 중인지 여부를 판단할 수 있다. 예를 들어, 사용자 프로파일에 기초하여, 사용자가 전체 운동 구간의 절반을 통과하는데 30분이 기대되는데, 실제 사용자는 20분만에 주파하고 있는 경우, 오버 페이스로 운동하고 있다는 정보, 및/또는 조절해야 하는 속도/페이스 정보를 제공할 수 있다.
도 6a 내지 6d는 일 실시 예에 따른 경사 구간을 판단하는 방법을 나타낸다. 도 6a 내지 6d를 참조하여 설명되는 내용은 도 4의 경로 정보 분석 모듈 352 또는 구간 추출 모듈 430에 의해 수행될 수 있다.
일반적으로 획득되는 지형 정보(예: GPS 정보)는 많은 오차 정보를 가지고 있을 수 있다. 따라서 획득된 정보를 바로 운동 거리 정보로 사용하고 데이터 분석을 수행하는 것보다, 보정을 수행한 후 데이터 분석을 수행하는 것이 효과적일 수 있다. 예를 들어, 고도, 거리, 위도, 경도 정보 등을 활용하여 비정상적으로 판단된 데이터를 제거 또는 보정할 수 있다. 예를 들어, 고도 값이 갑자기 음수가 되거나, 고도 차이가 비 정상적으로 크게 발생하는 경우 들을 확인하고, 주변 데이터와 비교하여 선형(linear) 데이터를 갖도록 보정(치환 또는 제거)하거나, 내삽 또는 외삽 방식을 이용하여 수치를 보정할 수 있다. 도 6a의 예시에서와 같이, 초기 데이터(raw data) 611에서 중간에 고도 값이 갑자기 음수로 나타나는 경우, 주변의 고도 값을 참조하여 고도 값을 양수로 보정할 수 있다. 이러한 보정 데이터 613에 기초하여 이후 구간 분석이 수행될 수 있다.
전자 장치에서 획득되는 경로 정보의 저장 주기는 어플리케이션 또는 전자 장치의 종류나 설정에 따라서 달라지기 때문에, 일관성이 떨어지거나 오차가 많이 발생할 수 있다. 이러한 오차를 보정하기 위해 특정 거리마다 경사도를 판단할 수 있다. 예를 들어, 2차원 상의 15m 구간 마다 정제된 경사도를 구하는 경우, 도 6b에 도시된 것과 같은 fitting 기술을 적용하면, 캘리브레이션(calibration) 및 오르막/내리막 판단을 위한 표준화된 데이터를 획득할 수 있다. 예를 들어, 일정 구간마다 획득되는 데이터 621, 623과 같은 데이터를 이용하여 가장 근접하거나, 해당 구간을 대표할 수 있는 경사도 625를 획득할 수 있다.
일반적인 경우, 경사도 5도 이상을 오르막으로 가정할 때, 경사도 보정을 통하여 특정 두 지점 사이의 계산된 경사도들을 이용하여 평지 그룹과 경사도 그룹으로 구분할 수 있다. 특히 오르막 구간이나 내리막 구간을 판단하기 위해서는 각 지점의 경사도, 판단 기준 거리, 운동 종류, 사용자의 운동 레벨 등이 함께 적용될 수 있다.
예를 들어, 도 6c에서와 같이 지점 A와 지점 B 사이를 14개 구간으로 구분하여 경사도를 판단한 경우(예: 도 6b에서와 같은 방법으로 각각의 대표 경사 값을 추출) p1 내지 p8에 해당하는 구간은 +의 경사 값을, p9에서 p14에 해당하는 구간은 ?의 경사 값을 획득할 수 있다. 만약 5도 이상을 오르막 경사 구간으로, -5도 이하를 내리막 경사 구간으로 판단하는 경우, p1~p3, p6~p8은 오르막 경사 구간(그룹 1), p9, p13~p14는 내리막 경사 구간(그룹 1)로 판단되고 p4~p5, p10~p12는 평지 구간(그룹 2)으로 판단될 수 있다.
그러나 일 실시 예에 따르면, 평지 구간에 해당하는 것으로 분류되더라도, 이전의 경사 구간과 이후의 경사 구간을 연결하여 지속적으로 운동 효과에 적합한 오르막 구간 및 내리막 구간이 판단될 수 있다. 예를 들어, 평지 구간의 길이가 기준 길이 이하이며(예: 3개 구간 이하), 이전 구간 및 이후 구간이 오르막 경사 구간으로 분류되는 경우, 경사도가 오르막으로 판단되지 않더라도, 해당 평지 구간을 포함하여 오르막 구간으로 결정할 수 있다. 예를 들어, 도 6c에서는 최종적으로 p1 내지 p8이 오르막 구간으로, p9 내지 p14가 내리막 구간으로 설정될 수 있다. 이는 내리막 그룹 사이에 짧은 오르막 또는 평지가 포함된 경우, 평지 그룹 사이에 짧은 오르막/내리막이 포함된 경우에도 유사하게 적용될 수 있다.
또한, 이전 단계에서 찾아진 오르막/내리막 구간 중에는 거리가 짧거나 운동 효과에 도움이 되지 않는 구간이 있을 수 있다. 이 경우, 운동의 종류에 따라, 또는 사용자의 프로파일(운동 능력)에 따라 운동 효과를 높일 수 있는 경사 구간을 보정할 수 있다.
예를 들어, 자전거 운동의 경우 내리막 구간에서는 가속을 받기 때문에, 내리막 구간에서 바로 이어지는 평지 구간이나 낮고(경사가 약하고) 길이가 짧은 오르막 구간은 칼로리 소모가 거의 일어나지 않기 때문에 운동 효과가 적을 수 있다. 이런 경우, 내리막 구간에는 실제 경사도 정보에 근거하여 분석된 구간에 대하여 추가 구간이 부가될 수 있다.
예를 들어, 도 6d에 도시된 바와 같이, 고도(elevation)정보의 분석 결과, 경사가 큰 내리막 구간 641 다음에 경사도가 작아서 평지로 분류되고 길이가 짧은 오르막 구간 643이 있는 경우, 구간 641과 구간 643(또는 이어지는 내리막 구간 645까지 포함하여)을 묶어서 내리막 구간으로 설정될 수 있다. 도 6d의 예시는, 도 6c의 일 예시로도 이해될 수 있다.
도 1 내지 도 6을 참조한 설명에 있어서, 각각의 모듈이 수행하는 동작은 처리 모듈 140(예: 프로세서)에 의해 수행되는 기능으로 이해될 수 있다. 다시 말해서, 각각의 모듈의 명칭에 제한되지 않고, 수행하는 기능을 중심으로 운동 프로그램 매니저 350, 또는 운동 어플리케이션 360은 전술한 기능을 수행 가능하도록 다양하게 구현될 수 있다.
도 7은 일 실시 예에 따른 운동 경로 데이터를 분석, 출력하고 운동 가이드를 제공하는 프로세스를 나타낸다. 도 7의 프로세스는 전술한 모듈들의 동작의 예시적인 흐름을 나타내며, 전술한 임의의 모듈의 동작이 추가될 수 있다.
도 7을 참조하면, 동작 710에서, 전자 장치 100은 운동 경로 데이터 및 사용자 프로파일을 획득할 수 있다. 운동 경로 데이터 및/또는 사용자 프로파일은 전자 장치 100의 내부에 위치하거나, 또는 외부 서버 등으로부터 다운로드 될 수 있다. 또한 운동 경로 데이터는 위치 데이터 및 고도 데이터를 포함하는 구조화된 문서(예: xml) 포맷일 수 있다.
동작 720에서, 전자 장치 100은 운동 경로 데이터를 분석하고 사용자 프로파일에 기초하여 경사 구간을 판단할 수 있다. 예를 들어, 전자 장치 100은 위치 데이터 및 고도 데이터를 이용하여 적어도 하나의 경사 구간을 결정할 수 있다. 적어도 하나의 경사 구간은 사용자 프로파일에 따라 다르게 결정될 수 있다. 예를 들어, 제1 사용자에게 오르막으로 판단되는 구간이 제2 사용자에게는 평지 구간으로 판단될 수 있다.
동작 730에서, 전자 장치 100은 운동 경로에 포함되는 복수의 구간 중에서 지정된 조건에 기초하여 하이라이트 구간을 판단할 수 있다. 예를 들어, 전자 장치는 가장 높은 칼로리를 소모하는 구간, 또는 주파하는데 가장 오랜 시간이 걸리는 구간, 가장 고도 변화가 심한 구간, 가장 길이가 긴 구간 중 적어도 하나를 하이라이트 구간으로 결정할 수 있다. 일 실시 예에서, 동작 730의 하이라이트 구간 결정은 생략될 수도 있다.
동작 740에서, 전자 장치 100은 동작 720 또는 동작 730에서 판단된 구간을 포함하는 운동 경로를 표시하는 지도를 전자 장치 100의 디스플레이에 출력할 수 있다. 여기서 각각의 구간은 구간의 특성, 예를 들어 구간이 가지는 경사, 또는 동작 720에서의 구간에 대한 판단 결과에 기초하여 지도 상에서 서로 다른 형태, 색상 등으로 표시될 수 있다. 이와 관련된 예시가 도 8 내지 도 13에서 설명된다.
동작 740에서 운동 경로를 포함하는 지도가 제공되면, 사용자는 지도를 통해 해당 운동 경로가 포함하는 일반적인 정보(예: 거리, 고도 이득 등)외에, 해당 운동 경로에 포함된 오르막 구간이나 내리막 구간에 대한 정보를 용이하게 확인할 수 있다. 사용자는 동작 A에서 이 운동 경로를 선택하여 운동을 수행하거나, 혹은 다른 운동 경로를 선택할 수 있다.
동작 710 내지 동작 740은 운동 경로 데이터를 분석하고 출력하는 프로세스로서, 도 4의 경로 정보 분석 모듈 352에 의해 수행될 수 있다. 이하의 동작 750 내지 동작 790은 분석 결과에 기초하여 운동 가이드를 제공하는 프로세스에 해당할 수 있다. 도 7의 프로세스는 연속적으로 수행될 수도 있으나, 동작 710 내지 740이 수행되고 나서 시간적 간격을 두고 750 내지 790이 수행될 수도 있다.
동작 750에서 전자 장치 100은 센서 330을 통해 현재 사용자(전자 장치)의 운동 상태 정보를 획득할 수 있다. 예를 들어, 현재 사용자의 위치, 현재 사용자의 이동 속도, 현재 운동 기구의 상태(예: 사이클 휠의 회전 rpm 등) 등을 획득할 수 있다. 일 실시 예에서, 전자 장치 100은 디스플레이에 출력된 지도 상에 사용자의 현재 위치를 표시할 수 있다. 이 경우, 지도에는 사용자의 현재 위치 및 사용자가 선택한 운동 경로가 함께 표시될 수 있다. 또한 일 실시 예에서, 전자 장치 100의 디스플레이에는 지도 외에 사용자의 현재 속도, 운동 지속 시간, 운동 거리와 같은 현재 운동 상태를 나타내는 정보가 출력될 수 있다.
동작 760에서, 전자 장치 100은 운동 경로 및 사용자의 현재 운동 상태에 기초하여 운동 가이드를 제공할 수 있다. 예를 들어, 사용자가 경로를 이탈하거나, 목표 경로 또는 목표 구간에 진입하거나, 새로운 구간이 시작되거나, 새로운 구간이 곧 시작될 예정인 경우 등에 있어서, 사용자 프로파일에 기초하여 운동 가이드를 제공할 수 있다.
동작 770에서 전자 장치 100은 사용자가 운동 목표를 달성하였는지 여부를 판단할 수 있다. 예를 들어, 운동 경로 전체 또는 운동 경로 중 일부 구간이 목표 구간으로 설정된 경우, 시간 또는 소모 칼로리, 이동 거리와 같이 사용자가 목표로 한 파라미터가 충족되는지 여부를 판단할 수 있다.
동작 780에서 전자 장치 100은 목표가 달성되거나, 목표 달성에 실패한 것으로 판단되는 경우 그에 대응하는 피드백을 제공할 수 있다. 예를 들어, 사용자에게 적절한 형태의 리워드(예: 멘트 또는 이미지, 또는 다음 단계의 운동 코스 제공)가 제공될 수 있다.
동작 790에서 전자 장치 100은 사용자가 수행한 운동 기록을 익스포트 할 수 있다. 예를 들어, 사용자가 특정 운동 경로에 대한 운동을 수행한 경우, 사용자가 수행한 시간, 속도 등에 대한 정보가 GPX 포맷으로 익스포트 될 수 있다. 이렇게 익스포트 된 운동 경로 데이터는 다른 사용자와 공유하거나 사용자의 운동 기록에 반영하기 위해 활용될 수 있다.
이하에서는 도 8 내지 도 13을 참조하여 전자 장치 100의 디스플레이에 제공될 수 있는 예시적인 화면들을 설명한다. 이하의 도면들은 예시적인 것이며, 전술한 기술적 사상을 반영하는 다양한 형태로 변형될 수 있다.
도 8은 일 실시 예에 따른 분석이 완료된 지도 화면을 나타낸다.
전자 장치 100은 사용자 또는 다른 사용자의 운동 경로 데이터로부터 도 8에 도시된 것과 같은 지도 화면을 생성할 수 있다. 일 실시 예에서, GPX 파일을 임포트(import) 하였을 때 운동 경로의 시작과 끝 지점을 명시하고, 지도 위에 다각선분(polyline) 형태로 경로를 그려주어 전체적인 진행 방향과 경로의 맥락을 확인할 수 있다. 예를 들어, 빨간색의 오르막 구간(또는 칼로리 소모가 많은 구간), 노란색의 내리막 구간으로 속도를 높여볼 수 있는 구간, 하이라이트 구간으로 최대 칼로리 소모를 줄 수 있는 구간들이 제공될 수 있다. 예를 들어, 운동의 시작 위치는 지점 811로, 운동의 종료 위치는 지점 817에 표시될 수 있다. 지점 811에서 시작하여 지점 817에서 종료되는 운동 경로 810은 평지 구간 812, 하이라이트 구간 813, 내리막 구간 815, 오르막 구간 816 등을 포함할 수 있다. 하이라이트 구간 813에 대해서는 구체적인 정보를 나타내는 팝업 814가 제공될 수 있다. 예를 들어, 하이라이트 구간은 6.9도의 경사를 갖는 3.7km의 코스로 가장 칼로리 소모가 높은 구간에 해당할 수 있다. 또한, 지도 화면은 오르막 구간이나 내리막 구간을 나타내는 범례 820을 포함할 수 있다. 이와 같이 운동 경로에 포함된 구간들을 미리 파악하여 실제 운동시 나타날 수 있는 상황들을 미리 파악해 볼 수 있다.
종래의 지도 정보에서 사용자는 경사 정보를 확인할 수 없기 때문에, 지도 상에 표시된 운동 경로를 보더라도, 사용자가 수행하고자 하는 운동(예: 걷기, 달리기, 자전거 등)에 적합한 운동 경로인지, 혹은 자신이 완주하는 것이 가능한 운동 경로인지 용이하게 파악하기 어렵다. 사이클 운동을 주로 하는 사용자의 경우 평지로 이루어진 50km의 운동 경로는 지루할 것이고, 마라톤을 즐겨 하는 사용자에게 오르막으로 이루어진 10km의 운동 경로는 끔찍할 수 있다. 특히, 사용자마다 목표로 삼는 운동 요소가 다를 수 있다. 예를 들어, 어떤 사용자는 운동 시간이나 운동 거리를 중요시 하는 반면, 어떤 사용자는 칼로리 소모량, 대회에 사용된 적이 있는 유명 코스의 완주 등을 중요시 할 수 있다. 또한 어떤 사용자는 오르막 구간을 집중 연습하고자 할 수 있고, 어떤 사용자는 내리막 구간을 집중 연습하고 싶어할 수 있다.
도 8에 도시된 형태로 정보가 제공되는 경우, 사용자는 자신이 수행하고자 하는 운동의 종류와 자신이 목표하는 운동 요소에 해당 운동 경로가 적합한지 용이하게 확인할 수 있다. 보다 많은 오르막 구간을 희망하는 사용자는 다른 GPX 파일을 로드하여 운동 경로를 분석하고, 적합한 운동 프로그램을 선택할 수 있다.
도 9a 내지 9c는 일 실시 예에 따른 운동 경로 가이드가 제공되는 디스플레이 화면을 나타낸다.
도 9a는, 전술한 바와 같이 사용자의 현재 위치 911이 목표 구간 913의 시작 지점 912에 도달하지 못한 경우, 이를 표시하는 지도 화면을 나타낸다. GIS(도로망 정보) 데이터베이스는 항상 이용 가능하지 않을 수 있고, 그에 따라 지도 상에 현재 위치 911과 시작 지점 912 사이의 직선 거리 914를 도 9a와 같이 표시할 수 있다.(예: 200m from start point) 전자 장치 100은 사용자의 현재 위치 911의 GPS 정보(예: 위도 정보 및 경도 정보) 시작 지점 912의 위도, 경도 정보를 획득할 수 있고, 두 지점 사이의 보간을 통해 힌트를 위한 아이콘(예: 직선 거리 914)를 표시할 수 있다.
도 9b는 목표 구간의 시작 지점 921을 통과한 후 목표 구간 923을 이탈한 경우 제공되는 가이드의 예시를 나타낸다. 이 경우, 경로 이탈 판단 모듈 510은 사용자의 현재 위치 922가 목표 구간 923으로부터 일정 기준 이상 벗어난 경우 사용자가 경로를 이탈한 것으로 판단하고, 가이드 경로(예: 도 9a의 직선 거리 914와 같은 표시) 또는 음성 안내 등으로 사용자가 목표 경로에서 이탈하였음을 알려줄 수 있다.
도 9c는 목표 구간의 시작 지점 931을 통과한 후에 방향 전환이 필요한 지점에서 제공되는 가이드의 예시를 나타낸다. 일 실시 예에 따르면, 전자 장치 100(예: 회전 정보 분석 모듈 444 및 경로 정보 제공 모듈 520)은 사용자가 목표 구간을 잘 진행할 수 있도록 경로의 모양을 분석하여 대략적인 회전 정보를 예측할 수 있다. GPS 센서의 경우 종종 획득 값이 비정상적인 오차가 발생할 수 있고 방향 분석을 하기에는 적절하지 않을 수 있기 때문에, 전자 장치 100은 별도의 로직을 통해 위치 정보를 간소화 하여 회전을 판단할 수 있는 적은 집합으로 추려낼 수 있다. 추려진 값에서 위도 및 경도의 차이에 기초하여 방향 전환이 발생하는지 여부를 판단하고, 그 회전의 정도를 판단할 수 있다. 또한 운동 종류에 기초하여, 경미한 회전의 경우 자전거나 달리기 등의 운동을 수행하는 사용자에게는 의미가 없을 수 있기 때문에 제외시킬 수 있다. 사용자가 의식할 만한 방향 전환이 이루어져야 하는 경우, 사용자가 예상 위치 933에 진입한 것으로 판단되면, UI의 변화 또는 음성 가이드를 통해 방향 전환에 대한 가이드를 제공할 수 있다. 예를 들어, 전환해야 하는 방향 923 및 전환 지점까지 남은 거리 935에 해당하는 UI가 제공될 수 있다.
도 10a 및 도 10b는 일 실시 예에 따른 운동 경로 선택 화면 및 운동 경로의 상세 화면을 나타낸다.
도 10a를 참조하면, 복수의 선택 가능한 운동 경로에 대한 정보가 디스플레이에 제공될 수 있다. 예를 들어, 운동 어플리케이션 360의 UI 상에 선택 가능한 HeartCourse 1010 및 r5 1020 2개의 운동 경로가 디스플레이 될 수 있다. 이 외에도 사용자는 스크롤 입력 등을 통하여 선택 가능한 다른 운동 경로에 대한 정보를 확인할 수 있다.
도 10a에 도시된 운동 경로 1010 및 1020은, 예를 들어 경로 정보에 대한 분석이 완료된 운동 경로에 해당할 수 있다. 운동 경로에 대한 정보는, 예를 들어 운동 경로(운동 프로그램)의 이름, 지역, 거리, 고도 이득, 평균 경사와 같은 정보를 포함할 수 있다. 운동 경로에 대한 보다 자세한 정보를 확인하기 위해, 운동 경로의 세부 정보를 확인하기 위한 항목(DETAIL) 1011이 선택되면, 전자 장치는 도 10b와 같은 화면을 디스플레이 할 수 있다. 예를 들어, 경사에 따라 다르게 표시된 적어도 하나의 구간을 포함하는 운동 경로가 표시되는 지도 1030, 시작 지점부터 종료 지점까지의 고도 변화 1040, 및 선택 버튼 1050(도 10a의 1012와 동일한 기능)이 디스플레이 될 수 있다. 도 10b의 화면 구성은 예시적인 것이며, 다양하게 변형될 수 있다. 예를 들어, 지도 1030만 표시되거나, 또는 고도 변화 1040이 텍스트로 제공되는 세부 정보(예: 운동 시간, 운동 거리, 고도 이득, 예상 칼로리 등)로 대체될 수도 있다.
일 실시 예에서, 사용자에 의해 IMPORT 항목이 선택되면, 저장소 340에 저장된 다른 운동 정보 데이터 파일(예: GPX 파일)에 접근할 수 있다. 임의의 운동 정보 데이터 파일이 선택되면, 운동 프로그램 매니저 350은 해당 파일을 분석하여 도 10a 및 도 10b와 같은 화면을 제공할 수 있다.
도 11a 및 도 11b는 일 실시 예에 따른 운동 가이드를 제공하는 화면을 나타낸다.
도 11a를 참조하면, 운동 가이드 화면은 운동 지속 시간 1111, 운동 거리 1112, 현재 속도 1113과 같은 운동 상태 정보 1110을 포함할 수 있다. 또한, 운동 가이드 화면은 현재의 운동 상태를 계기판 1120과 같은 형태로 표시할 수 있다. 계기판 1120에는 현재의 속도 및 평균/최대 속도가 함께 표시될 수 있다. 도 11b에서와 같이, 계기판 1120 대신에 지도 화면 1140을 이용한 가이드가 제공될 수도 있다. 지도 화면 1140에는 분석된 운동 경로 1141, 사용자의 실제 이동 경로 1142, 및 경로에 대한 가이드 1143 등이 함께 표시될 수 있다. 도 11a 또는 도 11b와 같이 가이드를 위한 화면은 사용자 선택에 의해 전환되거나, 또는 미리 정의된 설정 값에 따라서 결정될 수 있다. 일시 정지 항목 1130이 선택되면 사용자의 운동 상태에 대한 기록, 센서 정보 획득 등이 중단될 수 있다.
교통량이 많아지거나, 속도가 빨라지는 경우 전자 장치 100의 디스플레이를 통해 운동 상태를 확인하는 것은 위험할 수 있다. 일 실시 예에서, 오디오 가이드 메뉴 1114가 선택되면 디스플레이 화면이 OFF(또는 유지된 상태로)되고 전자 장치 100의 스피커 또는 전자 장치 100과 연결된 유선 또는 무선 오디오 출력 장치를 통해 지속 시간, 현재 속도, 또는 기타 전술한 다양한 가이드가 제공될 수 있다. 일 실시 예에 따르면, 지정된 속도를 초과하는 경우(예: 20km 초과) 자동으로 오디오 가이드로 전환될 수 있다.
도 12a 및 도 12b는 일 실시 예에 따른 목표 달성에 대한 가이드 화면을 나타낸다.
도 12a를 참조하면, 목표 지점에 도달한 경우, 목표 지점의 도달에 대한 안내 메시지 1211이 지도 화면 1210 상에 표시될 수 있다. 일 실시 예에서, 설정된 목표를 달성한 경우, 예를 들어 2.18km를 2분 15초 안에 이동하는 목표를 달성한 경우(2분 13초에 주파), 목표 달성에 대한 안내 또는 리워드 화면 1220이 제공될 수 있다.
도 13a 및 도 13b는 일 실시 예에 따른 사용자 정보 설정 및 운동 기록을 위한 화면을 나타낸다.
도 13a를 참조하면, 사용자 프로파일 설정 화면에서, 사용자는 자신이 사용하는 자전거의 종류 1310(예: Road, MTB, 기타) 및 자전거의 휠 사이즈 1320을 입력할 수 있다. 이 외에도, 사용자는 자신의 이름, 닉네임, 키, 몸무게, 나이, 운동 경력, 운동 수준, 운동 기록 등을 사용자 프로파일로서 입력할 수 있다.
도 13b를 참조하면, 사용자는 운동 경로를 설정하고, 실제로 운동 경로를 따라 운동하면서 운동 기록을 수행할 수 있다. 예를 들어, 사용자는 타깃 운동 프로그램 1340에 대하여 지도 화면 1350에 표시된 경로를 실제로 운동하면서, 고도, 회전 정보, 칼로리 소모, 심박, 기어비 변경 등에 대한 정보를 기록할 수 있다. 이렇게 기록된 정보는 GPX 포맷으로 저장되어 다른 사용자에게 공유되거나, 사용자 자신의 다음 운동을 위해 활용될 수 있다. 예를 들어, 사용자는 나중에, 자신이 기록한 운동 정보 데이터를 분석하여 도 8에서와 같이 확인하고, 수행할 운동 프로그램을 결정할 수 있다.
도 14는 다양한 실시 예에 따른 네트워크 환경 내의 전자 장치를 나타낸다.
도 14를 참조하여, 다양한 실시 예에서의 네트워크 환경 1400 내의 전자 장치 1401이 기재된다. 전자 장치 1401은 전자 장치 100의 일 실시 예에 해당할 수 있다. 전자 장치 1401은 버스 1410, 프로세서 1420, 메모리 1430, 입출력 인터페이스 1450, 디스플레이 1460, 및 통신 인터페이스 1470을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1401은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 1410은, 예를 들면, 구성요소들 1410-1470을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 1420(예: 처리 모듈 140)은, 중앙처리장치(Central Processing Unit (CPU)), 어플리케이션 프로세서(Application Processor (AP)), 또는 커뮤니케이션 프로세서(Communication Processor (CP)) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 1420은, 예를 들면, 전자 장치 1401의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 1430(예: 저장소 130)은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 1430은, 예를 들면, 전자 장치 1401의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시 예에 따르면, 메모리 1430은 소프트웨어 및/또는 프로그램 1440을 저장할 수 있다. 프로그램 1440은, 예를 들면, 커널 1441, 미들웨어 1443, 어플리케이션 프로그래밍 인터페이스(Application Programming Interface (API)) 1445, 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 1447 등을 포함할 수 있다. 커널 1441, 미들웨어 1443, 또는 API 1445의 적어도 일부는, 운영 시스템(Operating System (OS))으로 지칭될 수 있다.
커널 1441은, 예를 들면, 다른 프로그램들(예: 미들웨어 1443, API 1445, 또는 어플리케이션 프로그램 1447)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스들(예: 버스 1410, 프로세서 1420, 또는 메모리 1430 등)을 제어 또는 관리할 수 있다. 또한, 커널 1441은 미들웨어 1443, API 1445, 또는 어플리케이션 프로그램 1447에서 전자 장치 1401의 개별 구성요소에 접근함으로써, 시스템 리소스들을 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
미들웨어 1443은, 예를 들면, API 1445 또는 어플리케이션 프로그램 1447이 커널 1441과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.
또한, 미들웨어 1443은 어플리케이션 프로그램 1447로부터 수신된 하나 이상의 작업 요청들을 우선 순위에 따라 처리할 수 있다. 예를 들면, 미들웨어 1443은 어플리케이션 프로그램 1447 중 적어도 하나에 전자 장치 1401의 시스템 리소스(예: 버스 1410, 프로세서 1420, 또는 메모리 1430 등)를 사용할 수 있는 우선 순위를 부여할 수 있다. 예컨대, 미들웨어 1443은 상기 적어도 하나에 부여된 우선 순위에 따라 상기 하나 이상의 작업 요청들을 처리함으로써, 상기 하나 이상의 작업 요청들에 대한 스케쥴링 또는 로드 밸런싱 등을 수행할 수 있다.
API 1445는, 예를 들면, 어플리케이션 1447이 커널 1441 또는 미들웨어 1443에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
입출력 인터페이스 1450은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 1401의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 1450은 전자 장치 1401의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 1460은, 예를 들면, 액정 디스플레이(Liquid Crystal Display (LCD)), 발광 다이오드(Light-Emitting Diode (LED)) 디스플레이, 유기 발광 다이오드(Organic LED (OLED)) 디스플레이, 또는 마이크로 전자기계 시스템(microelectromechanical systems, MEMS) 디스플레이, 또는 전자 종이(electronic paper) 디스플레이를 포함할 수 있다. 디스플레이 1460은, 예를 들면, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 1460은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수 있다.
통신 인터페이스 1470(예: 통신 모듈 310)은, 예를 들면, 전자 장치 1401과 외부 장치(예: 제1 외부 전자 장치 1402, 제2 외부 전자 장치 1404, 또는 서버 1406) 간의 통신을 설정할 수 있다. 예를 들면, 통신 인터페이스 1470은 무선 통신 또는 유선 통신을 통해서 네트워크 1462에 연결되어 상기 외부 장치 (예: 제2 외부 전자 장치 1404 또는 서버 1406)와 통신할 수 있다.
무선 통신은, 예를 들면 셀룰러 통신 프로토콜로서, 예를 들면 LTE(Long-Term Evolution), LTE-A(LTE-Advanced), CDMA(Code Division Multiple Access), WCDMA(Wideband CDMA), UMTS(Universal Mobile Telecommunications System), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 중 적어도 하나를 사용할 수 있다. 또한 무선 통신은, 예를 들면, 근거리 통신 1464를 포함할 수 있다. 근거리 통신 1464는, 예를 들면, Wi-Fi(Wireless Fidelity), Bluetooth, NFC(Near Field Communication), 또는 GNSS 중 적어도 하나를 포함할 수 있다. GNSS는 사용 지역 또는 대역폭 등에 따라, 예를 들면, GPS(Global Positioning System), Glonass(Global Navigation Satellite System), Beidou Navigation Satellite System(이하 "Beidou") 또는 Galileo(the European global satellite-based navigation system) 중 적어도 하나를 포함할 수 있다. 이하, 본 문서에서는, "GPS"는 "GNSS"와 혼용되어 사용(interchangeably used)될 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 1532), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크 1462는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
제1 및 제2 외부 전자 장치 1402, 1404 각각은 전자 장치 1401과 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 서버 1406은 하나 또는 그 이상의 서버들의 그룹을 포함할 수 있다. 다양한 실시 예에 따르면, 전자 장치 1401에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치(예: 전자 장치 1402, 1404, 또는 서버 1406)에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치 1401이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 1401은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 1402, 1404, 또는 서버 1406)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 1402, 1404, 또는 서버 1406)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 1401로 전달할 수 있다. 전자 장치 1401은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
도 15는 다양한 실시 예에 따른 전자 장치 1501의 블록도 1500을 나타낸다.
도 15를 참조하면, 전자 장치 1501은, 예를 들면, 도 14에 도시된 전자 장치 1401의 전체 또는 일부를 포함할 수 있다. 전자 장치 1501은 하나 이상의 프로세서(예: AP) 1510, 통신 모듈 1520, 가입자 식별 모듈 1524, 메모리 1530, 센서 모듈 1540, 입력 장치 1550, 디스플레이 1560, 인터페이스 1570, 오디오 모듈 1580, 카메라 모듈 1591, 전력 관리 모듈 1595, 배터리 1596, 인디케이터 1597, 및 모터 1598을 포함할 수 있다.
프로세서 1510은, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 프로세서 1510에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서 1510은, 예를 들면, SoC(system on chip)로 구현될 수 있다. 한 실시 예에 따르면, 프로세서 1510은 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다. 프로세서 1510은 도 15에 도시된 구성요소들 중 적어도 일부(예: 셀룰러 모듈 1521)를 포함할 수도 있다. 프로세서 1510은 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
통신 모듈 1520은, 도 14의 상기 통신 인터페이스 1470과 동일 또는 유사한 구성을 가질 수 있다. 통신 모듈 1520은, 예를 들면, 셀룰러 모듈 1521, Wi-Fi 모듈 1523, 블루투스 모듈 1525, GNSS 모듈 1527(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈 1528 및 RF(radio frequency) 모듈 1529를 포함할 수 있다.
셀룰러 모듈 1521은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1521은 가입자 식별 모듈(예: SIM 카드) 1524을 이용하여 통신 네트워크 내에서 전자 장치 1501의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1521은 프로세서 1510이 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈 1521은 커뮤니케이션 프로세서(CP)를 포함할 수 있다.
Wi-Fi 모듈 1523, 블루투스 모듈 1525, GNSS 모듈 1527, 또는 NFC 모듈 1528 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈 1521, Wi-Fi 모듈 1523, 블루투스 모듈 1525, GNSS 모듈 1527 또는 NFC 모듈 1528 중 적어도 일부(예: 두 개 이상)는 하나의 IC(integrated chip) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈 1529는, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈 1529는, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈 1521, Wi-Fi 모듈 1523, 블루투스 모듈 1525, GNSS 모듈 1527 또는 NFC 모듈 1528 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
가입자 식별 모듈 1524는, 예를 들면, 가입자 식별 모듈을 포함하는 카드 및/또는 내장 SIM(embedded SIM)을 포함할 수 있으며, 고유한 식별 정보(예: ICCID (integrated circuit card identifier)) 또는 가입자 정보(예: IMSI (international mobile subscriber identity))를 포함할 수 있다.
메모리 1530(예: 메모리 1430)는, 예를 들면, 내장 메모리 1532 또는 외장 메모리 1534를 포함할 수 있다. 내장 메모리 1532는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비-휘발성(non-volatile) 메모리 (예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), 마스크(mask) ROM, 플래시(flash) ROM, 플래시 메모리(예: 낸드플래시(NAND flash) 또는 노아플래시(NOR flash) 등), 하드 드라이브, 또는 SSD(solid state drive) 중 적어도 하나를 포함할 수 있다.
외장 메모리 1534는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD, Mini-SD, xD(extreme digital), MMC(MultiMediaCard), 또는 메모리 스틱(memory stick) 등을 더 포함할 수 있다. 외장 메모리 1534는 다양한 인터페이스를 통하여 전자 장치 1501과 기능적으로 및/또는 물리적으로 연결될 수 있다.
센서 모듈 1540은, 예를 들면, 물리량을 계측하거나 전자 장치 1501의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서 모듈 1540은, 예를 들면, 제스처 센서 1540A, 자이로 센서 1540B, 기압 센서 1540C, 마그네틱 센서 1540D, 가속도 센서 1540E, 그립 센서 1540F, 근접 센서 1540G, 컬러 센서 1540H(예: RGB 센서), 생체 센서 1540I, 온/습도 센서 1540J, 조도 센서 1540K, 또는 UV(ultra violet) 센서 1540M 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대체적으로, 센서 모듈 1540은, 예를 들면, 후각 센서(E-nose sensor), EMG(electromyography) 센서, EEG(electroencephalogram) 센서, ECG(electrocardiogram) 센서, IR(infrared) 센서, 홍채 센서 및/또는 지문 센서를 포함할 수 있다. 센서 모듈 1540은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 1501은 프로세서 1510의 일부로서 또는 별도로, 센서 모듈 1540을 제어하도록 구성된 프로세서를 더 포함하여, 프로세서 1510이 슬립(sleep) 상태에 있는 동안, 센서 모듈 1540을 제어할 수 있다.
입력 장치 1550은, 예를 들면, 터치 패널(touch panel) 1552, (디지털) 펜 센서(pen sensor) 1554, 키(key) 1556, 또는 초음파(ultrasonic) 입력 장치 1558을 포함할 수 있다. 터치 패널 1552는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. 또한, 터치 패널 1552는 제어 회로를 더 포함할 수도 있다. 터치 패널 1552는 택타일 레이어(tactile layer)를 더 포함하여, 사용자에게 촉각 반응을 제공할 수 있다.
(디지털) 펜 센서 1554는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 시트(sheet)를 포함할 수 있다. 키 1556은, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다. 초음파 입력 장치 1558은 마이크(예: 마이크 1588)를 통해, 입력 도구에서 발생된 초음파를 감지하여, 상기 감지된 초음파에 대응하는 데이터를 확인할 수 있다.
디스플레이 1560(예: 디스플레이 1460)은 패널 1562, 홀로그램 장치 1564, 또는 프로젝터 1566을 포함할 수 있다. 패널 1562는, 도 14의 디스플레이 1460과 동일 또는 유사한 구성을 포함할 수 있다. 패널 1562는, 예를 들면, 유연하게(flexible), 투명하게(transparent), 또는 착용할 수 있게(wearable) 구현될 수 있다. 패널 1562는 터치 패널 1552와 하나의 모듈로 구성될 수도 있다. 홀로그램 장치 1564는 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 프로젝터 1566은 스크린에 빛을 투사하여 영상을 표시할 수 있다. 스크린은, 예를 들면, 전자 장치 1501의 내부 또는 외부에 위치할 수 있다. 한 실시 예에 따르면, 디스플레이 1560은 상기 패널 1562, 상기 홀로그램 장치 1564, 또는 프로젝터 1566를 제어하기 위한 제어 회로를 더 포함할 수 있다.
인터페이스 1570은, 예를 들면, HDMI 1572, USB 1574, 광 인터페이스(optical interface) 1576, 또는 D-sub(D-subminiature) 1578을 포함할 수 있다. 인터페이스 1570은, 예를 들면, 도 14에 도시된 통신 인터페이스 1470에 포함될 수 있다. 추가적으로 또는 대체적으로, 인터페이스 1570은, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD 카드/MMC 인터페이스, 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
오디오 모듈 1580은, 예를 들면, 소리(sound)와 전기 신호를 쌍방향으로 변환시킬 수 있다. 오디오 모듈 1580의 적어도 일부 구성요소는, 예를 들면, 도 14에 도시된 입출력 인터페이스 1450에 포함될 수 있다. 오디오 모듈 1580은, 예를 들면, 스피커 1582, 리시버 1584, 이어폰 1586, 또는 마이크 1588 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
카메라 모듈 1591은, 예를 들면, 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈, ISP(image signal processor), 또는 플래시(flash)(예: LED 또는 제논 램프(xenon lamp))를 포함할 수 있다.
전력 관리 모듈 1595는, 예를 들면, 전자 장치 1501의 전력을 관리할 수 있다. 한 실시 예에 따르면, 전력 관리 모듈 1595는 PMIC(power management integrated circuit), 충전 IC(charger integrated circuit), 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. PMIC는, 유선 및/또는 무선 충전 방식을 가질 수 있다. 무선 충전 방식은, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등을 포함하며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로, 또는 정류기 등을 더 포함할 수 있다. 배터리 게이지는, 예를 들면, 배터리 1596의 잔량, 충전 중 전압, 전류, 또는 온도를 측정할 수 있다. 배터리 1596은, 예를 들면, 충전식 전지(rechargeable battery) 및/또는 태양 전지(solar battery)를 포함할 수 있다.
인디케이터 1597은 전자 장치 1501 혹은 그 일부(예: 프로세서 1510)의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 모터 1598은 전기적 신호를 기계적 진동으로 변환할 수 있고, 진동(vibration), 또는 햅틱(haptic) 효과 등을 발생시킬 수 있다. 도시되지는 않았으나, 전자 장치 1501은 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 모바일 TV 지원을 위한 처리 장치는, 예를 들면, DMB(Digital Multimedia Broadcasting), DVB(Digital Video Broadcasting), 또는 미디어플로(MediaFLOTM) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
본 문서에서 기술된 구성요소들 각각은 하나 또는 그 이상의 부품(component)으로 구성될 수 있으며, 해당 구성 요소의 명칭은 전자 장치의 종류에 따라서 달라질 수 있다. 다양한 실시 예에서, 전자 장치는 본 문서에서 기술된 구성요소 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 또한, 다양한 실시 예에 따른 전자 장치의 구성 요소들 중 일부가 결합되어 하나의 개체(entity)로 구성됨으로써, 결합되기 이전의 해당 구성 요소들의 기능을 동일하게 수행할 수 있다.
도 16은 다양한 실시 예에 따른 프로그램 모듈의 블록도를 나타낸다.
도 16을 참조하면, 한 실시 예에 따르면, 프로그램 모듈 1610(예: 프로그램 1440)은 전자 장치(예: 전자 장치 1401)에 관련된 자원을 제어하는 운영 체제(operating system, OS) 및/또는 운영 체제 상에서 구동되는 다양한 어플리케이션(예: 어플리케이션 프로그램 1447)을 포함할 수 있다. 운영 체제는, 예를 들면, 안드로이드(android), iOS, 윈도우즈(windows), 심비안(symbian), 타이젠(tizen), 또는 바다(bada) 등이 될 수 있다.
프로그램 모듈 1610은 커널 1620, 미들웨어 1630, API 1660, 및/또는 어플리케이션 1670을 포함할 수 있다. 프로그램 모듈 1610의 적어도 일부는 전자 장치 상에 프리로드(preload) 되거나, 외부 전자 장치(예: 전자 장치 1402, 1404, 서버 1406 등)로부터 다운로드 가능하다.
커널 1620(예: 커널 1441)은, 예를 들면, 시스템 리소스 매니저 1621 또는 디바이스 드라이버 1623를 포함할 수 있다. 시스템 리소스 매니저 1621은 시스템 리소스의 제어, 할당, 또는 회수 등을 수행할 수 있다. 한 실시 예에 따르면, 시스템 리소스 매니저 1621은 프로세스 관리부, 메모리 관리부, 또는 파일 시스템 관리부 등을 포함할 수 있다. 디바이스 드라이버 1623은, 예를 들면, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, Wi-Fi 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
미들웨어 1630은, 예를 들면, 어플리케이션 1670이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션 1670이 전자 장치 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API 1660을 통해 다양한 기능들을 어플리케이션 1670으로 제공할 수 있다. 한 실시 예에 따르면, 미들웨어 1630(예: 미들웨어 1443)은 런타임 라이브러리 1635, 어플리케이션 매니저(application manager) 1641, 윈도우 매니저(window manager) 1642, 멀티미디어 매니저(multimedia manager) 1643, 리소스 매니저(resource manager) 1644, 파워 매니저(power manager) 1645, 데이터베이스 매니저(database manager) 1646, 패키지 매니저(package manager) 1647, 연결 매니저(connectivity manager) 1648, 통지 매니저(notification manager) 1649, 위치 매니저(location manager) 1650, 그래픽 매니저(graphic manager) 1651, 또는 보안 매니저(security manager) 1652 중 적어도 하나를 포함할 수 있다.
런타임 라이브러리 1635는, 예를 들면, 어플리케이션 1670이 실행되는 동안에 프로그래밍 언어를 통해 새로운 기능을 추가하기 위해 컴파일러가 사용하는 라이브러리 모듈을 포함할 수 있다. 런타임 라이브러리 1635는 입출력 관리, 메모리 관리, 또는 산술 함수에 대한 기능 등을 수행할 수 있다.
어플리케이션 매니저 1641은, 예를 들면, 어플리케이션 1670 중 적어도 하나의 어플리케이션의 생명 주기(life cycle)를 관리할 수 있다. 윈도우 매니저 1642는 화면에서 사용하는 GUI 자원을 관리할 수 있다. 멀티미디어 매니저 1643은 다양한 미디어 파일들의 재생에 필요한 포맷을 파악하고, 해당 포맷에 맞는 코덱(codec)을 이용하여 미디어 파일의 인코딩(encoding) 또는 디코딩(decoding)을 수행할 수 있다. 리소스 매니저 1644는 어플리케이션 1670 중 적어도 어느 하나의 어플리케이션의 소스 코드, 메모리 또는 저장 공간 등의 자원을 관리할 수 있다.
파워 매니저 1645는, 예를 들면, 바이오스(BIOS: basic input/output system) 등과 함께 동작하여 배터리 또는 전원을 관리하고, 전자 장치의 동작에 필요한 전력 정보 등을 제공할 수 있다. 데이터베이스 매니저 1646은 어플리케이션 1670 중 적어도 하나의 어플리케이션에서 사용할 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저 1647은 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 업데이트를 관리할 수 있다.
연결 매니저 1648은, 예를 들면, Wi-Fi 또는 블루투스 등의 무선 연결을 관리할 수 있다. 통지 매니저 1649는 도착 메시지, 약속, 근접성 알림 등의 사건(event)을 사용자에게 방해되지 않는 방식으로 표시 또는 통지할 수 있다. 위치 매니저 1650은 전자 장치의 위치 정보를 관리할 수 있다. 그래픽 매니저 1651은 사용자에게 제공될 그래픽 효과 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다. 보안 매니저 1652는 시스템 보안 또는 사용자 인증 등에 필요한 제반 보안 기능을 제공할 수 있다. 한 실시 예에 따르면, 전자 장치(예: 전자 장치 1401)가 전화 기능을 포함한 경우, 미들웨어 1630은 전자 장치의 음성 또는 영상 통화 기능을 관리하기 위한 통화 매니저(telephony manager)를 더 포함할 수 있다.
미들웨어 1630은 전술한 구성요소들의 다양한 기능의 조합을 형성하는 미들웨어 모듈을 포함할 수 있다. 미들웨어 1630은 차별화된 기능을 제공하기 위해 운영 체제의 종류 별로 특화된 모듈을 제공할 수 있다. 또한, 미들웨어 1630은 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다.
API 1660(예: API 1445)은, 예를 들면, API 프로그래밍 함수들의 집합으로, 운영 체제에 따라 다른 구성으로 제공될 수 있다. 예를 들면, 안드로이드 또는 iOS의 경우, 플랫폼 별로 하나의 API 셋을 제공할 수 있으며, 타이젠(tizen)의 경우, 플랫폼 별로 두 개 이상의 API 셋을 제공할 수 있다.
어플리케이션 1670(예: 어플리케이션 프로그램 1447)은, 예를 들면, 홈 1671, 다이얼러 1672, SMS/MMS 1673, IM(instant message) 1674, 브라우저 1675, 카메라 1676, 알람 1677, 컨택트 1678, 음성 다이얼 1679, 이메일 1680, 달력 1681, 미디어 플레이어 1682, 앨범 1683, 또는 시계 1684, 건강 관리(health care)(예: 운동량 또는 혈당 등을 측정), 또는 환경 정보 제공(예: 기압, 습도, 또는 온도 정보 등을 제공) 등의 기능을 수행할 수 있는 하나 이상의 어플리케이션을 포함할 수 있다.
한 실시 예에 따르면, 어플리케이션 1670은 전자 장치(예: 전자 장치 1401)와 외부 전자 장치(예: 전자 장치 1402, 1404) 사이의 정보 교환을 지원하는 어플리케이션(이하, 설명의 편의상, "정보 교환 어플리케이션")을 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 어플리케이션, 또는 외부 전자 장치를 관리하기 위한 장치 관리(device management) 어플리케이션을 포함할 수 있다.
예를 들면, 알림 전달 어플리케이션은 전자 장치의 다른 어플리케이션(예: SMS/MMS 어플리케이션, 이메일 어플리케이션, 건강 관리 어플리케이션, 또는 환경 정보 어플리케이션 등)에서 발생된 알림 정보를 외부 전자 장치(예: 전자 장치 1402, 1404)로 전달하는 기능을 포함할 수 있다. 또한, 알림 전달 어플리케이션은, 예를 들면, 외부 전자 장치로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치와 통신하는 외부 전자 장치(예: 전자 장치 1402, 1404)의 적어도 하나의 기능(예: 외부 전자 장치 자체(또는 일부 구성 부품)의 턴-온/턴-오프 또는 디스플레이의 밝기(또는 해상도) 조절), 외부 전자 장치에서 동작하는 어플리케이션 또는 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스 등)를 관리(예: 설치, 삭제, 또는 업데이트)할 수 있다.
한 실시 예에 따르면, 어플리케이션 1670은 외부 전자 장치(예: 전자 장치 1402, 1404)의 속성에 따라 지정된 어플리케이션(예: 모바일 의료 기기의 건강 관리 어플리케이션)을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1670은 외부 전자 장치(예: 서버 1406 또는 전자 장치 1402, 1404)로부터 수신된 어플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 어플리케이션 1670은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 프로그램 모듈 1610의 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다.
다양한 실시 예에 따르면, 프로그램 모듈 1610의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 프로그램 모듈 1610의 적어도 일부는, 예를 들면, 프로세서(예: 프로세서 1510)에 의해 구현(implement)(예: 실행)될 수 있다. 프로그램 모듈 1610의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 등을 포함할 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 1420)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 1430이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD(Digital Versatile Disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
Claims (20)
- 전자 장치에 있어서,
디스플레이,
위치 데이터(location data) 및 고도 데이터(elevation data)를 포함하는 운동 경로 데이터, 및 사용자 프로파일이 저장되는 메모리,
상기 사용자 프로파일에 기초한 상기 운동 경로 데이터의 분석을 통해 적어도 하나의 경사 구간(section)을 결정하고, 상기 경사 구간을 포함하는 운동 경로를 표시하는 지도를 상기 디스플레이에 출력하는 프로세서를 포함하고,
상기 운동 경로 중 상기 경사 구간은 비 경사 구간과 다른 형태로 표시되도록 설정되는, 전자 장치. - 청구항 1에 있어서,
상기 경사 구간은 오르막(uphill) 구간과 내리막 구간(downhill) 구간을 포함하고, 상기 오르막 구간과 내리막 구간은 서로 다른 형태로 표시되도록 설정되는, 전자 장치. - 청구항 1에 있어서,
상기 적어도 하나의 경사 구간 각각은 경사 값을 가지고, 상기 경사 값에 따라 서로 다른 형태로 표시되도록 설정되는, 전자 장치. - 청구항 1에 있어서,
상기 프로세서는 상기 사용자 프로파일에 포함된 사용자의 운동 수준에 대한 정보에 기초하여 상기 적어도 하나의 경사 구간을 결정하도록 설정되는, 전자 장치. - 청구항 1에 있어서,
상기 프로세서는 상기 운동 경로 중 적어도 일부 구간을 목표 구간으로 결정하도록 설정되는, 전자 장치. - 청구항 5에 있어서,
상기 프로세서는 사용자 입력에 기초하여 상기 목표 구간을 결정하도록 설정되는, 전자 장치. - 청구항 5에 있어서,
상기 프로세서는 상기 목표 구간에 대한 가이드를 제공하도록 설정되는, 전자 장치. - 청구항 7에 있어서,
상기 가이드는, 상기 목표 구간 진입 시점에 대한 가이드, 상기 목표 구간의 특성에 대한 가이드, 상기 목표 구간을 통과할 때 소모되는 시간에 대한 가이드, 상기 목표 구간 통과 시점에 대한 가이드 중 하나 이상을 포함하는, 전자 장치. - 청구항 8에 있어서,
상기 목표 구간의 특성은 상기 목표 구간의 경사도를 포함하는, 전자 장치. - 청구항 1에 있어서,
상기 전자 장치의 현재 위치 정보를 획득하는 GPS를 포함하고,
상기 프로세서는 상기 현재 위치와 상기 운동 경로에 기초하여 가이드를 제공하도록 설정되는, 전자 장치. - 청구항 10에 있어서,
상기 가이드는, 경로를 이탈하였음을 나타내는 가이드, 경로 특성 중 하나를 포함하도록 설정되는, 전자 장치. - 청구항 10에 있어서,
상기 프로세서는 운동 지속 시간, 운동 거리, 평균 속도, 최대 속도, 현재 속도, 현재 위치 중 적어도 하나를 판단하고, 상기 판단 결과에 기초하여 가이드를 제공하도록 설정되는, 전자 장치. - 청구항 1에 있어서,
통신 모듈을 더 포함하고,
상기 운동 경로 데이터는 상기 통신 모듈을 통해 서버 또는 외부 장치로부터 획득되는, 전자 장치. - 전자 장치의 운동 가이드 방법에 있어서,
위치 데이터(location data) 및 고도 데이터(elevation data)를 포함하는 운동 경로 데이터 및 사용자 프로파일을 획득하는 동작,
상기 사용자 프로파일에 기초한 상기 운동 경로 데이터의 분석을 통해 적어도 하나의 경사 구간(section)을 결정하는 동작,
상기 적어도 하나의 경사 구간을 운동 경로를 표시하는 지도를 상기 전자 장치의 디스플레이에 출력하는 동작을 포함하는, 운동 가이드 방법. - 청구항 14에 있어서,
지정된 조건에 기초하여 하이라이트 구간을 결정하는 동작을 더 포함하는, 운동 가이드 방법. - 청구항 15에 있어서,
상기 지정된 조건은, 칼로리의 소모, 이동 시간, 고도 변화, 이동 거리 중 적어도 하나에 해당하는 것을 특징으로 하는, 운동 가이드 방법. - 청구항 14에 있어서,
상기 디스플레이에 출력하는 동작은,
상기 적어도 하나의 경사 구간 각각의 경사에 따라 서로 다른 형태로 표시하는 동작을 포함하는, 운동 가이드 방법. - 청구항 14에 있어서,
상기 지도 상에 상기 사용자의 현재 위치를 출력하는 동작을 더 포함하는, 운동 가이드 방법. - 청구항 14에 있어서,
상기 디스플레이에 상기 사용자의 현재 운동 상태를 출력하는 동작을 더 포함하는, 운동 가이드 방법. - 청구항 14에 있어서,
상기 운동 경로 및 상기 사용자의 현재 운동 상태에 기초하여 운동 가이드를 제공하는 동작을 더 포함하는, 운동 가이드 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150091285A KR102335011B1 (ko) | 2015-06-26 | 2015-06-26 | 운동 가이드 정보 제공 방법 및 그 장치 |
PCT/KR2016/006788 WO2016209034A1 (en) | 2015-06-26 | 2016-06-24 | Method and device for providing workout guide information |
US15/191,924 US10220258B2 (en) | 2015-06-26 | 2016-06-24 | Method and device for providing workout guide information |
CN201610480007.7A CN106267776B (zh) | 2015-06-26 | 2016-06-27 | 提供锻炼指导信息的方法和装置 |
EP16176319.8A EP3109590B1 (en) | 2015-06-26 | 2016-06-27 | Method and device for providing workout guide information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150091285A KR102335011B1 (ko) | 2015-06-26 | 2015-06-26 | 운동 가이드 정보 제공 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170001377A true KR20170001377A (ko) | 2017-01-04 |
KR102335011B1 KR102335011B1 (ko) | 2021-12-06 |
Family
ID=56235746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150091285A KR102335011B1 (ko) | 2015-06-26 | 2015-06-26 | 운동 가이드 정보 제공 방법 및 그 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10220258B2 (ko) |
EP (1) | EP3109590B1 (ko) |
KR (1) | KR102335011B1 (ko) |
CN (1) | CN106267776B (ko) |
WO (1) | WO2016209034A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102486726B1 (ko) * | 2022-06-27 | 2023-01-11 | 아주대학교산학협력단 | 추천 운동 경로정보를 제공하는 방법, 이를 이용하는 서버 및 시스템 |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8106856B2 (en) | 2006-09-06 | 2012-01-31 | Apple Inc. | Portable electronic device for photo management |
EP2480957B1 (en) | 2009-09-22 | 2017-08-09 | Apple Inc. | Device, method, and graphical user interface for manipulating user interface objects |
US12080421B2 (en) | 2013-12-04 | 2024-09-03 | Apple Inc. | Wellness aggregator |
US20160019360A1 (en) | 2013-12-04 | 2016-01-21 | Apple Inc. | Wellness aggregator |
US10254856B2 (en) | 2014-01-17 | 2019-04-09 | Osterhout Group, Inc. | External user interface for head worn computing |
US9939934B2 (en) | 2014-01-17 | 2018-04-10 | Osterhout Group, Inc. | External user interface for head worn computing |
US9810906B2 (en) | 2014-06-17 | 2017-11-07 | Osterhout Group, Inc. | External user interface for head worn computing |
CN116584928A (zh) | 2014-09-02 | 2023-08-15 | 苹果公司 | 身体活动和健身监视器 |
KR102335011B1 (ko) * | 2015-06-26 | 2021-12-06 | 삼성전자주식회사 | 운동 가이드 정보 제공 방법 및 그 장치 |
US11003246B2 (en) | 2015-07-22 | 2021-05-11 | Mentor Acquisition One, Llc | External user interface for head worn computing |
US10139966B2 (en) | 2015-07-22 | 2018-11-27 | Osterhout Group, Inc. | External user interface for head worn computing |
EP4321088A3 (en) | 2015-08-20 | 2024-04-24 | Apple Inc. | Exercise-based watch face |
EP3388785A1 (en) * | 2015-12-31 | 2018-10-17 | Huawei Technologies Co., Ltd. | Route recommending method, electronic device and graphical user interface |
US10684478B2 (en) | 2016-05-09 | 2020-06-16 | Mentor Acquisition One, Llc | User interface systems for head-worn computers |
US10824253B2 (en) | 2016-05-09 | 2020-11-03 | Mentor Acquisition One, Llc | User interface systems for head-worn computers |
US10466491B2 (en) | 2016-06-01 | 2019-11-05 | Mentor Acquisition One, Llc | Modular systems for head-worn computers |
DK201770423A1 (en) | 2016-06-11 | 2018-01-15 | Apple Inc | Activity and workout updates |
US11216119B2 (en) | 2016-06-12 | 2022-01-04 | Apple Inc. | Displaying a predetermined view of an application |
US10335045B2 (en) | 2016-06-24 | 2019-07-02 | Universita Degli Studi Di Trento | Self-adaptive matrix completion for heart rate estimation from face videos under realistic conditions |
US20170374310A1 (en) * | 2016-06-27 | 2017-12-28 | Casio Computer Co., Ltd. | Display apparatus, display method, storage medium and display system |
US10736543B2 (en) | 2016-09-22 | 2020-08-11 | Apple Inc. | Workout monitor interface |
US11211157B2 (en) * | 2016-12-30 | 2021-12-28 | Intel Corporation | Using emotional maps and dialog display technology to improve workout experiences |
CN106644208B (zh) * | 2017-01-05 | 2019-06-14 | 武汉齐物科技有限公司 | 一种骑行能力分析系统及分析方法 |
CN107391983B (zh) | 2017-03-31 | 2020-10-16 | 创新先进技术有限公司 | 一种基于物联网的信息处理方法及装置 |
US10845955B2 (en) | 2017-05-15 | 2020-11-24 | Apple Inc. | Displaying a scrollable list of affordances associated with physical activities |
US10152141B1 (en) | 2017-08-18 | 2018-12-11 | Osterhout Group, Inc. | Controller movement tracking with light emitters |
CN108088457A (zh) * | 2018-01-09 | 2018-05-29 | 莆田市烛火信息技术有限公司 | 一种用户运动线路生成方法、装置、系统及智能手环 |
DK180246B1 (en) | 2018-03-12 | 2020-09-11 | Apple Inc | User interfaces for health monitoring |
US10268759B1 (en) | 2018-03-19 | 2019-04-23 | Empowering Trainers, LLC | Audio stream production using sequences of select content |
US10362995B1 (en) * | 2018-03-27 | 2019-07-30 | Bion Inc. | Outdoor group exercise information administering system |
CN108479044B (zh) * | 2018-04-10 | 2020-12-22 | 金华市智甄通信设备有限公司 | 一种穿戴设备的运动方法和系统 |
US11317833B2 (en) | 2018-05-07 | 2022-05-03 | Apple Inc. | Displaying user interfaces associated with physical activities |
DK179992B1 (en) | 2018-05-07 | 2020-01-14 | Apple Inc. | DISPLAY OF USER INTERFACES ASSOCIATED WITH PHYSICAL ACTIVITIES |
US11567632B2 (en) | 2018-07-03 | 2023-01-31 | Apple Inc. | Systems and methods for exploring a geographic region |
US11224486B2 (en) | 2018-08-22 | 2022-01-18 | Verily Life Sciences Llc | Global synchronization of user preferences |
CN109126056B (zh) * | 2018-09-21 | 2020-10-27 | 万赢体育科技(上海)有限公司 | 体育训练系统 |
US10953307B2 (en) | 2018-09-28 | 2021-03-23 | Apple Inc. | Swim tracking and notifications for wearable devices |
CN109754603B (zh) * | 2019-01-21 | 2020-11-03 | 石家庄铁道大学 | 自行车行程时间计算方法、装置和终端设备 |
DK201970532A1 (en) | 2019-05-06 | 2021-05-03 | Apple Inc | Activity trends and workouts |
DK201970535A1 (en) | 2019-05-06 | 2020-12-21 | Apple Inc | Media browsing user interface with intelligently selected representative media items |
US11344786B2 (en) * | 2019-05-15 | 2022-05-31 | Peloton Interactive, Inc. | User interface with interactive mapping and segmented timeline |
AU2020288139B2 (en) | 2019-06-01 | 2023-02-16 | Apple Inc. | Multi-modal activity tracking user interface |
CN112237727A (zh) * | 2019-07-16 | 2021-01-19 | 百应科技(北京)有限公司 | 一种跑步任务自动调整方法及系统 |
CN111184997A (zh) * | 2019-12-26 | 2020-05-22 | 南京泰博体育科技有限公司 | 越野跑赛事跑道系统 |
TW202143063A (zh) * | 2019-12-31 | 2021-11-16 | 芬蘭商亞瑪芬體育數字服務公司 | 用於呈現主題地圖的設備及方法 |
DK202070612A1 (en) | 2020-02-14 | 2021-10-26 | Apple Inc | User interfaces for workout content |
CN111458735B (zh) * | 2020-04-23 | 2023-02-24 | 内蒙古师范大学 | 自动识别指定位置闭合航线的方法及系统 |
US20210356288A1 (en) | 2020-05-15 | 2021-11-18 | Apple Inc. | User interfaces for providing navigation directions |
US11788851B2 (en) | 2020-06-11 | 2023-10-17 | Apple Inc. | User interfaces for customized navigation routes |
US11926385B2 (en) * | 2021-03-01 | 2024-03-12 | IRL Incorporated | Cycling exercise system, device, and method |
CN115221250A (zh) * | 2021-04-19 | 2022-10-21 | 华为技术有限公司 | 地图显示的方法及相关设备 |
EP4323992A1 (en) | 2021-05-15 | 2024-02-21 | Apple Inc. | User interfaces for group workouts |
EP4334683A2 (en) | 2021-06-07 | 2024-03-13 | Apple Inc. | User interfaces for maps and navigation |
US20220390248A1 (en) | 2021-06-07 | 2022-12-08 | Apple Inc. | User interfaces for maps and navigation |
US20230063419A1 (en) * | 2021-08-30 | 2023-03-02 | Hyliion Inc. | System and method for managing performance of a vehicle based on terrain |
IT202100026513A1 (it) * | 2021-10-15 | 2023-04-15 | Univ Degli Studi Padova | Metodo per calcolare le tempistiche di percorrenza di un percorso da parte di un utente sulla base di uno stato di salute dell’utente |
WO2023115436A1 (zh) * | 2021-12-23 | 2023-06-29 | 广东高驰运动科技股份有限公司 | 越野跑等价水平配速的估算方法、装置、设备和介质 |
US20230392949A1 (en) * | 2022-06-03 | 2023-12-07 | Apple Inc. | Route identification and clustering for real-time mapping |
US11977729B2 (en) | 2022-06-05 | 2024-05-07 | Apple Inc. | Physical activity information user interfaces |
US11896871B2 (en) | 2022-06-05 | 2024-02-13 | Apple Inc. | User interfaces for physical activity information |
WO2024112140A1 (ko) * | 2022-11-24 | 2024-05-30 | (주)엘앤에이치랩스 | 사용자 맞춤형 심장재활 운동 서비스 제공 장치 및 방법 |
TWI847436B (zh) * | 2022-12-19 | 2024-07-01 | 志合訊息股份有限公司 | 訓練課程推薦裝置及訓練課程推薦方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050089732A (ko) * | 2004-10-19 | 2005-09-08 | (주)파이브텍 | 개인별 운동기록 관리방법 |
WO2006065679A2 (en) * | 2004-12-17 | 2006-06-22 | Nike Inc. | Multi-sensor montoring of athletic performance |
KR101034646B1 (ko) * | 2009-02-10 | 2011-05-16 | 주식회사 맵퍼스 | 운동 트레이닝 장치 및 방법 |
KR20120038929A (ko) * | 2009-04-26 | 2012-04-24 | 나이키 인터내셔널 엘티디. | 운동용 시계 |
KR20140090071A (ko) * | 2013-01-08 | 2014-07-16 | 삼성전자주식회사 | 사용자의 운동 정보 확인방법 및 장치 |
KR20150067992A (ko) * | 2013-12-11 | 2015-06-19 | 주식회사 케이티 | 경로 추천 장치 및 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102005048276B3 (de) * | 2005-10-08 | 2006-11-02 | Knut Oppermann | Verfahren zur Verfolgung eines Spielelements, z. B. eines Balles oder eines Pucks auf einem Spielfeld sowie eine Vorrichtung zur Durchführung des Verfahrens |
US7931563B2 (en) | 2007-03-08 | 2011-04-26 | Health Hero Network, Inc. | Virtual trainer system and method |
KR20090004252A (ko) | 2007-07-06 | 2009-01-12 | 주식회사 엘비씨소프트 | 보행자 길 안내 시스템 및 방법 |
US9409052B2 (en) * | 2008-10-03 | 2016-08-09 | Adidas Ag | Program products, methods, and systems for providing location-aware fitness monitoring services |
EP2508845B1 (en) | 2009-12-02 | 2015-09-02 | Pioneer Corporation | Device, system, method and program for creating a bicycle map |
KR101817048B1 (ko) | 2010-08-09 | 2018-01-09 | 나이키 이노베이트 씨.브이. | 모바일 장치를 이용한 피트니스 모니터링 |
US20120143497A1 (en) * | 2010-12-05 | 2012-06-07 | Iwan Van Hende | Method of creating customized exercise routes for a user |
WO2013148941A1 (en) * | 2012-03-28 | 2013-10-03 | Pioneer Advanced Solutions, Inc. | System and method for generating and using customized athletic workouts |
KR101381380B1 (ko) * | 2012-10-01 | 2014-04-02 | 강경윤 | 이동경로안내방법 및 장치 |
JP6066307B2 (ja) | 2013-03-21 | 2017-01-25 | カシオ計算機株式会社 | 移動情報出力装置、移動情報出力システム及び移動情報出力プログラム |
KR101575931B1 (ko) | 2013-07-15 | 2015-12-10 | 배재대학교 산학협력단 | 운동관리 방법 및 이를 이용한 운동관리 시스템 |
US20150079563A1 (en) * | 2013-09-17 | 2015-03-19 | Sony Corporation | Nonverbal audio cues during physical activity |
KR102335011B1 (ko) * | 2015-06-26 | 2021-12-06 | 삼성전자주식회사 | 운동 가이드 정보 제공 방법 및 그 장치 |
-
2015
- 2015-06-26 KR KR1020150091285A patent/KR102335011B1/ko active IP Right Grant
-
2016
- 2016-06-24 WO PCT/KR2016/006788 patent/WO2016209034A1/en active Application Filing
- 2016-06-24 US US15/191,924 patent/US10220258B2/en active Active
- 2016-06-27 CN CN201610480007.7A patent/CN106267776B/zh active Active
- 2016-06-27 EP EP16176319.8A patent/EP3109590B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050089732A (ko) * | 2004-10-19 | 2005-09-08 | (주)파이브텍 | 개인별 운동기록 관리방법 |
WO2006065679A2 (en) * | 2004-12-17 | 2006-06-22 | Nike Inc. | Multi-sensor montoring of athletic performance |
US20060136173A1 (en) * | 2004-12-17 | 2006-06-22 | Nike, Inc. | Multi-sensor monitoring of athletic performance |
KR101034646B1 (ko) * | 2009-02-10 | 2011-05-16 | 주식회사 맵퍼스 | 운동 트레이닝 장치 및 방법 |
KR20120038929A (ko) * | 2009-04-26 | 2012-04-24 | 나이키 인터내셔널 엘티디. | 운동용 시계 |
KR20140090071A (ko) * | 2013-01-08 | 2014-07-16 | 삼성전자주식회사 | 사용자의 운동 정보 확인방법 및 장치 |
KR20150067992A (ko) * | 2013-12-11 | 2015-06-19 | 주식회사 케이티 | 경로 추천 장치 및 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102486726B1 (ko) * | 2022-06-27 | 2023-01-11 | 아주대학교산학협력단 | 추천 운동 경로정보를 제공하는 방법, 이를 이용하는 서버 및 시스템 |
US11841233B1 (en) | 2022-06-27 | 2023-12-12 | Ajou University Industry-Academic Cooperation Foundation | Method for providing recommended exercise route information, server and system using the same |
Also Published As
Publication number | Publication date |
---|---|
US20160375306A1 (en) | 2016-12-29 |
EP3109590A1 (en) | 2016-12-28 |
EP3109590B1 (en) | 2024-07-31 |
US10220258B2 (en) | 2019-03-05 |
CN106267776A (zh) | 2017-01-04 |
WO2016209034A1 (en) | 2016-12-29 |
CN106267776B (zh) | 2020-10-30 |
KR102335011B1 (ko) | 2021-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102335011B1 (ko) | 운동 가이드 정보 제공 방법 및 그 장치 | |
JP6039640B2 (ja) | フィットネスモニタリング方法、システム及びプログラム製品並びにその応用 | |
KR101640667B1 (ko) | 디바이스 결정 정보에 기초한 운동 경로 변경 | |
US9672482B2 (en) | System and method for automatic objective reporting via wearable sensors | |
DK2710503T3 (en) | OPTICAL DATA RECORDING EXERCISE DATA TO PROMOTE A HEALTH SCORE CALCULATION | |
EP2642251B1 (en) | Required time calculating system, required time calculating method, and computer-readable recording medium storing required time calculating program | |
JP2017042620A (ja) | フィットネスモニタリングプログラムおよびその応用 | |
CN106155198B (zh) | 穿戴式电子设备、非暂态计算机可读存储介质和方法 | |
US20180043212A1 (en) | System, method, and non-transitory computer readable medium for recommending a route based on a user's physical condition | |
KR20160063126A (ko) | 운동 정보 제공 방법과 이를 지원하는 전자 장치 | |
US10342462B2 (en) | Application of gait characteristics for mobile | |
KR102384756B1 (ko) | 활동 가이드 정보 제공 방법 및 이를 지원하는 전자 장치 | |
KR20170002346A (ko) | 보행 자세에 따른 정보 제공 방법 및 이를 위한 전자 장치 | |
KR20170020085A (ko) | 활동 정보 처리 방법 및 이를 지원하는 전자 장치 | |
CN110461425B (zh) | 智能自行车运动装置及其控制方法 | |
US10213155B2 (en) | Method and apparatus for processing user lactate level information | |
US10488222B2 (en) | Mobile device control leveraging user kinematics | |
US11358026B2 (en) | Activity tracking system with multiple monitoring devices | |
KR20170035101A (ko) | 활동 정보 제공 방법 및 이를 지원하는 전자 장치 | |
US20190143917A1 (en) | Vehicle on-boarding recognition method and electronic device implementing same | |
EP2751761A2 (en) | Platform mechanics | |
Boulos et al. | Mobile physical activity planning and tracking: a brief overview of current options and desiderata for future solutions | |
CN109314837A (zh) | 基于地理位置的锻炼路线的回填 | |
WO2023028087A1 (en) | Location-based activity tracking | |
JP2018094089A (ja) | 身体能力評価システム、電子機器、身体能力評価サーバー、身体能力評価方法、身体能力評価プログラム、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |