KR102520841B1 - 당구 시뮬레이션 장치 및 그 방법 - Google Patents
당구 시뮬레이션 장치 및 그 방법 Download PDFInfo
- Publication number
- KR102520841B1 KR102520841B1 KR1020220044332A KR20220044332A KR102520841B1 KR 102520841 B1 KR102520841 B1 KR 102520841B1 KR 1020220044332 A KR1020220044332 A KR 1020220044332A KR 20220044332 A KR20220044332 A KR 20220044332A KR 102520841 B1 KR102520841 B1 KR 102520841B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- cue
- billiard
- posture
- screen
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004088 simulation Methods 0.000 claims abstract description 86
- 230000009471 action Effects 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 32
- 230000033001 locomotion Effects 0.000 claims description 275
- 230000008859 change Effects 0.000 claims description 102
- 238000013473 artificial intelligence Methods 0.000 claims description 50
- 238000006073 displacement reaction Methods 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 238000010801 machine learning Methods 0.000 description 24
- 238000013135 deep learning Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 210000004247 hand Anatomy 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 238000005452 bending Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 210000002683 foot Anatomy 0.000 description 6
- 210000003127 knee Anatomy 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000005381 potential energy Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B71/00—Games or sports accessories not covered in groups A63B1/00 - A63B69/00
- A63B71/06—Indicating or scoring devices for games or players, or for other sports activities
- A63B71/0619—Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
- A63B71/0622—Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63D—BOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
- A63D15/00—Billiards, e.g. carom billiards or pocket billiards; Billiard tables
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2243/00—Specific ball sports not provided for in A63B2102/00 - A63B2102/38
- A63B2243/002—Billiards
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/24—Electric games; Games using electronic circuits not otherwise provided for
- A63F2009/2448—Output devices
- A63F2009/245—Output devices visual
- A63F2009/2457—Display screens, e.g. monitors, video displays
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F9/00—Games not otherwise provided for
- A63F9/24—Electric games; Games using electronic circuits not otherwise provided for
- A63F2009/2483—Other characteristics
- A63F2009/2488—Remotely playable
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Physical Education & Sports Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 당구 시뮬레이션 장치 및 그 방법을 개시한다. 즉, 본 발명은 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공함으로써, 실제 당구공 또는 당구공과 같은 충돌을 감지하기 위한 타격용 기구나 장치 없이도, 포켓 당구, 예술 당구, 캐롬 당구 등을 포함하는 다양한 당구 게임을 편리하게 진행하고, 사용자의 흥미 및 만족도를 높일 수 있다.
Description
본 발명은 당구 시뮬레이션 장치 및 그 방법에 관한 것으로서, 특히 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 지속적으로 사용자의 부분적인 움직임을 감지하고, 감지된 사용자의 움직임에 따른 변화량을 상기 아바타에 적용하여 표시하거나 또는 감지된 사용자의 움직임에 따른 변화량이 적용된 큐와 관련한 사용자 관련 영상을 표시하고, 사용자의 동작에 따라 수구를 조준하는 사용자와 관련한 영상을 당구 테이블에 적용하여 표시하고, 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등을 확인할 수 있도록 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블과 수구가 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공하는 당구 시뮬레이션 장치 및 그 방법에 관한 것이다.
당구는 우단을 깐 네모난 대 위에서 상아나 플라스틱으로 만든 붉은 공과 흰 공을 막대기 끝으로 쳐서 승부를 가리는 실내 오락이다.
IT 기술의 발달에 따라 당구 게임 프로그램이 다양하게 개발되어 PC 또는 스마트폰 앱으로도 제공되고 있고, 네트워크를 통하여 원격지에서도 가상 공간을 통하여 게임을 할 수 있도록 구성되기도 한다.
이런 게임류는 모두 수구의 타격을 키보드, 마우스 등으로 타격량을 설정한 입력을 하도록 구성되므로, 실제의 당구 게임으로 체감하는 시뮬레이션에는 많이 부족한 점이 있다.
본 발명의 목적은 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 지속적으로 사용자의 부분적인 움직임을 감지하고, 감지된 사용자의 움직임에 따른 변화량을 상기 아바타에 적용하여 표시하거나 또는 감지된 사용자의 움직임에 따른 변화량이 적용된 큐와 관련한 사용자 관련 영상을 표시하고, 사용자의 동작에 따라 수구를 조준하는 사용자와 관련한 영상을 당구 테이블에 적용하여 표시하고, 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등을 확인할 수 있도록 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블과 수구가 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공하는 당구 시뮬레이션 장치 및 그 방법을 제공하는 데 있다.
본 발명의 실시예에 따른 당구 시뮬레이션 방법은 미리 설정된 이벤트가 발생할 때, 하나 이상의 카메라부에 의해, 각 카메라부가 위치한 영역과 관련해서, 사용자의 신체의 움직임, 각 관절의 움직임 및 사용자가 들고 있는 큐의 움직임을 포함하는 하나 이상의 영상 정보를 획득하는 단계; 제어부에 의해, 상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계; 및 상기 제어부에 의해, 당구 테이블이 표시되는 화면을 표시부에 표시하는 단계를 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계는, 상기 획득된 하나 이상의 영상 정보를 미리 설정된 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능을 수행하는 과정; 및 상기 인공 지능 수행 과정에 따른 인공 지능 수행 결과인 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 확인하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 큐의 변화 정보를 분석하는 단계는, 사용자가 큐를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션에 따른 상태, 큐 없이 상기 제어부를 포함하는 당구 시뮬레이션 장치의 모션 센싱에 따른 상태 및, 큐 없이 상기 당구 시뮬레이션 장치에 대한 미리 설정된 터치 센싱이 감지되는 상태 중 적어도 하나의 상태에서, 사용자의 팔 또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위 및 깊이 중 적어도 하나의 변화 정보를 분석할 수 있다.
본 발명과 관련된 일 예로서 상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계는, 상기 획득된 하나 이상의 영상 정보 내의 객체인 사용자 및 큐에 대한 이미지 프로세싱을 통해 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이, 상기 사용자의 자세 및, 상기 큐의 변화 정보를 확인할 수 있다.
본 발명과 관련된 일 예로서 상기 당구 테이블이 표시되는 화면을 표시하는 단계는, 상기 분석된 사용자의 얼굴, 체격 및 신장과 관련한 아바타를 생성하는 과정; 및 상기 생성된 아바타 및 큐를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 당구 테이블이 표시되는 화면을 표시하는 단계는, 상기 획득된 하나 이상의 영상 정보를 근거로 상기 영상 정보에 포함된 사용자의 큐를 잡고 있는 자세 관련 이미지를 추출하는 과정; 및 상기 추출된 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하는 과정을 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 당구 테이블이 표시되는 화면을 표시하는 단계는, 상기 분석된 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이 및, 상기 사용자의 자세를 고려하여, 사용자 시점에서의 화면으로 구성하거나 또는, 당구 테이블의 다른 방향에서의 시점을 제공하기 위해 당구 테이블 주변으로 시점이 변경되는 화면으로 구성할 수 있다.
본 발명과 관련된 일 예로서 상기 제어부에 의해, 상기 화면에 당구 테이블이 표시되는 지속적으로 상기 하나 이상의 카메라부를 통해 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지하는 단계; 상기 제어부에 의해, 상기 감지된 사용자의 부분적인 움직임을 상기 화면 내의 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지에 적용하는 단계; 및 상기 제어부에 의해, 상기 사용자의 부분적인 움직임이 적용된 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 표시부 내의 화면에 업데이트하여 표시하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 제어부에 의해, 상기 하나 이상의 카메라부를 통해 시간 변화에 따른 사용자의 부분적인 움직임을 감지하는 단계; 및 상기 감지된 사용자의 부분적인 움직임이 미리 설정된 수구를 조준하는 행동에 해당할 때, 상기 제어부에 의해, 상기 수구를 조준하는 사용자와 관련한 영상을 상기 표시부에 내의 화면에 업데이트하여 표시하는 단계를 더 포함할 수 있다.
본 발명과 관련된 일 예로서 상기 수구를 조준하는 사용자와 관련한 영상은, 상기 하나 이상의 카메라부를 통해 추가 획득되는 영상 정보에서 감지된 사용자 동작에 따라 상기 영상 정보를 근거로 생성된 아바타 또는 상기 영상 정보로부터 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용 중인 이전 화면에서 상기 수구를 중심으로 상기 당구 테이블에 위치하는 모든 당구공을 확인할 수 있도록 전방위로 이동하는 영상이거나, 시계 방향 또는 반시계 방향 또는 위/아래 방향으로 돌면서 상기 수구를 바라보는 영상일 수 있다.
본 발명과 관련된 일 예로서 상기 하나 이상의 카메라부를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임이 상기 사용자의 스트로크에 따라 상기 사용자와 관련한 수구에 대한 타격 행동에 해당할 때, 상기 제어부에 의해, 상기 타격 행동에 따라 당구 테이블에 표시되는 수구와 하나 이상의 적구에 대한 당구 시뮬레이션 과정을 수행하는 단계; 및 상기 제어부에 의해, 상기 당구 시뮬레이션 과정 수행에 따른 정보를 상기 표시부에 표시하는 단계를 더 포함할 수 있다.
본 발명의 실시예에 따른 당구 시뮬레이션 장치는 미리 설정된 이벤트가 발생할 때, 각 카메라부가 위치한 영역과 관련해서, 사용자의 신체의 움직임, 각 관절의 움직임 및 사용자가 들고 있는 큐의 움직임을 포함하는 하나 이상의 영상 정보를 획득하는 하나 이상의 카메라부; 및 상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하고, 당구 테이블이 표시되는 화면을 표시부에 표시하는 제어부를 포함할 수 있다.
본 발명은 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 지속적으로 사용자의 부분적인 움직임을 감지하고, 감지된 사용자의 움직임에 따른 변화량을 상기 아바타에 적용하여 표시하거나 또는 감지된 사용자의 움직임에 따른 변화량이 적용된 큐와 관련한 사용자 관련 영상을 표시하고, 사용자의 동작에 따라 수구를 조준하는 사용자와 관련한 영상을 당구 테이블에 적용하여 표시하고, 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등을 확인할 수 있도록 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블과 수구가 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공함으로써, 실제 당구공 또는 당구공과 같은 충돌을 감지하기 위한 타격용 기구나 장치 없이도, 포켓 당구, 예술 당구, 캐롬 당구 등을 포함하는 다양한 당구 게임을 편리하게 진행하고, 사용자의 흥미 및 만족도를 높일 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 당구 시뮬레이션 장치의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 당구 시뮬레이션 방법을 나타낸 흐름도이다.
도 3 내지 도 5는 본 발명의 실시예에 따른 당구 시뮬레이션 장치의 화면 예를 나타낸 도이다.
도 2는 본 발명의 실시예에 따른 당구 시뮬레이션 방법을 나타낸 흐름도이다.
도 3 내지 도 5는 본 발명의 실시예에 따른 당구 시뮬레이션 장치의 화면 예를 나타낸 도이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 본 발명의 실시예에 따른 당구 시뮬레이션 장치(100)의 구성을 나타낸 블록도이다.
도 1에 도시한 바와 같이, 당구 시뮬레이션 장치(100)는 카메라부(110), 통신부(120), 저장부(130), 표시부(140), 음성 출력부(150) 및 제어부(160)로 구성된다. 도 1에 도시된 당구 시뮬레이션 장치(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 당구 시뮬레이션 장치(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 당구 시뮬레이션 장치(100)가 구현될 수도 있다.
상기 당구 시뮬레이션 장치(100)는 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.
상기 카메라부(또는 촬영부)(110)는 임의의 사용자가 위치하게 될 공간(또는 영역)을 커버하도록 해당 공간 주변의 측면(또는 벽면), 천장, 바닥 등의 일측에 배치(또는 구성/형성)한다.
또한, 상기 카메라부(110)는 상기 공간 내에 위치하는 사용자의 전면, 후면, 측면, 하면, 상면 등을 포함하는 전면을 촬영할 수 있도록 하나 이상의 이미지 센서(카메라 모듈 또는 카메라)로 구성한다. 이때, 상기 카메라부(110)는 360도 전방향에 대한 영상 정보를 획득할 수 있는 스테레오 카메라, 깊이 카메라 등으로 구성할 수도 있다.
또한, 미리 설정된 이벤트가 발생하는 경우, 상기 하나 이상의 카메라부(110)는 상기 제어부(160)의 제어에 의해, 해당 카메라부(110)가 위치한 영역(또는 해당 카메라부(110)의 방향에 따른 커버리지 영역)과 관련해서, 사용자의 신체의 움직임 및/또는 각 관절의 움직임(또는 사용자의 신체 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화), 사용자가 들고 있는 큐의 움직임(또는 큐의 변화) 등을 포함하는 하나 이상의 영상 정보를 획득(또는 촬영)한다. 여기서, 상기 미리 설정된 이벤트는 사용자 발화에 의한 음성 정보가 미리 설정된 키워드(예를 들어 시작, 당구 게임 등 포함)를 포함하는 경우, 표시부(140)에 표시되는 미리 설정된 시작 메뉴가 선택되는 경우, 센서부(미도시)를 통해 객체의 움직임이 감지(또는 측정/검출)되는 경우, 대기 상태에서 상기 카메라부(110)를 통해 실시간 또는 미리 설정된 시간 간격으로 획득되는 영상 정보 내에서 객체가 검출되는 경우, 사용자가 들고 있는 큐에 부착된 다른 센서부(미도시)를 통해 미리 설정된 움직임이 감지되는 경우 등을 포함한다. 또한, 상기 각 관절의 움직임에 따른 사용자의 신체 표면 변화는 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 관절의 움직임에 따른 위상, 각도, 속도, 변위, 깊이(depth) 등을 포함한다. 또한, 상기 사용자가 들고 있는 큐의 움직임(또는 큐의 변화)은 해당 큐를 들고 있는 사용자의 팔 및/또는 손의 움직임에 따른 사용자가 들고 있는 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 여기서, 상기 큐의 움직임(또는 큐의 변화)은 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 팔 및/또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 또한, 상기 미리 설정된 움직임은 큐를 미리 설정된 방향(예를 들어 좌/우 방향, 상/하 방향, 대각선 방향 등 포함)으로 일정 횟수(예를 들어 2회) 이상 흔드는(또는 움직이는) 경우, 큐를 미리 설정된 시계/반시계 방향으로 일정 횟수 이상 회전하는(또는 움직이는) 경우 등을 포함한다. 이때, 상기 하나 이상의 영상 정보는 해당 사용자의 정면, 측면, 후면, 하면, 상면 등에서 해당 사용자의 신체의 움직임 및/또는 관절의 움직임, 사용자가 들고 있는 큐의 움직임 등을 촬영한 영상 정보일 수 있다.
즉, 상기 하나 이상의 카메라부(110)는 영상 통화 모드, 촬영 모드, 영상회의 모드 등에서 이미지 센서(카메라 모듈 또는 카메라)에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 즉, 코덱(CODEC)에 따라 상기 이미지 센서에 의해 얻어지는 해당 화상 데이터들을 각 규격에 맞도록 인코딩/디코딩한다. 일 예로, 상기 카메라부(110)는 객체(또는 피사체)를 촬영하고, 그 촬영된 영상(피사체 영상)에 대응하는 비디오 신호를 출력한다.
또한, 상기 카메라부(110)에서 처리된 화상 프레임(또는 영상 정보)은 디지털 비디오 레코더(Digital video recorder: DVR)에 저장되거나, 상기 저장부(130)에 저장되거나, 상기 통신부(120)를 통해 외부 서버 등에 전송될 수 있다.
또한, 상기 카메라부(110)는 프리뷰 항목(또는 뷰파인더 항목)에 표시되는 영상(또는 영상 정보)을 획득(또는 촬영)한다.
상기 통신부(120)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 서버(미도시), 단말(미도시) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 상기 통신부(120)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.
또한, 상기 통신부(120)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.
또한, 상기 통신부(120)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 상기 서버, 상기 단말 등과 무선 신호를 송수신한다.
또한, 상기 통신부(120)는 상기 제어부(160)의 제어에 의해, 특정 사용자와 관련해서 획득되는 영상 정보, 타격 행동에 따른 당구 시뮬레이션 기능 결과 등을 상기 서버, 상기 단말 등에 전송한다.
상기 저장부(130)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.
또한, 상기 저장부(130)는 상기 당구 시뮬레이션 장치(100)가 동작하는데 필요한 데이터와 프로그램 등을 저장한다.
즉, 상기 저장부(130)는 상기 당구 시뮬레이션 장치(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 당구 시뮬레이션 장치(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 당구 시뮬레이션 장치(100)의 기본적인 기능을 위하여 출고 당시부터 당구 시뮬레이션 장치(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(130)에 저장되고, 당구 시뮬레이션 장치(100)에 설치되어, 제어부(160)에 의하여 상기 당구 시뮬레이션 장치(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
또한, 상기 저장부(130)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 당구 시뮬레이션 장치(100)는 인터넷(internet)상에서 저장부(130)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.
또한, 상기 저장부(130)는 상기 제어부(160)의 제어에 의해 상기 카메라부(110)를 통해 획득되는 특정 사용자와 관련해서 획득되는 영상(또는 영상 정보), 타격 행동에 따른 당구 시뮬레이션 기능 결과 등을 저장한다.
상기 표시부(또는 디스플레이부)(140)는 상기 제어부(160)의 제어에 의해 상기 저장부(130)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(140)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(140)는 터치 스크린 일 수 있다.
또한, 상기 표시부(140)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode), 빔프로젝터, 고글형 VR, 홀로그램 중에서 적어도 하나를 포함할 수 있다.
또한, 상기 표시부(140)는 상기 제어부(160)의 제어에 의해 뷰파인더 화면을 통해 상기 카메라부(110)에 의해 획득되는 영상 정보를 표시한다.
또한, 상기 표시부(140)는 상기 제어부(160)의 제어에 의해 상기 카메라부(110)를 통해 획득되는 특정 사용자와 관련해서 획득되는 영상(또는 영상 정보), 타격 행동에 따른 당구 시뮬레이션 기능 결과 등을 표시한다.
상기 음성 출력부(150)는 상기 제어부(160)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 음성 출력부(150)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.
또한, 상기 음성 출력부(150)는 상기 제어부(160)에 의해 생성된 안내 음성을 출력한다.
또한, 상기 음성 출력부(150)는 상기 제어부(160)의 제어에 의해 상기 카메라부(110)를 통해 특정 사용자와 관련해서 획득되는 영상(또는 영상 정보), 타격 행동에 따른 당구 시뮬레이션 기능 결과 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.
상기 제어부(controller, 또는 MCU(microcontroller unit)(160)는 상기 당구 시뮬레이션 장치(100)의 전반적인 제어 기능을 실행한다.
또한, 상기 제어부(160)는 상기 저장부(130)에 저장된 프로그램 및 데이터를 이용하여 당구 시뮬레이션 장치(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(160)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(130)에 액세스하여, 상기 저장부(130)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(130)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.
또한, 미리 설정된 이벤트가 발생하는 경우, 제어부(160)는 하나 이상의 카메라부(110)를 통해 해당 카메라부(110)가 위치한 영역(또는 해당 카메라부(110)의 방향에 따른 커버리지 영역)과 관련해서, 사용자의 신체의 움직임 및/또는 각 관절의 움직임(또는 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화), 사용자가 들고 있는 큐의 움직임(또는 큐의 변화) 등을 포함하는 하나 이상의 영상 정보를 획득(또는 촬영)한다. 여기서, 상기 미리 설정된 이벤트는 사용자 발화에 의한 음성 정보가 미리 설정된 키워드(예를 들어 시작, 당구 게임 등 포함)를 포함하는 경우, 표시부(140)에 표시되는 미리 설정된 시작 메뉴가 선택되는 경우, 센서부(미도시)를 통해 객체의 움직임이 감지(또는 측정/검출)되는 경우, 대기 상태에서 상기 카메라부(110)를 통해 실시간 또는 미리 설정된 시간 간격으로 획득되는 영상 정보 내에서 객체가 검출되는 경우, 사용자가 들고 있는 큐에 부착된 다른 센서부(미도시)를 통해 미리 설정된 움직임이 감지되는 경우 등을 포함한다. 또한, 상기 각 관절의 움직임에 따른 사용자의 신체 표면 변화는 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 관절의 움직임에 따른 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 또한, 상기 사용자가 들고 있는 큐의 움직임(또는 큐의 변화)은 해당 큐를 들고 있는 사용자의 팔 및/또는 손의 움직임에 따른 사용자가 들고 있는 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 여기서, 상기 큐의 움직임(또는 큐의 변화)은 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 팔 및/또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 또한, 상기 미리 설정된 움직임은 큐를 미리 설정된 방향(예를 들어 좌/우 방향, 상/하 방향, 대각선 방향 등 포함)으로 일정 횟수(예를 들어 2회) 이상 흔드는(또는 움직이는) 경우, 큐를 미리 설정된 시계/반시계 방향으로 일정 횟수 이상 회전하는(또는 움직이는) 경우 등을 포함한다. 이때, 상기 하나 이상의 영상 정보는 해당 사용자의 정면, 측면, 후면, 하면, 상면 등에서 해당 사용자의 신체의 움직임 및/또는 관절의 움직임, 사용자가 들고 있는 큐의 움직임 등을 촬영한 영상 정보일 수 있다.
또한, 상기 미리 설정된 이벤트가 발생하는 경우, 상기 제어부(160)는 상기 카메라부(110) 이외에 라이다, 레이더 등을 통해서도 사용자(또는 경기자)의 행위를 측정할 수도 있다.
또한, 상기 미리 설정된 이벤트가 발생하는 경우, 상기 제어부(160)는 해당 사용자가 들고 있는 큐에 미리 설정된 9축 모션 센서(미도시)를 장착하여, 해당 사용자의 움직임에 따른 정보들을 측정할 수도 있다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 근거로 해당 사용자의 얼굴, 체격, 신장, 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세, 큐의 변화 정보(또는 큐의 움직임 정보) 등을 분석(또는 확인/판단/산출/측정/추정)한다. 여기서, 상기 사용자의 자세는 다리 위치, 무릎의 구부림 정도(또는 지면에 대해 수직 방향을 기준으로 무릎의 구부림 각도/정도), 허리 구부림 정도(또는 지면에 대해 수직 방향을 기준으로 허리의 구부림 각도/정도), 양손(또는 양팔)의 위치(또는 지면으로부터의 양손/양팔의 위치), 큐를 잡고 있는 양손의 위치와 방향, 큐를 잡고 있는 손의 브릿지 자세(또는 브릿지 정보/큐 없는 상태에서의 한 손의 브릿지 자세), 어깨와 팔꿈치 간의 위치, 팔꿈치와 손목 간의 위치와 각도, 손의 모양과 자세 등을 포함한다. 여기서, 상기 큐의 변화 정보(또는 큐의 움직임 정보)는 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 팔 및/또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등의 변화 정보를 포함한다.
즉, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 미리 설정된 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 얼굴, 체격, 신장 등을 측정(또는 확인/추정)한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 얼굴, 체격, 신장, 사용자의 관절 형태, 사용자의 관절의 움직임 형태 등을 포함하는 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보)를 확인한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 시선 방향(예를 들어 미리 설정된 기준점을 기준으로 해당 사용자의 시선이 향하는 방향, 각도 등 포함)과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등을 확인한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 사용자의 동작에 따라 변화하는 큐의 변화 정보(또는 큐의 움직임 정보) 등을 확인한다.
즉, 상기 제어부(160)는 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 팔 및/또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등의 변화 정보를 포함하는 큐의 변화 정보를 분석한다.
이와 같이, 상기 제어부(160)는 상기 획득된 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델에 입력하고, 상기 포즈 추정 모델에 의해 출력된 결과값(또는 인공 지능 수행 결과)에 따라 해당 사용자의 얼굴, 체격, 신장, 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세, 큐의 변화 정보(또는 큐의 움직임 정보) 등을 분석(또는 확인/판단/산출/측정/추정)할 수 있다.
본 발명의 실시예에서는 상기 하나 이상의 영상 정보 내의 객체인 사용자 및/또는 큐에 대한 인공 지능을 통해 해당 사용자의 얼굴, 체격, 신장, 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈 높이, 사용자의 자세, 큐의 변화 정보 등을 확인하는 것을 주로 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 제어부(160)는 해당 하나 이상의 영상 정보 내의 객체인 사용자, 큐 등에 대한 이미지 프로세싱을 통해 해당 사용자의 얼굴, 체격, 신장, 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈 높이, 사용자의 자세, 큐의 변화 정보 등을 확인할 수도 있다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 근거로 해당 영상 정보에 포함된 사용자의 큐를 잡고 있는 자세 관련 이미지를 추출한다. 여기서, 상기 사용자의 큐를 잡고 있는 자세 관련 이미지(또는 해당 영상 정보에 포함된 사용자의 신체 일부 및/또는 큐와 관련한 이미지)는 2D 이미지 또는 3D 이미지일 수 있고, 해당 사용자가 들고 있는 큐와 해당 큐를 들고 있는 사용자의 신체 일부(예를 들어 손, 팔 등 포함)를 포함하며, 왼손 또는 오른손으로 브릿지를 한 상태를 포함한다.
즉, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 확인(또는 추출)한다.
본 발명의 실시예에서는 상기 하나 이상의 영상 정보 내의 객체인 사용자 및/또는 큐에 대한 인공 지능을 통해 상기 사용자의 큐를 잡고 있는 자세 관련 이미지 등을 추출(또는 확인)하는 것을 주로 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 제어부(160)는 해당 하나 이상의 영상 정보 내의 객체인 사용자 및 큐에 대한 이미지 프로세싱을 통해 해당 사용자의 큐를 잡고 있는 자세 관련 이미지를 확인(또는 추출)할 수도 있다.
또한, 상기 제어부(160)는 상기 분석된(또는 확인된/판단된/산출된/측정된/추정된) 사용자의 얼굴, 체격, 신장 등과 관련한 아바타를 생성한다. 이때, 상기 제어부(160)는 미리 설정된 아바타를 이용하거나 또는, 저장부(130)에 미리 저장된 복수의 아바타 중에서 사용자 선택에 따른 아바타를 이용하거나 또는, 상기 획득된 영상 정보 내에서 인식된 사용자를 이용해서 실시간으로 생성되는 아바타(또는 이모지)를 이용할 수도 있다.
또한, 상기 제어부(160)는 상기 생성된 아바타를 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시한다. 여기서, 상기 제어부(160)는 상기 생성된 아바타와 함께 상기 분석된(또는 확인된/판단된/산출된/측정된/추정된) 큐의 변화에 대응하는 큐 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시할 수도 있다. 이때, 상기 당구 테이블에 적용되어 표시되는 상기 아바타의 자세는 상기 분석된 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 해당 사용자의 눈높이, 해당 사용자의 자세 등이 함께 적용된 상태(또는 상기 당구 테이블의 표시 각도가 상기 시선 방향(또는 시선 각도와 방향)으로 변화되어 적용되는 상태)일 수 있다. 또한, 상기 당구 테이블에 적용되어 표시되는 상기 아바타는 3인칭 시각에서 해당 당구 테이블을 바라볼 수 있거나 또는, 1인칭 시각에서 해당 아바타의 측/후방에서 해당 당구 테이블을 바라볼 수도 있다. 특히, 1인칭 시각으로 해당 아바타의 측/후방에서 상기 당구 테이블을 바라보는 경우에, 상기 아바타는 실루엣만 흐리게 보이거나, 사용자의 시선에서 보일 수 있는 신체와 신체 표면(또는 시선에서 보이는 팔과 손 그리고 들고 있어서 앞으로 보이는 큐)의 일부만을 당구 테이블과 병합하여 표시할 수 있다. 또한, 상기 당구 테이블이 표시되는 화면(또는 사용자 시점 화면)은 가상 현실, 증강 현실, 혼합 현실, 메타버스 등의 형태로 구성할 수 있고, 모드 종류(예를 들어 혼자 연습하기 모드, 실전 모드 등 포함), 당구 게임 종류 등에 따라 하나 이상의 수구, 하나 이상의 적구 등이 표시될 수 있다. 여기서, 상기 당구 게임 종류는 사용자 설정에 따라 변경(또는 수정)될 수 있으며, 포켓 당구(예를 들어 에잇볼, 나인볼, 텐볼, 스누커 등 포함), 예술 당구(예를 들어 예술구, 예술풀 등 포함), 캐롬 당구(carom billiards)(예를 들어 3구, 4구, 식스볼 등 포함) 등을 포함한다. 또한, 상기 당구 테이블이 표시되는 화면(또는 사용자 시점 화면)은 상기 분석된 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 해당 사용자의 눈높이 및, 상기 사용자의 자세를 고려하여, 사용자 시점에서의 화면으로 구성하거나 또는, 당구 테이블의 다른 방향에서의 시점을 제공하기 위해 당구 테이블 주변으로 시점이 변경되는 화면으로 변경되어 적용되는 것을 포함한다.
예를 들어, 4구 당구 게임인 경우, 서로 다른 색상의 복수의 수구(예를 들어 흰색 수구, 노란색 수구 등 포함), 제 1 적구, 제 2 적구, 상기 생성된 아바타, 상기 큐(또는 큐대) 등이 상기 당구 테이블에 적용되어 표시될 수 있다.
다른 예를 들어, 3구 당구 게임인 경우, 서로 다른 색상의 복수의 수구(예를 들어 흰색 수구, 노란색 수구 등 포함), 제 1 적구, 상기 생성된 아바타, 상기 큐 등이 상기 당구 테이블에 적용되어 표시될 수 있다.
또한, 상기 제어부(160)는 상기 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 상기 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지의 크기를 상기 당구 테이블의 크기에 맞도록 조정한 후, 크기가 조정된 해당 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시할 수 있다.
즉, 상기 제어부(160)는 시뮬레이터 상의 수구에 사용자의 브릿지된 큐가 접근하는 모습의 혼합현실 영상을 상기 표시부(140)에 표시할 수 있다. 이때, 상기 제어부(160)는 상기 혼합현실 영상을 사실감 있게 정확히 구현하기 위해서, 수구의 위치를 가정하는 미리 설정된 기구(미도시)를 사용할 수 있다.
예를 들어, 사용자가 있는 실세계에 당구공이 그려진 판 또는 큐의 스트로크 연습기(미도시)와 같은 것을 구성(또는 배치)하고, 시뮬레이터 상의 수구의 지점으로 특정할 수 있다.
이와 같이, 상기 제어부(160)는 상기 당구 테이블이 표시되는 화면에 상기 생성된 아바타 또는 상기 추출된 자세 관련 이미지(또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지)를 적용하여 표시할 수 있다.
또한, 상기 제어부(160)는 상기 당구 테이블에 포함되는 하나 이상의 수구와 하나 이상의 적구에 대해서 해당 사용자와 관련한 수구를 이용해서 하나 이상의 적구에 대한 이동 방향(또는 진행 방향) 등을 고려하여, 정확하게 해당 수구를 타격할 수 있도록 해당 수구와 적구의 위치에 따른 가이드 라인을 생성하고, 상기 생성된 가이드 라인을 점선, 실선 등의 형태로 상기 아바타가 적용된 화면 상의 일측에 추가로 표시할 수도 있다. 여기서, 상기 가이드 라인(또는 가이드 라인 정보)은 당점 위치, 타격 세기, 수구 타격에 따른 수구와 적구의 이동 방향 등을 포함한다.
또한, 상기 제어부(160)는 상기 화면(또는 상기 사용자 시점 화면)에 상기 아바타 또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용되어 표시되는 지속적으로(또는 상기 당구 테이블을 포함하는 화면이 표시되는 이후 시점부터) 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지한다.
즉, 상기 제어부(160)는 상기 화면(또는 상기 사용자 시점 화면)에 상기 아바타 또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용되어 표시되는 지속적으로(또는 상기 당구 테이블을 포함하는 화면이 표시되는 이후 시점부터) 상기 하나 이상의 카메라부(110)를 통해 실시간으로 추가 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 추가 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 추가 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지(또는 확인/측정/추정)한다.
이때, 상기 제어부(160)는 사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단(또는 상기 사용자의 부분적임 움직임이 상기 저장부(130)에 미리 저장된 기준 큐 브릿지 자세 이미지와의 미리 설정된 기준값 이상의 일치율을 나타내는지 여부를 판단)하고, 수구를 바라보는 시각의 근거리 위치에 스트로크하려는 아바타(또는 큐를 든 아바타)를 표시한다.
또한, 상기 제어부(160)는 상기 감지된 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)을 상기 화면 내의 아바타 또는 상기 화면 내의 사용자의 큐를 잡고 있는 자세 관련 이미지에 적용하고, 해당 사용자의 부분적인 움직임이 적용된 아바타 또는 해당 사용자의 부분적인 움직임이 적용된 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 표시부(140)의 내의 화면에 표시(또는 업데이트하여 표시)한다. 이때, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 확인할 수 있도록 실시간으로 사용자가 큐를 움직이는 것을 상기 아바타를 통하여 시뮬레이터 상의 상기 화면에 동기화되도록 표시한다. 이로써 사용자는 시뮬레이터 상의 수구의 당점과, 큐 방향과 각도 등이 변경되는 것을 확인하면서 큐 스트로크의 예비 동작과 샷을 할 수 있게 된다. 더불어 상기 제어부(160)는 하나 이상의 추가 정보(예를 들어 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등 포함)를 상기 당구 테이블이 표시되고 있는 화면의 일측에 표시할 수 있다. 이때, 상기 제어부(160)는 상기 큐의 변화 정보 등을 근거로 상기 화면에 표시되는 수구에 해당 큐의 변화 정보를 적용(또는 반영)하여, 현재 사용자의 자세 및 큐의 상태에 따른 당점의 위치를 점선, 포인트 등의 형태로 상기 화면(또는 상기 시뮬레이터) 상에 표시할 수 있다.
한편, 상기 제어부(160)는 사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단(또는 상기 사용자의 부분적임 움직임이 상기 저장부(130)에 미리 저장된 기준 큐 브릿지 자세 이미지와의 미리 설정된 기준값 이상의 일치율을 나타내는지 여부를 판단)하고, 특정한 지점(예를 들어 실제 사용자 앞에 놓인 당구공)과 수구를 위치 동기화하여 스트로크하려는 사용자의 시선에서 보이는 큐 브릿지된 실제 영상을 시뮬레이터 상에 중첩하여 혼합 현실로 표시할 수 있다.
이때, 상기 제어부(160)는 상기 감지된 사용자의 부분적인 움직임을 상기 카메라부(110)에서 획득한 현실 영상에서 사용자의 신체와 신체 표면(예를 들어 팔과 브릿지한 손)만을 취하며, 배경을 제외하여 상기 표시부(140) 내의 시뮬레이터 화면에 혼합하여 표시(또는 업데이트하여 표시)한다. 여기서, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 추가로 감지한다.
또한, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 미리 설정된 수구를 조준하는 행동에 해당하는 경우, 상기 제어부(160)는 해당 수구를 조준하는 사용자와 관련한 영상을 상기 표시부(140)에 표시한다. 여기서, 상기 수구를 조준하는 사용자와 관련한 영상(또는 수구 조준 영상)은 상기 추가 획득된 하나 이상의 영상 정보에서 감지된 사용자 동작에 따라 상기 아바타 또는 상기 자세 관련 이미지가 적용 중인 화면(또는 이전 화면)에서 상기 수구(또는 상기 당구 테이블)를 중심으로 상기 당구 테이블에 위치하는 모든 당구공(예를 들어 수구, 적구 등 포함)을 확인할 수 있도록 전방위(예를 들어 상, 하, 좌, 우, 대각선 등 포함)로 이동하는 영상이거나, 시계 방향 또는 반시계 방향 또는 위/아래 방향으로 돌면서 상기 수구를 바라보는 영상(또는 화면/파노라마 화면)일 수 있다. 이때, 상기 사용자 동작은 손, 발, 머리 등을 시계/반시계 방향으로 회전(또는 돌림/이동)하는 경우, 손, 발 등을 드는(또는 움직이는/흔드는) 경우 등을 포함한다. 또한, 상기 수구(또는 상기 당구 테이블)를 중심으로 360도 회전한 경우, 상기 제어부(160)는 상기 이전 화면을 상기 표시부(140)에 표시한다. 또한, 상기 수구(또는 상기 당구 테이블)를 중심으로 돌면서 해당 수구(또는 상기 당구 테이블)를 바라보는 영상이 표시 중인 상태에서 미리 설정된 사용자 동작(예를 들어 손/발을 일정 횟수 이상 흔드는 경우, 주먹을 쥐는 경우 등 포함)이 감지되는 경우, 상기 제어부(160)는 상기 수구를 조준하는 사용자와 관련한 영상의 표시를 중단(또는 중지)하고, 상기 이전 화면을 상기 표시부(140)에 표시한다.
즉, 상기 감지된 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 해당 사용자와 관련한 수구(예를 들어 3구의 경우, 노란색 당구공 또는 흰색 당구공)를 조준하는 행동에 해당하는 경우, 상기 제어부(160)는 해당 사용자의 수구를 조준하는 행동에 대해서, 사용자가 해당 수구를 중심으로 다양한 각도에서 수구 및 적구의 위치를 확인할 수 있도록 1인칭 시각 또는 3인칭 시각으로, 상기 수구를 조준하는 사용자와 관련한 영상(또는 상기 수구 조준 영상)을 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 확인할 수 있도록 실시간으로 사용자가 상기 수구를 조준하는 행동(또는 상기 사용자가 상기 수구를 바라보는 행동)을 상기 아바타 또는 해당 사용자의 큐를 잡고 있는 자세 관련 이미지를 통하여 시뮬레이터 상의 상기 화면에 동기화되도록 표시한다. 이로써 사용자는 시뮬레이터 상의 수구의 당점과, 큐 방향과 각도 등이 변경되는 것을 확인하면서 큐 스트로크의 예비 동작과 샷을 할 수 있게 된다.
당구 경기에 있어서, 타격 전 브릿지 상태(또는 어드레스 상태)에서 정확한 스트로크를 하기 위해서 예비 동작을 수행하게 되는데, 이러한 예비 동작은 정확한 스트로크를 하기 위해 많은 연습 훈련을 통해 숙련화한다.
본 발명의 증강 현실 등을 구성하는 시뮬레이터의 사용자의 행동이 입력값으로 적용되어, 상기 표시부(140) 및/또는 상기 음성 출력부(150)를 통해 출력되는 상태(예를 들어 화면, 음향 등 포함)를 사용자가 인식하게 되어, 연속적인 행동(예를 들어 스트로크 동작 등 포함)을 바르게 할 수 있는 상태를 유도할 수 있다.
또한, 상기 하나 이상의 카메라부(110)를 통해 추가 획득되는 영상 정보에서 미리 설정된 다른 이벤트가 발생(또는 감지/확인)하는 경우, 상기 제어부(160)는 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등이 적용된 화면(또는 사용자의 눈높이, 시선 등이 적용된 당구 테이블과 관련한 화면/사용자 중심의 사용자/1인칭 시점의 화면) 대신 해당 사용자에 대응하는 아바타, 상기 당구 테이블 등을 포함한 전체 화면으로 화면 전환하여, 상기 전체 화면을 상기 표시부(140)에 표시한다. 여기서, 상기 다른 이벤트는 사용자 발화에 의한 음성 정보가 미리 설정된 다른 키워드(예를 들어 전체 화면, 이전 화면 등 포함)를 포함하는 경우, 상기 표시부(140)에 표시되는 미리 설정된 전체 화면 메뉴(또는 이전 화면 메뉴)가 선택되는 경우, 사용자의 팔 및/또는 손가락의 상/하 방향이나 좌/우 방향이나 대각선 방향으로의 일정 횟수 이상의 움직임이 감지되는 경우, 사용자의 팔 및/또는 손가락의 시계/반시계 방향으로의 일정 횟수의 이상의 회전이 감지되는 경우 등을 포함한다. 또한, 상기 전체 화면은 해당 아바타, 상기 사용자의 큐를 잡고 있는 자세 관련 이미지, 상기 당구 테이블 등을 포함하며, 천장에서 해당 당구 테이블을 바라본 상태의 화면, 상기 측정되는 사용자의 신장을 근거로 해당 사용자가 똑바로 선 상태에서 해당 사용자의 현재 위치에서 해당 당구 테이블을 바라본 상태의 화면, 상기 측정되는 사용자의 신장, 사용자의 자세 등을 근거로 해당 사용자의 자세에 대응하는 현재 위치에서 해당 당구 테이블을 바라본 상태의 화면 등을 포함한다.
또한, 상기 제어부(160)는 상기 당구 테이블에 포함되는 하나 이상의 수구와 하나 이상의 적구에 대해서 해당 사용자와 관련한 수구를 이용해서 하나 이상의 적구에 대한 이동 방향(또는 진행 방향) 등을 고려하여, 정확하게 해당 수구를 타격할 수 있도록 해당 수구와 적구의 위치에 따른 가이드 라인을 생성하고, 상기 생성된 가이드 라인을 점선, 실선 등의 형태로 상기 전체 화면 상의 일측에 추가로 표시할 수도 있다. 여기서, 상기 가이드 라인(또는 가이드 라인 정보)은 당점 위치, 타격 세기, 수구 타격에 따른 수구와 적구의 이동 방향 등을 포함한다.
또한, 상기 전체 화면이 표시되고 있는 상태에서 상기 다른 이벤트가 추가로 발생(또는 감지/확인)하는 경우, 상기 제어부(160)는 상기 전체 화면 대신 이전 화면(또는 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등이 적용된 화면/사용자의 눈높이, 시선 등이 적용된 당구 테이블과 관련한 화면/사용자 중심의 사용자/1인칭 시점의 화면)으로 화면 전환하여 상기 표시부(140)에 표시한다.
또한, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 해당 사용자의 스트로크에 따라 상기 아바타가 브릿지하고 있는 큐(또는 큐 일단에 구성된 큐의 팁) 또는 실제 사용자가 브릿지하고 있는 혼합 현실 영상(또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 포함하는 상기 화면) 내의 큐가 해당 사용자와 관련한 수구와 접촉하여 수구에 대한 타격 행동에 해당하는 경우, 상기 제어부(160)는 해당 타격 행동에 따라 당구 테이블에 표시되는 수구(또는 해당 사용자와 관련한 수구)와 하나 이상의 적구에 대한 당구 시뮬레이션 과정을 수행한다. 이때, 상기 제어부(160)는 상기 타격 행동에 따라 상기 수구를 큐로 치는 순간에 미리 설정된 음향 정보(예를 들어 수구와 적구가 부딪히는 소리)를 음성 출력부(150)를 통해 출력할 수 있다. 여기서, 상기 제어부(160)는 상기 사용자의 타격 행동에 따라 해당 수구에 대한 당점을 고려하여 상기 수구에 대해서 일반치기, 밀어치기, 끌어치기, 찍어치기(또는 세워치기) 등의 기능을 적용할 수 있다. 이때, 상기 당구 시뮬레이션 과정은 실제 당구 게임을 진행하듯이, 상기 타격 행동에 따라 수구의 당점, 타격 세기, 타격 방향 등에 따른 수구, 적구 등의 작용/반작용, 가속도 법칙, 관성 법칙 등에 의한 운동 과정을 포함한다.
즉, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 미리 설정된 타격 행동에 해당하는 경우, 상기 제어부(160)는 해당 사용자의 스트로크에 따른 타격 행동에 대해서, 시간 변화에 따른 해당 사용자의 각 관절의 움직임, 큐의 변화 등을 근거로 해당 사용자의 각 관절의 역학적인 요소, 큐의 역학적인 요소 등을 산출(또는 측정)한다. 여기서, 상기 사용자의 각 관절의 움직임(또는 각 관절의 구간별 운동 형태/각 관절의 움직임에 따른 사용자의 신체 표면 변화)은 시간 변화에 따른 각 관절의 위상, 각도, 속도, 변위, 깊이 등의 정보를 포함한다. 또한, 상기 각 관절의 역학적인 요소는 운동량, 충격량, 토크, 관성 모멘트, 구심력, 일, 일률, 운동 에너지, 위치 에너지, 각 운동량, 구심 가속도 등을 포함한다. 또한, 상기 큐의 변화(또는 큐의 움직임)는 시간 변화에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등의 정보를 포함한다. 또한, 큐의 역학적인 요소(또는 큐의 변화에 따른 역학적인 요소)는 운동량, 충격량, 토크, 관성 모멘트, 구심력, 일, 일률, 운동 에너지, 위치 에너지, 각 운동량, 구심 가속도 등을 포함한다.
또한, 상기 제어부(160)는 상기 산출된(또는 측정된) 해당 사용자의 각 관절의 역학적인 요소, 상기 큐의 역학적인 요소 등을 근거로 타격 행동에 따른 수구에 가해진 힘의 세기(또는 수구의 세기/강도)를 산출(또는 계산)한다.
또한, 상기 제어부(160)는 상기 산출된 수구에 가해진 힘의 세기, 상기 타격 행동에 따른 수구에 대한 당점 등을 근거로 하나 이상의 적구(또는 상기 수구가 겨냥하는 적구)에 대한 당구 시뮬레이션 과정을 수행한다.
또한, 상기 제어부(160)는 상기 당구 시뮬레이션 과정 수행에 따른 정보(또는 당구 시뮬레이션 수행 과정 정보)를 실시간으로 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 상기 사용자의 타격 행동에 따라 상기 수구에 대한 타격이 시도되는 경우, 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등이 적용된 화면(또는 사용자의 눈높이, 시선 등이 적용된 당구 테이블과 관련한 화면/사용자 중심의 사용자/1인칭 시점의 화면) 대신 미리 설정된 형식의 천장에서 해당 당구 테이블을 바라본 상태의 전체 화면으로 전환하여, 상기 수구에 대한 타격에 따라 해당 수구, 하나 이상의 적구의 이동(또는 움직임) 상태를 전체 화면으로 상기 표시부(140)에 표시할 수 있다.
이와 같이, 상기 당구 시뮬레이션 장치(100)는 실제 경기의 도구들(예를 들어 큐 등 포함) 외에 별도의 기구(예를 들어 마우스, 키보드, 터치패드, 조이스틱, 당구공 등 포함)를 사용하지 않고, 영상 정보에 대해 인공 지능을 통한 분석에 의해 사용자의 행동과 운동 기구(또는 큐)의 움직임을 감지하고, 사용자의 행위에 따른 가상 환경(또는 시뮬레이터/혼합 환경)을 제공하여, 사용자의 인식이 가상 환경 내의 아바타로 몰입되어 실체적 동기화를 이루게 함으로써, 시뮬레이터에 제공되어야 하는 경기 행위에 관한 물리 입력값이 실제 행위와 같게 이뤄지도록 구성할 수 있다.
본 발명의 실시예에서는 1인이 수행하는 당구 게임에 대해서 주로 설명하고 있으나, 이에 한정되는 것은 아니며, 상기 제어부(160)는 복수의 사용자가 당구 게임을 진행하는 경우, 상기 획득되는 하나 이상의 영상 정보를 근거로 복수의 사용자 각각을 구분(또는 분류/분별)하고, 상기 구분된 복수의 사용자 각각에 대해서 당구 시뮬레이션 과정을 수행할 수도 있다. 이때, 상기 제어부(160)는 상기 획득되는 하나 이상의 영상 정보를 근거로 복수의 사용자에 대한 얼굴 인식 기능, 복장(또는 의류) 색상 구분/분류 기능 등을 수행하여, 각각의 사용자를 구분할 수 있다.
이와 같이, 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 지속적으로 사용자의 부분적인 움직임을 감지하고, 감지된 사용자의 움직임에 따른 변화량을 상기 아바타에 적용하여 표시하거나 또는 감지된 사용자의 움직임에 따른 변화량이 적용된 큐와 관련한 사용자 관련 영상을 표시하고, 사용자의 동작에 따라 수구를 조준하는 사용자와 관련한 영상을 당구 테이블에 적용하여 표시하고, 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등을 확인할 수 있도록 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블과 수구가 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공할 수 있다.
이하에서는, 본 발명에 따른 당구 시뮬레이션 방법을 도 1 내지 도 5를 참조하여 상세히 설명한다.
도 2는 본 발명의 실시예에 따른 당구 시뮬레이션 방법을 나타낸 흐름도이다.
먼저, 미리 설정된 이벤트가 발생하는 경우, 제어부(160)는 하나 이상의 카메라부(110)를 통해 해당 카메라부(110)가 위치한 영역(또는 해당 카메라부(110)의 방향에 따른 커버리지 영역)과 관련해서, 사용자의 신체의 움직임 및/또는 각 관절의 움직임(또는 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화), 사용자가 들고 있는 큐의 움직임(또는 큐의 변화) 등을 포함하는 하나 이상의 영상 정보를 획득(또는 촬영)한다. 여기서, 상기 미리 설정된 이벤트는 사용자 발화에 의한 음성 정보가 미리 설정된 키워드(예를 들어 시작, 당구 게임 등 포함)를 포함하는 경우, 표시부(140)에 표시되는 미리 설정된 시작 메뉴가 선택되는 경우, 센서부(미도시)를 통해 객체의 움직임이 감지(또는 측정/검출)되는 경우, 대기 상태에서 상기 카메라부(110)를 통해 실시간 또는 미리 설정된 시간 간격으로 획득되는 영상 정보 내에서 객체가 검출되는 경우, 사용자가 들고 있는 큐에 부착된 다른 센서부(미도시)를 통해 미리 설정된 움직임이 감지되는 경우 등을 포함한다. 또한, 상기 각 관절의 움직임에 따른 사용자의 신체 표면 변화는 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 관절의 움직임에 따른 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 또한, 상기 사용자가 들고 있는 큐의 움직임(또는 큐의 변화)은 해당 큐를 들고 있는 사용자의 팔 및/또는 손의 움직임에 따른 사용자가 들고 있는 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 여기서, 상기 큐의 움직임(또는 큐의 변화)은 사용자가 큐(또는 큐대)를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부(예를 들어 9축 모션 센서 등 포함)(미도시)를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션(또는 동작)에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)의 모션 센싱에 따른 상태, 큐 없이 당구 시뮬레이션 장치(100)에 대한 미리 설정된 터치 센싱이 감지되는 상태 등에서, 해당 사용자의 팔 및/또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등을 포함한다. 또한, 상기 미리 설정된 움직임은 큐를 미리 설정된 방향(예를 들어 좌/우 방향, 상/하 방향, 대각선 방향 등 포함)으로 일정 횟수(예를 들어 2회) 이상 흔드는(또는 움직이는) 경우, 큐를 미리 설정된 시계/반시계 방향으로 일정 횟수 이상 회전하는(또는 움직이는) 경우 등을 포함한다. 이때, 상기 하나 이상의 영상 정보는 해당 사용자의 정면, 측면, 후면, 하면, 상면 등에서 해당 사용자의 신체의 움직임 및/또는 관절의 움직임, 사용자가 들고 있는 큐의 움직임 등을 촬영한 영상 정보일 수 있다.
일 예로, 제 1 제어부(160)는 제 1 사용자 발화에 따른 제 1 키워드(예를 들어 시작)를 포함하는 제 1 음성 정보를 마이크(미도시)를 통해 수신하고, 상기 제 1 음성 정보에 대한 음성 인식 기능을 수행하여, 상기 제 1 음성 정보에 포함된 음성을 텍스트(또는 텍스트 스크립트)로 변환하고, 상기 변환된 텍스트에 대해 자연어 처리를 수행하여 상기 제 1 키워드를 추출하고, 상기 추출된 제 1 키워드가 미리 설정된 키워드에 해당할 때, 제 1 사용자의 정면에서 해당 제 1 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화와, 해당 제 1 사용자가 들고 있는 제 1 큐의 변화 등을 포함하는 제 1 영상 정보를 획득하고, 좌측면에서 해당 제 1 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화와, 해당 제 1 사용자가 들고 있는 제 1 큐의 변화 등을 포함하는 제 2 영상 정보를 획득하고, 우측면에서 해당 제 1 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화와, 해당 제 1 사용자가 들고 있는 제 1 큐의 변화 등을 포함하는 제 3 영상 정보를 획득하고, 후면에서 해당 제 1 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화와, 해당 제 1 사용자가 들고 있는 제 1 큐의 변화 등을 포함하는 제 4 영상 정보를 획득하고, 상면에서 해당 제 1 사용자의 신체의 움직임 및/또는 각 관절의 움직임에 따른 사용자의 신체 표면 변화와, 해당 제 1 사용자가 들고 있는 제 1 큐의 변화 등을 포함하는 제 5 영상 정보를 획득한다(S210).
이후, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 근거로 해당 사용자의 얼굴, 체격, 신장, 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세, 큐의 변화 정보(또는 큐의 움직임 정보) 등을 분석(또는 확인/판단/산출/측정/추정)한다. 여기서, 상기 사용자의 자세는 다리 위치, 무릎의 구부림 정도(또는 지면에 대해 수직 방향을 기준으로 무릎의 구부림 각도/정도), 허리 구부림 정도(또는 지면에 대해 수직 방향을 기준으로 허리의 구부림 각도/정도), 양손(또는 양팔)의 위치(또는 지면으로부터의 양손/양팔의 위치), 큐를 잡고 있는 양손의 위치와 방향, 큐를 잡고 있는 손의 브릿지 자세(또는 브릿지 정보/큐 없는 상태에서의 한 손의 브릿지 자세), 어깨와 팔꿈치 간의 위치, 팔꿈치와 손목 간의 위치와 각도, 손의 모양과 자세 등을 포함한다.
즉, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 미리 설정된 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 얼굴, 체격, 신장 등을 측정(또는 확인/추정)한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 얼굴, 체격, 신장, 사용자의 관절 형태, 사용자의 관절의 움직임 형태 등을 포함하는 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보)를 확인한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 해당 사용자의 시선 방향(예를 들어 미리 설정된 기준점을 기준으로 해당 사용자의 시선이 향하는 방향, 각도 등 포함)과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등을 확인한다.
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 사용자의 동작에 따라 변화하는 큐의 변화 정보(또는 큐의 움직임 정보) 등을 확인한다.
일 예로, 상기 제 1 제어부는 상기 획득된 제 1 영상 정보 내지 제 5 영상 정보를 근거로 상기 미리 설정된 인공지능 기반 포즈 추정 모델을 이용해서 인공지능을 수행하여, 해당 제 1 영상 정보 내지 제 5 영상 정보에 포함된 제 1 사용자와 관련한 제 1 얼굴, 제 1 체격, 제 1 신장, 제 1 사용자의 관절의 움직임 정보, 제 1 사용자의 시선 방향과 시선 높이, 지면으로부터의 제 1 사용자의 눈높이, 제 1 사용자의 자세, 제 1 사용자가 들고 있는 제 1 큐의 변화 정보 등을 확인한다(S220).
또한, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 근거로 해당 영상 정보에 포함된 사용자의 큐를 잡고 있는 자세 관련 이미지를 추출한다. 여기서, 상기 사용자의 큐를 잡고 있는 자세 관련 이미지(또는 해당 영상 정보에 포함된 사용자의 신체 일부 및/또는 큐와 관련한 이미지)는 2D 이미지 또는 3D 이미지일 수 있고, 해당 사용자가 들고 있는 큐와 해당 큐를 들고 있는 사용자의 신체 일부(예를 들어 손, 팔 등 포함)를 포함하며, 왼손 또는 오른손으로 브릿지를 한 상태를 포함한다.
즉, 상기 제어부(160)는 상기 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 확인(또는 추출)한다.
일 예로, 상기 제 1 제어부는 상기 획득된 제 1 영상 정보 내지 제 5 영상 정보를 근거로 상기 인공지능 기반 포즈 추정 모델을 이용해서 인공지능을 수행하여, 해당 제 1 영상 정보 내지 제 5 영상 정보에 포함된 상기 제 1 사용자가 제 1 큐를 오른손으로 들고 있고, 왼손으로 브릿지를 한 상태의 제 1-1 이미지 내지 제 1-5 이미지를 각각 추출하고, 상기 추출된 제 1-1 이미지 내지 제 1-5 이미지를 병합하여 3D 형태의 제 1 이미지를 생성한다(S230).
이후, 상기 제어부(160)는 상기 분석된(또는 확인된/판단된/산출된/측정된/추정된) 사용자의 얼굴, 체격, 신장 등과 관련한 아바타를 생성한다. 이때, 상기 제어부(160)는 미리 설정된 아바타를 이용하거나 또는, 저장부(130)에 미리 저장된 복수의 아바타 중에서 사용자 선택에 따른 아바타를 이용하거나 또는, 상기 획득된 영상 정보 내에서 인식된 사용자를 이용해서 실시간으로 생성되는 아바타(또는 이모지)를 이용할 수도 있다.
또한, 상기 제어부(160)는 상기 생성된 아바타를 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시한다. 여기서, 상기 제어부(160)는 상기 생성된 아바타와 함께 상기 분석된(또는 확인된/판단된/산출된/측정된/추정된) 큐의 변화에 대응하는 큐 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시할 수도 있다. 이때, 상기 당구 테이블에 적용되어 표시되는 상기 아바타의 자세는 상기 분석된 해당 사용자의 관절의 움직임 정보(또는 신체 관절의 정보), 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 해당 사용자의 눈높이, 해당 사용자의 자세 등이 함께 적용된 상태(또는 상기 당구 테이블의 표시 각도가 상기 시선 방향(또는 시선 각도와 방향)으로 변화되어 적용되는 상태)일 수 있다. 또한, 상기 당구 테이블에 적용되어 표시되는 상기 아바타는 3인칭 시각에서 해당 당구 테이블을 바라볼 수 있거나 또는, 1인칭 시각에서 해당 아바타의 측/후방에서 해당 당구 테이블을 바라볼 수도 있다. 특히, 1인칭 시각으로 해당 아바타의 측/후방에서 상기 당구 테이블을 바라보는 경우에, 상기 아바타는 실루엣만 흐리게 보이거나, 사용자의 시선에서 보일 수 있는 신체와 신체 표면(또는 시선에서 보이는 팔과 손 그리고 들고 있어서 앞으로 보이는 큐)의 일부만을 당구 테이블과 병합하여 표시할 수 있다. 또한, 상기 당구 테이블이 표시되는 화면(또는 사용자 시점 화면)은 가상 현실, 증강 현실, 혼합 현실, 메타버스 등의 형태로 구성할 수 있고, 모드 종류(예를 들어 혼자 연습하기 모드, 실전 모드 등 포함), 당구 게임 종류 등에 따라 하나 이상의 수구, 하나 이상의 적구 등이 표시될 수 있다. 여기서, 상기 당구 게임 종류는 사용자 설정에 따라 변경(또는 수정)될 수 있으며, 포켓 당구(예를 들어 에잇볼, 나인볼, 텐볼, 스누커 등 포함), 예술 당구(예를 들어 예술구, 예술풀 등 포함), 캐롬 당구(carom billiards)(예를 들어 3구, 4구, 식스볼 등 포함) 등을 포함한다. 또한, 상기 당구 테이블이 표시되는 화면(또는 사용자 시점 화면)은 상기 분석된 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 해당 사용자의 눈높이 및, 상기 사용자의 자세를 고려하여, 사용자 시점에서의 화면으로 구성하거나 또는, 당구 테이블의 다른 방향에서의 시점을 제공하기 위해 당구 테이블 주변으로 시점이 변경되는 화면으로 변경되어 적용되는 것을 포함한다.
또한, 상기 제어부(160)는 상기 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 상기 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지의 크기를 상기 당구 테이블의 크기에 맞도록 조정한 후, 크기가 조정된 해당 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 상기 표시부(140)에 표시할 수 있다.
일 예로, 도 3에 도시된 바와 같이, 상기 제 1 제어부는 미리 설정된 3구 당구 게임에 따라, 상기 분석된 제 1 사용자의 관절의 움직임 정보, 제 1 사용자의 시선 방향과 시선 높이, 지면으로부터의 제 1 사용자의 눈높이, 제 1 사용자의 자세 등을 상기 추출된 상기 제 1 사용자가 제 1 큐를 왼손으로 들고 있고, 오른손으로 브릿지를 한 상태의 제 1 이미지에 적용하여, 해당 제 1 사용자의 현재 자세 및 시선 방향과 시선 높이에 따라 당구 테이블 내의 해당 제 1 사용자와 관련한 제 1 수구를 바라보는 1인칭 시각에서의 상기 제 1 이미지가 적용된 당구 테이블을 포함하는 사용자 시점 화면(300)을 표시한다
다른 일 예로, 상기 제 1 제어부는 상기 분석된 해당 제 1 사용자와 관련한 제 1 얼굴, 제 1 체격, 제 1 신장 등을 근거로 제 1 아바타를 생성한다.
또한, 상기 제 1 제어부는 미리 설정된 3구 당구 게임에 따라, 상기 분석된 제 1 사용자의 관절의 움직임 정보, 제 1 사용자의 시선 방향과 시선 높이, 지면으로부터의 제 1 사용자의 눈높이, 제 1 사용자의 자세 등을 상기 제 1 아바타에 적용하여, 해당 제 1 사용자의 현재 자세 및 시선 방향과 시선 높이에 따라 당구 테이블 내의 해당 제 1 사용자와 관련한 제 1 수구를 바라보는 1인칭 시각에서의 상기 제 1 아바타 및 제 1 큐가 적용된 당구 테이블을 포함하는 사용자 시점 화면을 표시한다(S240).
이후, 상기 제어부(160)는 상기 화면(또는 상기 사용자 시점 화면)에 상기 아바타 또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용되어 표시되는 지속적으로(또는 상기 당구 테이블을 포함하는 화면이 표시되는 이후 시점부터) 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지한다.
즉, 상기 제어부(160)는 상기 화면(또는 상기 사용자 시점 화면)에 상기 아바타 또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용되어 표시되는 지속적으로(또는 상기 당구 테이블을 포함하는 화면이 표시되는 이후 시점부터) 상기 하나 이상의 카메라부(110)를 통해 실시간으로 추가 획득된(또는 촬영된) 하나 이상의 영상 정보를 상기 인공지능 기반 포즈 추정 모델의 입력값으로 하여 추가 인공 지능(또는 기계 학습/딥 러닝)을 수행하고, 추가 인공 지능 수행 결과(또는 기계 학습 결과/딥 러닝 결과)인 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지(또는 확인/측정/추정)한다.
이때, 상기 제어부(160)는 사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단(또는 상기 사용자의 부분적임 움직임이 상기 저장부(130)에 미리 저장된 기준 큐 브릿지 자세 이미지와의 미리 설정된 기준값 이상의 일치율을 나타내는지 여부를 판단)하고, 수구를 바라보는 시각의 근거리 위치에 스트로크하려는 아바타(또는 큐를 든 아바타)를 표시한다.
또한, 상기 제어부(160)는 상기 감지된 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)을 상기 화면 내의 아바타 또는 상기 화면 내의 사용자의 큐를 잡고 있는 자세 관련 이미지에 적용하고, 해당 사용자의 부분적인 움직임이 적용된 아바타 또는 해당 사용자의 부분적인 움직임이 적용된 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 표시부(140)의 내의 화면에 표시(또는 업데이트하여 표시)한다. 이때, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 확인할 수 있도록 실시간으로 사용자가 큐를 움직이는 것을 상기 아바타를 통하여 시뮬레이터 상의 상기 화면에 동기화되도록 표시한다. 이로써 사용자는 시뮬레이터 상의 수구의 당점과, 큐 방향과 각도 등이 변경되는 것을 확인하면서 큐 스트로크의 예비 동작과 샷을 할 수 있게 된다. 더불어 상기 제어부(160)는 하나 이상의 추가 정보를 상기 당구 테이블이 표시되고 있는 화면의 일측에 표시할 수 있다. 이때, 상기 제어부(160)는 상기 큐의 변화 정보 등을 근거로 상기 화면에 표시되는 수구에 해당 큐의 변화 정보를 적용(또는 반영)하여, 현재 사용자의 자세 및 큐의 상태에 따른 당점의 위치를 점선, 포인트 등의 형태로 상기 화면(또는 상기 시뮬레이터) 상에 표시할 수 있다.
한편, 상기 제어부(160)는 사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단(또는 상기 사용자의 부분적임 움직임이 상기 저장부(130)에 미리 저장된 기준 큐 브릿지 자세 이미지와의 미리 설정된 기준값 이상의 일치율을 나타내는지 여부를 판단)하고, 특정한 지점(예를 들어 실제 사용자 앞에 놓인 당구공)과 수구를 위치 동기화하여 스트로크하려는 사용자의 시선에서 보이는 큐 브릿지된 실제 영상을 시뮬레이터 상에 중첩하여 혼합 현실로 표시할 수 있다.
이때, 상기 제어부(160)는 상기 감지된 사용자의 부분적인 움직임을 상기 카메라부(110)에서 획득한 현실 영상에서 사용자의 신체와 신체 표면(예를 들어 팔과 브릿지한 손)만을 취하며, 배경을 제외하여 상기 표시부(140) 내의 시뮬레이터 화면에 혼합하여 표시(또는 업데이트하여 표시)한다. 여기서, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 추가로 감지한다.
일 예로, 상기 제 1 제어부는 상기 제 1 카메라부 내지 제 5 카메라부를 통해 실시간으로 변화하는 상기 제 1 사용자의 팔의 움직임을 감지한다.
또한, 도 4에 도시된 바와 같이, 상기 제 1 제어부는 상기 감지된 제 1 사용자의 팔의 움직임을 상기 사용자 시점 화면(300) 상에 표시되는 제 1 이미지에 적용하여, 상기 제 1 사용자와 관련한 제 1 수구를 겨냥하는 당점이 조정된 사용자 시점 화면(400)을 표시한다(S250).
또한, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 미리 설정된 수구를 조준하는 행동에 해당하는 경우, 상기 제어부(160)는 해당 수구를 조준하는 사용자와 관련한 영상을 상기 표시부(140)에 표시한다. 여기서, 상기 수구를 조준하는 사용자와 관련한 영상(또는 수구 조준 영상)은 상기 추가 획득된 하나 이상의 영상 정보에서 감지된 사용자 동작에 따라 상기 아바타 또는 상기 자세 관련 이미지가 적용 중인 화면(또는 이전 화면)에서 상기 수구(또는 상기 당구 테이블)를 중심으로 상기 당구 테이블에 위치하는 모든 당구공(예를 들어 수구, 적구 등 포함)을 확인할 수 있도록 전방위(예를 들어 상, 하, 좌, 우, 대각선 등 포함)로 이동하는 영상이거나, 시계 방향 또는 반시계 방향 또는 위/아래 방향으로 돌면서 상기 수구를 바라보는 영상(또는 화면/파노라마 화면)일 수 있다. 이때, 상기 사용자 동작은 손, 발, 머리 등을 시계/반시계 방향으로 회전(또는 돌림/이동)하는 경우, 손, 발 등을 드는(또는 움직이는/흔드는) 경우 등을 포함한다. 또한, 상기 수구(또는 상기 당구 테이블)를 중심으로 360도 회전한 경우, 상기 제어부(160)는 상기 이전 화면을 상기 표시부(140)에 표시한다. 또한, 상기 수구(또는 상기 당구 테이블)를 중심으로 돌면서 해당 수구(또는 상기 당구 테이블)를 바라보는 영상이 표시 중인 상태에서 미리 설정된 사용자 동작(예를 들어 손/발을 일정 횟수 이상 흔드는 경우, 주먹을 쥐는 경우 등 포함)이 감지되는 경우, 상기 제어부(160)는 상기 수구를 조준하는 사용자와 관련한 영상의 표시를 중단(또는 중지)하고, 상기 이전 화면을 상기 표시부(140)에 표시한다.
즉, 상기 감지된 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 해당 사용자와 관련한 수구(예를 들어 3구의 경우, 노란색 당구공 또는 흰색 당구공)를 조준하는 행동에 해당하는 경우, 상기 제어부(160)는 해당 사용자의 수구를 조준하는 행동에 대해서, 사용자가 해당 수구를 중심으로 다양한 각도에서 수구 및 적구의 위치를 확인할 수 있도록 1인칭 시각 또는 3인칭 시각으로, 상기 수구를 조준하는 사용자와 관련한 영상(또는 상기 수구 조준 영상)을 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 해당 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도(또는 지면과 수평면을 기준으로 큐의 기울어진 각도/큐 내의 미리 설정된 기준점을 기준으로 3차원 방향으로의 큐의 기울어진 각도), 수구를 겨냥하는 당점 등을 확인할 수 있도록 실시간으로 사용자가 상기 수구를 조준하는 행동(또는 상기 사용자가 상기 수구를 바라보는 행동)을 상기 아바타 또는 해당 사용자의 큐를 잡고 있는 자세 관련 이미지를 통하여 시뮬레이터 상의 상기 화면에 동기화되도록 표시한다. 이로써 사용자는 시뮬레이터 상의 수구의 당점과, 큐 방향과 각도 등이 변경되는 것을 확인하면서 큐 스트로크의 예비 동작과 샷을 할 수 있게 된다.
일 예로, 상기 제 1 카메라부 내지 제 5 카메라부를 통해 실시간으로 변화하는 상기 제 1 사용자의 움직임인 제 1 사용자의 시선 방향이 상기 제 1 수구를 조준하는 행동에 해당할 때, 상기 제 1 제어부는 해당 제 1 사용자의 왼손 동작에 따라 상기 사용자 시점 화면(400)에서 미리 설정된 방향인 반시계 방향으로 회전하는 제 1 수구를 조준하는 제 1 사용자와 관련한 영상을 표시한다(S260).
이후, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 해당 사용자의 스트로크에 따라 상기 아바타가 브릿지하고 있는 큐(또는 큐 일단에 구성된 큐의 팁) 또는 실제 사용자가 브릿지하고 있는 혼합 현실 영상(또는 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 포함하는 상기 화면) 내의 큐가 해당 사용자와 관련한 수구와 접촉하여 수구에 대한 타격 행동에 해당하는 경우, 상기 제어부(160)는 상기 제어부(160)는 해당 타격 행동에 따라 당구 테이블에 표시되는 수구(또는 해당 사용자와 관련한 수구)와 하나 이상의 적구에 대한 당구 시뮬레이션 과정을 수행한다. 이때, 상기 제어부(160)는 상기 타격 행동에 따라 상기 수구를 큐로 치는 순간에 미리 설정된 음향 정보(예를 들어 수구와 적구가 부딪히는 소리)를 음성 출력부(150)를 통해 출력할 수 있다. 여기서, 상기 제어부(160)는 상기 사용자의 타격 행동에 따라 해당 수구에 대한 당점을 고려하여 상기 수구에 대해서 일반치기, 밀어치기, 끌어치기, 찍어치기(또는 세워치기) 등의 기능을 적용할 수 있다. 이때, 상기 당구 시뮬레이션 과정은 실제 당구 게임을 진행하듯이, 상기 타격 행동에 따라 수구의 당점, 타격 세기, 타격 방향 등에 따른 수구, 적구 등의 작용/반작용, 가속도 법칙, 관성 법칙 등에 의한 운동 과정을 포함한다.
즉, 상기 하나 이상의 카메라부(110)를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임(또는 상기 감지된 사용자의 부분적인 움직임에 따른 변화량)이 미리 설정된 타격 행동에 해당하는 경우, 상기 제어부(160)는 해당 사용자의 스트로크에 따른 타격 행동에 대해서, 시간 변화에 따른 해당 사용자의 각 관절의 움직임, 큐의 변화 등을 근거로 해당 사용자의 각 관절의 역학적인 요소, 큐의 역학적인 요소 등을 산출(또는 측정)한다. 여기서, 상기 사용자의 각 관절의 움직임(또는 각 관절의 구간별 운동 형태/각 관절의 움직임에 따른 사용자의 신체 표면 변화)은 시간 변화에 따른 각 관절의 위상, 각도, 속도, 변위, 깊이 등의 정보를 포함한다. 또한, 상기 각 관절의 역학적인 요소는 운동량, 충격량, 토크, 관성 모멘트, 구심력, 일, 일률, 운동 에너지, 위치 에너지, 각 운동량, 구심 가속도 등을 포함한다. 또한, 상기 큐의 변화(또는 큐의 움직임)는 시간 변화에 따른 큐의 위상, 각도, 속도, 변위, 깊이 등의 정보를 포함한다. 또한, 큐의 역학적인 요소(또는 큐의 변화에 따른 역학적인 요소)는 운동량, 충격량, 토크, 관성 모멘트, 구심력, 일, 일률, 운동 에너지, 위치 에너지, 각 운동량, 구심 가속도 등을 포함한다.
또한, 상기 제어부(160)는 상기 산출된(또는 측정된) 해당 사용자의 각 관절의 역학적인 요소, 상기 큐의 역학적인 요소 등을 근거로 타격 행동에 따른 수구에 가해진 힘의 세기(또는 수구의 세기/강도)를 산출(또는 계산)한다.
또한, 상기 제어부(160)는 상기 산출된 수구에 가해진 힘의 세기, 상기 타격 행동에 따른 수구에 대한 당점 등을 근거로 하나 이상의 적구(또는 상기 수구가 겨냥하는 적구)에 대한 당구 시뮬레이션 과정을 수행한다.
또한, 상기 제어부(160)는 상기 당구 시뮬레이션 과정 수행에 따른 정보(또는 당구 시뮬레이션 수행 과정 정보)를 실시간으로 상기 표시부(140)에 표시한다. 이때, 상기 제어부(160)는 상기 사용자의 타격 행동에 따라 상기 수구에 대한 타격이 시도되는 경우, 해당 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 등이 적용된 화면(또는 사용자의 눈높이, 시선 등이 적용된 당구 테이블과 관련한 화면/사용자 중심의 사용자/1인칭 시점의 화면) 대신 미리 설정된 형식의 천장에서 해당 당구 테이블을 바라본 상태의 전체 화면으로 전환하여, 상기 수구에 대한 타격에 따라 해당 수구, 하나 이상의 적구의 이동(또는 움직임) 상태를 전체 화면으로 상기 표시부(140)에 표시할 수 있다.
일 예로, 상기 제 1 카메라부 내지 제 5 카메라부를 통해 실시간으로 변화하는 상기 제 1 사용자의 움직임이 상기 제 1 사용자의 스트로크에 따라 상기 제 1 수구에 대한 타격 행동에 해당할 때, 상기 제 1 제어부는 상기 제 1 사용자의 스트로크에 따른 해당 제 1 사용자의 각 관절의 움직임을 근거로 상기 제 1 사용자의 각 관절의 역학적인 요소를 산출하고, 해당 제 1 큐의 움직임을 근거로 상기 제 1 큐의 역학적인 요소를 산출한다.
또한, 상기 제 1 제어부는 상기 산출된 상기 제 1 사용자의 각 관절의 역학적인 요소, 상기 산출된 제 1 큐의 역학적인 요소 등을 근거로 상기 제 1 수구에 대한 타격 행동에 따른 제 1 수구에 가해진 제 1 힘의 세기를 산출한다.
또한, 상기 제 1 제어부는 상기 산출된 제 1 수구에 가해진 제 1 힘의 세기, 상기 타격 행동에 따른 상기 제 1 수구에 대한 제 1 당점 등을 근거로 상기 제 1 수구, 상기 제 1 적구, 상기 제 2 적구 등에 대한 당구 시뮬레이션 과정을 수행한다.
또한, 도 5에 도시된 바와 같이, 상기 제 1 제어부는 상기 제 1 사용자가 상기 제 1 수구를 겨냥하는 시점에서의 사용자 시점 화면(400)에서 상기 제 1 수구, 제 1 적구, 제 2 적구 등에 대한 당구 시뮬레이션 과정을 천장에서 해당 당구 테이블을 바라본 상태의 전체 화면(500)으로 전환하여 표시한다(S270).
본 발명의 실시예는 앞서 설명된 바와 같이, 하나 이상의 카메라를 통해 획득되는 사용자와 관련한 하나 이상의 영상 정보를 포즈 추정 모델에 입력하고, 포즈 추정 모델에 의해 출력된 결과값인 사용자의 시선 방향과 시선 높이, 사용자의 자세, 큐의 변화와 관련한 정보, 큐와 관련한 사용자 관련 영상 등을 근거로 사용자와 관련한 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블이 표시되는 화면에 적용하여 표시하고, 지속적으로 사용자의 부분적인 움직임을 감지하고, 감지된 사용자의 움직임에 따른 변화량을 상기 아바타에 적용하여 표시하거나 또는 감지된 사용자의 움직임에 따른 변화량이 적용된 큐와 관련한 사용자 관련 영상을 표시하고, 사용자의 동작에 따라 수구를 조준하는 사용자와 관련한 영상을 당구 테이블에 적용하여 표시하고, 사용자가 시뮬레이터 상의 수구와 큐 간의 거리, 큐의 각도, 수구를 겨냥하는 당점 등을 확인할 수 있도록 아바타 또는 큐와 관련한 사용자 관련 영상을 당구 테이블과 수구가 표시되는 화면에 적용하여 표시하고, 사용자의 스트로크에 따른 타격 행동에 따라 당구 테이블에 표시되는 수구와 적구에 대한 당구 시뮬레이션 과정 및 결과를 제공하여, 실제 당구공 또는 당구공과 같은 충돌을 감지하기 위한 타격용 기구나 장치 없이도, 포켓 당구, 예술 당구, 캐롬 당구 등을 포함하는 다양한 당구 게임을 편리하게 진행하고, 사용자의 흥미 및 만족도를 높일 수 있다.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 당구 시뮬레이션 장치 110: 카메라부
120: 통신부 130: 저장부
140: 표시부 150: 음성 출력부
160: 제어부
120: 통신부 130: 저장부
140: 표시부 150: 음성 출력부
160: 제어부
Claims (12)
- 미리 설정된 이벤트가 발생할 때, 하나 이상의 카메라부에 의해, 각 카메라부가 위치한 영역과 관련해서, 사용자의 신체의 움직임, 각 관절의 움직임 및 사용자가 들고 있는 큐의 움직임을 포함하는 하나 이상의 영상 정보를 획득하는 단계;
제어부에 의해, 상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계;
상기 제어부에 의해, 당구 테이블이 표시되는 화면을 표시부에 표시하는 단계;
상기 제어부에 의해, 상기 화면에 당구 테이블이 표시되는 지속적으로 상기 하나 이상의 카메라부를 통해 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지하는 단계;
상기 제어부에 의해, 상기 감지된 사용자의 부분적인 움직임을 상기 화면 내의 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지에 적용하는 단계; 및
상기 제어부에 의해, 상기 사용자의 부분적인 움직임이 적용된 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지와, 상기 큐의 변화 정보를 적용하여 현재 사용자의 자세 및 큐의 상태에 따른 당점의 위치를 점선 형태로 상기 표시부 내의 화면에 업데이트하여 표시하는 단계를 포함하며,
상기 당구 테이블이 표시되는 화면을 표시하는 단계는,
상기 획득된 하나 이상의 영상 정보를 근거로 상기 영상 정보에 포함된 사용자의 큐를 잡고 있는 자세 관련 이미지를 추출하는 과정; 및
상기 추출된 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하는 과정을 포함하며,
상기 사용자의 큐를 잡고 있는 자세 관련 이미지는,
사용자가 들고 있는 큐, 상기 큐를 들고 있는 사용자의 신체 일부 및 왼손 또는 오른손으로 브릿지를 한 큐를 잡고 있는 손의 브릿지 자세를 포함하며,
상기 당구 테이블이 표시되는 화면을 표시부에 표시하는 단계는,
상기 사용자가 들고 있는 큐나 상기 큐를 들고 있는 사용자의 신체 일부와 수구에 사용자의 브릿지된 큐가 접근하는 모습의 3D 이미지 또는 혼합현실 영상을 상기 당구 테이블이 표시되는 화면에 적용하여 표시하며,
상기 제어부는,
큐가 수구에 접촉하는 타격 행동을 판단하여 미리 설정된 음향 정보를 음성 출력부를 통해 출력하며, 수구에 대해서 실제 당구 게임의 타격 행동에 따라 수구의 당점, 타격 세기 및 타격 방향에 따른 수구 및 적구의 작용/반작용, 가속도 법칙 및 관성 법칙에 의한 운동 과정을 적용하여 상기 당구 테이블이 표시되는 화면에 변환 과정을 표시하며,
상기 당구 테이블이 표시되는 화면을 표시하는 단계는,
상기 분석된 사용자의 얼굴, 체격 및 신장과 관련한 아바타를 생성하는 과정; 및
상기 생성된 아바타 및 큐를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하는 과정을 포함하며,
상기 아바타의 자세는,
상기 분석된 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이 및 상기 사용자의 자세가 적용된 상태이며,
상기 아바타는,
1인칭 시각으로 상기 아바타의 측/후방에서 상기 당구 테이블을 바라보는 경우에 실루엣만 흐릿하게 보이도록 표시하며,
상기 제어부는,
사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단하고, 특정한 지점과 수구를 위치 동기화하여 스트로크하려는 사용자의 시선에서 보이는 큐 브릿지된 실제 영상을 시뮬레이터 상에 중첩하여 혼합 현실로 표시하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 제 1 항에 있어서,
상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계는,
상기 획득된 하나 이상의 영상 정보를 미리 설정된 인공지능 기반 포즈 추정 모델의 입력값으로 하여 인공 지능을 수행하는 과정; 및
상기 인공 지능 수행 과정에 따른 인공 지능 수행 결과인 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 확인하는 과정을 포함하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 제 1 항에 있어서,
상기 큐의 변화 정보를 분석하는 단계는,
사용자가 큐를 들고 있는 상태, 큐를 들고 큐에 부착된 다른 센서부를 통해 모션 센싱이 감지된 상태, 큐 없이 사용자의 모션에 따른 상태, 큐 없이 상기 제어부를 포함하는 당구 시뮬레이션 장치의 모션 센싱에 따른 상태 및, 큐 없이 상기 당구 시뮬레이션 장치에 대한 미리 설정된 터치 센싱이 감지되는 상태 중 적어도 하나의 상태에서, 사용자의 팔 또는 손의 움직임에 따른 큐의 위상, 각도, 속도, 변위 및 깊이 중 적어도 하나의 변화 정보를 분석하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 제 1 항에 있어서,
상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하는 단계는,
상기 획득된 하나 이상의 영상 정보 내의 객체인 사용자 및 큐에 대한 이미지 프로세싱을 통해 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이, 상기 사용자의 자세 및, 상기 큐의 변화 정보를 확인하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 삭제
- 삭제
- 제 1 항에 있어서,
상기 당구 테이블이 표시되는 화면을 표시하는 단계는,
상기 분석된 상기 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이 및, 상기 사용자의 자세를 고려하여, 사용자 시점에서의 화면으로 구성하거나 또는, 당구 테이블의 다른 방향에서의 시점을 제공하기 위해 당구 테이블 주변으로 시점이 변경되는 화면으로 구성하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 삭제
- 제 1 항에 있어서,
상기 제어부에 의해, 상기 하나 이상의 카메라부를 통해 시간 변화에 따른 사용자의 부분적인 움직임을 감지하는 단계; 및
상기 감지된 사용자의 부분적인 움직임이 미리 설정된 수구를 조준하는 행동에 해당할 때, 상기 제어부에 의해, 상기 수구를 조준하는 사용자와 관련한 영상을 상기 표시부 내의 화면에 업데이트하여 표시하는 단계를 더 포함하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 제 9 항에 있어서,
상기 수구를 조준하는 사용자와 관련한 영상은,
상기 하나 이상의 카메라부를 통해 추가 획득되는 영상 정보에서 감지된 사용자 동작에 따라 상기 영상 정보를 근거로 생성된 아바타 또는 상기 영상 정보로부터 추출된 사용자의 큐를 잡고 있는 자세 관련 이미지가 적용 중인 이전 화면에서 상기 수구를 중심으로 상기 당구 테이블에 위치하는 모든 당구공을 확인할 수 있도록 전방위로 이동하는 영상이거나, 시계 방향 또는 반시계 방향 또는 위/아래 방향으로 돌면서 상기 수구를 바라보는 영상인 것을 특징으로 하는 당구 시뮬레이션 방법. - 제 1 항에 있어서,
상기 하나 이상의 카메라부를 통해 실시간으로 시간 변화에 따라 감지되는 사용자의 부분적인 움직임이 상기 사용자의 스트로크에 따라 상기 사용자와 관련한 수구에 대한 타격 행동에 해당할 때, 상기 제어부에 의해, 상기 타격 행동에 따라 당구 테이블에 표시되는 수구와 하나 이상의 적구에 대한 당구 시뮬레이션 과정을 수행하는 단계; 및
상기 제어부에 의해, 상기 당구 시뮬레이션 과정 수행에 따른 정보를 상기 표시부에 표시하는 단계를 더 포함하는 것을 특징으로 하는 당구 시뮬레이션 방법. - 미리 설정된 이벤트가 발생할 때, 각 카메라부가 위치한 영역과 관련해서, 사용자의 신체의 움직임, 각 관절의 움직임 및 사용자가 들고 있는 큐의 움직임을 포함하는 하나 이상의 영상 정보를 획득하는 하나 이상의 카메라부; 및
상기 획득된 하나 이상의 영상 정보를 근거로 상기 사용자의 얼굴, 체격, 신장, 상기 사용자의 관절의 움직임 정보, 사용자의 시선 방향과 시선 높이, 지면으로부터의 사용자의 눈높이, 사용자의 자세 및, 큐의 변화 정보를 분석하고, 당구 테이블이 표시되는 화면을 표시부에 표시하고, 상기 화면에 당구 테이블이 표시되는 지속적으로 상기 하나 이상의 카메라부를 통해 실시간으로 시간 변화에 따른 사용자의 부분적인 움직임을 감지하고, 상기 감지된 사용자의 부분적인 움직임을 상기 화면 내의 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지에 적용하고, 상기 사용자의 부분적인 움직임이 적용된 아바타 또는 사용자의 큐를 잡고 있는 자세 관련 이미지와, 상기 큐의 변화 정보를 적용하여 현재 사용자의 자세 및 큐의 상태에 따른 당점의 위치를 점선 형태로 상기 표시부 내의 화면에 업데이트하여 표시하는 제어부를 포함하며,
상기 제어부는,
상기 획득된 하나 이상의 영상 정보를 근거로 상기 영상 정보에 포함된 사용자의 큐를 잡고 있는 자세 관련 이미지를 추출하고, 상기 추출된 상기 사용자의 큐를 잡고 있는 자세 관련 이미지를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하며,
상기 사용자가 들고 있는 큐나 상기 큐를 들고 있는 사용자의 신체 일부와 수구에 사용자의 브릿지된 큐가 접근하는 모습의 3D 이미지 또는 혼합현실 영상을 상기 당구 테이블이 표시되는 화면에 적용하여 표시하며,
큐가 수구에 접촉하는 타격 행동을 판단하여 미리 설정된 음향 정보를 음성 출력부를 통해 출력하며, 수구에 대해서 실제 당구 게임의 타격 행동에 따라 수구의 당점, 타격 세기 및 타격 방향에 따른 수구 및 적구의 작용/반작용, 가속도 법칙 및 관성 법칙에 의한 운동 과정을 적용하여 상기 당구 테이블이 표시되는 화면에 변환 과정을 표시하고,
상기 분석된 사용자의 얼굴, 체격 및 신장과 관련한 아바타를 생성하고, 상기 생성된 아바타 및 큐를 상기 당구 테이블이 표시되는 화면에 적용하여 표시하며,
사용자의 부분적인 움직임이 스트로크를 위한 큐 브릿지를 한 적정한 자세인지를 판단하고, 특정한 지점과 수구를 위치 동기화하여 스트로크하려는 사용자의 시선에서 보이는 큐 브릿지된 실제 영상을 시뮬레이터 상에 중첩하여 혼합 현실로 표시하며,
상기 사용자의 큐를 잡고 있는 자세 관련 이미지는,
사용자가 들고 있는 큐, 상기 큐를 들고 있는 사용자의 신체 일부 및 왼손 또는 오른손으로 브릿지를 한 큐를 잡고 있는 손의 브릿지 자세를 포함하며,
상기 아바타의 자세는,
상기 분석된 사용자의 관절의 움직임 정보, 상기 사용자의 시선 방향과 시선 높이, 상기 지면으로부터의 사용자의 눈높이 및 상기 사용자의 자세가 적용된 상태이며,
상기 아바타는,
1인칭 시각으로 상기 아바타의 측/후방에서 상기 당구 테이블을 바라보는 경우에 실루엣만 흐릿하게 보이도록 표시하는 것을 특징으로 하는 당구 시뮬레이션 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220044332A KR102520841B1 (ko) | 2022-04-11 | 2022-04-11 | 당구 시뮬레이션 장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220044332A KR102520841B1 (ko) | 2022-04-11 | 2022-04-11 | 당구 시뮬레이션 장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102520841B1 true KR102520841B1 (ko) | 2023-04-11 |
Family
ID=85976620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220044332A KR102520841B1 (ko) | 2022-04-11 | 2022-04-11 | 당구 시뮬레이션 장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102520841B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120069233A (ko) * | 2010-12-20 | 2012-06-28 | 주식회사 웨이브애프터 | 당구자세 교정 시스템 및 교정 방법, 기록매체 |
JP2013517051A (ja) * | 2010-01-15 | 2013-05-16 | マイクロソフト コーポレーション | モーション・キャプチャー・システムにおけるユーザー意図の認識 |
KR101928246B1 (ko) | 2018-08-17 | 2018-12-11 | 류연식 | 당구 게임 시뮬레이터 |
US20210146235A1 (en) * | 2017-05-23 | 2021-05-20 | Blast Motion Inc. | Motion mirroring system that incorporates virtual environment constraints |
-
2022
- 2022-04-11 KR KR1020220044332A patent/KR102520841B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013517051A (ja) * | 2010-01-15 | 2013-05-16 | マイクロソフト コーポレーション | モーション・キャプチャー・システムにおけるユーザー意図の認識 |
KR20120069233A (ko) * | 2010-12-20 | 2012-06-28 | 주식회사 웨이브애프터 | 당구자세 교정 시스템 및 교정 방법, 기록매체 |
US20210146235A1 (en) * | 2017-05-23 | 2021-05-20 | Blast Motion Inc. | Motion mirroring system that incorporates virtual environment constraints |
KR101928246B1 (ko) | 2018-08-17 | 2018-12-11 | 류연식 | 당구 게임 시뮬레이터 |
Non-Patent Citations (3)
Title |
---|
‘HTC VIVE POOL Nation VR 집에서 포켓볼 치자!!’, 유튜브 동영상, (2016.12.04.), <https://youtu.be/mA3uQkRG35I>* * |
‘인체 자세 인식 딥러닝을 이용한 운동 자세 훈련 시스템 개발’, 장재호 et.al, 한국컴퓨터정보학회 2020년도 제62차 하계학술대회논문집 28권2호, 한국컴퓨터정보학회, jul. 2020, no.7, pp.289-290, (2020.07.15.)* * |
‘한국기술교육대학교 Unite 2020 Education Day TOP2 (AR 당구)’, 유튜브 동영상, (2020.11.28.), <https://youtu.be/k6VLEtHBVq8>* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10796489B1 (en) | Game engine responsive to motion-capture data for mixed-reality environments | |
US9779633B2 (en) | Virtual reality system enabling compatibility of sense of immersion in virtual space and movement in real space, and battle training system using same | |
US10445917B2 (en) | Method for communication via virtual space, non-transitory computer readable medium for storing instructions for executing the method on a computer, and information processing system for executing the method | |
KR101692335B1 (ko) | 증강현실 영상표시 시스템 및 증강현실 영상표시 방법 | |
US9983687B1 (en) | Gesture-controlled augmented reality experience using a mobile communications device | |
US10262461B2 (en) | Information processing method and apparatus, and program for executing the information processing method on computer | |
WO2018077206A1 (zh) | 增强现实场景生成方法、装置、***及设备 | |
US20180373413A1 (en) | Information processing method and apparatus, and program for executing the information processing method on computer | |
US10453248B2 (en) | Method of providing virtual space and system for executing the same | |
JP2021520978A (ja) | 仮想対象と投擲物とのインタラクションを制御する方法及びその装置、並びにコンピュータプログラム | |
WO2016021997A1 (ko) | 가상 공간에의 몰입감과 실제 공간에서의 이동을 양립할 수 있는 가상 현실 시스템 및 이를 이용한 전투 훈련 시스템 | |
CN105279795B (zh) | 基于3d标记的增强现实*** | |
US10546407B2 (en) | Information processing method and system for executing the information processing method | |
US20110305398A1 (en) | Image generation system, shape recognition method, and information storage medium | |
EP2371434A2 (en) | Image generation system, image generation method, and information storage medium | |
JP6290467B1 (ja) | 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるプログラム | |
US20180204369A1 (en) | Method for communicating via virtual space, program for executing the method on computer, and information processing apparatus for executing the program | |
US11049325B2 (en) | Information processing apparatus, information processing method, and program | |
JP2011258159A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US20180190010A1 (en) | Method for providing virtual space, program for executing the method on computer, and information processing apparatus for executing the program | |
US20180299948A1 (en) | Method for communicating via virtual space and system for executing the method | |
CN107291221A (zh) | 基于自然手势的跨屏幕自适应精度调整方法及装置 | |
US10564801B2 (en) | Method for communicating via virtual space and information processing apparatus for executing the method | |
McCormack et al. | 2D LIDAR as a distributed interaction tool for virtual and augmented reality video games | |
CN112581571A (zh) | 虚拟形象模型的控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |