KR20190055037A - 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램 - Google Patents

가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20190055037A
KR20190055037A KR1020190053247A KR20190053247A KR20190055037A KR 20190055037 A KR20190055037 A KR 20190055037A KR 1020190053247 A KR1020190053247 A KR 1020190053247A KR 20190053247 A KR20190053247 A KR 20190053247A KR 20190055037 A KR20190055037 A KR 20190055037A
Authority
KR
South Korea
Prior art keywords
ball
movement
data
movement pattern
motion
Prior art date
Application number
KR1020190053247A
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 KR1020190053247A priority Critical patent/KR20190055037A/ko
Publication of KR20190055037A publication Critical patent/KR20190055037A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/40Stationarily-arranged devices for projecting balls or other bodies
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/20Cricket
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/833Sensors arranged on the exercise apparatus or sports implement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 명세서에서, 제어 장치가 센싱 장치를 통해 소정의 구역 내의 하나 이상의 객체에 대한 데이터를 수신하는 단계; 상기 제어 장치가 상기 수신된 데이터를 움직임에 대한 정보를 기초로 최초 움직임 패턴으로 변환하는 단계; 상기 제어 장치가 상기 움직임 패턴 및 환경 정보 및 객체와의 충돌 여부, 접촉 여부 등을 종합적으로 판단하여 소정의 구역 내의 제1 움직임 패턴으로 분할하여 생성하는 단계; 상기 제어 장치가 상기 움직임 패턴 및 상기 제1 움직임 패턴을 기초로 외부 구역에서의 상기 공의 움직임을 확장하되, 기 설정된 장소 정보 등을 고려하여, 상기 외부 구역에서의 확장된 제2 움직임 패턴으로 분할하여 생성하는 단계; 및 상기 제어 장치가 상기 제1 움직임 패턴 및 제2 움직임 패턴에 따른 가상 경기 진행 정보를 생성하는 단계;를 포함하는, 가상의 크리켓 경기를 제어하는 방법을 개시한다.

Description

가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER FOR CONTROLLING A VIRTUAL CRICKET GAME}
본 발명의 실시예는 소정의 구역에서 움직이는 공의 움직임을 센싱하고, 센싱된 데이터 및 기 설정된 가상 객체들을 고려하여 상기 구역을 초과하여 설정된 가상의 외부 구역에서 가상의 크리켓 경기에 대한 출력 데이터를 생성하여 제공하는 제어 장치, 제어 방법, 및 컴퓨터 프로그램에 관한 것이다.
넓은 크리켓 경기장에서 실제 플레이를 하기 어려운 한계를 극복하고 좁은 실내 공간에서도 크리켓 경기의 현장감을 느끼면서 가상으로 크리켓 플레이를 할 수 있도록 하는 스크린 크리켓 시스템이 등장하게 되었다.
피칭 머신을 이용한 스크린 스포츠 시스템에 관한 기술은 특허출원 제10-2001-7011084호, 특허출원 제10-2014-0058124호, 특허출원 제10-2009-0063347호, 특허출원 제10-2010-0079368호, 특허출원 특1990-7002659호, 일본공개특허공보 특개평09-276467호, 특허출원 특1994-0023057호 등 상당히 많은 선행기술문헌에서 개시하고 있다.
본 발명은 실제로 존재하는 구역 및 상기 구역을 확장시키는 가상의 외부 구역을 설정하고, 실제 움직이는 공의 움직임을 실제 구역 뿐만 아니라 가사으이 외부 구역에서도 표현하도록 제어하는 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램을 제공하기 위한 것이다.
본 발명의 실시예에 따른 가상의 크리켓 경기를 제어하는 방법은 제어 장치가 센싱 장치를 통해 소정의 구역 내의 하나 이상의 객체에 대한 데이터를 수신하는 단계; 상기 제어 장치가 상기 수신된 데이터를 움직임에 대한 정보를 기초로 최초 움직임 패턴으로 변환하는 단계; 상기 제어 장치가 상기 움직임 패턴 및 환경 정보 및 객체와의 충돌 여부, 접촉 여부 등을 종합적으로 판단하여 소정의 구역 내의 제1 움직임 패턴으로 분할하여 생성하는 단계; 상기 제어 장치가 상기 움직임 패턴 및 상기 제1 움직임 패턴을 기초로 외부 구역에서의 상기 공의 움직임을 확장하되, 기 설정된 장소 정보 등을 고려하여, 상기 외부 구역에서의 확장된 제2 움직임 패턴으로 분할하여 생성하는 단계; 및 상기 제어 장치가 상기 제1 움직임 패턴 및 제2 움직임 패턴에 따른 가상 경기 진행 정보를 생성하는 단계;를 포함할 수 있다.
상기 제1 움직임 패턴으로 분할하여 생성하는 단계는 상기 움직임 패턴에 대해서 기 설정된 환경 정보 및 센싱된 객체와의 접촉 여부를 종합적으로 판단하고, 상기 환경 정보 및 상기 객체와의 접촉 여부및 움직임 패턴을 고려하여 구역 내에서의 움직이는 공에 대한 제1 움직임 패턴을 생성하는 점을 특징으로 할 수 있다.
상기 제2 움직임 패턴으로 분할하여 생성하는 단계는 상기 움직임 패턴에 대해서, 설정된 장소 정보를 기초로 상기 구역 내에서의 제1 움직임 패턴과 연속되며, 상기 구역을 벗어나서 3차원으로 존재하는 외부 구역 상에서의 제2 움직임 패턴을 생성하는 점을 특징으로 할 수 있다.
상기 진행 정보를 생성하는 단계는 상기 공이 사용자에 의해 제어되어, 사용자의 의도된 움직임을 가지는 타격 장치와의 충돌 여부를 판단하는 단계를 포함하는 점을 특징으로 할 수 있다.
본 실시예에 따르면, 상기 공이 타격 장치와 충돌한 것으로 판단된 경우, 상기 제2 움직임 패턴을 기초로 상기 공의 이동 거리 또는 이동 시간을 산출하고, 상기 제2 움직임 패턴 상에서 가상의 객체와의 관계를 예측하고, 상기 이동 거리 및 상기 가상의 객체와의 관계를 종합적으로 판단하여, 획득된 점수를 결정하는 단계;를 더 포함할 수 있다.
본 실시예에 따르면, 상기 제1 움직임 패턴 및 상기 제2 움직임 패턴에 따라 움직이는 공이 기 설정된 위켓 장치과 충돌한 것으로 판단된 경우, 상기 진행 정보를 생성하는 단계는 상기 구역 내에 존재하는 출력 장치들을 통해 임팩트를 가지는 출력 데이터를 출력 시키는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 가상의 크리켓 경기를 제어하는 장치는 센싱 장치를 통해 소정의 구역 내의 하나 이상의 객체에 대한 데이터를 수신하고, 상기 제어 장치가 상기 수신된 데이터를 움직임에 대한 정보를 기초로 최초 움직임 패턴으로 변환하는 변환부; 상기 움직임 패턴 및 환경 정보 및 객체와의 충돌 여부, 접촉 여부 등을 종합적으로 판단하여 소정의 구역 내의 제1 움직임 패턴으로 분할하여 생성하는 제1 움직임 패턴 생성부; 상기 움직임 패턴 및 상기 제1 움직임 패턴을 기초로 외부 구역에서의 상기 공의 움직임을 확장하되, 기 설정된 장소 정보 등을 고려하여, 상기 외부 구역에서의 확장된 제2 움직임 패턴으로 분할하여 생성하는 제2 움직임 패턴 생성부; 및 상기 제1 움직임 패턴 및 제2 움직임 패턴에 따른 가상 경기 진행 정보를 생성하는 진행 정보 생성부;를 포함할 수 있다.
상기 제1 움직임 패턴 생성부는 상기 움직임 패턴에 대해서 기 설정된 환경 정보 및 센싱된 객체와의 접촉 여부를 종합적으로 판단하고, 상기 환경 정보 및 상기 객체와의 접촉 여부및 움직임 패턴을 고려하여 구역 내에서의 움직이는 공에 대한 제1 움직임 패턴을 생성하는 점을 특징으로 할 수 있다.
상기 제2 움직임 패턴 생성부는 상기 움직임 패턴에 대해서, 설정된 장소 정보를 기초로 상기 구역 내에서의 제1 움직임 패턴과 연속되며, 상기 구역을 벗어나서 3차원으로 존재하는 외부 구역 상에서의 제2 움직임 패턴을 생성하는 점을 특징으로 할 수 있다.
상기 진행 정보를 생성하는 단계는 상기 공이 사용자에 의해 제어되어, 사용자의 의도된 움직임을 가지는 타격 장치와의 충돌 여부를 판단하는 단계를 포함하는 점을 특징으로 할 수 있다.
상기 공이 타격 장치와 충돌한 것으로 판단된 경우, 상기 진행 정보 생성부는 상기 제2 움직임 패턴을 기초로 상기 공의 이동 거리 또는 이동 시간을 산출하고, 상기 제2 움직임 패턴 상에서 가상의 객체와의 관계를 예측하고, 상기 이동 거리 및 상기 가상의 객체와의 관계를 종합적으로 판단하여, 획득된 점수를 결정하는 점을 특징으로 할 수 있다.
상기 제1 움직임 패턴 및 상기 제2 움직임 패턴에 따라 움직이는 공이 기 설정된 위켓 장치과 충돌한 것으로 판단된 경우, 상기 진행 정보 생성부는 상기 구역 내에 존재하는 출력 장치들을 통해 임팩트를 가지는 출력 데이터를 출력 시키는 점을 특징으로 할 수 있다.
본 발명의 실시예에 따른 컴퓨터 프로그램은 컴퓨터를 이용하여 본 발명의 실시예에 따른 가상의 크리켓 경기를 제어하는 방법 중 어느 하나의 방법을 실행시키기 위하여 매체에 저장될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해 질 것이다.
본 발명의 실시예에 따른 센싱 장치 및 방법은 센서부를 통해 획득된 센싱 데이터를 기초로 운동하는 볼의 3차원 움직임을 추론할 수 있다.
본 발명의 실시예에 따른 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램은 실제로 존재하는 구역 및 상기 구역을 확장시키는 가상의 외부 구역을 설정하고, 실제 움직이는 공의 움직임을 실제 구역 뿐만 아니라 가상의 외부 구역에서도 표현하도록 제어하는 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램을 제공하기 위한 것이다.
도 1은 본 발명의 실시예에 따른 시뮬레이션 시스템의 구조를 나타내는 블록도이다.
도 2는 본 발명의 실시예에 따른 제어 장치의 구조를 나타내는 블록도이다.
도 3은 경기흐름 제어부의 구조를 나타내는 블록도이다.
도 4 내지 도 6은 정해진 구역 내에서의 상황에 따른 제어 장치의 동작을 설명하기 위한 도면이다.
도 7a 및 도 7b는 시뮬레이션 시스템에 의해 설정된 구역 및 외부 구역의 측면도, 사시도 이다.
도 8은 본 발명의 실시예들에 따른 운동하는 볼에 대한 센싱 장치의 구조를 나타내는 블록도이다.
도 9는 움직임 추론부의 구조를 나타내는 블록도이다.
도 10은 경기 흐름 제어부의 구조를 나타내는 블록도이다.
도 11는 처리부의 구조를 나타내는 블록도이다.
도 12은 본 발명의 실시예에 따른 시뮬레이션 시스템의 구조를 나타내는 블록도이다.
도 13 내지 도 14은 본 발명의 실시예들에 따른 동작 방법의 흐름도들이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
본 명세서에 따르면, 시뮬레이션 시스템은 소정의 크기의 실내 공간에서 사용자에 의해 피칭된 볼이나, 사용자에 의해 타격된 볼의 움직임을 센싱하여 그 센싱 결과에 기초하여 아웃 여부, 점수 획득 여부의 판정과 출력 장치 상에 타격된 볼의 궤적에 대한 시뮬레이션 영상을 구현한다. 시뮬레이션 영상은 가상의 경기장에 대한 영상, 선수와 심판, 관객에 대한 영상 등의 백그라운드 영상을 360도로 제공할 수 있다. 또한, 시뮬레이션 영상은 하나 이상의 사용자들의 크리켓 능력치를 고려하여 가상의 객체의 능력 레벨을 설정할 수 있다.
본 명세서에 따르면, 시뮬레이션 시스템은 운동하는 볼 및 경기 참가자의 움직임에 따른 경기 결과를 생성하고, 경기 결과를 반영한 사용자 인터페이스를 제공할 수 있다.
본 명세서에 따르면, 시뮬레이션 시스템은 정해진 구역 내의 다른 컴퓨팅 장치 또는 사용자에 의해 지정된 컴퓨팅 장치와 데이터를 공유할 수 있다. 구체적으로, 시뮬레이션 시스템은 다른 컴퓨팅 장치로 경기 결과에 따른 사용자 인터페이스를 제공할 수 있다. 시뮬레이션 시스템은 소정의 컴퓨팅 장치 그룹과 경기 결과를 공유할 수 있다. 시뮬레이션 시스템은 소정의 이벤트에 따라 소정의 알림을 컴퓨팅 장치로 제공할 수 있다. 경기 결과 등의 데이터를 수신하는 컴퓨팅 장치는 시뮬레이션 시스템에 접속하여 별도의 인증 절차의 과정을 수행해야 한다. 본 명세서에 따르면, 센싱 장치는 운동하는 볼의 움직임을 센싱하여 제어 장치로 제공할 수 있다. 센싱 장치는 정해진 하나의 방향으로 정해진 영역을 촬영할 수 있다. 센싱 장치는 촬영된 화상 프레임을 분석하여, 운동하는 볼의 3차원 움직임을 추론할 수 있다. 본 명세서에 따르면, 운동하는 볼의 3차원 움직임을 포함하도록 생성된 크리켓 시뮬레이션 영상이 제공될 수 있다.
시뮬레이션 시스템은 위켓 장치를 더 포함할 수 있다.
본 명세서에서, 컴퓨팅 장치는, 예를 들면, 스마트폰(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) 중 적어도 하나를 포함할 수 있다.
도 1은 본 발명의 실시예에 따른 시뮬레이션 시스템의 구조를 나타내는 블록도이다.
도 1에 도시된 바와 같이, 시뮬레이션 시스템은 센싱 장치(100) 및 제어 장치(200)를 포함할 수 있다.
센싱 장치(100)는 주변 환경을 센싱하는 기능을 수행한다. 센싱 장치(100)는 센싱 데이터를 제어 장치로 전달하는 기능을 수행한다. 센싱 장치(100)는 통신망을 통해 제어 장치와 통신할 수 있다.
제어 장치(200)는 센싱된 데이터를 이용하여 가상의 크리켓 경기를 위한 제어 데이터를 생성한다. 제어 장치(200)는 사용자, 가상의 객체, 실제 객체 등을 센싱한 데이터를 이용하여 사용자에게 가상의 크리켓 경기를 즐길 수 있게 한다. 제어 장치(200)는 가상의 크리켓 경기를 위한 제어 데이터를 하나 이상의 출력 장치로 전달될 수 있다. 또한, 가상의 크리켓 경기를 위한 제어 데이터는 출력 장치를 포함한 전자 기기로 전달 될 수 있다. 가상의 크리켓 경기를 위한 제어 데이터는 피칭되는 공, 공에 대한 배트의 움직임, 사용자의 움직임, 위켓 장치와의 충돌 여부 등을 기초로 사용자가 실제 크리켓 경기를 하는 듯한 느낌을 가지도록 구현되며, 실제 경기 느낌을 주기 위해 시각적, 청각적, 촉각적으로 자극을 주는 장치들과 연동될 수 있다. 제어 장치(200)는 센싱된 데이터 뿐만 아니라, 센싱된 데이터를 기초로 추론된 데이터를 이용하여 가상의 크리켓 경기를 위한 제어 데이터를 생성할 수 있다. 특히, 제어 장치(200)는 실제 정해진 구역 내에서의 공의 움직임 패턴 뿐만 아니라 구역을 벗어나는 외부 구역에서의 공의 움직임 패턴을 이용하여 가상의 크리켓 경기를 위한 제어 데이터를 생성할 수 있다.
본 발명의 실시예들에 따른 시뮬레이션 시스템은 정해진 구역 내의 실제 객체 및 가상 객체를 고려하여 피칭된 공의 움직임 패턴을 산출, 추론하고, 상기 공의 움직임 패턴을 이용하여 사용자에게 크리켓 경기를 진행하는 느낌을 줄 수 있다.
도 2는 본 발명의 실시예에 따른 제어 장치(200)의 구조를 나타내는 블록도이다.
제어 장치(200)는 피칭 장치 제어부(210), 경기 흐름 제어부(220), 센싱 장치 제어부(230), 출력 제어부(240), 저장부(250), 통신부(260)를 포함할 수 있다. 제어 장치(200)는 센싱 장치(100), 출력 장치(300), 및 피칭 장치(500)의 동작을 제어하는 제어 데이터를 생성하여 전송할 수 있다. 제어 장치(200)는 센싱 장치(100)의 센싱 데이터 획득과 관련된 제어 데이터를, 센싱 장치(100)로부터의 데이터 수집을 위한 제어 데이터를, 피칭 장치(500)를 통해 볼을 발사시키는 볼 발사 신호, 출력 장치(300)를 통해 출력 데이터를 출력하는 제어 데이터를 생성할 수 있다. 제어 장치(200)는 생성된 데이터를 통신부(260)를 통해 각 장치로 전달할 수 있다. 제어 장치(200)는 센싱 장치(100), 출력 장치(300), 피칭 장치(500)와 전기적으로 연결되거나 네트워크를 통해 연결될 수 있다.
제어 장치(200)는 모드 별로 다르게 동작되도록 설계 될 수 있다. 제어 장치에 의해 제공되는 모드는 타자 모드, 투수 모드, 고정 타격 모드 중 하나 일 수 있다. 타자 모드는 가상의 피쳐 및 타자인 사용자 사이의 가상 경기를 제공하는 모드이다. 투수 모드는 피쳐인 사용자 및 가상의 타자 사이의 가상 경기를 제공하는 모드이다. 고정 타격 모드는 타자인 사용자에 의해 정해진 위치에 고정된 볼을 타격시키는 모드이다.
제어 장치(200)는 타자 모드로 설정된 경우, 피칭 장치에 의해 볼이 피칭되도록 제어할 수 있다. 이때, 타자 이외의 사용자를 등록 시키는 기능을 제공하기도 한다. 타자 이외의 사용자는 수비수로 등록되며, 사용자와 대응되는 가상의 객체가 생성될 수 있다. 가상의 객체는 각각 고정된 위치에서 수비하도록 설정되어 시뮬레이션 영상에 포함될 수 있다. 가상의 객체는 대응되는 사용자의 경기 레벨을 가지도록 설정될 수 있다. 수비수의 경기 레벨은 사용자에 의해 이루어진 누적된 경기로부터 추출된 수비 범위, 반응 속도 등을 포함할 수 있다. 제어 장치(200)는 투수 모드로 설정된 경우, 피칭 장치에 의해 볼이 피칭되지 않도록 하며, 사용자로부터의 볼 피칭 행위를 센싱하도록 제어한다. 투수 모드에서, 사용자는 투수로 설정되고, 가상의 객체 또는 다른 사용자와 대응되는 가상의 객체가 타자로 설정될 수 있다. 이때, 다른 사용자와 대응되는 가상의 객체는 다른 사용자의 경기 레벨을 가지도록 설정될 수 있다. 타자의 경기 레벨은 사용자에 의해 이루어진 누적된 경기로부터 추출된 배트 스피드, 타점 능력 등을 포함할 수 있다.
제어 장치(200)는 고정 타격 모드로 설정된 경우, 고정된 위치로 볼을 운반되도록 제어하는 이동체를 제어할 수 있다. 제어 장치(200)는 고정된 위치에 놓인 볼에 대한 타격이 센싱되면, 이에 따라 타격에 따른 득점 여부, 득점 등을 산출할 수 있다. 제어 장치(200)는 타격에 따른 득점 여부, 득점 등을 종합한 스코어를 관리할 수 있다.
피칭 장치 제어부(210)는 피칭 장치의 동작을 제어하는 제어 데이터를 생성한다. 피칭 장치 제어부(210)는 사용자에 의해 프로그램된 움직임을 가지도록 볼을 피칭시키는 제어 데이터를 생성한다. 피칭 장치 제어부(210)는 소정의 알고리즘에 따라 다양한 움직임을 가지도록 볼을 피칭시키는 제어 데이터를 생성한다. 피칭 장치 제어부(210)는 사용자가 의도하지 않는 다양한 움직임을 가지도록 피칭 장치를 제어한다. 피칭 장치 제어부(210)는 볼 발사 신호를 생성하여 피칭 장치(500)로 전달하도록 구현된다. 피칭 장치 제어부(210)는 타격 또는 피칭하는 사용자의 경기 레벨을 고려하여 볼 발사 시나리오를 생성하고, 볼 발사 시나리오에 따라 피칭되도록 피칭 장치(500)로 볼 발사 신호의 세트를 전달할 수 있다. 예를 들어, 사용자의 경기 레벨의 높고 낮음을 고려하거나, 사용자의 약점 또는 강점을 고려하여 볼 발사 시나리오를 생성할 수도 있다. 볼 발사 시나리오는 사용자 별로 구분되기도 하지만 평균적인 사용자의 경기 레벨을 고려하여 생성될 수도 있다.
경기 흐름 제어부(220)는 센싱 데이터 및 기 설정된 크리켓 경기 규칙에 기초하여 가상 크리켓 경기의 경기 흐름을 생성할 수 있다. 경기 흐름 제어부(220)는 모드 별로 구분하여 경기 흐름과 관련된 경기 상황 데이터 및/또는 경기 흐름을 위한 제어 데이터를 생성한다. 경기 흐름을 위한 제어 데이터는 센싱 장치(100), 피칭 장치(500)의 제어와도 관련될 수 있다. 경기 흐름 제어부(220)는 센싱 데이터에 포함된 볼의 움직임 및 사용자의 움직임에 따른 점수 획득 여부, 게임 종료 여부 등을 판단할 수 있다. 점수 획득 여부 및/또는 게임 종료 여부 등은 기 설정된 크리켓 경기 규칙에 따른다.
센싱 장치 제어부(230)는 센싱 장치를 제어하는 기능을 수행한다. 센싱 장치 제어부(230)는 센싱 장치의 센싱 여부, 센싱 방향(촬영 방향), 센싱 간격(프레임 레이트), 센싱 횟수 등을 조절하는 제어 데이터를 생성할 수 있다. 센싱 장치 제어부(230)는 모드 별로 다른 이벤트를 센싱하도록 제어할 수 있다.
출력 제어부(240)는 센싱 장치로부터의 동영상, 가상의 객체, 및/또는 경기 상황 데이터를 고려한 시뮬레이션 영상을 결합시킨 동영상을 출력하도록 제어한다. 출력 제어부(240)는 운동하는 볼의 3차원 움직임과 대응되는 컨텐츠, 사용자와 대응되는 컨텐츠 및 가상 위켓과 대응되는 컨텐츠를 출력하도록 제어한다. 운동하는 볼의 3차원 움직임과 대응되는 컨텐츠는 운동하는 볼의 이동 속도 및 이동 방향에 따라서 다양하게 변경될 수 있다. 출력 제어부(240)는 생성된 하나 이상의 컨텐츠에 경기 흐름과 관련된 컨텐츠를 추가로 덧붙일 수 있다.
출력 제어부(240)는 경기 상황 데이터와 대응되는 시각적 컨텐츠를 출력 장치를 통해 제공하도록 제어한다. 경기 상황 데이터는 사용자가 획득한 점수, 피칭되어 사용자에게 도달하는 공의 움직임, 사용자의 공격 종료 여부 등을 포함할 수 있다.
출력 제어부(240)는 가상의 객체와 대응되는 컨텐츠를 출력 장치를 통해 제공하도록 제어한다. 출력 제어부(240)는 가상의 객체와 대응되는 컨텐츠의 움직임을 운동하는 볼의 궤적에 따라서 변경하도록 제어할 수 있다. 예를 들어, 제1 가상 객체의 위치로 향하는 볼의 궤적이 발생되면, 이에 따라 제1 가상 객체는 볼이 향하는 지점으로 이동하는 움직임을 가질 수 있다. 이때, 출력 제어부(240)는 제1 가상 객체의 누적된 경기 레벨에 따라 움직임의 속도, 범위 등을 결정하게 된다. 출력 제어부(240)는 모드 별로 추가하는 가상의 객체의 수를 변경할 수 있다. 타자 모드로 설정된 경우, 출력 제어부(240)는 수비에 해당하는 10명의 가상 객체들을 추가할 수 있다. 투수 모드로 설정된 경우, 출력 제어부(240)는 수비 및 타자에 해당하는 11명의 가상 객체들을 추가할 수 있다. 고정 타격 모드에서는 가상의 객체가 없을 수 있다.
센싱 장치로부터의 동영상, 가상의 객체, 및/또는 경기 상황 데이터를 고려한 시뮬레이션 영상은 360도의 방향성을 가질 수 있다.
출력 제어부(240)는 경기 상황 데이터가 기 설정된 조건이 만족되는 경우, 해당 조건과 대응되는 이펙트 컨텐츠를 추가로 제공할 수 있다. 이펙트 컨텐츠는 다양한 시각적인 컨텐츠, 청각적인 컨텐츠를 포함할 수 있다. 예를 들어, 점수 획득과 대응되는 볼의 움직임 및 사용자의 움직임이 센싱되는 조건이 센싱되면, 점수의 획득이라는 이펙트 컨텐츠가 발생될 수 있다. 여기서, 이펙트 컨텐츠는 하나 이상의 컨텐츠를 포함할 수 있고, 다양한 타입의 컨텐츠를 결합시킬 수 있다.
저장부(250)는 제어 장치(200)의 처리 및 제어를 위한 데이터를 저장할 수도 있고, 입/출력되는 데이터들을 저장할 수도 있다. 저장부(250)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
통신부(260)는 제어 데이터를 각 장치로 전송하는 기능을 수행한다. 통신부(260)는 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 3은 경기흐름 제어부(220)의 구조를 나타내는 블록도이다.
도 3에 도시된 바와 같이, 경기흐름 제어부(220)는 변환부(221), 제1 움직임 패턴 생성부(222), 제2 움직임 패턴 생성부(223), 진행 정보 생성부(224), 제어 신호 생성부(225)를 포함할 수 있다.
변환부(221)는 수신된 센싱 데이터에서 움직이는 공이 등장하는 영역들을 추출하고, 상기 공이 등장하는 영역들을 분석하여 공의 움직임 패턴을 생성한다. 변환부(221)는 복수의 프레임들을 분석하여 지정된 객체의 움직임 패턴을 생성할 수 있다. 지정된 객체는 기 설정된 형태 정보 또는 마커에 따라서 지정되거나, 기 설정된 위치로부터 피칭되는 걸로 지정될 수 있다.
제1 움직임 패턴 생성부(222)는 움직임 패턴, 환경 정보 및 객체와의 충돌 여부 등을 종합적으로 판단하여 소정의 구역 내의 제1 움직임 패턴을 생성할 수 있다. 제1 움직임 패턴은 변환부(221)의 움직임 패턴의 일부 또는 전부와 일치할 수 있으나, 소정의 구역 내에 존재하는 실제 객체(사용자, 배트, 공 등), 가상 객체(타 사용자, 위켓 장치 등), 환경 정보 등을 기초로 보정될 수 있다. 제1 움직임 패턴 생성부(222)는 움직임 패턴에 대해서 기 설정된 환경 정보 및 센싱된 객체와의 접촉 여부를 종합적으로 판단하고, 환경 정보 및 객체와의 접촉 여부 및 움직임 패턴을 고려하여 구역 내에서의 움직이는 공에 대한 제1 움직임 패턴을 생성할 수 있다.
제1 움직임 패턴은 소정의 구역 내에서의 지정된 객체, 즉 움직이는 공의 움직임 패턴을 말한다. 특히, 제1 움직임 패턴은 소정의 구역을 벗어나는 확장된 영역에서의 공의 움직임을 표현할 수 있다. 소정의 구역의 경계선, 장애물 등에 의해서 공의 움직임이 정지되더라도, 제1 움직임 패턴은 연속적으로 이동하는 공의 움직임을 포함할 수 있다. 위켓 장치는 실제 객체 또는 가상 객체로 설정될 수 있다.
다른 실시예에서, 제1 움직임 패턴 생성부(222)는 위켓 장치로 설정된 위켓 장치와의 충돌 여부를 판단할 수 있으며, 상기 위켓 장치와의 충돌 여부가 감지된 것으로 판단되며, 제1 움직임 패턴의 생성을 중지할 수 있다. 이런 경우, 제어 장치(200)는 변환부에 의한 움직임 패턴을 기초로 가상 경기 진행 정보를 생성할 수 있다.
실제 객체인 위켓 장치는 3개의 기둥, 기둥에 대한 터치 등을 감지하는 센서를 포함할 수 있으며, 추가적으로 3개의 기둥 위에 올려지는 2개의 작은 막대기를 포함할 수 있다. 3개의 기둥은 분리되지 않고 일체로 구현될 수 있다. 3개의 기둥에 대한 공의 충돌 여부를 감지할 수 있는 센서가 더 포함될 수 있다.
다른 실시예에서, 제1 움직임 패턴 생성부(222)는 공 및 사용자에 의해 제어되어 사용자의 의도의 움직임을 가지는 타격 장치 사이의 충돌 여부를 판단할 수 있다. 타격 장치와의 충돌 여부는 센싱 데이터를 기초로 산출되거나 타격 장치에 포함된 센서부를 통해 감지될 수 있다.
제 2 움직임 패턴 생성부(223)는 변환부(221)에 의해 생성된 움직임 패턴, 제1 움직임 패턴을 기초로 소정의 구역에서 벗어나는 외부 구역에서의 공의 움직임 패턴을 생성할 수 있다. 외부의 구역은 가상적으로 구현된 공간을 말하는 것으로, 다양한 방식으로 설정된 장소(로마의 콜로세움, 북극, 상암 경기장 등)에 따라 크기, 배경, 환경 등을 다르게 설정될 수 있다. 제2 움직임 패턴 생성부(223)는 움직임 패턴, 제1 움직임 패턴을 기초로 외부 구역에서의 공의 움직임을 확장하되, 장소 정보를 고려하여 외부 구역에서의 확장된 제2 움직임 패턴을 생성할 수 있다. 제2 움직임 패턴은 제1 움직임 패턴과 연결되며 소정의 구역을 벗어나 존재하는 가상의 외부 구역에서의 공의 움직임 정보를 말한다. 움직임은 이동 방향, 속도, 회전 등을 포함하는 의미일 수 있다. 이때, 움직임 패턴에 따라 이동하는 공은 실제 센싱된 공과 대응되는 시각적 효과 및 이미지를 가질 수 있다.
다른 실시예에서, 제2 움직임 패턴 생성부(223)는 실제 위켓 장치로부터 수신된 센싱 데이터를 기초로 제2 움직임 패턴을 생성할 수 있다. 실제 위켓 장치로부터 공의 충돌 이벤트가 수신된 경우, 충돌 이후의 공의 움직임 패턴은 생성되지 않도록 제어된다. 다른 실시예에서, 제2 움직임 패턴 생성부(223)는 가상으로 구현된 위켓 장치와의 충돌 여부가 판단된 경우, 충돌 이후의 공의 움직임 패턴을 생성하지 않을 수 있다.
진행 정보 생성부(224)는 제1 움직임 패턴 및 제2 움직임 패턴에 따른 가상 경기 진행 정보를 생성할 수 있다. 가상 경기 진행 정보는 제1 움직임 패턴 및 제2 움직임 패턴으로 움직이는 지정된 객체(공)을 시각적 또는 청각적으로 출력하는 신호를 포함할 수 있다.
진행 정보 생성부(224)는 사용자에 의해 제어되는 타격 장치와의 충돌 여부를 판단할 수 있다.
가상 경기 진행 정보는 실제 존재하는 객체들의 전부 또는 일부를 표현하는 이미지를 포함할 수 있으며, 실제 존재하는 객체들의 일부를 배제시키기도 한다. 가상 경기 진행 정보는 가상적으로 존재하는 객체들을 더 포함할 수 있다. 특히, 경기 종목에 따라서, 가상적으로 존재하는 가상 객체들은 달라질 수 있다. 가상의 크리켓 경기인 경우, 가상의 위켓 장치 또는 실제의 위켓 장치를 포함하는 가상 경기 진행 정보가 생성될 수 있다.
타격 장치와의 충돌이 판단 또는 감지된 경우, 진행 정보 생성부(224)는 제2 움직임 패턴에 따른 공의 이동 거리 또는 이동 시간을 산출하고, 이동 거리 또는 이동 시간에 따른 획득 점수를 결정할 수 있다. 이동 시간은 이동 거리 및 속도와의 관계를 기초로 역으로 계산될 수 있다.
다른 실시예에서, 진행 정보 생성부(224)는 움직이는 공이 가상의 객체인, 수비수와의 관계를 예측할 수 있다. 진행 정보 생성부(224)는 공이 가상의 수비수에 의해 캐치 여부를 판단할 수 있다. 판단 이후에, 획득 점수는 가상의 외부 구역에서의 움직이는 공이 가상의 수비수에 의해 캐치되는 경우에는 산출되지 않는다. 이때, 가상의 수비수는 대응되는 타사용자의 경기력 레벨로 설정되며, 타 사용자의 수비 범위, 반응 속도, 캐치 능력 등에 따른 경기력 레벨을 가질 수 있다. 즉, 가상의 수비수는 대응되는 수비 범위를 벗어나는 공을 캐치할 수 없고, 가상의 수비수는 대응되는 수비 범위에 포함되는 공을 캐치할 수 있다고 예측된다. 가상의 수비수에 의해 캐치 되지 않고, 타격 장치에 의해 타격된 경우, 진행 정보 생성부(224)는 사용자에 대해서 점수가 획득된 것으로 판단할 수 있다. 진행 정보 생성부(224)는 제2 움직임 패턴에 따른 공의 이동 거리 또는 이동 시간을 산출하고, 이동 거리 또는 이동 시간에 따른 획득 점수를 결정할 수 있다.
외부의 구역은 실제의 지역 또는 가상의 지역으로 구현될 수 있다. 외부의 구역은 실제의 지역의 현재 모습을 기반으로 생성된 입체 영상으로 표현될 수 있다.
제어 신호 생성부(225)는 가상 경기 진행 정보에 따른 획득 점수, 게임 진행 결과, 사용자의 총 득점 상황, 사용자 및 타 사용자의 경기력 레벨 등의 정보를 나타내는 출력 데이터를 생성하도록 구현된 제어 신호를 생성할 수 있다. 출력 데이터를 생성하도록 구현된 제어 신호는 등록 과정을 거친 다른 장치로 전달될 수 있다. 출력 데이터를 생성하도록 구현된 제어 신호는 소정의 구역 내에 설치된 출력 장치로 전달될 수 있다.
제어 신호 생성부(225)는 센싱 장치의 동작을 제어하는 제어 신호를 생성할 수 있다. 제어 신호 생성부(225)는 센싱 장치 외에도 피칭 장치, 출력 장치의 동작을 제어하는 제어 신호를 생성하여 각 장치로 전달할 수 있다.
본 발명의 실시예에 따른 제어 장치(200)는 실제적으로 존재하는 움직이는 공, 사용자, 사용자가 소지하는 타격 장치에 대한 센싱 데이터를 기초로 움직임 패턴을 생성하고, 실제 구역 및/또는 가상 구역 상에서 존재하는 가상의 객체들의 위치, 움직임 등을 고려하여 공의 움직임 패턴을 변경하여 생성할 수 있다. 이때 가상의 객체는 고정되기도 하지만, 고정되지 않고 움직임을 가질 수 있다. 가상의 객체의 움직임을 고려하여, 공의 움직임 패턴은 변경될 수 있다. 즉, 가상의 객체라고 하더라도 부피가 존재하기 때문에, 가상의 객체와 공은 충돌될 수 있으며, 공의 움직임은 실제와 달리 산출될 수도 있다.
도 4 내지 도 6은 정해진 구역 내에서의 상황에 따른 제어 장치의 동작을 설명하기 위한 도면이다.
도 4에 도시된 바와 같이, 사용자에 의해 제어되어 사용자의 의도된 움직임을 가지는 타격 장치(R-obj2)는 실제 객체로 구성되며, 타격 장치(R-obj2)의 위치, 움직임 등은 센싱 데이터를 통해서 구현될 수 있다. 제어 장치에 의해 생성되는 출력 데이터는 움직이는 공에 대해서 생성된 제1 움직임 패턴(R-obj11, R-obj12, R-obj13, R-obj14, R-obj15, R-obj16, R-obj17, R-obj18) 및 실제로 존재하고 움직이는 타격 장치(R-obj2)를 포함하게 된다. 움직이는 공은 임의의 시점에 대해서만 결정되는 것이 아닌, 복수의 센싱 데이터들로부터 연속적인 움직임을 가지도록 구현될 수 있다. 도 4와 같이, 실제적으로 존재하는 객체들의 움직임을 센싱하여, 객체들의 움직임들을 입체적으로 구현한 출력 데이터가 생성될 수 있다. 이는 센싱된 데이터와 부합하면서도, 센싱되지 않은 부분에 대해서는 추론, 예측을 위한 알고리즘을 이용하여 구현될 수 있다. 예를 들어, 초당 30프레임들을 촬영하는 센싱 장치를 이용하여, 초당 60프레임 정도로 출력되는 출력 데이터가 생성될 수 있다. 이때, 추가된 30 프레임의 화상 데이터는 별도의 화상 데이터에 대한 알고리즘을 이용할 수 있다.
도 5에 도시된 바와 같이, 실제 객체인 움직이는 공(R-obj4) 및 가상적으로 존재하는 위켓 장치(obj31, obj32, obj33) 및 가상의 수비수(obj5)를 포함하는 출력 데이터가 생성될 수 있다. 제어 장치에 의해 가상의 객체(obj31, obj32, obj33, obj5) 및 실제의 객체(R-obj4)이 합쳐진 출력 데이터가 생성될 수 있다.
제어 장치는 실제의 객체인 움직이는 공이 가상적으로 존재하는 객체와 상관없는 움직임을 가지는 경우에, 공의 움직임을 가상적으로 존재하는 위켓 장치의 위치, 크기 및 수비수의 움직임을 고려하여 변경할 수 있다.
가상의 객체인 수비수(obj5)는 실제 존재하는 타 사용자와 대응되며, 가상의 수비수의 움직임(순간 반응 속도, 수비 범위, 캐치 능력 등)은 실제 존재하는 타 사용자에 대해서 기 설정된 경기 능력 레벨에 따라서 상이하게 설정될 수 있다.
구체적으로, 실제의 객체(R-obj4)는 가상의 객체와 상관없는 움직임을 가지게 되는데, 즉, 실제의 객체(R-obj4)는 위켓 장치(obj31, obj32, obj33)과 지나가는 움직임을 가질 수 있다. 이때, 제어 장치는 가상의 객체와의 충돌 여부를 판단하고, 충돌된다고 판단된 경우, 가상의 위켓 장치(obj31, obj32, obj33)와 충돌되고, 충돌로 인해 이동 방향, 이동 속도가 변경되는 실제 객체(R-obj4)를 구현하게 된다.
도 6에 도시된 바와 같이, 제어 장치는 정해진 구역에 한정되는 실제의 움직이는 공의 움직임(R-obj61, R-obj62, R-obj63, R-obj64, R-obj65, R-obj66, R-obj67)에 대한 센싱 데이터를 수신할 수 있다. 제어 장치는 정해진 구역을 초과하여 존재하는 외부 구역에 대한 움직이는 공의 움직임(obj67)을 알고리즘에 따라 생성하고, 전체적인 움직임 패턴(R-obj61, R-obj62, R-obj63, R-obj64, R-obj65, R-obj66, obj67)으로 움직이는 공을 포함하는 출력 데이터를 생성할 수 있다. 센싱된 실제 공(R-obj67)과는 달리 구역 내에서의 움직임과 연속되는 움직임을 가지도록 가상의 공(obj67)이 생성될 수 있다.
도 7a 및 도 7b는 시뮬레이션 시스템에 의해 설정된 구역 및 외부 구역의 측면도, 사시도 이다.
시뮬레이션 시스템은 다각형의 형태를 가지는 실제 구역(R-area) 및 실제 구역(R-area)를 포함하는 가상의 외부 구역(V-area)에 대한 시각적 출력 데이터를 생성할 수 있다. 실제 객체인 공(R-obj7)은 실제 구역(R-area)에서 움직이게 되는데, 센싱된 데이터를 통해서 실제 구역(R-area) 내 에서의 움직임을 전체적으로 표현하고, 실제 구역(R-area)를 초과하여 존재하는 외부 구역(V-area)으로 공의 움직임을 확장하여 표현할 수 있다. 실제 구역(R-area)의 경계면과의 접촉 이후의 공의 움직임은 가상의 외부 구역(V-area)에 의해서 결정된다. 가상의 외부 구역(V-area)은 기 설정된 장소 정보(존재하는 실제 지역 또는 가상의 지역)에 따라서 상이하게 설정될 수 있다.
도 8은 본 발명의 실시예들에 따른 운동하는 볼에 대한 센싱 장치의 구조를 나타내는 블록도이다.
도 8에 도시된 바와 같이, 센싱 장치(100)은 센서부(110), 프레임 수신부(120), 움직임 추론부(130), 동영상 생성부(140), 저장부(150)를 포함할 수 있다.
센서부(110)는 정해진 영역을 센싱하는 기능을 수행한다. 예로써, 센서부(110)는 이미지 센서, 지자기 센서(Magnetic sensor), 가속도 센서(Acceleration sensor), 온/습도 센서, 적외선 센서, 자이로스코프 센서, 위치 센서(예컨대, GPS), 기압 센서, 근접 센서, 및 RGB 센서(illuminance sensor) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
센서부(110)는 정해진 영역을 촬영한 화상 프레임을 획득 및/또는 감지할 수 있다. 센서부(110)는 피칭 장치 및/또는 가상 위켓 영역을 포함하는 영역을 촬영한 화상 프레임을 센싱한다. 센서부(110)는 사용자에 의해 설정된 촬영 방향으로 정해진 영역을 촬영한 화상 프레임을 센싱한다. 센서부(110)는 이미지 센서 방식으로 구현될 수 있다. 센서부(110)는 피칭 장치에서, 정해진 타자 영역까지 도달하는 볼의 움직임을 감지할 수 있다. 센서부(110)는 타격된 볼이 바운드된 이후에도 볼의 움직임을 감지할 수 있다. 센서부(110)는 위켓 영역에 도달한 볼의 움직임이 감지된 경우, 움직임 센싱을 중지할 수 있다. 센서부(110)는 볼의 이동 속도 및 이동 방향은 어떠한지, 볼의 타격 여부, 볼의 타격 이후의 움직임 변화 등을 감지할 수 있다.
프레임 수신부(120)는 센서부(110)로부터 센싱 데이터를 수신한다. 프레임 수신부(120)는 이미지 센싱 방식으로 획득된 화상 프레임을 수신한다.
움직임 추론부(130)는 화상 프레임 세트를 분석하여, 운동하는 볼의 움직임을 추론할 수 있다. 움직임 추론부(130)는 운동하는 볼의 위치 변화 및 운동하는 볼의 크기 변화를 기초로 운동하는 볼의 3차원 움직임을 추론할 수 있다. 볼의 위치 변화는 화상 프레임 상에서의 2차원적인 위치 변화를 포함할 수 있다. 볼의 이동 방향은 촬영 방향과는 직교할 수 있다. 추가적으로 움직임 추론부(130)는 볼의 크기 변화를 기초로 제1 방향과 다른 제2 방향에서의 볼의 움직임을 결정할 수 있다. 볼의 크기 변화는 촬영 방향과 평행한 방향으로의 움직임을 통해 발생될 수 있다. 움직임 추론부(130)는 각 화상 프레임으로부터 측정된 볼의 크기(지름)를 입력 받고, 미리 설정된 볼의 크기에 따른 볼의 높이 값의 테이블을 이용하여 제2 방향에서의 볼의 움직임을 추론할 수 있다. 움직임 추론부(130)는 각 화상 프레임의 볼의 크기에 따른 위치 값을 산출하고, 시간 순서대로 위치 값들을 나열시켜 볼의 크기 변화를 추론한다. 볼의 크기에 따른 볼의 높이 값의 테이블은 제2 방향 상에서의 절대적 위치 값(높이 값)과 볼의 크기와 대응 시킨 것일 수 있다. 볼의 크기에 따른 위치 값의 테이블은 운동하는 볼의 위치 값을 실측하는 과정을 통해 획득될 수 있다. 이때, 볼의 크기에 따른 위치 값의 테이블은 제1 방향 상에서의 위치 값일 수 있으며, 제2 방향 상의 볼의 위치에 따라서 달라질 수 있다. 움직임은 이동 방향, 초기 위치, 최종 위치를 포함하는 개념이다.
동영상 생성부(140)는 추론된 운동하는 볼을 3차원적으로 표현한 동영상을 생성한다. 동영상 생성부(140)는 볼의 궤적에 대한 시뮬레이션 동영상을 생성할 수 있다. 이때, 피칭된 볼, 사용자, 위켓 영역은 실제 센싱된 이미지 외에 사용자에 의해 선택된 가상의 컨텐츠로 표현될 수 있다. 또한, 운동하는 볼은 가상의 컨텐츠 및 움직임을 시각적으로 표현한 컨텐츠로 표현될 수 있다.
저장부(150)는 센싱 장치의 구동에 관한 각종 정보를 저장하며, 가상의 경기장, 가상의 영상 구현을 위한 영상 데이터 등을 저장하도록 구성될 수 있다. 저장부(150)는 운동하는 볼의 3차원 움직임에 대한 영상 구현을 위한 데이터를 서버의 데이터베이스로부터 추출되어 수신할 수 있다. 저장부(150)는 가상의 경기 영상을 생성하기 위해서 사용자로부터 선택된 캐릭터를 사용자와 대응시켜 제공할 수 있다. 저장부(150)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
통신부(160)는 센싱 데이터 및 추론된 움직임과 관련된 데이터를 제어 장치(200) 또는 별개의 컴퓨팅 장치로 전송하는 기능을 수행한다. 통신부(160)는 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
도 9는 움직임 추론부(130)의 구조를 나타내는 블록도이다.
도 9에 도시된 바와 같이, 움직임 추론부(130)는 제1 움직임 추론부(131), 제2 움직임 추론부(132)를 포함할 수 있다.
제1 움직임 추론부(131)는 화상 프레임 내에서의 운동하는 볼의 위치 변화를 기초로 제1 방향과 대응되는 제1 움직임을 추론할 수 있다. 제1 움직임은 2차원적인 움직임으로서, 초기 좌표 성분 값들 및 최종 좌표 성분 값들을 포함할 수 있다. 좌표 성분 값들은 미리 설정된 기준점으로부터의 상대적 거리 값들로서, 운동하는 볼의 상대적인 위치 변화를 산출하는데 이용된다.
좀더 구체적으로 제1 움직임 추론부(131)는 화상 프레임 및 이전 화상 프레임에 포함된 운동하는 볼의 위치들을 비교하여 운동하는 볼의 2차원적인 움직임을 추론한다. 이때, 제1 움직임 추론부(131)는 촬영 방향과 직교하는 제1 방향 상의 움직임을 추론하게 된다. 제1 움직임 추론부(131)는 화상 프레임에 포함된 제1 방향으로의 운동하는 볼의 움직임을 추론할 수 있다. 제1 움직임 추론부(131)는 화상 프레임에 포함된 제1 볼 및 이전 화상 프레임에 포함된 제2 볼 사이의 간격으로 운동하는 볼의 이동 속도를 계산할 수 있다. 제1 볼 및 제2 볼 사이의 거리 값(distance)을 촬영된 프레임 레이트(frame rate)를 기초로 산출된 시간으로 나누면 운동하는 볼의 속도(velocity)가 산출될 수 있다.
제2 움직임 추론부(132)는 화상 프레임 내에서의 제2 방향과 대응되는제2 움직임을 추론한다. 제2 움직임은 제2 방향과 평행한 방향에 대한 위치 변화를 말한다. 즉, 제2 방향이 하늘에서 지면으로의 방향이라면, 제2 움직임은 지면으로부터의 높이 변화를 의미한다. 제1 움직임 및 제2 움직임의 이동 방향은 서로 직교할 수 있다. 제2 방향은 화상 프레임을 고려하여 촬영 방향과 평행하게 된다. 촬영 방향과 동일한 제2 방향 상의 움직임은 화상 프레임 내의 위치 변화를 야기하지 않으므로, 위치 변화가 아닌 크기 변화로 추론된다. 이때, 제2 움직임 추론부(132)는 볼의 크기 별 위치 값들을 포함하는 테이블을 이용할 수 있다. 예를 들어, 제1 지름 길이 값의 볼은 대응되는 제1 높이 값에 따라 기준 면에 대해서 제1 높이에 위치한다고 추론된다.
움직임 추론부(130)는 2차원적인 움직임 및 1차원적인 움직임을 모두 고려하여 운동하는 볼의 3차원적인 움직임을 추론한다. 움직임 추론부(130)는 추론된 제1 움직임에 따라 공을 제1 위치에서 제2 위치로 변화하고, 추론된 제2 움직임을 고려하여 제1 높이에서, 제2 높이로 높이가 변화하도록 운동하는 볼의 3차원 움직임을 추론할 수 있다.
동영상 생성부(140)는 움직임 추론부(130)로부터 추론된 3차원 움직임을 수신하고, 3차원 움직임을 가지도록 볼을 렌더링하여 동영상으로 생성한다.
도 10은 경기 흐름 제어부(220)의 구조를 나타내는 블록도이다.
도 10에 도시된 바와 같이, 경기 흐름 제어부(220)는 이미지 수신부(221), 동영상 수신부(222), 처리부(223), 결과 생성부(224)를 포함할 수 있다.
이미지 수신부(221)는 센싱 장치로부터 화상 프레임 세트를 수신한다.
동영상 수신부(222)는 센싱 장치로부터 렌더링된 3차원의 동영상 데이터를 수신한다.
처리부(223)는 화상 프레임 세트 및 3차원의 동영상 데이터를 검토하여 크리켓 경기의 흐름과 관련된 제어 데이터 및 경기 상황 데이터를 생성할 수 있다. 처리부(223)는 화상 프레임 세트 및 3차원의 동영상 데이터를 검토하여 피칭 관련 제어 데이터 및/또는 센싱 관련 제어 데이터를 생성한다.
결과 생성부(224)는 처리부(223)에 의해 생성된 제어 데이터를 반영하여 결과 데이터를 생성한다. 생성된 결과 데이터는 출력 제어부(240)로 전달되어 사용자 인터페이스의 생성에 이용될 수 있다. 출력 제어부(240)는 결과 데이터의 전부 또는 일부를 포함하는 컨텐츠를 생성할 수 있다. 출력 제어부(240)는 결과 데이터에 따른 이펙트 컨텐츠가 제공될 수 있도록 사용자 인터페이스를 생성한다.
처리부(223) 및 결과 생성부(224)에 의해 생성된 데이터는 별개의 컴퓨팅 장치로 전달될 수 있다. 크리켓 경기 결과 데이터, 화상 프레임 세트 및 3차원의 동영상 데이터는 별개의 컴퓨팅 장치 또는 출력 장치로 통신부(260)를 통해 전달될 수 있다. 크리켓 경기 결과 데이터, 화상 프레임 세트 및 3차원의 동영상 데이터는 시각적 또는 청각적으로 출력될 수 있도록 가공되어 컴퓨팅 장치 또는 출력 장치로 전달될 수 있다.
본 실시예에 따르면, 제어 장치(200)로부터 데이터를 수신 받기 위해서 컴퓨팅 장치 또는 출력 장치는 소정의 인증 절차를 수행해야 할 수 있다. 인증 절차가 수행된 컴퓨팅 장치 또는 출력 장치는 소정의 기간 동안 제어 장치(200)로부터 데이터를 수신 받을 수 있다.
본 실시예에 따른 제어 장치(200)는 센싱 장치(100), 출력 장치(300), 피칭 장치(500)의 동작을 제어하여 사용자에게 가상의 크리켓 경기를 하는 효과를 제공할 수 있다.
도 11는 처리부(223)의 구조를 나타내는 블록도이다.
도 11에 도시된 바와 같이, 처리부(223)는 타격 여부 판단부(2231), 위켓 타격 판단부(2232), 경기 흐름 발생부(2233)를 포함할 수 있다.
처리부(223)는 생성된 센싱 데이터를 데이터베이스로 전송되도록 제어한다. 처리부(223)는 데이터베이스에서 패턴 별 센싱 데이터를 구분하여 관리되도록 처리할 수 있다. 처리부(223)는 센싱 데이터를 사용자 별로 구분하여 관리할 수 있다. 처리부(223)는 센싱 데이터의 패턴을 데이터베이스(400)로 전달할 수 있다. 데이터베이스(400)는 센싱 데이터의 패턴을 사용자의 구분 없이 저장 관리할 수 있다. 데이터베이스(400)는 센싱 데이터의 패턴을 사용자 별로 구분하여, 사용자 별 타격 여부 판단에 활용할 수 있다.
타격 여부 판단부(2231)는 센싱 데이터에 포함된 라켓의 움직임 및/또는 운동하는 볼의 움직임을 기초로 볼의 타격 여부를 판단할 수 있다. 타격 여부 판단부(2231)는 운동하는 볼의 이동 방향, 이동 속도가 소정의 시점을 기준으로 급격하게 변화하는 이벤트를 검출하면, 이벤트와 대응시켜 볼이 타격되었다고 판단한다.
위켓 타격 판단부(2232)는 설정된 가상 위켓 영역이 차지하는 범위를 고려하여, 위켓 타격 여부를 판단할 수 있다. 위켓 타격 판단부(2232)는 가상 위켓 영역이 차지하는 범위에 속하는 볼의 크기, 움직임 등을 데이터베이스로부터 수신하고, 수신된 가상 위켓 영역과 관련된 데이터를 이용하여 위켓 타격 여부를 판단할 수 있다. 이때, 데이터베이스로부터 수신되는 데이터는 현재 경기에 참가하는 사용자로 한정될 수 있다. 현재 경기에 참가하는 사용자에 대한 누적 데이터가 존재하지 않는 것으로 판단되면, 사용자의 구분 없이 누적된 가상 위켓 영역과 관련된 데이터가 수신된다. 다른 실시예에서, 위켓 타격 판단부(2232)는 실제 위켓을 통해 위켓 타격 여부를 판단할 수 있다. 이때, 위켓 타격 판단부(2232)는 실제 위켓에 포함된 센서부를 통해 위켓 타격 여부를 판단할 수 있다.
바운드 판단부(2233)는 운동하는 볼의 크기를 기준으로 바운드 여부를 판단할 수 있다. 바운드 판단부(2233)는 볼의 크기가 기 설정된 바운드 지름과 일치하거나, 기 설정된 바운드 범위 내에 속하는 경우, 해당 시점에 볼이 바운드됐다고 판단할 수 있다. 바운드에 의해 볼의 움직임은 급격하게 변화될 수 있다.
타격 여부 판단부(2231), 위켓 타격 판단부(2232), 바운드 판단부(2233)는 운동하는 볼의 움직임을 통해 운동하는 볼의 특정 액션(action)에 대해서 결정할 수 있다. 볼의 특정 액션은 공중에서의 움직임 외에 소정의 범위를 초과하는 움직임 변화를 야기시키는 액션으로 한정될 수 있다. 예를 들어, 볼의 특정 액션은 볼의 이동 방향을 변화시키는 바운드, 타격, 충돌, 캐치(catch) 중 하나 일 수 있다. 볼의 특정 액션은 시뮬레이션 영상 생성에 이용될 수 있다.
흐름 데이터 생성부(2234)는 볼의 타격 여부, 위켓 타격 여부, 볼의 움직임 등을 종합적으로 분석하여 가상의 크리켓 경기의 흐름을 제어한다. 흐름 데이터 생성부(2234)는 경기 상황 데이터, 경기 제어 데이터 등을 생성한다.
도 12은 본 발명의 실시예에 따른 시뮬레이션 시스템(10)의 구조를 나타내는 블록도이다.
도 12에 도시된 바와 같이, 시뮬레이션 시스템(10)은 센싱 장치(100), 제어 장치(200), 출력 장치(300), 데이터베이스(400)를 포함할 수 있다. 시뮬레이션 시스템(10)은 센싱 장치(100), 제어 장치(200), 출력 장치(300), 데이터베이스(400)가 전기적으로 연결되거나 통신망을 통해 연결될 수 있다.
센싱 장치(100)는 피칭 장치에 의해 피칭된 볼의 움직임, 사용자의 움직임 등을 센싱한다. 센싱 장치(100)는 센싱 데이터를 제어 장치(200) 및/또는 데이터베이스(400)로 전송한다. 센싱 장치(100)는 운동하는 볼의 움직임을 추론할 수 있다. 센싱 장치(100)는 센싱 데이터의 패턴에 대한 데이터를 데이터베이스(400)로부터 수신하고, 수신된 데이터를 이용하여 운동하는 볼의 움직임을 추론할 수 있다. 센싱 장치(100)는 운동하는 볼의 3차원 움직임을 포함하는 동영상을 생성할 수 있다.
제어 장치(200)는 하나 이상의 프로세서를 구비하고 있어 설치된 프로그램을 실행시킬 수 있다. 제어 장치(200)는 크리켓 시뮬레이션 시스템(10)의 각 구성요소들을 제어하며 크리켓 시뮬레이션 영상 구현을 위한 각종 연산을 수행한다. 제어 장치(200)는 센싱 장치로부터 수신된 센싱 데이터를 이용하여 하나 이상의 사용자가 크리켓 경기를 할 수 있도록 제어하는 기능을 수행한다.
출력 장치(300)는 제어 장치(200)로부터 수신된 출력 데이터를 출력할 수 있다. 출력 장치(300)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display), 스크린 중에서 적어도 하나를 포함할 수 있다.
데이터베이스(400)는 센싱 장치(100), 제어 장치(200)에 의해 생성된 데이터를 수신하여 관리한다. 데이터베이스(400)는 센싱 데이터를 일정한 규칙에 따른 패턴으로 분류할 수 있다. 데이터베이스(400)는 출력 데이터의 생성에 필요한 다양한 컨텐츠를 저장 관리할 수 있다. 데이터베이스(400)는 센싱 장치(100), 제어 장치(200)로부터 계속적으로 데이터를 수신하고 수신된 데이터를 가공하여 저장 관리할 수 있다.
피칭 장치(500)는 제어 장치(200)로부터의 볼 발사 신호에 따라 볼을 발사시킬 수 있다. 볼 발사 신호는 볼의 발사 여부 및/또는 볼의 움직임에 대한 관련 데이터를 포함할 수 있다. 볼 발사 신호는 발사되어야 하는 볼의 개수 등을 포함할 수 있다. 볼 발사 신호는 볼의 초기 속도 및 방향에 대한 정보를 포함할 수 있다. 피칭 장치(500)는 관리자에 의해 프로그램된 경로에 따라 볼이 피칭되도록 제어할 수 있다. 피칭 장치(500)는 사용자 별로 다른 경로가 적용되도록 제어할 수 있다. 피칭 장치(500)는 팬-틸팅 구동이 가능하여 다양한 방향으로 볼을 피칭할 수 있고, 볼의 경로를 변화시킬 수 있는 별도의 휠을 이용하여 다양한 볼의 구질을 변화시킬 수도 있다.
도 12에는 도시되어 있지 않지만, 시뮬레이션 시스템(10)은 실제 위켓 장치를 더 포함할 수 있다. 실제 위켓 장치는 센서부, 통신부, 음향 출력부를 포함할 수 있다. 실제 위켓 장치는 타자 모드에서만 동작되도록 설정될 수 있다. 투수 모드에서는 실제 위켓 장치는 동작되지 않는다. 센서부는 실제 위켓 장치에 대한 터치 이벤트의 발생 여부를 센싱한다. 통신부는 실제 위켓 장치에 의해 센싱된 데이터를 제어 장치(100)로 전달한다. 음향 출력부는 실제 위켓 장치에 대한 터치 이벤트와 대응되는 청각적 데이터를 출력하는 기능을 제어한다. 음향 출력부는 터치 이벤트의 크기에 따른 청각적 데이터를 출력한다.
도 13 내지 도 14은 본 발명의 실시예들에 따른 동작 방법의 흐름도들이다.
도 13은 센싱 장치의 동작 방법을 중심으로 표현된 흐름도이며, 도 8은 제어 장치의 동작 방법을 중심으로 표현된 흐름도이다.
본 실시예에 따른 센싱 장치의 동작 방법은 센싱 데이터를 수신하는 단계(S110), 센싱 데이터를 기초로 운동하는 볼의 움직임을 추론하는 단계(S120), 추론된 볼의 움직임을 기초로 렌더링된 동영상을 생성하는 단계(S130)를 포함할 수 있다.
S110에서 센싱 장치는 정해진 영역을 촬영한 센싱 데이터를 수신할 수 있다. 센싱 데이터는 정해진 영역을 촬영한 화상 프레임을 포함할 수 있다. 센싱 데이터는 피칭 장치 및/또는 가상 위켓 영역을 포함하는 정해진 영역을 촬영한 화상 프레임을 포함할 수 있다. 정해진 영역을 촬영하기 위해 화상 프레임은 소정의 방향으로 촬영된 것일 수 있다. 센싱 데이터는 사용자 및/또는 관리자에 의해 설정된 촬영 방향, 정해진 영역을 촬영한 데이터일 수 있다.
S120에서 센싱 장치는 이미지 프레임 세트를 분석하여, 운동하는 볼의 움직임을 추론할 수 있다. 센싱 장치는 이미지 프레임 세트로부터 운동하는 볼의 위치 변화 및 운동하는 볼의 크기 변화를 산출할 수 있다. 센싱 장치는 운동하는 볼의 위치 변화 및 운동하는 볼의 크기 변화를 기초로 볼의 움직임을 입체적으로 추론할 수 있다.
이때, 센싱 장치는 이미지 프레임 상에서의 볼의 위치 변화를 결정할 수 있다. 촬영된 이미지 프레임은 정해진 제1 방향으로 정해진 영역을 촬영한 것일 수 있다.
추가적으로 센싱 장치는 제1 방향과 다른 제2 방향에서의 볼의 움직임을 결정할 수 있다. 센싱 장치는 이미지 프레임 상에서의 볼의 크기 변화를 기초로 제2 방향에서의 볼의 위치 변화를 추론할 수 있다. 제2 방향 상에서의 절대적 위치 값(높이 값)은 볼의 크기와 대응되어 미리 저장될 수 있다.
좀더 구체적으로, S120에서 센싱 장치는 이미지 프레임 내에서의 운동하는 볼의 2차원적인 움직임을 추론한다. 추론된 2차원적인 움직임은 초기 좌표 성분 값들 및 최종 좌표 성분 값들을 포함할 수 있다. 좌표 성분 값들은 미리 설정된 기준점으로부터의 상대적 거리 값들을 포함할 수 있다.
센싱 장치는 이미지 프레임 및 이전 이미지 프레임에 포함된 운동하는 볼의 위치들을 비교하여 운동하는 볼의 2차원적인 움직임을 추론한다. 운동하는 볼의 위치들은 이미지 프레임의 임의의 기준점으로부터의 좌표 성분들로 표현될 수 있다. 센싱 장치는 이미지 프레임에 포함된 제1 방향으로의 운동하는 볼의 움직임을 추론할 수 있다. 센싱 장치는 이미지 프레임에 포함된 제1 볼 및 이전 이미지 프레임에 포함된 제2 볼 사이의 간격으로 운동하는 볼의 이동 속도를 계산할 수 있다. 제1 볼 및 제2 볼 사이의 거리 값(distance)을 촬영된 프레임 레이트(frame rate)를 기초로 산출된 시간으로 나누면 운동하는 볼의 속도(velocity)가 산출될 수 있다.
센싱 장치는 이미지 프레임 내에서의 제2 방향으로의 운동하는 볼의 1차원적인 움직임을 추론한다. 여기서, 제2 방향은 제1 방향과 직각을 이루는 방향일 수 있다. 제2 방향 상의 움직임은 이미지 분석 기법으로는 추론되지 않을 수 있다.
센싱 장치는 원근법에 따라 이미지 프레임에 포함된 운동하는 볼의 크기를 분석하여, 운동하는 볼의 움직임을 추론할 수 있다. 센싱 장치는 운동하는 볼의 지름 길이 값을 기초로 운동하는 볼의 제2 방향에서의 위치 변화를 추론한다. 이때, 센싱 장치는 볼의 크기 별 위치 값들을 포함하는 테이블을 이용할 수 있다. 예를 들어, 제1 지름 길이 값의 볼은 대응되는 제1 높이 값에 따라 기준 면에 대해서 제1 높이에 위치한다고 추론된다.
센싱 장치는 2차원적인 움직임 및 1차원적인 움직임을 이용하여 3차원적인 움직임을 추론한다.
S130에서 센싱 장치는 추론된 운동하는 볼을 3차원적으로 표현한 동영상을 생성한다. 센싱 장치는 피칭 장치로부터 피칭된 볼, 사용자, 가상 위켓 영역과 대응되는 이미지들을 포함하는 동영상을 생성할 수 있다.
도 14에 도시된 바와 같이, 제어 장치의 동작 방법은 볼의 움직임을 기초로 렌더링된 동영상을 수신하는 단계(S210), 동영상 및 센싱 데이터를 고려하여 경기 제어 데이터를 생성하는 단계(S220), 경기 제어 데이터에 따른 피칭 장치 제어 데이터를 생성, 전달하고, 경기 제어 데이터에 따른 출력 데이터를 생성, 전달하는 단계(S230)를 포함할 수 있다.
S210에서 제어 장치는 제어 장치는 운동하는 볼의 움직임을 기초로 렌더링된 동영상 및 센싱 데이터(화상 프레임 세트)를 수신한다.
S220에서 제어 장치는 동영상 및 센싱 데이터를 고려하여 제어 데이터를 생성한다. 제어 장치는 수신된 화상 프레임 세트 및 동영상을 기초로 사용자의 동작을 예상하고, 예상된 사용자의 동작과 연계 시켜 센싱 장치를 제어하고, 피칭 장치를 제어하는 제어 데이터를 생성한다. S230에서 제어 장치는 제어 데이터에 따른 피칭 장치를 제어하는 제어 데이터를 생성, 출력 장치를 제어하는 제어 데이터를 생성하여 각 장치로 전송한다.
볼의 움직임이 완전히 소멸되고 볼의 움직임 이후에 제공되는 출력 데이터가 출력되는 경우, 제어 장치는 후속의 볼 발사가 필요하다고 판단하며, 볼 발사 신호를 포함하는 제어 데이터를 생성하고, 이를 피칭 장치로 전송한다.
운동하는 볼이 감지되고, 볼의 3차원 움직임에 대한 동영상이 생성되면, 제어 장치는 볼과 관련된 데이터, 동영상이 출력 장치를 통해 출력되도록 제어한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 센싱 장치 200: 제어 장치
300: 출력 장치 400: 데이터베이스
500: 피칭 장치

Claims (1)

  1. 제어 장치가 센싱 장치를 통해 소정의 구역 내의 하나 이상의 객체에 대한 데이터를 수신하는 단계;
    상기 제어 장치가 상기 수신된 데이터를 움직임에 대한 정보를 기초로 최초 움직임 패턴으로 변환하는 단계;
    상기 제어 장치가 상기 움직임 패턴 및 환경 정보 및 객체와의 충돌 여부, 접촉 여부 등을 종합적으로 판단하여 소정의 구역 내의 제1 움직임 패턴으로 분할하여 생성하는 단계;
    상기 제어 장치가 상기 움직임 패턴 및 상기 제1 움직임 패턴을 기초로 외부 구역에서의 상기 공의 움직임을 확장하되, 기 설정된 장소 정보 등을 고려하여, 상기 외부 구역에서의 확장된 제2 움직임 패턴으로 분할하여 생성하는 단계; 및
    상기 제어 장치가 상기 제1 움직임 패턴 및 제2 움직임 패턴에 따른 가상 경기 진행 정보를 생성하는 단계;를 포함하는, 가상의 크리켓 경기를 제어하는 방법.

KR1020190053247A 2019-05-07 2019-05-07 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램 KR20190055037A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190053247A KR20190055037A (ko) 2019-05-07 2019-05-07 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190053247A KR20190055037A (ko) 2019-05-07 2019-05-07 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170128292A Division KR101977964B1 (ko) 2017-09-19 2017-09-29 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20190055037A true KR20190055037A (ko) 2019-05-22

Family

ID=66679767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190053247A KR20190055037A (ko) 2019-05-07 2019-05-07 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20190055037A (ko)

Similar Documents

Publication Publication Date Title
JP7247350B2 (ja) 仮想環境においてマーク情報を生成する方法、装置、電子機器及びコンピュータプログラム
US11161041B2 (en) Virtual object control method and apparatus, electronic apparatus, and storage medium
JP7299312B2 (ja) 仮想シーン表示方法、電子デバイス及びコンピュータプログラム
KR102085440B1 (ko) 가상 현실 제어 시스템
JP2016539668A (ja) 拡張現実装置、方法およびプログラム
CN110732135B (zh) 虚拟场景显示方法、装置、电子设备及存储介质
WO2021258627A1 (zh) 角色攀爬方法、装置、计算机程序及计算机可读介质
KR102665665B1 (ko) 가상 환경 픽처를 디스플레이하는 방법 및 장치, 디바이스, 및 저장 매체
US9028311B2 (en) Target game incorporating strategy elements
EP3251732A1 (en) Server and dart game device for providing dart game in accordance with hitting area on basis of location of dart pin, and computer program
KR102231586B1 (ko) 상황대처훈련 시뮬레이터 및 그 시뮬레이터의 구동방법, 그리고 컴퓨터 판독가능 기록매체
WO2021244310A1 (zh) 虚拟场景中的虚拟对象控制方法、装置、设备及存储介质
CN112807681A (zh) 游戏控制方法、装置、电子设备及存储介质
TWI803147B (zh) 虛擬對象控制方法、裝置、設備、儲存媒體及程式産品
KR101977964B1 (ko) 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램
JP6064111B2 (ja) 打撃操作のためのユーザーインターフェースシステムと操作信号解析方法及びプログラム
JPWO2008016064A1 (ja) ゲーム装置、ゲーム装置におけるオブジェクトの表示方法及び表示プログラム
JP6832320B2 (ja) 拡張現実の技術を用いたコンテンツを提供するためのシステム、方法、及びプログラム
KR20190055037A (ko) 가상의 크리켓 경기를 제어하는 제어 장치, 제어 방법 및 컴퓨터 프로그램
KR101326869B1 (ko) 가상환경 제작을 지원하는 가상 골프 시뮬레이션 장치 및 그 방법
KR102006905B1 (ko) 운동하는 볼의 움직임을 추론하는 센싱 장치 및 센싱 방법
JP5155841B2 (ja) 得点可能性定量化装置及び得点可能性定量化プログラム
KR20190082174A (ko) 운동하는 볼의 움직임을 추론하는 센싱 장치 및 센싱 방법
KR102619792B1 (ko) 영상 정보를 활용한 격투기 인공지능 판정 시스템 및 방법
CN113663329B (zh) 虚拟角色的射击控制方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A107 Divisional application of patent