KR20190107510A - 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램 - Google Patents

골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20190107510A
KR20190107510A KR1020180028847A KR20180028847A KR20190107510A KR 20190107510 A KR20190107510 A KR 20190107510A KR 1020180028847 A KR1020180028847 A KR 1020180028847A KR 20180028847 A KR20180028847 A KR 20180028847A KR 20190107510 A KR20190107510 A KR 20190107510A
Authority
KR
South Korea
Prior art keywords
terminal
factor
factors
data
server
Prior art date
Application number
KR1020180028847A
Other languages
English (en)
Inventor
허인
Original Assignee
주식회사 이니테크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 이니테크 filed Critical 주식회사 이니테크
Priority to KR1020180028847A priority Critical patent/KR20190107510A/ko
Publication of KR20190107510A publication Critical patent/KR20190107510A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

본 명세서는 서버가 하나 이상의 단말에 포함된 하나 이상의 센서에 의해 측정된 하나 이상의 센싱값을 포함하는 로그를 단말의 여유 시간 구간을 통해 수신하는 단계; 상기 서버가 상기 로그에서 하나 이상의 인자를 추출하고, 추출한 복수의 인자들을 발생된 시간 순서로 배치시키고 시간 순서에서 인접하여 발생된 인자들 사이에 상관 관계를 생성함으로써, 인자들을 분석하는 단계; 인자들을 분석한 내용을 이용하여 상기 서버가 제1 단말로부터 수신된 제1 인자의 결과 인자를 결정하는 단계;를 포함하는, 골프 필드 내에서의 데이터를 분석하는 방법을 개시한다.

Description

골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD, AND COMPUTER FOR ANALYZING DATA WITHIN A GOLF FIELD}
본 발명의 실시예는 하나 이상의 사용자의 단말기를 통해서 획득된 데이터를 기초로 각 사용자의 경기력을 향상시킬 수 있는 실전용 데이터를 생성하고, 생성된 실전용 데이터를 적절하게 제공하는, 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다.
요즘에 골프는 대중적인 스포츠로 자리 잡았다. 골프장에서, 사람들은 다양한 장치를 이용하여 더 나은 경기력을 가지려고 노력한다.
골프 게임에서 퍼팅은 매우 정확성을 요구하는 데, 아마추어 골퍼 뿐만 아니라, 프로 골퍼들도 어려움을 겪는 기술이다. 이렇게 퍼팅이 어려운 이유는, 골퍼의 퍼팅 스트로크의 안정성과 더불어, 그린을 정확히 읽을 수 있는 능력을 구비해야 하기 때문이다. 그린을 읽는 능력이란, 그린 스피드, 라이, 거리 등을 고려하여 퍼팅의 방향과 세기를 조절할 수 있는 능력을 말하는 데, 이는 매우 오랜 기간 연습하지 않으면 일정 수준에 도달할 수 없게 된다. 최근 다양한 골프 시뮬레이션 시스템의 등장으로, 실내에서 진행되는 골프 시뮬레이션 게임의 경우, 화면상으로 퍼팅 가이드 라인, 그린 스피드, 고도 등의 정보가 제공되기 때문에 게임을 즐기는 사용자가 비교적 손쉽게 퍼팅을 할 수 있다.
그러나, 이러한 골프 시뮬레이션 시스템과는 달리 실제 골프장에서는 퍼팅을 가이드해주는 아무런 장치가 없기 때문에 단지 자신의 경험 및 감각에 의존하거나, 캐디의 가이드에 전적으로 의지해야 하는 한계가 있다.
상기와 같은 문제점을 해결하기 위해서, 본 발명의 실시예들에 따르면, 골프 필드에서 수집된 데이터를 인공지능으로 분석하여 각 사용자를 위한 맞춤형 데이터를 제공하는 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램을 제공한다.
본 발명의 실시예들에 따르면, 사용자의 위치, 움직임 등을 나타내는 간접적 데이터를 수집하고, 간접적 데이터를 이용하여 골프 필드, 코스 등과 대응되어 적용 가능한 맞춤형 데이터를 제공하는 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램을 제공한다.
본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 방법 은 서버가 하나 이상의 단말에 포함된 하나 이상의 센서에 의해 측정된 하나 이상의 센싱값을 포함하는 로그를 단말의 여유 시간 구간을 통해 수신하는 단계; 상기 서버가 상기 로그에서 하나 이상의 인자를 추출하고, 추출한 복수의 인자들을 발생된 시간 순서로 배치시키고 시간 순서에서 인접하여 발생된 인자들 사이에 상관 관계를 생성함으로써, 인자들을 분석하는 단계; 인자들을 분석한 내용을 이용하여 상기 서버가 제1 단말로부터 수신된 제1 인자의 결과 인자를 결정하는 단계;를 포함할 수 있다.
상기 인자들을 분석하는 단계는 제1 인자에서 시간적으로 후속되는 제2 인자, 제3 인자로 각각 향하는 상관 관계의 수를 이용하여 상기 제1 인자에서 상기 제2 인자로 향하는 확률, 상기 제1 인자에서 상기 제3 인자로 향하는 확률을 각각 계산하는 단계를 더 포함할 수 있다.
상기 인자들은 각 단말의 위치, 각 단말의 이동 거리, 각 단말이 위치한 골프장, 각 단말이 위치한 그린 정보, 획득되는 시점과 관련된 점 중 적어도 하나를 포함할 수 있다.
상기 제1 인자의 결과 인자는 상기 제1 단말이 위치한 골프장 내에서의 해당 홀에서의 홀컵까지의 타수 정보를 포함할 수 있다.
본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 서버는 하나 이상의 단말에 포함된 하나 이상의 센서에 의해 측정된 하나 이상의 센싱값을 포함하는 로그를 단말의 여유 시간 구간을 통해 수신하는 로그 수신부; 상기 로그에서 하나 이상의 인자를 추출하고, 추출한 복수의 인자들을 발생된 시간 순서로 배치시키고 시간 순서에서 인접하여 발생된 인자들 사이에 상관 관계를 생성함으로써, 인자들을 분석하는 가공부; 및 인자들을 분석한 내용을 이용하여 제1 단말로부터 수신된 제1 인자의 결과 인자를 결정하는 결과 생성부;를 포함할 수 있다.
상기 가공부는 제1 인자에서 시간적으로 후속되는 제2 인자, 제3 인자로 각각 향하는 상관 관계의 수를 이용하여 상기 제1 인자에서 상기 제2 인자로 향하는 확률, 상기 제1 인자에서 상기 제3 인자로 향하는 확률을 각각 계산할 수 있다.
상기 인자들은 각 단말의 위치, 각 단말의 이동 거리, 각 단말이 위치한 골프장, 각 단말이 위치한 그린 정보, 획득되는 시점과 관련된 점 중 적어도 하나를 포함할 수 있다.
상기 제1 인자의 결과 인자는 상기 제1 단말이 위치한 골프장 내에서의 해당 홀에서의 홀컵까지의 타수 정보를 포함할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명의 실시예들에 따르면, 골프 필드에서 수집된 데이터를 인공지능으로 분석하여 각 사용자를 위한 맞춤형 데이터를 제공할 수 있다.
본 발명의 실시예들에 따르면, 사용자의 위치, 움직임 등을 나타내는 간접적 데이터를 수집하고, 간접적 데이터를 이용하여 골프 필드, 코스 등과 대응되어 적용 가능한 맞춤형 데이터를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 골프 필드 내에서의 데이터를 분석하는 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 서버의 구조를 나타내는 블록도이다.
도 3 및 도 4는 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 방법의 흐름도들이다.
도 5a 및 도 5b는 골프 게임 모듈에 의해서 생성되는 사용자 인터페이스의 일 예이다.
도 6a 및 도 6b는 서버에 의해 가공되는 데이터의 일 예를 설명하기 위한 도면이다.
도 7는 본 발명의 실시예들에 따른 단말의 구조를 나타내는 블록도이다.
도 8은 단말에 의해 위치가 결정되는 과정의 흐름도이다.도 9는 단말의 구체적인 실시 형태의 도면이다.
도 10은 서버, 리더기, 제2 단말 그룹 사이의 동작을 설명하기 위한 도면이다.
도 11은 단말의 일 실시예를 설명하기 위한 도면이다.
도 12은 일 실시예에 따른 퍼팅 가이드 기능을 가지는 단말의 개략적인 평면도이다.
도 13는 일 실시예에 따른 퍼팅 가이드 기능을 가지는 단말의 구성을 나타내는 블록도이다.
도 14는 센싱 유닛 및 프로세서 유닛의 일 실시예의 구성을 나타내는 블록도이다.
도 15은 센싱 유닛 및 프로세서 유닛에 의해 볼과 홀 사이의 거리값을 계산하는 상태를 도시한 도면이다.
도 16은 그린의 기울기을 계산하는 상태를 도시한 도면이다.
도 17은 디스플레이 유닛의 일 예를 도시한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
여기서, 뉴럴 네트워크(neural network)는, 통계학적 기계 학습의 결과를 이용하여, 사용자의 단말을 통해 획득된 다양한 인자들을 추출하여 이용함으로써, 추출한 인자들을 통해서 후속적으로 사용자의 골프 경기력을 판단하는 알고리즘 집합일 수 있다. 뉴럴 네트워크는, 뉴럴 네트워크에 입력된 사용자의 단말을 통해 획득된 다양한 인자들을 추상화함으로써, 사용자의 골프 경기력을 식별할 수 있다. 이 경우, 사용자의 단말을 통해 획득된 다양한 인자들을 추상화한다는 것은, 사용자의 단말을 통해 획득된 속성들을 검출하여, 검출된 인자들을 통해 형상화되는 특정 골프 필드에서의 사용자의 골프 경기력을 판단하는 것일 수 있다.
본 명세서에서, 인자는 단말들을 통해서 획득된 데이터를 분석하기 위해서 사용하는 개념으로, 데이터에 포함된 위치, 움직임, 방향, 힘의 크기, 골프채의 브랜드, 골프채의 고유 번호, 환경적인 인자인 날씨, 기후, 국가, 계절 등을 포함할 수 있다. 인자는 사용자에 의해 입력되는 인자, 최종적인 결과인 사용자의 골프 경기력과 대응되는 결과 인자, 입력되는 인자 및 결과 인자 사이에 상호 관계로 존재하는 후속 인자로 구분될 수 있다. 입력되는 인자는 하나 이상의 후속 인자를 거쳐서 결과 인자로 연결되거나, 하나 이상의 결과 인자로 직접 연결될 수도 있다.
도 1은 본 발명의 실시예에 따른 골프 필드 내에서의 데이터를 분석하는 시스템(10)을 나타내는 블록도이다.
도 1에 도시된 바와 같이, 시스템(10)은 제1 단말그룹(200), 서버(100), 리더기(300), 제2 단말그룹(400), 네트워크(500)을 포함할 수 있다. 이러한 도 1은 발명의 설명을 위한 일례로 제1 단말그룹 또는 제2 단말그룹의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
서버 각각(101, 102)은 제1 단말그룹(201, 202), 및/또는 리더기(300)과 통신망을 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 제1 서버(201) 및 제2 서버(202)는 동일한 기능을 수행할 수도 있고, 상이한 기능을 수행하기도 한다.
일례로, 서버(101, 102)는 네트워크를 통해 접속한 제1 단말그룹(201, 202)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 단말(201)은 서버(101, 102)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 단말그룹(201, 202)이 포함하는 운영체제 및 적어도 하나의 프로그램의 제어에 따라 서버에 접속하여 서버가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 단말이 어플리케이션의 제어에 따라 네트워크를 통해 서비스 요청 메시지를 서버로 전송하면, 서버(101, 102)는 서비스 요청 메시지에 대응하는 코드를 제1 단말(201)로 전송할 수 있고, 제1 단말(201)은 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 사용자 인터페이스를 제공할 수 있다.
제1 단말그룹(201, 202)은 예를 들어 데스크탑 또는 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트폰, 개인 휴대 정보 단말기, 또는 임의의 다른 유형의 컴퓨팅 디바이스를 포함하지만 임의의 특정 폼 팩터로 제한되지 않는 다양한 전자 컴퓨팅 디바이스들 중 임의의 것으로 구현될 수 있다. 제1 단말(201)은 무선 또는 유선 통신 방식을 이용하여 통신망을 통해 다른 전자 기기 및/또는 서버와 통신할 수 있다.
통신 방식은 제한되지 않으며, 네트워크가 포함할 수 있는 통신망을 활용하는 통신 방식 뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 통신망은 PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(300)는 버스 네트워크, 스타 네트워크, 링네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
시스템은 주변에 단말들로 정해진 패킷을 전송하는 기능을 수행하는 리더기를 더 포함할 수 있다. 리더기는 서버로부터 수신한 데이터를 인접한 제2 단말그룹(401, 402)로 전송할 수 있다.
리더기(300)는 통신 모듈을 통해서 정해진 데이터 패킷을 전송하는 기능을 수행한다. 리더기(300)는 무선 통신, 이동 통신 등의 원거리 통신 방식으로 서버와 통신할 수 있다. 리더기(300)는 근거리 통신(RFID, NFC, 블루투스, 와이파이, Zigbee 등)을 통해 제2 단말그룹과 통신할 수 있다. 이때, 데이터 패킷은 서버(101, 102)로부터 수신한 정보를 기초로 생성될 수 있다. 리더기(300)는 인접한 제2 단말그룹으로 데이터 패킷을 전송할 수 있다.
제2 단말그룹(401, 402)은 리더기(300)로부터 데이터를 수신 받을 수 있는 애플리케이션이 설치되어 있을 수 있다. 제2 단말그룹(401, 402)은 기 설치된 애플리케이션을 통해 핀의 위치, 제1 사용자 및 다른 사용자들의 골프 경기 상황 등을 제공 받을 수 있다.
도 1을 참조하면, 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 서버(100)는 골프 필드에 위치한 불특정의 하나 이상의 단말(200)들로부터 데이터를 수신할 수 있다. 서버(100)는 하나 이상의 단말(200)로부터 단말에 의한 아무런 개시 신호 없이, 사용자의 입력, 요청이 없이 데이터를 수신 받을 수 있다. 서버(100)는 수집하고자 하는 대상 단말을 결정하고, 대상 단말로부터 특정 데이터를 포함하는 신호를 수신할 수 있다. 여기서, 대상 단말은 서버와 연결 관계를 가지도록 설정된 단말로서, 정해진 구역 내에 위치하는 단말이거나, 미리 서버와 등록 및 승인 과정을 거쳐서 관계를 가지는 단말일 수 있다. 특정 데이터는 단말에 설치된 센서에 의해 획득되는 센싱 값, 단말에 의해 산출된 산출 값 중 적어도 하나를 포함할 수 있다.
본 발명의 실시예들에 따른 서버(100)는 단말을 통해서 사용자의 플레이 내용을 알 수 있는 간접적 데이터를 수집할 수 있다. 예를 들어, 위치, 위치와 관련된 필드 정보, 각 위치 별 체류 시간, 필드에 포함된 티샷 및 핀의 위치들과의 근접 여부, 근접된 시간 등을 포함할 수 있다.
본 발명의 실시예들에 따른 서버(100)는 불특정의 단말들을 통해서 획득된 정보를 분석할 수 있다. 서버는 분석한 데이터를 각 단말로부터의 요청 신호에 응답하여 제공하는 기능을 수행한다. 여기서, 요청 신호는 골프 경기와 관련하여 다양한 데이터를 요청하는 것으로, 연습용 데이터 또는 실전용 데이터를 요청할 수 있다.
여기서, 연습용 데이터는 각 사용자의 상태를 고려하여 각 사용자의 골프 실력과 대응되는 연습용 데이터를 말한다. 서버(100)는 각 사용자의 최근 골프 실력을 측정하고, 최근 골프 실력 중에서, 개선이 필요한 세부 코스를 선정하고, 세부 코스에 대한 연습을 독려하도록 하는 데이터를 생성하여 각 사용자의 요청 신호에 응답하여 제공할 수 있다. 이렇게 제공된 연습용 데이터는 적당한 비용 청구에 의해 제공될 수 있다.
여기서, 실전용 데이터는 각 사용자의 상태 및 각 사용자의 위치와 대응되는 골프장을 고려하여 각 사용자에게 적합한 실전용 데이터를 말한다. 서버(100)는 각 사용자와 비슷한 실력을 가진 그룹에 포함되는 하나 이상의 사용자의 해당 골프 필드 내에서의 움직임, 위치 등을 고려하여 생성된 이동 경로를 이용하여 각 사용자에게 적합한 코스 정보(방향, 비거리 등)를 포함하는 실전용 데이터를 제공할 수 있다. 이렇게 제공된 실전용 데이터는 데이터의 질과 양에 비례하는 비용이 청구되는 비용 청구에 의해 제공될 수 있다.
서버로 데이터를 전송하는 단말(200)은 사용자의 움직임이 기 설정된 제1 조건을 만족하는 경우, 움직임을 알 수 있는 데이터를 수집할 수 있다. 단말의 자세한 설명은 도 7에서 하겠다.
도 2는 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 서버의 구조를 나타내는 블록도이다.
도 2를 참조하면, 서버(100)는 로그 수신 모듈(110), 요청 처리 모듈(120), 골프 게임 모듈(130)을 포함할 수 있다.
로그 수신 모듈(110)은 하나 이상의 단말로부터 데이터를 수신하고, 데이터를 가공하는 기능을 수행하는 것으로, 로그 수신부(111), 가공부(112), 결과 생성부(113)를 포함할 수 있다.
로그 수신부(111)는 골프 필드 내에 위치한 하나 이상의 단말(200)로 데이터를 수신할 수 있다. 로그 수신부(111)는 기 설정된 조건을 만족하는 단말로부터 데이터를 수신할 수 있다. 로그 수신부(111)는 단말이 정해진 영역 내에 위치하는 동안에 센서부에 의해 획득되는 데이터, 또는 획득된 데이터를 입력으로 소정의 과정을 통해서 산출되는 결과 데이터를 수신할 수 있다. 이때, 데이터가 수신되는 시점은 메모리에 기록된 시점 또는 단말의 상황이 조건을 만족하는 시점 이후의 임의의 시점일 수 있다. 예를 들어, 금일 9시부터 18시까지 단말이 조건을 만족하는 경우에도, 단말에 의해 생성되는 데이터는 18시 이후의 21시에 서버로 제공될 수 있다. 서버는 단말이 데이터의 획득 및 산출을 위해서 작업되는 시간 구간을 피해 여유로운 시간 구간에 데이터를 수신할 수 있다.
가공부(112)는 수신된 데이터에 포함된 인자들을 추출하고, 인자들의 발생되는 시점들을 기준으로, 인자들 사이의 대응 관계를 생성할 수 있다. 가공부(112)는 단말을 통해서 생성된 데이터에 포함된 속성 정보들을 하나의 대응 관계로 각각 생성한다. 가공부(112)는 복수 개의 인자들을 대응 관계로 연결할 수 있다. 발생 시점을 고려하여 시간적으로 선후 관계를 가지는 복수 개의 인자들 사이의 대응 관계는 제1 인자에서 제2 인자로 향하는 대응 관계와 같이 선후 관계를 가질 수 있다.
결과 생성부(113)는 가공부(112)를 통해 수신된 데이터에 포함된 하나 이상의 인자 사이의 대응 관계를 이용하여 각 인자의 후속적인 결과 인자를 확률적으로 결정할 수 있다. 예를 들어, 제1 인자에서 제2 인자로 향하는 대응 관계를 가지는 데이터 및 제1 인자에서 제3 인자로 향하는 대응 관계를 가지는 데이터를 7대 3의 비율로 수집한 경우, 제1 인자가 획득되는 경우, 제2 인자 또는 제3 인자로 7대 3의 비율로 대응됨을 알 수 있다. 즉, 결과 생성부(113)에 의해 제1 인자의 후속(결과) 인자는 제2 인자(0.7), 제3 인자(0.3)으로 확률맵으로 생성될 수 있다.
요청 처리 모듈(120)은 단말로부터의 요청 신호에 대한 응답을 생성하는 기능을 수행하는 것으로, 신호 수신부(121), 제1 데이터 생성부(122), 제2 데이터 생성부(123), 제3 데이터 생성부(124), 데이터 제공부(125)를 포함할 수 있다. 요청 신호는 단말에 기 설치된 애플리케이션을 통해서 서버에서 해독 가능한 포맷으로 생성될 수 있다.
신호 수신부(121)는 단말로부터 데이터를 요청하는 요청 신호를 수신할 수 있다. 신호 수신부(121)는 요청하는 데이터의 타입에 따라서 다른 처리 과정을 거치도록 한다.
제1 데이터 생성부(122)는 요청 신호가 실전용 데이터를 요청하는 경우, 요청 신호의 응답을 생성할 수 있다. 제1 데이터 생성부(122)는 요청 신호의 응답하여, 기 수집되었던 제1 사용자와 관련된 제1 인자들을 검색한다. 제1 데이터 생성부(122)는 복수의 단말로부터 수신된 데이터를 이용하여 해당 제1 인자들에 대한 제1 결과 인자를 결정한다. 제1 결과 인자 보다 높은 결과를 가지는 제2 결과 인자를 결정하고, 제2 결과 인자의 이전 인자를 포함하는 실전용 데이터를 생성할 수 있다.
이를 통해, 본 발명의 실시예들에 따른 서버는 각 단말을 통해 획득된 사용자의 능력치보다 개선된 경기 능력을 가지도록 할 수 있다.
제2 데이터 생성부(123)는 요청 신호가 연습용 데이터를 요청하는 경우, 요청 신호의 응답을 생성할 수 있다. 제2 데이터 생성부(123)는 요청 신호의 응답하여 기 수집되었던 제2 사용자와 관련된 제2 인자들을 검색한다. 제2 데이터 생성부(123)는 검색된 제2 인자들을 통해 발생 확률이 가장 낮은 대응 관계를 검색하고, 대응 관계에 선후에 해당하는 인자들 중에서, 더 높은 등급을 가지는 결과 인자를 위한 연습용 데이터를 생성할 수 있다. 예를 들어, 제1 골프장에서, 제8 홀에서, 제2-1 인자, 제2-2 인자, 제2-3 인자를 거쳐 더블보기라는 결과 인자를 수행한 제2 사용자에게 더 높은 등급의 ‘보기’라는 결과 인자를 위한 인자들을 검색하고, 인자들 사이의 코스 정보를 생성하여 연습용 데이터로 생성할 수 있다.
제3 데이터 생성부(124)는 요청 신호가 추천 데이터를 요청하는 경우, 요청 신호의 응답을 생성할 수 있다. 제3 데이터 생성부(123)는 요청 신호의 응답하여 기 수집되었던 제3 사용자와 관련된 제3 인자들을 검색한다. 제3 데이터 생성부(124)는 검색된 제3 인자들을 통해서 제3 사용자와 유사한 움직임을 보이는 하나 이상의 사용자들을 검색하고, 검색한 사용자들의 사용 물품을 포함하는 추천 데이터를 생성할 수 있다. 제3 데이터 생성부(124)는 제3 사용자의 과거 물품 구매 내역에 포함된 물품들과 함께 구매되는 물품들을 포함하는 추천 데이터를 생성할 수 있다.
추천 데이터에 포함된 물품은 물품의 제조사의 요청에 의해 제공될 수 있다. 예를 들어, 특정 골프 그린에서 제공되도록 설정된 물품을 포함하는 추천 데이터는 특정 골프 그린에 위치한 단말들에 입력 또는 요청 없이 자동적으로 제공될 수 있다.
데이터 제공부(125)는 제1 내지 제3 데이터 생성부(122, 123, 124)를 통해 생성된 데이터를 단말 또는 각 사용자의 다른 단말로 제공할 수 있다. 또는 데이터 제공부(125)는 골프 그린에 설치된 리더기를 통해서 제공될 수도 있다. 데이터 제공부(125)는 제공되는 데이터와 대응되는 비용을 결제 청구할 수 있다. 비용 결제가 완료된 이후에, 데이터가 제공된다. 데이터 제공부(125)는 오디오, 비디오 등의 다양한 형식으로 데이터를 제공할 수 있다.
골프 게임 모듈(130)은 원격의 단말들 사이의 골프 게임을 시뮬레이션하여 제공하는 기능을 수행하는 것으로, 골프장 생성부(131), 데이터 수신부(132), 원격 매치 진행부(133)를 포함할 수 있다.
골프장 생성부(131)는 서로 위치적으로 근접하지 않은 복수의 단말들을 포함하는 하나의 가상 골프 게임을 생성할 수 있다. 생성된 가상 골프 게임에 의해 제공되는 그린 상황은 각 복수의 단말들의 위치에 따라서 상이할 수 있다. 예를 들어, 제1 단말의 골프장은 제1 단말이 위치한 골프장에 따르며, 제2 단말의 골프장은 제2 단말이 위치한 골프장에 따르며, 제3 단말의 골프장은 제3 단말이 위치한 골프장에 따를 수 있다. 이를 통해, 원격의 위치에서 골프 경기를 즐기는 단말들이 하나의 가상 골프 게임을 통해 함께 골프 경기를 하는 느낌을 가질 수 있다.
데이터 수신부(132)는 제1 가상 골프 게임에 포함되는 제1 단말, 제2 단말, 제3 단말, 및 제4 단말로부터 움직임과 관련된 데이터를 수신한다.
경기 진행부(133)는 각 가상 골프 게임에 포함된 복수의 단말들로부터 수신된 움직임과 관련된 데이터를 이용하여 각 가상 골프 게임에 대한 진행 데이터를 생성할 수 있다. 예를 들어, 가상 골프 게임에 포함된 단말들과 대응되는 플레이어들을 생성하고, 가상 골프장에서의 움직임을 실시간으로 생성할 수 있다. 진행 데이터는 플레이어들의 경기 관련 정보 외에 경기 관련 정보들 사이에 이펙트를 더 포함할 수 있다. 예를 들어, 제1 플레이어의 이동을 알리는 이펙트, 제2 플레이어의 샷을 알리는 이펙트, 제3 플레이어의 벙커에 공이 들어가는 행위를 알리는 이펙트 등이 더 포함될 수 있다. 이를 통해, 단순히 경기 결과 만을 알려주는 것 외에 재미적인 효과가 제공되도록 한다.
경기 데이터 제공부(134)는 진행 데이터를 각 단말로 시각적 또는 청각적으로 제공할 수 있다. 경기 데이터 제공부(134)는 타 플레이어의 경기 관련 데이터 및 자기 자신의 경기 관련 데이터를 제공할 수 있다. 이를 통해, 원격의 사용자들의 함께 경기하는 효과를 준다.
경기 데이터 제공부(134)는 단말이 경기에 임하는 순간이 아닌 이동 중 또는 경기 중에 경기 관련 데이터를 제공할 수 있다. 경기 데이터 제공부(134)는 각 단말에 의해 활성화된 동안에만 경기 관련 데이터를 제공할 수 있다. 이를 통해, 함께 경기를 하면서도, 자신의 경기에 집중할 수 있도록 한다.
도 3 및 도 4는 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 방법의 흐름도들이다.
도 3에 도시된 바와 같이, 본 발명의 실시예들에 따른 골프 필드 내에서의 데이터를 분석하는 방법은 실전용 데이터의 요청 신호에 대한 데이터를 생성할 수 있다.
S110에서는 서버는 제1 사용자의 단말로부터 실전용 데이터의 요청 신호를 수신할 수 있다.
S120에서는 서버는 단말들로부터 수신한 데이터에서 제1 사용자와 관련된 제1 인자들을 검색한다. 서버는 제1 사용자를 포함하는 쿼리를 입력하여, 제1 사용자와 관련된 제1 인자를 검색한다.
S130에서는 서버는 타 단말로부터 수신된 데이터에서 제1 인자들로부터 확률적으로 발생할 수 있는 후속 인자를 검색한다. 서버는 제1 사용자의 단말을 통해 획득된 인자들을 이용하여 제1 사용자의 결과를 반영한 후속 인자 또는 결과 인자를 검색할 수 있다. 여기서, 후속 인자 또는 결과 인자는 제1 인자와 일정한 상호 관계를 가지는 인자로서, 사전 학습된 데이터를 통해서 제1 인자로부터 발생될 가능성이 있는 것으로 판단된 것이다.
S140에서는 서버는 제1 사용자의 움직임 등의 인자들로부터 추론되는 제1 결과 인자보다 높은 등급을 가지는 제2 결과 인자를 결정하고, 서버는 제2 결과 인자가 제1 사용자에 의해서 발생될 수 있도록 실전용 데이터를 생성할 수 있다(S150). 서버는 제2 결과 인자의 이전 인자를 포함하는 실전용 데이터를 생성할 수 있다. 결과 인자들 사이의 등급은 관리자에 의해 기 설정될 수 있다.
도 4에 도시된 바와 같이, S210에서는 서버는 제2 사용자의 단말로부터 연습용 데이터의 요청 신호를 수신할 수 있다. 요청 신호는 제2 사용자를 식별하는 식별 정보 및 요청하는 데이터 타입 정보를 포함할 수 있다.
S220에서는 서버는 제2 사용자와 관련된 제2 인자들을 검색한다. 서버는 제2 사용자의 식별 정보를 포함하는 쿼리를 이용하여 제2 사용자의 단말을 통해 획득된 제2 인자들을 검색할 수 있다. 서버는 제2 인자를 검색함으로써, 제2 사용자의 골프 경기력을 나타내는 인자들을 획득할 수 있다.
S230에서는 서버는 제2 인자들을 통해 추론되는 결과 인자들을 검색한다. S240에서는 서버는 제2 사용자의 움직임을 통해 추론되는 하나 이상의 결과 인자 중에서, 가장 높은 등급을 가지는 결과 인자를 위한 연습용 데이터를 생성할 수 있다. 예를 들어, 제2 사용자의 움직임을 통해 추론되는 하나 이상의 결과 인자가 해당 필드에서, ‘보기’, ‘파’, ‘이글’ 순으로 검출된 경우, 가장 높은 등급을 가지는 ‘이글’의 결과 인자로 향하는 인자들을 포함하는 실전용 데이터를 제공할 수 있다. 실전용 데이터에 포함되는 인자들은 위치, 타격의 방향, 힘의 정도 등을 포함할 수 있다.
도 5a 및 도 5b는 골프 게임 모듈에 의해서 생성되는 사용자 인터페이스의 일 예이다.
본 발명의 실시예들에 따른 골프 게임 모듈은 시작 지점, 종료 지점, 하나의 골프 게임을 진행하고 있는 제1 단말(obj1), 제2 단말(obj2), 제3 단말(obj3)을 포함한 가상의 골프장 화면을 제공할 수 있다.
이때, 각 단말의 아이콘이 배치되는 위치는 각 단말의 실제 위치를 기초로 산출된 상대 위치를 이용하여 결정될 수 있다. 예를 들어, 제1 단말(obj1)의 실제 위치가 종료 위치(핀, SF)의 동측인 경우, 도 5a에 도시된 바와 같이 SF의 동쪽에 해당하는 좌측에 제1 단말(obj1)을 위치 시킨다. 제2 단말(obj2)의 실제 위치가 시작 위치(ST) 및 종료 위치(SF) 중간에 위치하는 경우, ST 및 SF의 중간에 제2 단말(obj2)을 위치시킨다. 제3 단말(obj3)의 실제 위치가 종료 위치(SF)의 북측에 존재하는 경우, SF의 북쪽에 해당하는 하측에 제3 단말(obj3)을 위치시킨다.
사용자에 의해 실제 타격을 하는 동안에는 타격하는 제1 단말(obj1)에 해당하는 이미지를 생성하여 제공할 수 있다. 이때, 단말을 통해 획득된 타격 움직임을 이용하여 가상의 볼과 대응되는 이미지를 생성하고, 볼의 이동(b11, b12)을 표현할 수 있다. 또한, 타격 움직임을 검출하지 않고, 볼의 위치 변화(b11, b12)를 센싱할 수 있다.
골프 게임 모듈에 의해 생성된 골프 게임 데이터는 각 단말을 통해 비디오 또는 오디오의 형태로 제공될 수 있다. 골프 게임 데이터의 제공 시점은 각 사용자의 움직임에 따라 상이할 수 있다. 예를 들어, 타격을 하려는 움직임이 감지된 경우, 즉, 집중을 필요로 하는 타격 시점에는 골프 게임 데이터를 제공하지 않고, 골프장에서 홀과 홀 사이를 이동하는 경우, 즉 집중을 필요로 하지 않는 이동하는 시점에는 골프 게임 데이터가 제공될 수 있다.
서버(100)는 원격으로 골프 경기를 진행하고 있는 복수의 단말들을 통해 생성된 데이터를 이용하여 복수의 단말들이 함께 게임을 즐기는 가상의 공간을 렌더링하여 제공 할 수 있다.
도 6a 및 도 6b는 서버에 의해 가공되는 데이터의 일 예를 설명하기 위한 도면이다.
도 6a에 도시된 바와 같이, 단말에 의해 수집되는 데이터는 식별 번호(61), 골프장 관련 인자(62), 인자들(63)을 포함할 수 있다.
제1 단말(#4677)에 의해 생성된 data1={P11, P12, P13, par}가 수신되고, data1에 의해 SP(시작점), P11, P12, P13, par 들을 순서대로 연결하는 제1 상관 관계를 생성할 수 있다. 제2 단말(#1767)에 의해 생성된 data2={P21, P22, P23, P24, 보기}가 수신되고, data2에 의해 SP(시작점), P21, P22, P23, P24, ‘보기’들을 순서대로 연결하는 제2 상관 관계를 생성할 수 있다. 제3 단말(#2899)에 의해 생성된 data3={P31, P13, 이글}가 수신되고, data3에 의해 SP(시작점), P31, P13, ‘이글’들을 순서대로 연결하는 제3 상관 관계를 생성할 수 있다. 제4 단말(#1033)에 의해 생성된 data4={P41, P12, P43, par}가 수신되고, data4에 의해 SP(시작점), P41, P12, P43, ‘par’들을 순서대로 연결하는 제4 상관 관계를 생성할 수 있다.
제1 내지 제4 상관 관계는 도 6b와 같이 도시될 수 있다. 도면과 같이, P12 인자는 P31, P41과 연결될 수 있다. P13 인자는 ‘par’ 및 ‘이글’과 연결될 수 있다. 수신된 데이터들에 의해서 인자들 사이의 상관 관계는 더 복잡해 질 수 있으며, 인자들 사이의 선후 관계의 발생 횟수를 이용하여 각 후속 인자 또는 결과 인자의 확률이 생성될 수 있다.
예를 들어, 단말을 통해 획득된 인자가 P13인 경우, P13의 후속 인자 또는 결과 인자는 ‘par’ 및 ‘이글’이 되며, 각각 0.5, 0.5의 확률을 가지게 된다.
도 7는 본 발명의 실시예들에 따른 단말(200)의 구조를 나타내는 블록도이다.
도 7에 도시된 바와 같이, 단말(200)은 제1 단말그룹에 속하는 것으로, 서버와의 통신하여 소정의 데이터를 출력하는 기능을 수행한다. 단말(200)은 프로세서(210), 통신모듈(220), GPS 모듈(230), 메모리(240), 디스플레이부(250), 센서부(260), 모드설정부(270), 전원입력부(280)를 포함할 수 있다.
메모리(240)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치 (permanent mass storage device)를 포함할 수 있다. 또한, 메모리(140)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 단말에 설치되어 구동되는 브라우저나 상술한 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism)을 이용하여 메모리(240)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(220)을 통해 메모리(240)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(101))이 네트워크(500)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(240)에 로딩될 수 있다.
프로세서(210)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(240) 또는 통신 모듈(220)에 의해 프로세서(210)로 제공 될 수 있다. 예를 들어 프로세서(210)는 메모리(240)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 모듈(220)은 네트워크(500)를 통해 제1 단말그룹(200)과 서버(101)가 서로 통신하기 위한 기능을 제공 할 수 있으며, 다른 서버(일례로 서버(102))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 프로세서(210)가 메모리(240)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 컨텐츠에 대한 스트리밍 서비스 요청)이 통신 모듈(220)의 제어에 따라 네트워크(500)를 통해 서버(101)로 전달될 수 있다. 역으로, 서버(101)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(220)과 네트워크(500)를 거쳐 제1 단말(201)의 통신 모듈(220)을 통해 제1 단말(201)로 수신될 수 있다. 예를 들어 통신 모듈(220)을 통해 수신된 서버(101)의 제어 신호나 명령 등은 프로세서(210)나 메모리(240)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 단말(201)이 더 포함할 수 있는 저장 매체로 저장될 수 있다.
디스플레이부(250)는 단말의 모드 정보, 사용자의 골프 경기 상황, 골프장의 홀들의 핀에 대한 정보, 가상 골프 경기와 관련된 정보 등을 출력할 수 있다. 디스플레이부(250)는 예를 들어 터치 인식이 가능한 OLED(organic light emitting display) 또는 LCD(liquid crystal display)와 같은 소정의 디스플레이 부재일 수 있다. 디스플레이부(250)는 핀의 위치를 측정하는 제1 모드, 임의의 지점의 위치 및 지점들 사이의 거리를 측정하는 제2 모드 중 현재의 동작 모드를 제공할 수 있다. 디스플레이부(250)는 현재 골프장에 대한 정보, 현재 경기에 대한 정보(홀의 번호, 해당 홀에서의 핀 위치 정보, 핀까지의 거리, 핀까지의 방향 정보 등)를 제공할 수 있다.
센서부(260)는 주변 환경 정보를 감지할 수 있다. 구체적으로 센서부(260)는 온도 센서, 습도 센서, 진동 감지 센서, 터치 센서, 지자기 센서, 자이로 센서, 가속도 센서 등 주변 환경을 센싱할 수 있는 다양한 센서를 포함할 수 있다. 센서부(260)는 지면의 기울기 정보를 감지할 수 있다.
모드 설정부(270)는 버튼식으로 구현되어 사용자로부터 입력을 받는다. 모드 설정부(270)는 단말의 동작 모드를 설정하는 기능을 수행한다. 모드 설정부(270)는 터치 인식을 감지하는 입출력 장치일 수 있다. 모드 설정부(270)에 대한 입력을 통해, 장치의 동작 모드는 핀의 위치를 입력하는 제1 모드, 임의의 지점 및 거리를 설정하는 제2 모드 중 하나를 가질 수 있다.
전원 입력부(280)는 단말 장치의 전원 상태를 관리하는 기능을 수행한다. 전원 입력부(280)에 대한 입력을 통해 장치의 전원이 설정될 수 있다.
단말(200)은 GPS위성과 통신하여, 단말의 위치를 산출하는 GPS 모듈을 포함할 수 있다. 단말(200)은 GPS 모듈을 통해 수신된 위치 정보를 보정하여 더 정확한 위치 정보를 산출할 수 있다. 위치 정보의 산출 과정은 도 8에 도시된 바와 같다.
메모리(240)는 측정된 센싱값들을 데이터로 생성하고, 데이터를 서버로 전송하는 프로그램 또는 애플리케이션이 저장될 수 있다. 메모리(240)는 골프장의 상황 정보를 관리하기 위한 프로그램 또는 애플리케이션이 저장될 수 있다.
데이터 입력부(241)는 디스플레이부(250), 모드 설정부(270) 등을 통해 데이터를 입력 받을 수 있다.
위치 측정부(242)는 위치 측정 신호에 따라 입력된 지점의 위치를 측정할 수 있다. 여기서, 위치 측정 신호는 사용자의 음성으로 입력되거나, 서버(100) 또는 리더기로부터 수신될 수 있다. 위치 측정 신호는 설치된 애플리케이션을 통해 주기적으로 생성될 수 있다. 위치 측정부(242)는 소정의 조건을 만족하는 경우, 위치 측정 신호가 생성되도록 제어할 수 있다. 예를 들어, 골프 그린 내에 위치하는 경우, 이전 측정된 위치에서부터 이동하는 움직임이 감지된 경우, 종료 이벤트(종료 지점에 도달)가 발생된 경우, 시작 이벤트(시작 지점에 도달) 및 종료 이벤트(종료 지점에 도달)가 모두 발생된 경우, 위치 측정 신호가 생성되도록 제어할 수 있다. 이와 같이 특정 시점에서만 위치를 측정하는 것을 통해 생성되는 데이터의 양이 과도하게 증가하는 것을 방지한다.
위치 측정부(242)를 통해 측정된 위치 값들은 서버로 전달될 수 있다.
위치 측정부(242)는 GPS 모듈을 통해 현재 위치 정보를 측정할 수 있다. 위치 측정부(242)는 GPS 모듈에 의해 수신한 위치 정보를 보정할 수 있다. GPS 모듈에 의해 수신된 위치 정보는 위성 궤도 오차, 위성 시계 오차, 위성 바이어스, 전리층 오차, 대류권 오차, 신호 왜곡, 다중 경로 오차, 수신기 오차 등에 의해서 오차를 포함할 수 있다.
위치 측정부(242)는 위성으로부터 수신한 GNSS 데이터에 기초하여 의사거리를 추출하고 기선거리를 산출한다. 이때, 의사 거리는 GNSS 위성과 단말 간의 거리이고, 기선거리는 각 기준국과 단말 간의 거리이다. 위치 측정부(242)는 복수의 기준국들 각각으로부터 보정치를 수신한다. 복수의 기준국들 각각은, 산출된 보정치를 미리 정해진 무선 통신 방식을 통해 단말로 전송할 수 있다. 무선 통신 방식은, DMB(Digital Multimedia Broadcasting Digital Multimedia Broadcasting) 또는 이동 통신 방식(예컨대, 2, 3, 또는 4 세대 이동통신 방식)일 수 있으나, 이에 한정되는 것은 아니다.
위치 측정부(242)는 GNSS 데이터에 기초하여 복수의 기준국들 각각에 상응하는 기선거리를 산출한다.
위치 측정부(242)는 기선 거리에 따라 가변되는 계수값(Pj)에 기초하여 복수의 기준국들 각각에 상응하는 가중치(wj)를 생성한다. 이때, 계수값(Pj)은 기 설정된 지수 함수에 기초하여 산출될 수 있으며, 가중치(wj)는 복수의 기준국들 각각에 상응하는 기선거리에 따른 역거리 가중치에 계수값을 거듭제곱하여 생성될 수 있다.
일 예로, 계수값(Pj)은 기준국과 수신위치 사이의 기선거리 및 수신위치에서의 복수의 기준국들에 대한 모든 기선 거리의 평균값을 이용하여 산출할 수 있다. 가중치(wj)는 산출된 계수값(Pj)을 이용하여 생성될 수 있다. 가중치(wj)는 기준국과 수신위치 사이의 기선 거리에 따른 역거리 가중치에 계수값을 거듭제곱하여 생성될 수 있다.
위치 측정부(242)는 복수의 기준국들 각각으로부터 보정치(Dj)를 수신할 수 있다. 위치 측정부(242)는 수신된 보정치(Dj)에 생성된 가중치(wj)를 적용하여 수신위치에서의 보정치(Dj)를 생성한다. 위치 측정부(242)는 수신된 보정치(Dj)에 따라 의사 거리를 보정하여 수신 위치에서의 위치 정보를 산출할 수 있다. 이를 통해, 수신위치에서의 복수의 기준국들에 대한 전체 기선 거리의 평균값을 가중치(wj)를 생성하는데 반영하게 되므로, 가중치가 불필요하게 커지거나 작아지는 것을 방지할 수 있게 된다.
위치 측정부(242)는 단말 자체의 위치 외에 정해진 객체와 연동하여 위치를 측정할 수 있다. 예를 들어, 위치 측정부(242)는 정해진 객체인 홀컵 또는 핀과 연동하여, 홀컵 또는 핀의 위치를 실시간으로 측정하도록 구현할 수 있다. 위치 측정부(242)는 홀컵 또는 핀에 부착된 센서를 통해 움직임이 감지되는 경우, 홀컵 또는 핀의 위치를 측정하도록 제어할 수 있다. 이를 통해, 골프 경기 중에 단말을 소지한 사용자는 핀까지의 거리를 간편하게 측정할 수 있다.
이동거리 측정부(243)는 입력된 거리 측정 신호에 따라 단말의 이동거리를 측정할 수 있다. 이동거리 측정부(243)는 거리 측정 신호에 입력된 지점을 시작 지점으로 설정하고, 거리 측정 신호에 입력된 이후에 정해진 시간 간격, 예를 들어 5초 간격으로 위치 정보를 측정하고, 측정된 위치 정보들의 집합을 선으로 연결함으로써, 이동 경로를 생성하고, 이동 경로의 총 길이를 이동 거리로 측정할 수 있다.
이동거리 측정부(243)는 단말이 기 설정된 단위 거리 만큼 이동하는 움직임이 감지되면, 즉, 단말의 이동 경로를 이용하여 단말의 이동 거리가 기 설정된 단위 거리에 일치하는 경우, 알람을 발생할 수 있다. 예를 들어, 이동거리 측정부(243)는 사용자(단말)의 이동 거리를 산출하여 단위 거리인 100m 또는 1 km마다 알람을 발생할 수 있다. 이동거리 측정부(243)는 이동 경로의 총 길이가 기 설정된 목표 거리와 일치하는 순간에 알람을 발생하거나, 이동 경로의 총 길이가 사용자에 의해 입력된 목표 거리와 일치하는 지점을 알려주는 알람 메시지를 생성할 수 있다. 이를 통해 사용자가 사용자의 이동 거리를 주기적으로 인지하며, 목표 거리 만큼의 지점을 별다른 도구 없이 획득할 수 있도록 한다.
최단거리 측정부(244)는 거리 측정 신호에 따라 단말이 이동된 최단 거리를 측정할 수 있다. 최단거리 측정부(244)는 이동 시작 신호 및 이동 종료 신호가 입력되는 시점의 초기 위치의 위도, 경도 및 최종 위치의 위도, 경도를 각각 산출하고, 초기 위치 및 최종 위치 사이의 최단 거리를 산출할 수 있다.
이를 통해, 본 발명의 실시예에 따른 단말(200)은 사용자의 위치 및 이동 후에 사용자의 위치 등을 측정하여 제공할 수 있다. 단말(200)에 의해 측정된 위치 값들은 사용자의 움직임을 분석하는데 이용될 수 있다. 단말(200)은 위치, 특정 객체의 위치, 이동 경로, 이동 거리 등과 같은 움직임과 관련된 데이터를 서버로 전송전송할 수 있다. 서버(200)는 수신된 데이터를 뉴럴 네트워크를 이용하여 가공하게 된다.
정보 제공부(245)는 측정된 위치 등의 값들을 포함하는 정보를 제공할 수 있다. 또한, 정보 제공부(245)는 서버로부터 수신한 정보를 제공할 수 있다. 정보 제공부(245)에 의해 제공되는 정보의 형태는 텍스트 또는 사운드 중 하나 일 수 있다. 정보 제공부(245)는 사용자로부터의 입력과 대응하여 서버(100)로 정보를 요청하고 이에 대한 회신을 이용하여 정보를 제공할 수 있다. 다른 실시예에서, 정보 제공부(245)는 측정된 정보들을 이용하여 사용자로부터 요청된 정보를 제공할 수 있다. 정보 제공부(245)는 종료 지점인 홀컵 또는 핀까지의 거리, 홀컵 또는 핀까지의 방향 정보, 홀컵까지의 경사 등과 같은 단순한 측정 정보를 제공할 수 있다. 경사와 관련된 정보는 위치 별로 설정된 경사 정보를 일괄적으로 서버로부터 수신할 수도 있고 복수의 사용자들의 이동 경로들을 이용하여 지형과 관련된 정보를 산출할 수 있다. 정보 제공부(245)는 센서를 통해 획득된 골프장 내의 지형과 관련된 정보를 제공할 수 있다. 단말이 지형과 관련된 정보를 획득하는 과정은 도 12 내지 도 13을 통해서 설명하겠다. 간략히 설명하면, 정보 제공부(245)는 사용자의 이동 경로가 거리의 변화 외에 고도의 변화를 가지는 경우, 사용자의 이동 경로를 이용하여 골프장의 고도 변화를 산출할 수 있다.
정보 제공부(245)는 직접 센싱하거나 외부의 서버로부터 수신한 풍속, 날씨 정보 등과 같은 주변 환경에 대한 정보를 제공할 수 있다. 정보 제공부(245)는 통신망을 통해 연결된 외부의 서버 또는 근거리 통신망을 통해 연결되고 인접한 위치에 존재하는 리더기로부터 수신한 정보를 이용하여 생성된 주변 환경에 대한 정보를 제공할 수 있다.
정보 제공부(245)는 서버(100), 또는 리더기(300)로부터 수신한 해당 홀에 대한 과거 이력에 대한 정보를 제공할 수 있다. 홀에 대한 과거 이력에 대한 정보는 해당 사용자를 통해 획득된 정보 또는 타 사용자를 통해 획득된 정보를 포함하며, 홀에서의 이루어진 플레이에 대한 것으로, 홀에서의 총 타수, 골프 경기에서의 공의 이동 경로, 그린에 올리는 경로 및 힘의 세기, 스윙 자세, 스윙 방법 등을 확률적으로 분석하여 제공하는 정보를 포함할 수 있다. 예를 들어, 정보 제공부(245)는 해당 홀의 평균 타수, 스윙 방향에 따른 그린 성공률 정보, 그린 성공률을 높이기 위한 힘의 세기 정보 등을 제공할 수 있다. 이를 통해서, 정보 제공부(245)는 서버(100), 또는 리더기(300)로부터 수신한 골프장 및 해당 홀에 대한 사용자의 적응력을 높일 수 있는 경기 운영과 관련된 정보를 제공할 수 있다.
정보 제공부(245)는 서버(100), 또는 리더기(300)로부터 수신한 각 사용자의 골프 경기력에 따라 각 사용자가 속하는 사용자 그룹의 홀의 평균 타수, 그린에 올리기까지의 방향 정보, 힘의 세기 등을 제공할 수 있다. 여기서, 사용자가 속하는 사용자 그룹은 골프 경기력이 비슷한 사용자들을 포함할 수 있다. 각 사용자의 골프 경기력은 수행된 홀의 총 타수 및 평균 타수를 기준으로 결정될 수 있다. 이를 통해서, 각 사용자의 골프 수행 능력과 관련된 인자를 고려한 경기 수행에 관련된 정보가 제공될 수 있다.
단말(200)은 골프 필드 위에 위치하는 타 객체(예를 들어, 핀 등)에 부착된 카메라의 구동을 제어하는 카메라 구동 제어부를 더 포함할 수 있다. 카메라 구동 제어부는 타 객체에 부착된 카메라를 이용하여 퍼팅에 따른 공의 움직임, 사용자의 스윙 자세를 촬영하도록 할 수 있다. 카메라 구동 제어부를 통해 촬영된 동영상은 단말을 통해서 출력될 수 있다. 타 사용자의 스윙 및 공의 흐름과 관련된 동영상을 제공 받아 출력할 수 있다. 이를 통해서, 단말(200)은 사용자가 특별한 노력을 기울이지 않더라도 골프 자세 및 공의 움직임 등을 촬영한 동영상을 제공할 수 있다.
본 발명의 실시예들에 따른 단말(200)은 골프장의 상황, 특히 핀들의 위치 변화, 핀들의 현재 위치 등을 실시간으로 제공할 수 있다. 추가적으로 단말(200)은 핀의 현재 위치를 고려하여 해당 홀의 난이도를 예측하여 해당 홀 내에 있는 제2 단말 그룹으로 전달할 수 있다. 또는 단말(200)은 서버로부터의 예측된 홀의 난이도를 수신하여 제2 단말 그룹으로 전달할 수 있다. 본 발명의 실시예들에 따른 단말(200)은 이동된 핀의 주변의 그린 상황(경사도 등), 및 핀의 위치에 대한 사용자들의 경기 수행 결과를 기초로 현재 홀의 난이도를 예측할 수 있다.
본 발명의 실시예들에 따른 단말(200)은 각 사용자의 경기 수행 결과를 기초로 각 사용자의 연습 정보를 생성할 수 있다. 예를 들어, 퍼팅 성공률이 저조한 사용자의 단말로 퍼팅 성공률을 높일 수 있는 훈련과 관련된 연습용 데이터를 생성할 수 있다. 비거리가 짧은 사용자에게는 비거리를 높일 수 있는 근력 운동 등의 연습용 데이터를 생성할 수 있다.
다른 실시예에서, 단말(200)은 특정 객체인 핀의 이동 여부를 감지하는 감지부를 더 포함할 수 있으며, 감지부를 통해 감지된 핀의 이동 여부에 따라 이동된 핀까지의 거리 정보 및 이동된 핀까지의 방향 정보를 제공할 수 있다. 또한, 이동된 핀이 위치한 그린에 단말이 위치하는지 여부를 판단하고, 이동된 핀이 위치한 그린 안에 있는 경우, 그린 도착 알람을 발생하도록 구현된 정보 제공부를 포함할 수 있다. 이를 통해, 이동된 핀의 현재 위치가 바로 갱신되도록 유도할 수 있다.
도 8은 단말에 의해 위치가 결정되는 과정의 흐름도이다.
S310에서 단말(200)은 위치 측정 신호를 수신한다.
S320에서 단말(200)은 GNSS 데이터에 기초하여 복수의 기준국들 각각에 상응하는 기선거리를 산출한다. S330에서 단말(200)은 기선 거리에 따라 가변되는 계수값(Pj)에 기초하여 복수의 기준국들 각각에 상응하는 가중치(wj)를 생성한다. 이때, 계수값(Pj)은 기 설정된 지수 함수에 기초하여 산출될 수 있으며, 가중치(wj)는 복수의 기준국들 각각에 상응하는 기선거리에 따른 역거리 가중치에 계수값을 거듭제곱하여 생성될 수 있다. 일 예로, 계수값(Pj)은 기준국과 수신위치 사이의 기선거리 및 수신위치에서의 복수의 기준국들에 대한 모든 기선 거리의 평균값을 이용하여 산출할 수 있다. 가중치(wj)는 산출된 계수값(Pj)를 이용하여 생성될 수 있다. 가중치(wj)는 기준국과 수신위치 사이의 기선 거리에 따른 역거리 가중치에 계수값을 거듭제곱하여 생성될 수 있다.
S340에서 단말(200)은 복수의 기준국들 각각으로부터 보정치(Dj)를 수신할 수 있다. S350에서 단말(200)은 수신된 보정치(Dj)에 생성된 가중치(wj)를 적용하여 수신위치에서의 보정치(Dj)를 생성한다. S360에서 단말(200)은 수신된 보정치(Dj)에 따라 의사 거리를 보정하여 수신 위치에서의 위치 정보를 산출할 수 있다.
도 9는 단말의 구체적인 실시 형태의 도면이다.
도 9에 도시된 바와 같이 골프 모자의 캡에 부착되는 형태로 구현될 수 있다. 단말(200)은 디스플레이 패널 형태의 출력부 대신에 음성 입력 및 음성 출력 기능을 포함할 수 있다. 단말(200)은 소리를 통해서 데이터를 입력시키고 데이터를 출력시킨다. 단말(200)은 상기의 정보 제공부를 통해 생성된 정보를 음성으로 출력시킬 수 있다. 단말(200)은 서버로부터 수신한 데이터를 출력할 수 있다. 예를 들어, 단말(200)은 서버로부터 수신한 연습용 데이터, 실전용 데이터를 수신하여 제공할 수 있다. 단말(200)은 서버로부터 수신한 가상 골프 경기와 관련된 데이터를 수신하여 제공할 수 있다.
단말(200)은 골프 경기 중에 골프 필드에 대한 정보 외에 사용자의 스윙 템포를 알려주는 사운드를 생성하여 출력부를 통해 제공할 수 있다. 이러한 스윙 템포에 대한 사운드는 특정 조건을 만족하는 경우에만 제공될 수 있다. 예를 들어, 이전 홀에서 좋은 경기력을 보여주거나 이전 홀에서 나쁜 경기력을 보여주는 경우에 단말(200)은 스윙 템포에 대한 사운드를 제공할 수 있다. 사용자의 경기력이 저하될 조건 또는 저하되는 변화가 감지되면, 단말(200)은 각 사용자에게 적합한 스윙 템포에 대한 사운드를 제공할 수 있다.
도 10은 서버(101), 리더기(300), 제2 단말 그룹(401, 402, 403) 사이의 동작을 설명하기 위한 도면이다.
서버(101)는 골프장에 있는 하나 이상의 리더기들에 제공되는 데이터 패킷들을 생성한다. 서버(101)는 리더기들과 대응되는 데이터 패킷들을 각각 전송한다. 또는 서버(101)는 데이터 패킷들을 전송하고, 이를 수신한 리더기는 판독 가능한 데이터 패킷을 수신한다.
리더기(300)는 수신한 데이터 패킷을 주변의 단말들, 401, 402, 403에 전달한다. 이때, 리더기는 주변의 단말들을 인지하는 과정 없이 단방향으로 핀에 대한 정보, 골프장에 대한 정보 등을 제공할 수 있다.
도 11은 단말(201)의 일 실시예를 설명하기 위한 도면이다.
도 11에 도시된 바와 같이, 단말(201)은 골프장 정보를 제공하는 영역(1101), 홀 정보를 제공하는 영역(1102), 핀까지의 거리 정보를 제공하는 영역(1103), 위치를 측정하는 기능을 구현하는 버튼(1104), 거리를 측정하는 기능을 구현하는 버튼(1105)을 포함할 수 있다. 단말(201)은 분할된 하나 이상의 영역들에 각각의 정보를 제공할 수 있다. 제공되는 각 영역은 정해진 종류의 데이터를 제공할 수 있다.
도 12는 본 발명의 다른 실시예에 따른 단말(202)의 개략적인 평면도이고, 도 13은 본 발명의 다른 실시예에 따른 단말(202)의 구성을 나타내는 블록도이다.
일 실시예에 따른 단말(202)은, 하우징(11)과, 센싱 유닛(16)과, 프로세서 유닛(15)과, 디스플레이 유닛(13)과, 입력 유닛(12)을 포함할 수 있다.
상기 하우징(11)은 사용자에 의해 파지 가능하도록 구비되며, 상자 형태로 형성되어 내부에 센싱 유닛(16)과, 프로세서 유닛(15)과, 디스플레이 유닛(13)과, 입력 유닛(12)을 포함할 수 있다.
이러한 하우징(11)은 도 15에서 볼 수 있듯이 저면이 편평면(111)으로 구비되며, 이 편평면(111)은 그린(4)에 대향되게 위치할 수 있다. 즉, 상기 하우징(11)을 그린(4)에 놓았을 때 상기 편평면(111)이 그린에 닿도록 할 수 있다.
하우징(11)에는 표면에 입력 유닛(12)이 노출되도록 구비될 수 있는 데, 입력 유닛(12)을 통해 사용자는 센싱 유닛(16), 디스플레이 유닛(13) 및/또는 프로세서 유닛(15)에 대한 동작 제어를 할 수 있다.
상기 입력 유닛(12)은 제1 버튼(12A)을 포함할 수 있다. 제1 버튼(12A)은 전원의 인가를 비롯하여, 디스플레이 유닛(13) 및/또는 프로세서 유닛(15)의 동작을 제어하도록 구비될 수 있다.
선택적으로 상기 입력 유닛(12)은 제2 버튼(12B) 및 제3 버튼(12C)은 더 포함할 수 있는 데, 이에 따라 특정 수치에 대한 증감 입력을 진행할 수 있다. 일 실시예에 따르면, 상기 제2 버튼(12B) 및 제3 버튼(12C)을 이용하여 그린 스피드를 입력할 수 있다. 그린 스피드는 골프장에서 제공하는 값이 될 수 있으며, 정확한 방향을 계산하기 위해 제2 버튼(12B) 및 제3 버튼(12C)을 이용하여 그 값을 입력할 수 있다. 이를 위해, 프로세서 유닛(15)은 특정 값을 그린 스피드로 제공할 수 있으며, 사용자는 제2 버튼(12B) 및 제3 버튼(12C)을 이용해 이 기본 값을 변경할 수 있다. 그러나 반드시 이에 한정되는 것은 아니고, 프로세서 유닛(15)과 전기적으로 연결된 통신 유닛(미도시)에 의해 골프장 서버와 통신함으로써, 골프장 서버가 제공하는 그린 스피드값을 받을 수 있다.
상기 하우징(11)의 표면에는 정면 중앙에 제1 지시 마크(14)가 표시될 수 있는 데, 이 제1 지시 마크(14)는 홀을 향하도록 할 수 있다.`
상기 하우징(11) 내에는 센싱 유닛(16)이 위치할 수 있는 데, 상기 센싱 유닛(16)은 그린의 홀 위치를 센싱하도록 구비된 것일 수 있다.
일 실시예에 따르면, 상기 센싱 유닛(16)은 도 14a, 도 14b, 도 14c에서 볼 수 있듯이, 제1 센싱 유닛(16A), 및 제2 센싱 유닛(16B)을 포함할 수 있다.
상기 제1 센싱 유닛(16A)은 하우징(11)과 특정 목표물 사이의 거리를 측정할 수 있는 거리 측정 센서가 될 수 있다. 일 실시예에 따르면, 상기 제1 센싱 유닛(16A)은 레이저 센서가 될 수 있다. 그러나 반드시 이에 한정되는 것은 아니고, 거리를 측정할 수 있는 센서라면 어떠한 센서이건 적용될 수 있다. 예컨대 상기 제1 센싱 유닛(16A)은 초음파 센서일 수 있다.
상기 제2 센싱 유닛(16B)은 하우징(11)의 기울기를 측정하는 기울기 측정 센서가 될 수 있다. 이러한 기울기 측정 센서는 수평 방향으로 전후 및 좌우 모두를 측정하는 센서일 수 있다.
또 다른 일 실시예에 따르면, 상기 센싱 유닛(16면,은 도 14B에서 볼 수 있듯이 제1 센싱 유닛(16A) 내지 제3 센싱 유닛(16C)을 포함할 수 있다.
제1 센싱 유닛(16A)은 전술한 실시예와 마찬가지로 거리 측정 센서가 될 수 있고, 제2 센싱 유닛(16B) 및 제3 센싱 유닛(16C)은 모두 기울기 측정 센서가 될 수 있다. 제2 센싱 유닛(16B)은 수평 방향으로 제1 축, 즉, 전후 방향의 기울기를 측정하는 센서가 될 수 있고, 제3 센싱 유닛(16C)은 수평 방향으로 제2 축(제1 축에 수직인), 즉, 좌우 방향의 기울기를 측정하는 센서가 될 수 있다.
또 다른 일 실시예에 따르면, 상기 단말(200)은 광 조사 유닛(17)을 더 포함할 수 있다.
상기 광 조사 유닛(17)은 타겟 방향을 향하도록 하는 레이저 광 포인터가 될 수 있다. 이러한 광 조사 유닛(17)은 센싱 유닛(16)과 연동하도록 구비될 수 있는 데, 특히 거리 측정 센서인 제1 센싱 유닛(16A)과 연동하도록 구비될 수 있다. 즉, 상기 광 조사 유닛(17)은 제1 센싱 유닛(16A)에 의해 측정되는 타겟을 동시에 향하도록 하는 것일 수 있다. 광 조사 유닛(17)의 동작은 제1 센싱 유닛(16A)의 동작에 연동하도록 할 수 있다. 이에 따라 사용자가 광 조사 유닛(17)을 이용하여 타겟을 비추는 것에 따라, 및/또는 입력 유닛(12)을 이용해 센싱 동작을 선택함에 따라 제1 센싱 유닛(16A)이 타겟과의 거리를 측정하도록 할 수 있다.
디스플레이 유닛(13)은 사용자에게 영상을 디스플레이하는 것으로, 유기 발광 디스플레이 유닛, 무기 발광 디스플레이 유닛 또는 액정 디스플레이 유닛 등 평판 디스플레이 유닛을 포함할 수 있다. 상기 디스플레이 유닛(13)은 하우징(11)의 중앙에 위치할 수 있는 데, 측정된 정보 및/또는 계산된 정보를 사용자에게 표시함으로써 사용자가 퍼팅을 정확히 할 수 있도록 유도할 수 있다. 이에 대한 보다 상세한 설명은 후술한다.
이러한 입력 유닛(12), 디스플레이 유닛(13), 센싱 유닛(16) 및 광 조사 유닛(17)은 프로세서 유닛(15)에 전기적으로 연결될 수 있다. 그리고 도면에 도시되지는 않았지만, 상기 하우징 내에는 별도의 배터리가 내장되어 각 유닛에 전원을 제공한다.
상기 프로세서 유닛(15)은 도 15에서 볼 수 있듯이, 홀(3) 위치로부터 상기 홀(3)에 대한 볼(2)의 상대적 위치를 계산하도록 구비될 수 있다.
일 실시예에 따르면, 상기 프로세서 유닛(15)은 도 14C에서 볼 수 있듯이, 제1 프로세서 유닛(15A), 제2 프로세서 유닛(15B) 및 저장 유닛(15C)을 포함할 수 있다.
상기 제1 프로세서 유닛(15A)은 거리 계산 유닛일 수 있다. 이는 전술한 센싱 유닛(16)에 의해 센싱된 데이터 및/또는 입력된 데이터를 바탕으로 볼과 홀 사이의 정확한 거리값을 계산할 수 있다.
상기 제2 프로세서 유닛(15B)은 방향 계산 유닛일 수 있다. 이는 센싱 유닛(16)에 의해 센싱된 데이터 및/또는 입력된 데이터를 바탕으로 사용자가 퍼팅해야 하는 방향값을 계산할 수 있다.
상기 저장 유닛(15C)은 센싱된 데이터 및/또는 입력된 데이터를 저장하도록 구비되며, 제1 프로세서 유닛(15A) 및/또는 제2 프로세서 유닛(15B)에 의해 계산된 값들을 저장할 수 있다.
도 14c에서는 저장 유닛(15C)이 프로세서 유닛(15) 내에 포함되어 있는 것으로 도시하였으나 본 발명은 반드시 이에 한정되는 것은 아니고, 상기 저장 유닛(15C)은 상기 프로세서 유닛(15)과는 별도의 부재로서 존재할 수 있으며, 프로세서 유닛(15)과 전기적으로 연결된 것일 수 있다. 또한 제1 프로세서 유닛(15A)과 제2 프로세서 유닛(15B)은 하나의 프로세서 내에서 구획된 섹터를 의미할 수 있다.
상기와 같은 퍼팅을 가이드해주는 기능이 구현된 단말(202)을 이용하여 사용자는 퍼팅을 위한 정확한 거리값 및/또는 방향값을 제공받을 수 있다.
일 실시예에 따르면, 도 15에서 볼 수 있듯이, 사용자는 하우징(11)을 든 체 그린(4) 위에 볼(2)이 놓여진 제1 위치(P1)에 선다. 이 상태에서 사용자는 입력 유닛(12)을 이용하여 하우징(11)이 위치한 제2 위치(P2)와 볼(2)이 놓여진 제1 위치(P1) 사이의 제1 거리(a1)를 측정한다. 제1 거리(a1)는 센싱 유닛(16)에 의해 측정될 수 있으며, 일 실시예에 따르면 제1 센싱 유닛(161)에 의해 측정될 수 있다.
다음으로, 사용자는 하우징(11)을 그 위치에서 방향만 틀어 홀(3)이 위치한 제3 위치(P3)를 향하도록 하고, 이 상태에서 입력 유닛(12)을 조작하여 제2 위치(P2)와 제3 위치(P3) 사이의 제2 거리(a2) 및 제1 각도(b1)를 측정한다. 상기 제1 각도(b1)는 제1 위치(P1), 제2 위치(P2) 및 제3 위치(P3) 사이의 각도가 된다. 제2 거리(a2)는 센싱 유닛(16)에 의해 측정될 수 있으며, 일 실시예에 따르면 제1 센싱 유닛(161)에 의해 측정될 수 있다. 제1 각도(b1)는 센싱 유닛(16)에 의해 측정될 수 있으며, 일 실시예에 따르면 제2 센싱 유닛(162)에 의해 측정될 수 있다.
이러한 제1 거리(a1), 제2 거리(a2) 및 제1 각도(b1)에 대한 데이터는 프로세서 유닛(15)에 전달될 수 있으며, 프로세서 유닛(15)은 이 값들을 이용하여 제1 위치(P1)와 제3 위치(P3) 사이의 높이 차(h) 및/또는 제1 위치(P1)와 제3 위치(P3) 사이의 제3 거리(a3)를 계산할 수 있다.
먼저, 높이 차(h)는 하기 수학식 1에 의해 계산될 수 있다.
[수학식 1]
h = a1 - a2cosb1
다음으로, 제3 거리(a3)는 하기 수학식 2에 의해 계산될 수 있다.
[수학식 2]
a3 = h/(cos(tan-1((a2sinb1)/h))
프로세서 유닛(15)은 제1 위치(P1)와 제3 위치(P3)의 수평선에 대한 각도인 제2 각도(b2)를 계산할 수 있는 데, 이는 결국 그린의 경사도를 의미할 수 있다.
제2 각도(b2)는 하기 수학식 3에 의해 계산될 수 있다.
[수학식 3]
b2 = sin-1(h/a3)
이러한 방식에 의해 사용자가 하우징(11)을 그린(4) 위에 올려 놓지 않은 상태, 즉 볼이 위치한 자리에 서 있는 상태에서도 볼(2)과 홀(3) 사이의 정확한 높이 차(h) 및/또는 거리(a3)를 확인할 수 있어, 정확한 데이터의 제공과 동시에 사용의 편리성을 극대화할 수 있다.
프로세서 유닛(15)은 이렇게 볼(2)과 홀(3) 사이의 정확한 높이 차(h) 및 거리(a3)를 계산한 이후, 그린 스피드를 반영하여 퍼팅 거리값을 계산할 수 있다. 즉, 퍼팅 거리값은, 실제 거리(a3)에 높이 차(h)를 미리 정한 제1 배수를 곱하여 가감하고, 그린 스피드에도 미리 정한 제2 배수를 곱하여 가감함으로써 계산할 수 있다. 상기 제1 배수 및/또는 제2 배수는 반복 실험을 통하여 얻을 수 있다.
상기와 같이 측정된 데이터 및/또는 계산된 데이터는 디스플레이 유닛(13)에 표시될 수 있다.
예컨대 도 17에서 볼 수 있듯이, 디스플레이 유닛(13)은, 볼과 홀 사이의 정확한 거리값(a3)이 표시되는 제1 표시 영역(131), 그린의 경사도를 의미하는 제2 각도(b2)가 표시되는 제2 표시 영역(132), 볼과 홀 사이의 높이 차(h)를 표시하는 제3 표시 영역(133), 그린 스피드를 표시하는 제4 표시 영역(134) 및/또는 높이 차, 거리 및 그린 스피드를 반영하여 계산된 퍼팅 거리를 표시하는 제5 표시 영역(135)을 포함할 수 있다. 제1 표시 영역(131) 내지 제5 표시 영역(135) 중 적어도 하나는 선택적으로 표시되지 않도록 할 수 있다.
또 다른 일 실시예에 따르면, 사용자는 도 16에서 볼 수 있듯이 하우징(11)을 그린(4) 위에 올려 놓은 후 제1 위치(P1)에서 퍼팅 스트로크를 할 방향을 제공받을 수 있다.
즉, 사용자가 하우징(11)의 편평면(111)이 그린(4) 위에 놓이도록 제1 위치(P1)에 하우징(11)을 내려 놓고, 입력 유닛(12)을 조작하여 제1 위치(P1)에서 그린(4)에 대한 편평면(111)의 기울기인 제3 각도(b3)를 측정한다. 이러한 제3 각도(b3)는 사용자가 제1 위치(P1)에 서서 홀을 정면으로 바라본 상태에서의 좌우 기울기값이 될 수 있다. 제3 각도(b3)는 센싱 유닛(16)에 의해 측정될 수 있으며, 도 3에 도시된 실시예에 따르면 제2 센싱 유닛(162), 도 4에 도시된 실시예에 따르면 제3 센싱 유닛(163)에 의해 측정될 수 있다.
프로세서 유닛(15)은 상기 제3 각도(b3)를 이용하여 제1 위치(P1)에서 사용자가 퍼팅 스트로크를 할 방향을 계산할 수 있다.
퍼팅 스트로크를 할 방향은 도 17에서 볼 수 있듯이 디스플레이 유닛(13)의 제6 표시 영역(136)에 표시될 수 있는 데, 일 실시예에 따르면, 제6 표시 영역(136)에 표시된 제2 지시 마크(136) 및 제3 지시 마크(137)로 표시될 수 있다.
볼(2)과 홀(3) 사이에 좌우 방향으로 경사가 이루어져 있을 경우, 사용자는 볼(2)과 홀(3) 사이의 직선 방향(21) 대신 경사도를 고려한 퍼팅 방향(23)으로 퍼팅 스트로크를 하여야 한다. 그래야 볼(2)은 그린의 경사도를 감안한 궤적(22)으로 홀(3)로 향할 수 있다.
이러한 퍼팅 방향(23)을 파악하는 것은 많은 훈련을 통해 이루어지는 데, 최근 일부 유명 프로 골퍼들에게 에임포인트 익스프레스(Aimpoint express)라는 방법으로 퍼팅 방향을 판단하는 것이 알려져 있다.
이 방법은 먼저, 골퍼가 두 발로 볼이 위치한 지점에서 좌우 경사도를 느껴야 한다. 이 경사도를 복수의 단계, 예를 들면 1 내지 4단계까지 구분할 수 있다.
이 후, 경사도의 등급과 같은 수의 손가락을 펴 홀을 향해 뻗어 준다. 즉 1단계 경사도에서는 한 손가락, 2단계 경사도에서는 두 손가락을 펴는 것이다.
다음, 검지 손가락의 안쪽을 볼과 홀의 중앙을 연결한 선(21)에 일직선으로 연결하고, 경사도에 따라 펼친 손가락 개수의 맨 바깥쪽 라인에 맞춰 퍼팅 스트로크를 하는 것이다. 좌우 경사도에 맞춰 오른손으로 할지 왼손으로 할지를 결정한다.
그런데 이러한 방법의 경우 그린의 경사도를 파악할 수 있어야 하는 데, 이는 매우 오랜 기간의 훈련이 필요하며, 훈련한다고 하더라도 그 정확도가 항상 일정하게 유지되기 어렵다.
본 발명의 일 실시예에 따르면, 도 16에서 볼 수 있듯이 제3 각도(b3)를 측정함으로써 그린의 경사도를 정확히 파악할 수 있다.
이렇게 측정된 제3 각도(b3)를 바탕으로 프로세서(15)는 경사도의 등급을 계산한다. 경사도의 등급은 미리 정해진 테이블에 의해 얻을 수 있는 데, 즉, 제3 각도(b3)의 범위 별로 복수의 단계, 예컨대 1에서 4단계로 구분하여 정할 수 있다. 이러한 테이블은 실험에 의하여 얻을 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (9)

  1. 서버가 하나 이상의 단말에 포함된 하나 이상의 센서에 의해 측정된 하나 이상의 센싱값을 포함하는 로그를 단말의 여유 시간 구간을 통해 수신하는 단계;
    상기 서버가 상기 로그에서 하나 이상의 인자를 추출하고, 추출한 복수의 인자들을 발생된 시간 순서로 배치시키고 시간 순서에서 인접하여 발생된 인자들 사이에 상관 관계를 생성함으로써, 인자들을 분석하는 단계;
    인자들을 분석한 내용을 이용하여 상기 서버가 제1 단말로부터 수신된 제1 인자의 결과 인자를 결정하는 단계;를 포함하는, 골프 필드 내에서의 데이터를 분석하는 방법.
  2. 제1항에 있어서,
    상기 인자들을 분석하는 단계는
    제1 인자에서 시간적으로 후속되는 제2 인자, 제3 인자로 각각 향하는 상관 관계의 수를 이용하여 상기 제1 인자에서 상기 제2 인자로 향하는 확률, 상기 제1 인자에서 상기 제3 인자로 향하는 확률을 각각 계산하는 단계를 더 포함하는, 골프 필드 내에서의 데이터를 분석하는 방법.
  3. 제1항에 있어서,
    상기 인자들은
    각 단말의 위치, 각 단말의 이동 거리, 각 단말이 위치한 골프장, 각 단말이 위치한 그린 정보, 획득되는 시점과 관련된 점 중 적어도 하나를 포함하는, 골프 필드 내에서의 데이터를 분석하는 방법.
  4. 제1항에 있어서,
    상기 제1 인자의 결과 인자는
    상기 제1 단말이 위치한 골프장 내에서의 해당 홀에서의 홀컵까지의 타수 정보를 포함하는, 골프 필드 내에서의 데이터를 분석하는 방법.
  5. 하나 이상의 단말에 포함된 하나 이상의 센서에 의해 측정된 하나 이상의 센싱값을 포함하는 로그를 단말의 여유 시간 구간을 통해 수신하는 로그 수신부;
    상기 로그에서 하나 이상의 인자를 추출하고, 추출한 복수의 인자들을 발생된 시간 순서로 배치시키고 시간 순서에서 인접하여 발생된 인자들 사이에 상관 관계를 생성함으로써, 인자들을 분석하는 가공부; 및
    인자들을 분석한 내용을 이용하여 제1 단말로부터 수신된 제1 인자의 결과 인자를 결정하는 결과 생성부;를 포함하는, 골프 필드 내에서의 데이터를 분석하는 서버.
  6. 제5항에 있어서,
    상기 가공부는
    제1 인자에서 시간적으로 후속되는 제2 인자, 제3 인자로 각각 향하는 상관 관계의 수를 이용하여 상기 제1 인자에서 상기 제2 인자로 향하는 확률, 상기 제1 인자에서 상기 제3 인자로 향하는 확률을 각각 계산하는, 골프 필드 내에서의 데이터를 분석하는 서버.
  7. 제5항에 있어서,
    상기 인자들은
    각 단말의 위치, 각 단말의 이동 거리, 각 단말이 위치한 골프장, 각 단말이 위치한 그린 정보, 획득되는 시점과 관련된 점 중 적어도 하나를 포함하는, 골프 필드 내에서의 데이터를 분석하는 서버.
  8. 제5항에 있어서,
    상기 제1 인자의 결과 인자는
    상기 제1 단말이 위치한 골프장 내에서의 해당 홀에서의 홀컵까지의 타수 정보를 포함하는, 골프 필드 내에서의 데이터를 분석하는 서버.
  9. 컴퓨터를 이용하여 제1항 내지 제4항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
KR1020180028847A 2018-03-12 2018-03-12 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램 KR20190107510A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028847A KR20190107510A (ko) 2018-03-12 2018-03-12 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028847A KR20190107510A (ko) 2018-03-12 2018-03-12 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20190107510A true KR20190107510A (ko) 2019-09-20

Family

ID=68067645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028847A KR20190107510A (ko) 2018-03-12 2018-03-12 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20190107510A (ko)

Similar Documents

Publication Publication Date Title
US9643092B2 (en) Apparatus and method for simulated gameplay based on a geospatial position
US9833683B2 (en) Golf ball and caddie system
KR102205639B1 (ko) 골프 공 추적 시스템
US20120276965A1 (en) Virtual golf simulation apparatus providing putting guide
US11577125B2 (en) Sensor device-equipped golf shoes
KR20130032850A (ko) 스타트 센서를 이용하는 가상 스포츠 시스템
JP6878614B2 (ja) ゴルフボールの個人別パッティング用の方法及び装置
JP7467581B2 (ja) ユーザに対しゴルフショットをシミュレートする方法及び装置
KR102118790B1 (ko) 모바일 기기를 이용한 골프 플레이 어드바이스 시스템
KR20230058331A (ko) 모바일 기기를 이용한 포터블 가상 골프 시스템
KR102037966B1 (ko) 스크린 축구 시스템 및 스크린 축구 제공방법
JP2021529073A (ja) スポーツ試合における試合シナリオを決定するためのシステム
KR20190107510A (ko) 골프 필드 내에서의 데이터를 분석하는 서버, 방법 및 컴퓨터 프로그램
KR102224182B1 (ko) 사용자 단말기 및 이를 포함하는 골프 정보 제공 시스템
US20210228943A1 (en) Skill level determination and management system and method
KR102237571B1 (ko) 골프 정보 제공 시스템 및 골프 정보 제공 시스템용 웨어러블 유닛
KR102237251B1 (ko) 골프 정보 제공 시스템 및 골프 정보 제공 시스템용 웨어러블 유닛
KR102518635B1 (ko) 비젼 ai와 사물인터넷을 이용한 인터랙티브 구기종목 연습 시스템 및 그 동작방법
JP2023029301A (ja) 仮想エクストリームゴルフシステム
KR20210088429A (ko) 골프 정보 제공 시스템
KR20230053779A (ko) Uwb를 기반으로 한 골프 관리 시스템
TWM470683U (zh) 高爾夫果嶺推桿輔助模組
TW201524561A (zh) 高爾夫球之擊球系統及其方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination