KR102120711B1 - 당구 게임 관리 및 보조 시스템 - Google Patents

당구 게임 관리 및 보조 시스템 Download PDF

Info

Publication number
KR102120711B1
KR102120711B1 KR1020180084457A KR20180084457A KR102120711B1 KR 102120711 B1 KR102120711 B1 KR 102120711B1 KR 1020180084457 A KR1020180084457 A KR 1020180084457A KR 20180084457 A KR20180084457 A KR 20180084457A KR 102120711 B1 KR102120711 B1 KR 102120711B1
Authority
KR
South Korea
Prior art keywords
player
course
image
ball
billiard
Prior art date
Application number
KR1020180084457A
Other languages
English (en)
Other versions
KR20200009720A (ko
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 KR1020180084457A priority Critical patent/KR102120711B1/ko
Publication of KR20200009720A publication Critical patent/KR20200009720A/ko
Application granted granted Critical
Publication of KR102120711B1 publication Critical patent/KR102120711B1/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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63DBOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
    • A63D15/00Billiards, e.g. carom billiards or pocket billiards; Billiard tables
    • A63D15/20Scoring or registering devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2448Output devices
    • A63F2009/245Output devices visual
    • A63F2009/2457Display screens, e.g. monitors, video displays
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0074Game concepts, rules or strategies
    • A63F2011/0097Watching television being part of the game, e.g. using the television broadcasting of a sporting event

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

본 발명은 당구 게임의 관리 및 보조 시스템에 관한 것으로, 촬영수단으로부터 수신된 촬영 영상을 통해 플레이어의 타구 영상을 분석하는 분석부, 디지털 점수판, 상기 타구 영상, 상기 분석부를 통해 분석된 분석 내용, 또는 가이드 영상을 표출하는 디스플레이부 및 상기 타구 영상 및 플레이어의 경기 정보를 저장하여 서버에 접속된 단말로 제공하는 저장부를 포함하며, 상기 분석부는, 상기 촬영 영상을 통해 상기 플레이어의 타구 영상을 분석하여, 각 타구의 코스와 성공 여부를 누적하여 저장하고, 해당 플레이어가 선택하는 코스별 비중, 코스별 성공률 및 이를 통해 분석된 해당 플레이어의 성공률이 낮은 코스에 대한 정보를 도출하여 디스플레이부 또는 단말로 제공한다.

Description

당구 게임 관리 및 보조 시스템 {A SYSTEM FOR MANAGEMENT AND ASSISTANCE OF BILLIARD GAME}
본 발명은 당구 게임의 관리 및 보조 시스템에 관한 것이다.
그동안 당구장들은 당구대와 점수를 계산하는 점수판만 구비하고 당구장을 운영하였다.
당구장을 찾는 손님들에게 리플레이 영상을 제공하고, 타구를 분석하여 각종 정보를 제공하는 등 다양한 서비스를 제공하게 되면, 플레이 하는 손님들도 다양한 재미를 느낄 수 있고, 실력 향상에 도움을 받을 수 있지만, 이와 같은 것을 정확하게 구현하고 있는 기술이 없는 상황이다.
또한, 일부 구현해 놓았다고 하여도, 단순하게 영상을 저장하여 다시 볼 수 있을 정도로만 해놨을 뿐, 다른 전자, 통신 등의 기술의 발전 정도에 비해서 적용된 정도가 미비하다.
본 발명의 배경이 되는 기술은 대한민국 공개특허공보 제10-2003-0078981호 등에 개시되어 있으나, 상술한 문제점에 대한 근본적인 해결책은 제시되고 있지 못하는 실정이다.
상술한 바와 같은 문제점을 해결하기 위한 본 발명은 촬영 영상을 분석하여 사용자의 타구를 분석하고, 이를 통해 플레이어가 주로 치는 코스, 코스별 성공률을 산출하고, 해당 플레이어의 실력 상승에 도움이 되는 정보를 제공하는 당구 게임 관리 및 보조 시스템을 제공할 수 있다.
또한, 본 발명의 디지털 점수판으로 포인트가 입력되면, 해당 플레이어의 타구 영상 중에서 포인트를 획득한 것으로 판단되는 영상을 캡쳐하고, 한 경기 중에 캡쳐된 득점 영상을 병합하여 하이라이트 영상을 생성하는 당구 게임 관리 및 보조 시스템을 제공할 수 있다.
또한, 본 발명은 당구대 상의 공의 위치를 분석하여 당구대 상에 포인트 또는 프로젝트 영상을 투사하여 플레이어에게 가이드를 제공하는 당구 게임 관리 및 보조 시스템을 제공할 수 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 당구 게임 관리 및 보조 시스템은, 촬영수단으로부터 수신된 촬영 영상을 통해 플레이어의 타구 영상을 분석하는 분석부, 디지털 점수판, 상기 타구 영상, 상기 분석부를 통해 분석된 분석 내용, 또는 가이드 영상을 표출하는 디스플레이부, 및 상기 타구 영상 및 플레이어의 경기 정보를 저장하여 서버에 접속된 단말로 제공하는 저장부를 포함하며, 상기 분석부는, 상기 촬영 영상을 통해 상기 플레이어의 타구 영상을 분석하여, 각 타구의 코스와 성공 여부를 누적하여 저장하고, 해당 플레이어가 선택하는 코스별 비중, 코스별 성공률 및 이를 통해 분석된 해당 플레이어의 성공률이 낮은 코스에 대한 정보를 도출하여 디스플레이부 또는 단말로 제공한다.
또한, 상기 디지털 점수판으로 포인트가 입력되면, 해당 플레이어의 타구 영상 중 상기 포인트를 획득한 것으로 판단되는 영상을 득점 영상으로 캡쳐하고, 하나의 경기 중에 캡쳐된 득점 영상들을 병합하여 해당 경기의 하이라이트 영상을 생성하고, 상기 저장부에 저장하는 하이라이트 생성부를 더 포함한다.
또한, 상기 당구대 방향으로 레이저를 투사하는 복수의 레이저 포인터를 포함하며, 상기 분석부는, 상기 디스플레이부를 통해 상기 플레이어로부터 코스 추천을 입력받을 경우, 상기 촬영 영상을 통해 상기 당구대 상의 공의 현위치를 분석하여 득점 가능한 하나 이상의 추천 코스를 추출하여 상기 디스플레이부로 표출하고, 상기 플레이어로부터 선택받은 추천 코스를 타구하기 위한 큐볼의 당점을 상기 디스플레이부로 표출하고, 상기 추천 코스에서 큐볼이 지나는 경로에 해당하는 쿠션의 위치들에 상기 레이저 포인트를 이용하여 레이저를 투사하는 가이드 제공부를 더 포함한다.
또한, 상기 당구대 방향으로 빛을 투사하는 프로젝터, 및 상기 당구대 상의 공의 위치를 확인하여 큐볼과 목적구를 판단하여 득점 가능한 하나 이상의 가이드 코스를 추출하고, 상기 가이드 코스의 경로를 상기 프로젝터를 통해 상기 당구대로 표시하는 가이드 제공부를 더 포함한다.
또한, 상기 가이드 제공부는, 상기 추출된 하나 이상의 가이드 코스를 상기 플레이어의 코스별 성공률과 매칭하여, 성공률이 낮은 코스와 매칭되는 가이드 코스를 선택하여, 상기 선택된 가이드 코스의 경로를 상기 프로젝터를 통해 상기 당구대로 투사하는 것을 특징으로 한다.
또한, 상기 가이드 제공부는, 플레이어가 상기 가이드 코스로 타구했을 경우에 키스가 발생할 확률을 산출하여 상기 디스플레이부를 통해 표시하고, 상기 키스가 발생할 지점을 예상하여 상기 프로젝터를 통해 상기 당구대에 표시하고, 상기 키스를 회피하기 위한 하나 이상의 방법을 도출하여 상기 디스플레이부를 통해 표출한다.
또한, 상기 분석부는, 상기 촬영 영상을 통해 상기 플레이어의 현재 타구 자세, 큐볼의 당점을 분석하여, 상기 플레이어가 현재 타구 자세와 큐볼의 당점으로 타구를 진행하였을 경우 예상되는 큐볼의 예상 경로를 도출하고, 상기 예상 경로를 상기 프로젝터를 통해 상구 당구대에 투사한다.
또한, 상기 분석부는, 상기 예상 경로에서 키스가 발생할 확률과 위치를 산출하고, 상기 산출된 확률과 위치를 상기 디스플레이부를 통해 표출하거나, 상기 프로젝터를 통해 상기 당구대에 표시하고, 상기 키스를 회피하기 위한 방법을 도출하여 그에 대한 정보를 상기 디스프레이부를 통해 표출한다.
또한, 상기 서버는, 상기 촬영수단으로부터 수신되는 영상에서 상기 당구대 상의 큐볼과 하나 이상의 목적구의 위치를 확인하여 상태정보를 생성하고, 데이터베이스에 저장된 당구 영상들과 상기 상태정보를 매칭하여 매칭된 하나 이상의 영상을 상기 디스플레이부로 표출한다.
또한, 상기 디스플레이부를 통해서 플레이어로부터 훈련모드를 선택받으면 복수의 코스 리스트를 표출하고, 상기 코스 리스트 중에서 플레이어로부터 선택받은 코스에 할당된 복수의 훈련코스를 순차적으로 상기 플레이어에게 제공하되, 상기 플레이어가 상기 훈련코스대로 상기 당구대에 큐볼과 목적구를 배치할 수 있도록, 각 훈련코스에 저장된 큐볼과 목적구의 위치를 상기 프로젝터를 통해 상기 당구대로 투사하고, 해당 훈련코스에 할당되어 있는 가이드 코스를 상기 프로젝터를 통해 상기 당구대로 투사하여 상기 플레이어에게 훈련 가이드를 제공한다.
상기와 같은 본 발명에 따르면, 플레이어의 타구 영상을 분석하여 해당 플레이어의 실력 상승에 도움이 되는 정보를 제공함으로써, 당구장을 찾는 손님들이 단순하게 게임을 즐기는 것 이외에도 본인의 실력을 향상시켜 게임에 더 큰 재미를 느낄 수 있도록 하는 효과를 발휘할 수 있다.
또한, 본 발명은 촬영 영상에서 득점 영상들을 캡쳐하여 하이라이트 영상을 생성하여 사용자가 볼 수 있도록 함으로써, 사용자에게 단순 리플레이 제공이 아닌 주요 장면이 편집된 영상을 제공하는 효과를 발휘할 수 있다.
또한, 본 발명은 당구대 상의 공의 위치를 분석하여 사용자에게 가이드를 제공하기 때문에, 사용자의 실력 향상에도 도움이 되고, 당구에 어려움을 느껴 중도에 포기하는 손님들도 스스로 학습을 할 수 있도록 하는 효과를 발휘할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템을 도시한 도면.
도 2는 본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템의 블록도.
도 3은 본 발명의 실시예에 따른 레이저 포인터가 추천 코스를 당구대 쿠션으로 투사하는 것을 예시한 예시도.
도 4는 본 발명의 실시예에 따른 프로젝터가 가이드 코스의 경로를 당구대로 투사하는 것을 예시한 예시도.
도 5는 본 발명의 실시예에 따른 훈련 코스를 선택하는 것을 예시한 예시도.
도 6은 본 발명의 다른 실시예에 따른 병렬처리기법 1 및 병렬처리기법 2에 따른 CPU와 GPU의 동작을 도시한 도면.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
큐볼: 해당 플레이어가 타구해야 하는 공을 의미한다. 일반적으로 경기를 진행할 때 플레이어마다 서로 다른 색상의 큐볼이 정해지고, 정해진 큐볼로 목적구를 맞춰서 플레이하게 된다. 본 발명에서는 실시예의 설명을 위해서 도면상에 검은색 공으로 도시하였다.
당점: 플레이어가 타구하는 큐볼 상의 위치를 의미한다. 플레이어가 큐볼의 어떠한 당점을 치느냐에 따라서 공의 방향, 회전력 등이 달라지게 된다.
목적구: 플레이어가 큐볼을 타구해서 맞추는 목적이 되는 공을 의미하며, 예를 들어, 3쿠션 경기의 경우 2개의 목적구가 포함되어, 큐볼로 제1목적구를 타구한 후에 큐볼이 쿠션에 3회 이상 튕긴 후에 제2목적구에 부딪히면 득점이 인정된다.
당구대: 당구 게임을 진행하는 당구 테이블을 의미한다. 아래에서 설명할 실시예에서는 3쿠션 게임을 예시로 진행하지만, 이에 한정되는 것은 아니고, 4쿠션, 나인볼, 포켓볼 등 당구 게임에는 다양한 종류가 있으므로, 당구 게임에 속한다면 무엇이든 적용 가능하다.
도 1은 본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템을 도시한 도면이고, 도 2는 본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템의 블록도이며, 도 3은 본 발명의 실시예에 따른 레이저 포인터(220)가 추천 코스를 당구대(320) 쿠션으로 투사하는 것을 예시한 예시도이고, 도 4는 본 발명의 실시예에 따른 프로젝터(250)가 가이드 코스의 경로를 당구대(320)로 투사하는 것을 예시한 예시도이고, 도 5는 본 발명의 실시예에 따른 훈련 코스를 선택하는 것을 예시한 예시도이다.
도 1 내지 도 5를 참조하여, 본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템을 설명하도록 한다.
본 발명의 실시예에 따른 당구 게임 관리 및 보조 시스템(10)은 분석부(110), 디스플레이부(100), 저장부(120), 하이라이트 생성부(140), 레이저 포인터(220), 가이드 제공부(130)를 포함한다.
분석부(110)는 촬영수단(210)으로부터 수신된 촬영 영상을 통해 플레이어의 타구 영상을 분석한다.
이때, 촬영수단(210)은 당구대(320)로부터 소정 거리 이격된 장소에 설치된 것으로, 당구대(320) 상면을 촬영할 수 있도록 설치되는 것이 바람직하고, 되도록이면 당구대(320)의 정중앙으로부터 소정 높이에 설치되어 수직된 각도로 당구대(320) 상면을 촬영하는 것이 오차 발생을 방지할 수 있다.
디스플레이부(100)는 디지털 점수판, 플레이어의 타구 영상, 분석부(110)를 통해 분석된 분석 내용, 플레이어에게 도움이 되는 가이드 영상을 표출한다.
일반적으로, 당구장은 알판을 이용하여 플레이어들이 점수를 계산할 수 있도록 되어 있는데, 본 발명의 실시예에서는 디스플레이부(100)를 통하여 디지털 점수판을 제공하여 이를 이용하여 플레이어들이 점수를 계산할 수 있게 된다.
또한, 디지털 점수판은 숫자로 될 수도 있고, 알판의 형상을 적용할 수도 있는 등 점수 표시의 형태가 제한되지 않는다.
또한, 플레이어의 타구 영상을 실시간으로 표출해주되, 일정 시간 후에 표출하여 사용자가 타구를 마친 후에 디스플레이부(100)를 통해 본인의 타구를 재확인할 수 있도록 할 수 있다.
보다 상세하게는, 분석부(110)는 촬영 영상을 통해 플레이어의 타구 영상을 분석하여, 각 타구의 코스와 성공 여부를 누적하여 저장하고, 해당 플레이어가 선택하는 코스별 비중, 코스별 성공률 및 이를 통해 분석된 해당 플레이어의 성공률이 낮은 코스에 대한 정보를 도출하여 디스플레이부(100) 또는 단말(310)로 제공한다.
본 발명의 실시예에 따르면, 분석부(110), 저장부(120), 가이드 제공부(130), 하이라이트 생성부(140) 등의 구성들은 디스플레이부(100)에 함께 내장될 수 있다.
하지만, 디스플레이부(100)는 화면, 음성을 표출하고, 플레이어로부터 소정의 입력을 받는 수단으로만 활용되고, 나머지 기능들은 서버에서 수행될 수도 있으므로, 이에 한정되지 않는다.
또한, 디스플레이부(100)를 통해서 광고 영상을 표출할 수도 있고, 음식을 주문할 수도 있다. 이때, 각종 주문 애플리케이션과 연동될 수도 있다.
당구의 코스에 대해서 설명하면, 뒤돌리기, 제각 돌리기, 앞돌리기, 대회전, 빗겨치기, 더블레일, 등이 있다.
당구를 플레이하는 플레이어들은 위와 같은 코스들을 모두 동일하게 치기 보다는, 플레이어 마다의 성향에 따라서 특정 코스를 선호하는 경우가 많고, 특정 코스를 잘치거나 못치는 경우가 대부분이다.
이로 인해, 본인이 인지하지 못하는 상태에서 본인이 잘치거나 선호하는 코스를 위주로 선택해서 타구를 하게 되는데, 이는 실력 향상에 도움이 되지 못하는 경우가 많다.
따라서, 본 발명의 실시예에 따른 분석부(110)는 타구를 분석하여 각 타구의 코스와 성공률을 누적하여 저장한 후에, 해당 플레이어의 코스별로 선택하는 비중, 코스별 성공률에 대한 정보를 제공한다. 그리고, 이를 통해 해당 플레이어가 성공률이 떨어지는 코스를 도출하여 플레이어에게 알려줌으로써 본인이 취약한 코스를 알 수 있도록 한다.
예를 들어, A 플레이어가 뒤돌리기 30회 60% 성공, 제각 돌리기 35회 65% 성공, 앞돌리기 28회 59% 성공, 대회전 27회 58% 성공, 빗겨치기 15회 30% 성공이라는 데이터가 누적되어 있다면, 분석부(110)는 디스플레이부(100) 또는 단말(310)로 A 플레이어가 코스 중에서 빗겨치기 코스의 성공률이 낮다는 것을 알려주도록 한다.
저장부(120)는 타구 영상 및 플레이어의 경기 정보를 저장하여 서버(300)에 접속된 단말(310)로 제공하도록 한다.
이때, 서버(300)에는 플레이어를 식별할 수 있는 ID와 같은 정보가 저장되며, 플레이어는 디스플레이부(100)를 통해서 경기를 시작하기 전에 로그인할 수 있다.
따라서, 플레이어는 단말(310)의 애플리케이션, 프로그램을 이용해 서버(300)에 접속하여 로그인하고, 본인의 타구 영상, 경기 정보를 확인할 수 있다.
또한, 본 발명의 실시예에 따르면, 디스플레이부(100)에는 플레이어가 로그인할 수 있도록 가상키보드를 화면에 표출할 수 있다.
이외에도, 디스플레이부(100)는 촬영 수단을 구비하여, 플레이어의 얼굴을 촬영하고, 해당 생체정보를 저장한 후에 차후에 해당 플레이어가 재방문하였을 때 얼굴을 인식하여 자동으로 로그인할 수 있다.
이외에도, 디스플레이부(100)는 지문인식 수단을 구비하여, 플레이어의 지문을 스캔하여 저장하고, 해당 생체정보를 저장한 후에 플레이어가 재방문하였을 때 지문을 인식하여 자동으로 로그인할 수 있다.
또한, 당구장 내에는 당구큐대를 보관하고 있는 보관함에 설치될 수 있으며, 각각의 당구큐대는 서로 다른 보관함에 저장되어, 독립적으로 개폐됨으로 인해 불출될 수 있다. 그리고, 큐대 보관함은 당구장 내에 마련되어 있는 디스플레이부(100)들과 페어링되어 있어, 플레이어가 디스플레이부(100)에 본인의 생체정보를 이용하여 로그인하면, 해당 플레이어의 개인 큐대를 보관하고 있는 보관함이 자동으로 개폐되어 해당 플레이어가 본인의 큐대를 가져갈 수 있도록 한다.
또한, 또 다른 실시예로, 당구장 내 벽면에는 당구 큐대가 이동되는 레일이 마련될 수도 있다. 그리고, 디스플레이부를 통해 플레이어가 로그인하면, 해당 플레이어의 큐대가 보관되어 있는 보관함이 오픈되고, 로봇암이 해당 큐대를 캐치하여 상기 레일위에 큐대를 올려 놓으면, 레일이 이동되어 해당 플레이어가 위치한 당구대의 위치로 큐대가 이동된다.
따라서, 플레이어는 본인의 큐대를 찾기 위해서 해맬 필요가 없고, 본인이 위치한 당구 테이블로 자동으로 이동된 본인의 큐대를 수취할 수 있게 된다.
또한, 본 발명의 실시예에 따른 시스템에는 당구장 내 각각의 큐대에 대한 길이와 무게에 대한 정보가 저장될 수 있으며, 플레이어가 플레이하는 큐대에 대한 정보를 저장하고, 플레이어의 경기들을 분석하여 해당 플레이어의 에버리지(평균 점수)가 제일 높은 큐대에 대한 정보(무게, 길이 등)를 제공함으로써, 플레이어에게 잘 맞는 큐대를 추천할 수 있다.
또한, 디스플레이부(100)를 통해서 큐대 구매에 대한 광고와 링크를 제공하여 플레이어가 해당 큐대를 구매하도록 할 수도 있다.
하이라이트 생성부(140)는 디지털 점수판으로 포인트가 입력되면, 해당 플레이어의 타구 영상 중 포인트를 획득한 것으로 판단되는 영상을 득점 영상으로 캡쳐하고, 하나의 경기 중에 캡쳐된 득점 영상들을 병합하여 해당 경기의 하이라이트 영상을 생성하고, 저장부(120)에 저장한다.
기존에는 플레이어의 타구 영상을 녹화한 후에 그것을 리플레이 해주는 기능만이 제공되었는데, 이는 불필요한 장면들을 많이 포함하기 때문에 실제로는 영상의 길이가 너무 길어 불편할 수가 있다.
따라서, 하이라이트 생성부(140)는 득점으로 인정되었다고 판단되는 득점 영상을 캡쳐하고, 하나의 경기 중에 캡쳐된 득점 영상들을 병합하여 해당 경기의 하이라이트 영상을 생성하기 때문에, 플레이어는 단말(310) 또는 디스플레이부(100)를 통해 본인의 경기의 하이라이트 영상을 짧게 감상할 수 있게 된다.
또한, 공유 기능을 이용하여 지인이나 친구에게 하이라이트 영상을 공유할 수도 있다.
이때, 분석부(110)는 촬영 영상에서 당구대(320) 상의 공의 위치를 확인하고, 공이 타격되기 직전으로부터 공이 멈추는 시간까지의 영상을 커트하여 득점 영상을 캡쳐할 수 있다.
레이저 포인터(220)는 당구대(320)로부터 일정 거리 이격되어 설치된 것으로, 당구대(320) 방향으로 레이저를 투사한다.
분석부(110)는 디스플레이부(100)를 통해 플레이어로부터 코스 추천모드를 입력받을 경우, 촬영 영상을 통해 당구대(320) 상의 공의 현위치를 분석하여, 득점 가능한 하나 이상의 추천 코스를 추출하여 디스플레이부(100)로 표출한다.
그리고, 가이드 제공부(130)는 플레이어로부터 선택받은 추천 코스를 타구하기 위한 큐볼(230)의 당점을 디스플레이부(100)로 표출하고, 해당 추천 코스에서 큐볼(230)이 지나는 경로에 해당하는 쿠션의 위치들에 레이저 포인트를 이용하여 레이저를 발산한다.
이는, 도 3에 뒤돌리기(우라, Outside angle shot)의 추천 코스가 예시되어 있고, 큐볼(230)이 제1목적구(235)를 맞고, 쿠션의 1포인트(221), 2포인트(222), 3포인트(223), 4포인트(224)를 맞은 후에 제2목적구(237)에 맞는 것이 예시되어 있다.
따라서, 가이드 제공부(130)는 레이저 포인트를 통해 위의 1포인트(221), 2포인트(222), 3포인트(223), 4포인트(224)를 투사하게 되고, 플레이어는 해당 포인트를 맞추면 득점을 할 수 있다는 정보를 얻게 된다.
또한, 플레이어로부터 몇개의 포인트를 투사할 것인지 선택받을 수도 있다. 플레이어마다의 실력이 달라서, 모든 포인트가 아닌 1포인트(221)만 투사하기를 원하는 플레이어가 있을 수도 있기 때문에 투사될 포인트의 갯수를 선택받을 수 있다.
도 4에 도 3과 동일하게 뒤돌리기에 대한 가이드 코스가 예시되어 있다.
프로젝터(250)는 당구대(320)로부터 일정 거리 이격되어 설치된 것으로, 당구대(320) 방향으로 빛을 투사한다.
가이드 제공부(130)는 당구대(320) 상의 공의 위치를 확인하여 큐볼(230)과 목적구를 판단하여 득점 가능한 하나 이상의 가이드 코스를 추출하고, 가이드 코스의 경로를 프로젝터(250)를 통해 당구대(320)로 표시한다.
이때, 레이저 포인터를 통해 투사할 때와 마찬가지로, 하나 이상의 가이드 코스를 디스플레이부(100)를 통해 표출하고, 플레이어로부터 그 중 하나를 입력받을 수 있다.
그리고, 가이드 제공부(130)는 플레이어로부터 선택받은 가이드 코스를 프로젝터(250)를 통해서 당구대(320)로 투사하게 된다.
당구를 전문적으로 플레이하는 사람들의 경우에는 코스를 선택하는데 어려움이 없지만, 초보자와 중급자는 코스를 선택하는데 어려움이 있을 수 있고, 본인이 모르는 코스가 많을 수 있다. 따라서, 가이드 제공부(130)는 당구대(320)의 현재 공들의 상태를 확인하여 득점 가능한 코스들을 추출하여 플레이어에게 정보를 제공할 수 있다.
당구를 플레이하는 초보자들의 경우에는 플레이에 어려움을 느끼고 흥미를 잃는 경우가 많은데, 이와 같이 프로젝터(250)를 통해 코스를 당구대(320)로 투사해줌으로써, 사람이 직접 알려주지 않고도 스스로 학습을 할 수 있도록 하는 효과가 있다.
또한, 가이드 제공부(130)는 플레이어가 가이드 코스로 타구했을 경우에 키스가 발생할 확률을 산출하여 디스플레이부(100)를 통해 표시하고, 키스가 발생할 지점을 예상하여 프로젝터(250)를 통해 당구대(320)에 표시하고, 키스를 회피하기 위한 하나 이상의 방법을 도출하여 디스플레이부(100)를 통해 표출한다.
발명의 설명을 돕기 위해, 3쿠션 경기를 통해서 "키스"에 대해서 간략하게 설명하도록 한다
이때, 목적구를 맞추지 않고 쿠션을 먼저 맞춘 후에 목적구들을 맞춰 득점을 하는 경우도 있지만, 예시를 돕기 위해 목적구를 먼저 맞추는 경우로 예시하도록 한다.
키스는 큐볼(230)를 타구해서 제1목적구(235)를 맞춘 후에 큐볼(230)이 당구대(320)의 쿠션에 3회 이상 맞은 후에 제2목적구(237)에 맞아야 득점으로 인정되는데, 제2목적구(237)에 맞기 전에 큐볼(230)과 제1목적구(235)가 다시 부딪히게 되는 경우를 의미한다.
플레이어가 타구를 하였을 때, 이와 같은 키스가 발생할 경우, 대부분의 경우는 득점 실패로 이어지게 되는데, 전문적인 플레이어가 아닌 경우에는 이러한 키스를 예상하고 회피하여 플레이하는 것이 쉬운일이 아니다.
따라서, 본 발명의 실시예에 따른 가이드 제공부(130)는 키스가 발생할 지점에 대해서 알려주고, 이를 회피하기 위한 방법을 알려주어 플레이어에게 도움이 되도록 한다.
따라서, 가이드 제공부(130)는 가이드 코스에 대한 키스가 발생할 확률, 키스가 발생할 지점에 대한 정보를 제공하고, 키스를 회피하기 위한 방법으로 큐볼(230)과 목적구의 두께, 큐볼(230)의 회전력, 당점 등에 대한 정보를 도출하여 제공할 수 있다.
또한, 분석부(110)는 촬영 영상을 통해 플레이어의 현재 타구 자세, 큐볼(230)의 당점을 분석하여, 플레이어가 현재 타구 자세와 큐볼(230)의 당점으로 타구를 진행하였을 경우 큐볼(230)의 예상 경로를 도출하고, 도출된 예상 경로를 프로젝터(250)를 통해 당구대(320)에 투사한다.
이와 같은 시뮬레이션 모드는, 디스플레이부(100)를 통해 플레이어로부터 시뮬레이션 버튼이 입력되었을 때 실행될 수 있다.
일반적으로, 플레이어는 머릿속으로 큐볼(230)의 진행 경로를 떠올리고 큐볼(230)을 치게 되지만, 실제로 큐볼(230)의 경로는 이와 다를 수 있다.
따라서, 플레이어는 위와 같은 시뮬레이션 모드를 활용하여, 본인의 현재 타구 자세, 큐볼(230)의 당점으로 타구 하였을 때 예상 경로를 당구대(320)에 투사된 빛을 통해 확인할 수 있게 되고, 이를 기반으로 본인의 타구 자세 또는 당점을 변경할 수 있게 된다.
이를 통해, 플레이어는 자세 교정을 할 수 있고, 당점과 공의 두께에 대해서 학습할 수 있게 된다.
이때, 분석부(110)는 촬영 영상을 분석하여, 지면 또는 당구대(320)로부터 플레이어의 다리 각도, 허리 각도, 시선, 팔의 각도를 분석하여 플레이어의 현재 타구 자세를 분석한다.
그리고, 상기 분석 요소 중 어느 하나 이상이 기 설정되어 있는 자세 범위를 벗어난다고 판단되면, 해당 플레이어의 잘못된 자세에 대한 정보를 제공할 수 있다.
또한, 분석부(110)는 촬영 영상을 분석하여, 당구대(320)로부터 플레이어의 큐대의 각도를 산출하고, 상기 각도가 기 설정된 각도 이상이 될 경우 경고를 표출하도록 할 수도 있다.
서버(300)는 상기 촬영 영상에서 당구대(320) 상의 큐볼(230)과 하나 이상의 목적구의 위치를 확인하여 상태정보를 생성하고, 데이터베이스에 저장된 당구 영상들과 상태정보를 매칭하여, 매칭된 하나 이상의 영상을 디스플레이부(100)로 표출한다.
보다 상세하게는, 서버(300)는 상태정보와 데이터베이스에 저장된 다수의 당구 영상들을 매칭하여, 플레이어의 현 상황과 매칭되는(유사한 상황인) 당구 영상을 선택하여 디스플레이부(100)로 해당 당구 영상을 표출한다.
이를 통해, 플레이어는 다른 플레이어 혹은 선수가 본인의 현재 상태와 유사한 상황에서 어떻게 득점을 했는지, 당구 영상을 통해 확인할 수 있게 되고, 이를 참고하여 플레이를 할 수 있게 된다.
또한, 본 발명의 실시예에 따르면, 플레이어에게 훈련모드를 제공할 수 있다.
가이드 제공부(130)는 디스플레이부(100)를 통해서 플레이어로부터 훈련모드를 선택받으면, 복수의 코스 리스트를 표출하고, 코스 리스트 중에서 플레이어로부터 선택받은 코스에 할당된 복수의 훈련코스를 순차적으로 플레이어에게 제공한다.
이때, 플레이어가 훈련코스대로 당구대(320)에 큐볼(230)과 목적구를 배치할 수 있도록, 각 훈련코스에 저장된 큐볼(230)과 목적구의 위치를 프로젝터(250)를 통해 당구대(320)로 투사하고, 해당 훈련코스에 할당되어 있는 가이드 코스를 프로젝터(250)를 통해 당구대(320)로 투사하여, 플레이어에게 훈련 가이드를 제공한다.
위에서 코스에 언급한 바와 마찬가지로, 복수의 코스 리스트는 뒤돌리기, 제각 돌리기, 앞돌리기, 대회전, 빗겨치기, 더블레일 등에 대한 코스 리스트를 포함한다.
그리고, 저장부(120)에는 각각의 코스에 할당된 복수의 훈련코스가 저장되어 있으며, 각각의 훈련코스는 공의 위치, 가이드 코스가 저장되어 있다.
따라서, 가이드 제공부(130)는 해당 훈련코스의 공의 위치를 프로젝터(250)를 통해 당구대(320)로 투사하고, 플레이어에 의해 공이 해당 위치에 배치되면, 해당 훈련코스를 득점할 수 있는 가이드 코스를 프로젝터(250)를 통해 당구대(320)로 투사하여, 플레이어에게 훈련 가이드를 제공한다.
그리고, 가이드 제공부(130)는 플레이어가 해당 훈련코스의 수행을 완료하면, 기 설정된 프로세스대로 다음 훈련코스를 진행하도록 한다.
이외에도, 본 발명의 실시예에 따른 당구대(320)의 쿠션 하측의 빈 공간에는 당구대(320) 상의 공들의 위치를 인식하는 스캔장치(미도시)가 마련될 수 있다.
대부분의 당구대(320)의 쿠션 하측에는 소정의 빈 공간이 마련되어 있으므로, 해당 위치에 스캔장치를 마련할 경우, 경기에 아무런 영향을 끼치지 않고 공의 위치를 스캔할 수 있다.
그리고, 분석부(110)는 스캔장치로부터 스캔된 데이터를 수신하여, 각 공들의 좌표를 분석하여 현재 당구대(320)상의 공의 위치 좌표를 산출하고, 이를 이미지화 처리하여 디스플레이부(100)로 표출할 수 있다.
또한, 이와 같이 산출된 공들의 위치 정보를 이용하여, 위에서 언급했던 각 실시예들을 실시할 수도 있다.
이하에서 설명할 본 발명의 또 다른 실시예에서는 촬영수단을 통해서 촬영되는 영상을 디와핑하는 것으로 SIFT 알고리즘을 이용하는 실시예이다.
당구대는 게임의 특성 상 상면이 평평하게 이루어져 있는데, 촬영수단을 통해 촬영하면 각도와 렌즈, 원근감 때문에 촬영영상은 당구대처럼 평평하지 못하기 때문에, 화면 분석이 왜곡이 발생할 수 있기 때문이다.
또한, 두 개 이상의 촬영수단에서 촬영되는 영상을 스티칭하는 것에도 활용될 수 있으며, 두 가지 방법이 혼용되어 활용될 수도 있다.
아래에서 설명할 실시예들은 위에서 도 1 내지 도 5를 통해 설명한 실시예들과 결합되어 활용될 수 있다.
도 6은 본 발명의 다른 실시예에 따른 병렬처리기법 1 및 병렬처리기법 2에 따른 CPU와 GPU의 동작을 도시한 도면이다.
도 6을 참조하면, 본 발명의 다른 실시예에 따른 당구 게임 관리 및 보조 시스템은 스티칭 장치를 포함하며, 스티칭 장치는 복수의 코어를 포함하는 CPU, GPU 및 제어부를 포함할 수 있다.
본 발명의 실시예에 따른 스티칭 장치는 복수의 촬영수단으로부터 촬영되는 당구대의 영상에서 특징점들을 추출하는 스티칭 처리에 사용된다.
제어부는 촬영수단을 통해 입력되는 영상에 대한 스티칭 처리를 병렬화하기 위해, 영상의 입력처리를 수행하기 위한 입력 태스크, 영상에서 특징점을 추출하기 위한 SIFT 태스크, 및 영상의 출력 처리를 수행하기 위한 출력 태스크와 같이, 세 가지 태스크를 고려하여 병렬화를 수행하도록 CPU와 GPU를 제어할 수 있다.
스티칭 장치를 통해 수행되는 스티칭 처리는 CPU로 읽어드리는 입력처리, 영상에서 특징점들을 추출하는 부분, 및 특징점들에 기초하여 두 영상을 이어 붙여 파노라마 영상을 생성하여 출력하는 출력처리로 나눠진다.
예를 들어, 하나의 코어에서 특징점들을 추출하는 스티칭 처리를 수행하는 동안 나머지 코어들은 유휴 상태가 될 수 있다. 제어부는 각 코어의 유휴 시간이 최소화될 수 있도록 각 코어의 데이터 분배량을 결정할 수 있다. 예컨대, 제어부는 CPU의 속도 증가 대비 GPU의 속도 증가로 나눔으로써 CPU와 GPU 각각에서 SIFT 처리를 위한 데이터 분배량을 결정할 수 있다.
제어부는 GPU에서 영상을 대상으로 특징점을 추출하는데 소요되는 스티칭 처리 시간, 영상의 입력 처리 시간, 영상의 출력 처리 시간에 기초하여, 병렬처리기법 1 및 병렬처리기법 2 중 어느 하나의 기법으로 병렬처리를 수행할 지 여부를 결정할 수 있다. 즉, 제어부는 위에서 구분한 세 가지 태스크의 수행 시간에 기초하여 기 정의된 병렬처리기법들 중 어느 하나의 기법으로 병렬처리를 생할 지 여부를 결정할 수 있다.
예를 들어, 제어부는 CPU에서 수행되는 영상의 입력처리시간(t1)을 계산하고, CPU에서 수행되는 영상의 출력처리시간(t3)을 계산하고, CPU에서의 스티칭 처리 시간(t2), GPU에서의 스티칭 처리 시간 (TGPU(t2))을 계산할 수 있다. 그리고, 제어부는 계산된 입력처리시간(t1), 출력처리시간(t3), CPU에서의 스티칭 처리 시간(t2), GPU에서의 스티칭 처리 시간(TGPU(t2))과 아래의 수학식 1 내지 수학식 6, 표 1의 알고리즘에 기초하여 병렬처리를 수행하기 위한 기법을 결정할 수 있다.
Figure 112018071729111-pat00001
수학식 1에서,
Figure 112018071729111-pat00002
는 CPU 및 GPU를 동시에 이용하여 t1, t2, t3를 처리하는데 소요되는 시간으로서, 총 처리시간(total execution time)을 나타내며, t1은 CPU에서의 영상의 입력처리시간, t2는 CPU 또는 GPU에서의 스티칭 처리시간, 즉, SIFT 처리시간(t2), t3는 CPU에서의 영상의 출력처리시간을 나타내고, n은 CPU의 코어의 수, m은 영상(프레임)의 수를 나타낼 수 있다. 그리고, TCPU( )와 TGPU( )는 병렬처리기법 1(scenario 1)에 따라 수행되는 멀티코어 CPU(multicore-CPU) 및 멀티코어 GPU(multicore-GPU)에서 모듈들의 처리 시간(execution time)을 나타낼 수 있다. 여기서, t1, t2, t3는 CPU의 처리 시간(execution time)에 영향을 주고, t2는 GPU의 처리 시간(execution time)에 영향을 줄 수 있다.
수학식 1에 따르면, t1, t2, t3를 CPU에서 처리하는 시간과 GPU에서 t2를 처리하는데 소요되는 시간(즉, GPU의 SIFT 처리시간) 중 큰 값, 입력처리시간(t1), 출력처리시간(t3), CPU의 코어 수(n), 및 영상의 프레임 수(m)에 기초하여 병렬처리기법 1이 수행되며, t1과 t3를 중복시켜(overlapping) 유휴시간을 감소시키는 것임을 알 수 있다.
수학식 1에서, 병렬처리기법 1에 따라 수행되는 CPU의 처리시간 TCPU( )은 아래의 수학식 2와 같이 표현될 수 있다.
Figure 112018071729111-pat00003
수학식 2에서, n-1은 n-1번째 영상(즉, n-1번째 프레임)을 나타내고, DataCopyTime은 SIFT 병렬처리를 위해 CPU에서 GPU로 데이터를 복사하는데 소요되는 시간, 즉, GPU의 데이터 복사시간을 나타낼 수 있다.
그리고, SPEEDUPCPU는 CPU를 대상으로 측정된 CPU의 속도증가값을 나타내고, SPEEDUPGPU는 GPU를 대상으로 측정된 GPU의 속도증가값을 나타낼 수 있다.
수학식 2에 따르면, 스티칭 처리(특징점 추출), 즉, SIFT 처리를 CPU와 GPU에서 동시에 병렬로 처리함에 따라, 상기 t2, 즉 SIFT 처리시간은 SPEEDUPCPU 및 SPEEDUPGPU으로 나누어질 수 있다. 수학식 2와 같이, 병렬처리기법 1에 따라 수행되는 CPU의 처리시간 TCPU( )은 t1, t2, t3에 의해 결정될 수 있다.
수학식 2에서, 데이터복사시간 DataCopyTime은 CPU에서 GPU로의 데이터 전송 시간과 GPU에서 CPU로의 데이터 전송시간(예컨대, 처리 결과를 CPU로 전송하는 데 소요되는 시간)에 기초하여 계산될 수 있다. 그리고, CPU에서 GPU로의 데이터 전송 시간과 GPU에서 CPU로의 데이터 전송시간은 GPU의 입력데이터량 및 출력데이터량에 기초하여 계산될 수 있다.
다시 수학식 1에서, 병렬처리기법 1에 따라 스티칭 처리, 즉, SIFT 처리를 수행하는데 소요되는 시간 TGPU( )는 아래의 수학식 3과 같이 표현될 수 있다.
Figure 112018071729111-pat00004
이상의 수학식 1 내지 수학식 3에서는 병렬처리기법 1(scenario 1)에 따른 CPU 및 GPU의 동시처리를 설명하였으며, 병렬처리기법 2(scenario 2)에 따라 CPU 및 GPU에서 동시처리하는 경우의 총 처리 시간(total execution time)은 아래의 수학식 4와 같이 표현될 수 있다.
Figure 112018071729111-pat00005
수학식 4에서, 병렬처리기법 2에 따라 CPU에서 스티칭 처리, 즉, SIFT 처리를 수행하는데 소요되는 시간 TCPU( )과 GPU에서 스티칭 처리, 즉, SIFT 처리를 수행하는데 소요되는 시간 TGPU( )는 각각 아래의 수학식 5 및 수학식 6과 같이 표현될 수 있다.
Figure 112018071729111-pat00006
Figure 112018071729111-pat00007
위의 수학식 4 내지 수학식 6에 따르면, 병렬처리기법 2(scenario 2)는 t1 또는 t2를 GPU의 데이터 복사시간과 중복(overlapping)시킴으로써 유휴시간을 감소시키는 것임을 확인할 수 있다.
병렬처리기법 1의 경우, 입력처리시간 t1 및 출력처리시간 t3이 GPU에서 스티칭 처리(특징점 추출), 즉, SIFT 처리(t2)를 수행한 시간보다 작은 경우에 병렬처리기법 2보다 좋은 성능을 가질 수 있다. 그리고, t1 및 t2가 GPU의 데이터 복사시간보다 작으면 병렬처리기법 2가 병렬처리기법 1보다 우수한 성능을 가질 수 있다.
이처럼, 제어부는 t1, t2, 및 GPU의 t2 처리시간(t2 on GPU)을 비교하는 간단한 연산을 통해 현재 입력되는 영상들(프레임들)을 대상으로 CPU와 GPU의 동시 처리를 위한 가장 좋은 성능을 갖는 병렬처리기법(예컨대, 병렬처리기법 1, 병렬처리기법 2)을 결정하고, 결정된 기법에 따라 CPU와 CPU의 동시처리를 제어할 수 있다.
여기서, 제어부는 아래의 표 1의 알고리즘에 따라 t1, t2, 및 GPU의 t2 처리시간(t2 on GPU)을 비교하여 현재 상황에서 가장 적합한 병렬처리기법을 결정할 수 있다.
Figure 112018071729111-pat00008
위의 표 1에 따르면, 제어부는 CPU 및 GPU를 대상으로 GPU에서의 스티칭(stitching) 처리 시간, 즉, SIFT 처리시간(t2 on GPU)을 계산할 수 있다. 그리고, 제어부는 입력처리시간 t1, 출력처리시간 t3 중 큰 값과 GPU에서의 스티칭(stitching) 처리시간, 즉, SIFT 처리시간(t2 on GPU)의 값의 크기를 비교할 수 있다. 예를 들어, 상기 입력처리시간 t1이 출력처리시간 t3보다 큰 경우, 제어부는 상기 GPU에서의 스티칭(stitching) 처리시간(즉, SIFT 처리시간) t2 on GPU을 GPU의 속도증가값(SPEEDUPGPU)로 나눔으로써 계산된 값
Figure 112018071729111-pat00009
과 상기 입력처리시간 t1의 크기를 비교할 수 있다. 이때, 입력처리시간 t1
Figure 112018071729111-pat00010
보다 작은 경우, 제어부는 병렬처리기법 1에 따라 해당 영상에 대한 병렬처리, 즉, CPU와 GPU의 동시 처리를 수행하는 것으로 결정할 수 있다. 그리고,
Figure 112018071729111-pat00011
이 입력처리시간 t1 보다 작지 않은 경우, 즉, t1 이상인 경우, 제어부는 병렬처리기법 2에 따라 해당 영상에 대한 병렬처리, 즉, CPU와 GPU의 동시처리를 수행하는 것으로 결정할 수 있다. 한편, 상기 출력처리시간 t3 이 입력처리시간 t1보다 큰 경우에도, 마찬가지로, 제어부는 상기
Figure 112018071729111-pat00012
과 출력처리시간 t3을 비교하여 해당 영상의 병렬처리를 병렬처리기법 1 및 2 중 어느 것으로 수행할지 여부가 결정될 수 있다.
이처럼, 병렬처리를 수행할 기법이 결정되면, 제어부는 결정된 병렬처리기법에 따라 데이터 분배량(즉, SIFT 데이터 분배량)에 해당하는 스티칭 처리(즉, 특징점 추출)를 CPU와 GPU에서 수행하도록 제어할 수 있다.
일례로, 병렬처리기법 1로 병렬처리를 수행하는 것이 결정된 경우, 제어부는 GPU에서 영상의 스티칭 처리를 수행함에 따라 발생하는 CPU의 유휴시간(idle time)동안 GPU에서 영상의 입력처리를 수행하도록 CPU와 GPU를 제어할 수 있다. 즉, 제어부는 GPU의 데이터 처리 시 발생하는 CPU(즉, CPU의 호스트 코어)의 유휴시간을 감소시키기 위해 상기 유휴시간동안 CPU에서 입력처리를 수행하도록 제어할 수 있다.
다른 예로, 병렬처리기법 2로 병렬처리를 수행하는 것이 결정된 경우, 제어부는 GPU에서 한번에 기정의된 복수개의 SIFT 처리를 수행하도록 상기 GPU를 제어할 수 있다
이처럼, CPU는 처리해야 할 전체 데이터 중 CPU의 데이터 분배량에 해당하는 데이터의 스티칭 처리, 영상의 입출력 처리를 병렬처리기법 1 또는 2에 따라 수행하고, GPU는 전체 데이터 중 GPU의 데이터 분배량에 해당하는 데이터의 스티칭 처리를 병렬처리기법 1 또는 2에 따라 수행함으로써(즉, 특징점을 추출하는 스티칭 처리를 CPU와 GPU에서 동시에 병렬로 처리하여), 스티칭 처리에 소요되는 시간이 감소할 수 있다.
또한, 태스크(task)는 영상을 읽어드리는 등의 입력처리를 위한 태스크, 읽어드린 영상을 대상으로 특징점을 추출하여 이어 붙이는 스티칭 처리(즉, SIFT 처리)를 위한 태스크, 스티칭 처리가 수행된 영상의 출력 처리를 위한 태스크로 구분될 수 있다. 이때, 입력처리와 출력처리는 하나의 영상 내에서 데이터 종속성으로 인해 병렬화가 어려우며, 특징점을 추출하는 스티칭 처리는 병렬화가 가능하다. 이에 따라, 입력처리와 출력처리는 여러 영상에서 병렬화가 가능하도록 태스크 단위로 병렬화가 수행되고, 스티칭 처리는 데이터 병렬화가 수행될 수 있다.
이때, 데이터 병렬화 시 CPU에서 GPU로 계산해야 할 데이터를 넘겨주는 시간(즉, CPU에서 GPU로의 데이터 전송 시간)과 결과값을 넘겨받는 시간(GPU에서 CPU로의 데이터 전송시간)이 소요되므로, 소요되는 시간을 고려하여 병렬화가 수행될 수 있다. 즉, 위의 수학식 2와 같이, 데이터복사시간 DataCopyTime을 고려하여 병렬처리기법 1(410) 또는 병렬처리기법 2(420)를 기반으로 GPU를 이용한 병렬화가 수행될 수 있다.
도 6에서, 410은 병렬처리기법 1에 따라 CPU와 GPU를 이용한 병렬처리를 나타내는 것으로서, 병렬처리기법 1은 영상의 입력처리를 GPU의 데이터 처리 시 발생하는 CPU의 유휴시간을 감소시키도록 CPU에서 입력처리를 수행하는 병렬처리구조를 가질 수 있다. 다시 말해, 병렬처리기법 1은 CPU에서 입력처리(t1) 및 스티칭 처리(즉, 특징점을 추출하는 SIFT 처리)를 수행하고 동시에 GPU에서는 스티칭 처리를 위한 데이터를 복사하여 스티칭 처리(즉, 특징점을 추출하는 SIFT 처리)를 수행하는 기법으로서, 각 영상(즉, 프레임)마다 GPU의 복사-계산-복사 방식으로 입력처리(t1)와 출력처리(t3)를 오버랩핑(overlapping) 시킴으로써 유휴시간(Idle time)을 감소시키는 기법을 나타낼 수 있다.
이처럼, 병렬처리기법 1(410)에 따라 병렬처리를 수행하는 경우, CPU 에서 수행하는 입력처리의 영향이 CPU에서 수행하는 스티칭 처리(특징점 추출)에 미칠 수 있다. 이처럼, CPU에서의 입력처리의 영향이 스티칭 처리에 미치는 것을 제거하기 위해 병렬처리기법 2(420)의 구조로 병렬처리가 수행될 수 있다.
420은 병렬처리기법 2에 따라 CPU와 GPU를 이용한 병렬처리를 나타내는 것으로서, 병렬처리기법 2는 한 번에 기정의된 개수(예컨대, 4개)의 SIFT를 GPU에서 처리하여 CPU의 유휴시간을 감소시키는 구조를 가질 수 있다. 다시 말해, 병렬처리기법 2는 CPU에서 스티칭 처리(즉, 특징점을 추출하는 SIFT 처리)를 수행하고 동시에 GPU에서는 스티칭 처리를 위한 데이터를 복사하여 스티칭 처리(즉, 특징점을 추출하는 SIFT 처리)를 수행하는 기법으로서, CPU의 코어 개수(예컨대, 4개의 프레임)마다 GPU의 계산을 수행하고, 2 번째 병렬 처리 시에는 CPU에서의 입력처리(t1) 및 출력처리(t3)의 순서를 바꾸는 방식으로 입력처리(t1) 및 출력처리(t3)의 데이터 복사시간(data copy)을 중복시킴으로써 유휴시간(idle time)을 감소시키는 기법을 나타낼 수 있다.
예를 들어, 410을 참고하면, 병렬처리기법 1의 경우, 영상 1 내지 영상 4(즉, 프레임 1 내지 프레임 4)를 대상으로, 각 영상 별로 GPU에서 특징점을 추출하는 스티칭 처리(즉, SIFT)를 수행하고, 각 영상 별로 수행된 처리 결과값을 CPU로 전송하는 것임을 확인할 수 있다. 반면, 420을 참고하면, 병렬처리기법 2의 경우, 영상 1 내지 영상 4, 즉, 4개의 영상을 대상으로 특징점을 추출하는 스티칭 처리(즉, SIFT 처리)를 GPU에서 한 번에 수행하는 것임을 확인할 수 있다. 그리고, 영상 1 내지 영상 4를 대상으로 처리된 결과값을 GPU에서 CPU로 한 번에 전송하는 것임을 확인할 수 있다. 이처럼, 복수개의 영상을 묶어서 한 번에 SIFT를 처리하도록 구현하는 것은 병렬처리기법 1과 같이 구현하는 경우보다 어려우나, 영상의 입력처리에 소요되는 시간(즉, 입력처리시간)이 스티칭 처리(SIFT 처리)에 영향을 미치지 않기 때문에 표 1의 알고리즘 1을 기반으로 상황에 따라 병렬처리기법 1 또는 병렬처리기법 2로 영상에 대상으로 병렬화가 수행될 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
10: 당구 게임 관리 및 보조 시스템
100: 디스플레이부 110: 분석부
120: 저장부 130: 가이드 제공부
140: 하이라이트 생성부 210: 촬영수단
220: 레이저 포인트 221: 1포인트
222: 2포인트 223: 3포인트
224: 4포인트 230: 큐볼
235: 제1목적구 237: 제2목적구
250: 프로젝터 300: 서버
310: 단말 320: 당구대

Claims (10)

  1. 촬영수단으로부터 수신된 촬영 영상을 통해 플레이어의 타구 영상을 분석하는 분석부;
    디지털 점수판, 상기 타구 영상, 상기 분석부를 통해 분석된 분석 내용, 또는 가이드 영상을 표출하는 디스플레이부;
    상기 플레이어의 정보가 저장되는 서버;
    상기 타구 영상 및 플레이어의 경기 정보를 저장하여 상기 서버에 접속된 단말로 제공하는 저장부; 및
    당구대 상의 공의 위치를 확인하여 큐볼과 목적구를 판단하여 득점 가능한 하나 이상의 가이드 코스를 추출하고, 상기 가이드 코스의 경로를 상기 당구대로 표시하는 가이드 제공부;를 포함하며,
    상기 분석부는,
    상기 촬영 영상을 통해 상기 플레이어의 타구 영상을 분석하여, 각 타구의 코스와 성공 여부를 누적하여 저장하고, 해당 플레이어가 선택하는 코스별 비중, 코스별 성공률 및 이를 통해 분석된 해당 플레이어의 성공률이 낮은 코스에 대한 정보를 도출하여 디스플레이부 또는 단말로 제공하는, 당구 게임 관리 및 보조 시스템.
  2. 제1항에 있어서,
    상기 디지털 점수판으로 포인트가 입력되면, 해당 플레이어의 타구 영상 중 상기 포인트를 획득한 것으로 판단되는 영상을 득점 영상으로 캡쳐하고, 하나의 경기 중에 캡쳐된 득점 영상들을 병합하여 해당 경기의 하이라이트 영상을 생성하고, 상기 저장부에 저장하는 하이라이트 생성부를 더 포함하는, 당구 게임 관리 및 보조 시스템.
  3. 제1항에 있어서,
    상기 당구대 방향으로 레이저를 투사하는 복수의 레이저 포인터를 포함하며,
    상기 분석부는,
    상기 디스플레이부를 통해 상기 플레이어로부터 코스 추천을 입력받을 경우, 상기 촬영 영상을 통해 상기 당구대 상의 공의 현위치를 분석하여 득점 가능한 하나 이상의 추천 코스를 추출하여 상기 디스플레이부로 표출하고,
    상기 플레이어로부터 선택받은 추천 코스를 타구하기 위한 큐볼의 당점을 상기 디스플레이부로 표출하고, 상기 추천 코스에서 큐볼이 지나는 경로에 해당하는 쿠션의 위치들에 상기 레이저 포인터를 이용하여 레이저를 투사하는 가이드 제공부를 더 포함하는, 당구 게임 관리 및 보조 시스템
  4. 제1항에 있어서,
    상기 당구대 방향으로 빛을 투사하는 프로젝터를 더 포함하고,
    상기 가이드 제공부는 상기 가이드 코스의 경로를 상기 프로젝터를 통해 상기 당구대로 표시하는 것을 특징으로 하는, 당구 게임 관리 및 보조 시스템.
  5. 제4항에 있어서,
    상기 가이드 제공부는,
    상기 추출된 하나 이상의 가이드 코스를 상기 플레이어의 코스별 성공률과 매칭하여, 성공률이 낮은 코스와 매칭되는 가이드 코스를 선택하여, 상기 선택된 가이드 코스의 경로를 상기 프로젝터를 통해 상기 당구대로 투사하는 것을 특징으로 하는, 당구 게임 관리 및 보조 시스템.
  6. 제4항에 있어서,
    상기 가이드 제공부는,
    플레이어가 상기 가이드 코스로 타구했을 경우에 키스가 발생할 확률을 산출하여 상기 디스플레이부를 통해 표시하고, 상기 키스가 발생할 지점을 예상하여 상기 프로젝터를 통해 상기 당구대에 표시하고, 상기 키스를 회피하기 위한 하나 이상의 방법을 도출하여 상기 디스플레이부를 통해 표출하는, 당구 게임 관리 및 보조 시스템.
  7. 제5항에 있어서,
    상기 분석부는,
    상기 촬영 영상을 통해 상기 플레이어의 현재 타구 자세, 큐볼의 당점을 분석하여, 상기 플레이어가 현재 타구 자세와 큐볼의 당점으로 타구를 진행하였을 경우 예상되는 큐볼의 예상 경로를 도출하고, 상기 예상 경로를 상기 프로젝터를 통해 상구 당구대에 투사하는, 당구 게임 관리 및 보조 시스템.
  8. 제7항에 있어서,
    상기 분석부는,
    상기 예상 경로에서 키스가 발생할 확률과 위치를 산출하고, 상기 산출된 확률과 위치를 상기 디스플레이부를 통해 표출하거나, 상기 프로젝터를 통해 상기 당구대에 표시하고,
    상기 키스를 회피하기 위한 방법을 도출하여 그에 대한 정보를 상기 디스플레이부를 통해 표출하는, 당구 게임 관리 및 보조 시스템.
  9. 제1항에 있어서,
    상기 서버는,
    상기 촬영수단으로부터 수신되는 영상에서 상기 당구대 상의 큐볼과 하나 이상의 목적구의 위치를 확인하여 상태정보를 생성하고, 데이터베이스에 저장된 당구 영상들과 상기 상태정보를 매칭하여 매칭된 하나 이상의 영상을 상기 디스플레이부로 표출하는, 당구 게임 관리 및 보조 시스템.
  10. 제4항에 있어서,
    상기 디스플레이부를 통해서 플레이어로부터 훈련모드를 선택받으면 복수의 코스 리스트를 표출하고,
    상기 코스 리스트 중에서 플레이어로부터 선택받은 코스에 할당된 복수의 훈련코스를 순차적으로 상기 플레이어에게 제공하되,
    상기 플레이어가 상기 훈련코스대로 상기 당구대에 큐볼과 목적구를 배치할 수 있도록, 각 훈련코스에 저장된 큐볼과 목적구의 위치를 상기 프로젝터를 통해 상기 당구대로 투사하고,
    해당 훈련코스에 할당되어 있는 가이드 코스를 상기 프로젝터를 통해 상기 당구대로 투사하여 상기 플레이어에게 훈련 가이드를 제공하는, 당구 게임 관리 및 보조 시스템.
KR1020180084457A 2018-07-20 2018-07-20 당구 게임 관리 및 보조 시스템 KR102120711B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180084457A KR102120711B1 (ko) 2018-07-20 2018-07-20 당구 게임 관리 및 보조 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084457A KR102120711B1 (ko) 2018-07-20 2018-07-20 당구 게임 관리 및 보조 시스템

Publications (2)

Publication Number Publication Date
KR20200009720A KR20200009720A (ko) 2020-01-30
KR102120711B1 true KR102120711B1 (ko) 2020-06-09

Family

ID=69321688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084457A KR102120711B1 (ko) 2018-07-20 2018-07-20 당구 게임 관리 및 보조 시스템

Country Status (1)

Country Link
KR (1) KR102120711B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102176649B1 (ko) * 2020-08-20 2020-11-10 신두성 3 쿠션용 당구연습 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970924B1 (ko) * 2009-07-15 2010-07-21 (주) 마이다스큐 인터넷을 이용한 당구 통합서비스 시스템 및 그 방법
KR101458190B1 (ko) * 2014-04-22 2014-11-06 김덕호 당구장 자동화시스템
KR101581594B1 (ko) * 2014-12-17 2016-01-11 전북대학교산학협력단 실시간 당구 보조 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100970924B1 (ko) * 2009-07-15 2010-07-21 (주) 마이다스큐 인터넷을 이용한 당구 통합서비스 시스템 및 그 방법
KR101458190B1 (ko) * 2014-04-22 2014-11-06 김덕호 당구장 자동화시스템
KR101581594B1 (ko) * 2014-12-17 2016-01-11 전북대학교산학협력단 실시간 당구 보조 시스템

Also Published As

Publication number Publication date
KR20200009720A (ko) 2020-01-30

Similar Documents

Publication Publication Date Title
KR101145126B1 (ko) 당구게임 교육 시스템과 교육 제어방법
US11826628B2 (en) Virtual reality sports training systems and methods
US20190176020A1 (en) Ball-striking assist method, ball-striking assist system, and portable electronic device
JP2019509150A (ja) プレーヤーマッチング装置及びプレーヤーマッチング方法
US11839805B2 (en) Computer vision and artificial intelligence applications in basketball
JP2021514753A (ja) 統計的に定義されたゲームチャンネル
KR101633246B1 (ko) 빔 프로젝터 기반의 오프라인 당구 게임 지원 시스템 및 방법
Cork et al. Three-dimensional vision analysis to measure the release characteristics of elite bowlers in cricket
US20060052147A1 (en) Athletic game learning tool, capture system, and simulator
KR101205811B1 (ko) 당구자세 교정 시스템 및 교정 방법, 기록매체
KR20190040697A (ko) 당구 플레이 방법 및 당구 플레이 시스템
EP3009173B1 (en) Assisted-training system and method for billiards
KR102120711B1 (ko) 당구 게임 관리 및 보조 시스템
KR102002006B1 (ko) 하이브리드 에어하키 게임 장치 및 그 제어 방법
CN107635627B (zh) 台球击球辅助方法、台球击球辅助系统及便携式电子设备
KR101682655B1 (ko) 플레이어 매칭 장치 및 플레이어 매칭 방법
KR101276746B1 (ko) 당구게임진행 및 기록관리 시스템
JP6939999B2 (ja) 情報処理システム、情報処理方法及び記憶媒体
KR101892514B1 (ko) 좌표값을 이용한 당구게임의 득점 자동계산 시스템
KR102455948B1 (ko) 당구 게임 관리 시스템
KR20200038803A (ko) 빌리아드 게임 인공지능 코칭 시스템 및 방법
CN114126725B (zh) 虚拟高尔夫系统、虚拟高尔夫介绍影像生成方法及关于虚拟高尔夫的选手的信息的计算方法
JP6969640B2 (ja) 解析用データ収集装置、その方法、及びプログラム
KR102249271B1 (ko) 프로젝터를 이용한 당구 코칭 방법, 장치 및 프로그램
JP2019042219A (ja) 解析用データ収集装置、解析装置、訓練装置、それらの方法、プログラム、及びデータ構造

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant