KR20240002869A - Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same - Google Patents

Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same Download PDF

Info

Publication number
KR20240002869A
KR20240002869A KR1020220095985A KR20220095985A KR20240002869A KR 20240002869 A KR20240002869 A KR 20240002869A KR 1020220095985 A KR1020220095985 A KR 1020220095985A KR 20220095985 A KR20220095985 A KR 20220095985A KR 20240002869 A KR20240002869 A KR 20240002869A
Authority
KR
South Korea
Prior art keywords
virtual
billiard
ball
game image
image
Prior art date
Application number
KR1020220095985A
Other languages
Korean (ko)
Inventor
전동호
Original Assignee
전동호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전동호 filed Critical 전동호
Publication of KR20240002869A publication Critical patent/KR20240002869A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63DBOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
    • A63D15/00Billiards, e.g. carom billiards or pocket billiards; Billiard tables
    • A63D15/006Training or aiming arrangements on billiard tables
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63DBOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
    • A63D15/00Billiards, e.g. carom billiards or pocket billiards; Billiard tables
    • A63D15/20Scoring or registering devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/46Computing the game score
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
    • G03B21/00Projectors or projection-type viewers; Accessories therefor
    • G03B21/14Details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; Puck

Abstract

당구 테이블에 가상의 당구 게임 이미지를 투사하는 방법 및 이를 수행하는 프로젝터 장치가 개시된다. 일 실시예에 따른 프로젝터 장치는 실사의 당구 게임 이미지로부터 가상의 당구 게임 이미지를 생성하는 프로세서, 및 생성된 가상의 당구 게임 이미지를 당구 테이블의 상면을 향해 투사하는 투사 영상 출력 모듈을 포함하고, 프로세서는, 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고, 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성한다.A method for projecting a virtual billiard game image on a billiard table and a projector device for performing the same are disclosed. A projector according to an embodiment includes a processor that generates a virtual billiard game image from an actual billiard game image, and a projection image output module that projects the generated virtual billiard game image toward the upper surface of the billiard table, the processor From the real-life billiards game image, extract path information where the real-life cue ball moves on the real-life billiard table and collides with at least one real-time object ball, and based on the extracted path information, virtual cue balls move on the virtual billiard table. A virtual billiard game image is generated including a movement path where the cue ball moves and collides with at least one virtual object ball.

Figure P1020220095985
Figure P1020220095985

Description

당구 테이블에 가상의 당구 게임 이미지를 투사하는 방법, 이를 수행하는 프로젝터 장치 및 영상 투사 서버{METHOD FOR PROJECTING VIRTUAL BILLIARD GAME IMAGE ON BILLIARD TABLE, PROJECTOR DEVICE AND IMAGE PROJECTION SERVER FOR PERFORMING THE SAME}Method for projecting a virtual billiard game image on a billiard table, a projector device and an image projection server for performing the same

본 발명은 당구 테이블에 가상의 당구 게임 이미지를 투사하는 기술에 관한 것이다.The present invention relates to a technology for projecting a virtual billiard game image on a billiard table.

당구는 당구 테이블(billiard table) 위에 놓인 당구 공들을 여러 명의 플레이어들이 각자의 당구 큐(cue stick)로 쳐서 각자의 점수를 겨루는 경기이다. 당구 큐로 플레이어가 의도한 수구 상의 정확한 지점을 타격하여 상기 수구가 의도한 경로로 움직여 여러 개의 목적구들과 충돌하도록 하는 것이 경기의 승리를 위해 중요하다.Billiards is a game in which several players compete for scores by hitting billiard balls placed on a billiard table with their own cue sticks. It is important to win the game that the player hits the exact point on the cue ball intended by the billiard cue so that the cue ball moves along the intended path and collides with several object balls.

당구 테이블 둘레에는 보통 하얀 점들의 당구 테이블 포인트들(또는 당구 테이블 쿠션 포인트들)이 존재한다. 당구 테이블 포인트들은 당구 테이블의 일측의 방향으로 9개가 있고, 다른 일측의 방향으로 5개가 존재한다. 당구를 플레이하는 플레이어들은 수구를 어떠한 방향으로 칠 것인지를 결정하는데 있어 당구 테이블 포인트들을 참고할 수 있다. 플레이어들은 당구 테이블 포인트들을 통해 당구공이 당구 테이블 쿠션의 특정 위치를 용이하게 식별할 수 있다.There are usually billiard table points (or billiard table cushion points) of white dots around the billiard table. There are 9 billiard table points in one direction of the billiard table, and 5 points in the other direction. Players who play billiards can refer to billiard table points in deciding which direction to hit the cue ball. Players can easily identify the specific location of the billiard ball on the billiard table cushion through the billiard table points.

일반 플레이어들이 숙련자들의 당구 경기 영상을 보고서 수구 및 목적구들의 움직임을 그대로 연습하고 싶으나, 종래에는 일반 플레이어들이 본인의 당구 테이블 내에서 숙련자들의 당구 경기 영상과 동일하게 당구공들을 위치시키기가 어려웠고, 일반 플레이어들이 숙련자들의 당구공 움직임을 직관적으로 이해하고 그 움직임을 그대로 재연할 수 있는 방법이 없었다.General players want to practice the movements of the cue ball and object balls by watching the video of the billiards game of experts, but in the past, it was difficult for the general player to position the billiard balls on their billiard table in the same way as the video of the billiard game of the expert. There was no way for players to intuitively understand the billiard ball movements of experts and reproduce those movements.

일 실시예에 따른 프로젝터 장치는 실사의 당구 게임 이미지로부터 상기 가상의 당구 게임 이미지를 생성하는 프로세서, 및 상기 생성된 가상의 당구 게임 이미지를 상기 당구 테이블의 상면을 향해 투사하는 투사 영상 출력 모듈을 포함하고, 상기 프로세서는, 상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고, 상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성할 수 있다.The projector device according to one embodiment includes a processor that generates the virtual billiard game image from an actual billiard game image, and a projection image output module that projects the generated virtual billiard game image toward the upper surface of the billiard table. And the processor extracts, from the real-life billiard game image, path information on which the real-life cue ball moves on the real-life billiard table and collides with at least one real-time object ball, and based on the extracted path information, virtual The virtual billiard game image may be generated including a movement path where the virtual cue ball moves on the billiard table and collides with at least one virtual object ball.

상기 경로 정보는, 상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함할 수 있다.The path information may include change information over time in the positional coordinates of the target ball of the field trip and change information over time in the position coordinates of the at least one target ball of the field trip.

상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동할 수 있다.Within the virtual billiard game image, the virtual cue ball and the at least one virtual object ball may move over time along the movement path.

상기 이동 경로는, 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구에 대응되는 복수의 원형 이미지들에 의해 표시되고, 상기 복수의 원형 이미지들은 설정된 간격을 두고 상기 이동 경로를 따라 배치될 수 있다.The movement path is displayed by a plurality of circular images corresponding to the virtual apparatus and the at least one virtual object ball, and the plurality of circular images may be arranged along the movement path at set intervals. .

상기 복수의 원형 이미지들은 상기 이동 경로를 따라 순차적으로 표시될 수 있다.The plurality of circular images may be displayed sequentially along the movement path.

상기 복수의 원형 이미지들은 적어도 두 가지 이상의 상이한 형태의 원형 이미지들을 포함할 수 있다.The plurality of circular images may include at least two different types of circular images.

상기 두 가지 이상의 상이한 형태의 원형 이미지들은 반투명한 원형 이미지 및 불투명한 원형 이미지를 포함할 수 있다.The two or more different types of circular images may include a translucent circular image and an opaque circular image.

상기 복수의 원형 이미지들은 상기 이동 경로 상의 복수의 지점들에서 동일한 형태의 원형 이미지로 표시될 수 있다.The plurality of circular images may be displayed as circular images of the same shape at a plurality of points on the movement path.

상기 복수의 지점들은 상기 가상의 수구가 상기 적어도 하나의 가상의 목적구와 충돌하는 지점 또는 상기 가상의 수구가 상기 가상의 당구 테이블의 모서리에 접촉하는 지점을 포함할 수 있다.The plurality of points may include a point where the virtual cue ball collides with the at least one virtual object ball or a point where the virtual cue ball contacts a corner of the virtual billiard table.

상기 프로세서는, 상기 실사의 당구 게임 이미지에서 당구 테이블 포인트들을 추출하고, 상기 추출된 당구 테이블 포인트들의 배치와 상기 실사의 수구 또는 상기 적어도 하나의 실사의 목적구 사이의 위치 관계에 기초하여 상기 경로 정보를 추출할 수 있다.The processor extracts billiard table points from the real-time billiard game image, and provides the path information based on a positional relationship between the arrangement of the extracted billiard table points and the real-time cue ball or the at least one real-time target ball. can be extracted.

상기 프로세서는, 학습된 뉴럴 네트워크 기반의 인식 모델을 상기 실사의 당구 게임 이미지에 적용하여 상기 실사의 당구 게임 이미지로부터 상기 실사의 수구 및 상기 적어도 하나의 실사의 목적구의 위치를 추출하고, 상기 추출된 실사의 수구 및 상기 적어도 하나의 실사의 목적구의 위치에 기초하여 상기 경로 정보를 추출할 수 있다.The processor applies a learned neural network-based recognition model to the real-time billiard game image to extract the positions of the real-time cue ball and the at least one real-time object ball from the real-time billiard game image, and the extracted The route information may be extracted based on the locations of the target ball of the field trip and the at least one target ball of the field trip.

상기 프로세서는, 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로 상에서 사용자 명령에 따른 속도로 이동하는 상기 가상의 당구 게임 이미지를 생성할 수 있다.The processor may generate the virtual billiard game image in which the virtual cue ball and the at least one virtual object ball move on the movement path at a speed according to a user command.

상기 프로세서는 사용자로부터 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구 중에서 어느 하나의 가상의 당구공을 선택하는 사용자 명령을 수신하고, 상기 선택된 가상의 당구공이 상기 이동 경로 상에서 이동하는 상기 가상의 당구 게임 이미지를 생성할 수 있다.The processor receives a user command from a user to select any one virtual billiard ball among the virtual cue ball and the at least one virtual object ball, and the selected virtual billiard ball moves on the movement path. You can create a billiards game image.

일 실시예에 따른 프로젝터 장치를 이용하여 당구 테이블에 가상의 당구 게임 이미지를 투사하는 영상 투사 서버는 실사의 당구 게임 이미지로부터 상기 가상의 당구 게임 이미지를 생성하는 프로세서, 및 상기 생성된 가상의 당구 게임 이미지를 통신망을 통하여 상기 프로젝터 장치로 전송하는 통신 모듈을 포함하고, 상기 전송된 가상의 당구 게임 이미지는 상기 프로젝터 장치로부터 상기 당구 테이블의 상면으로 투사될 수 있다.An image projection server that projects a virtual billiard game image on a billiard table using a projector according to an embodiment includes a processor that generates the virtual billiard game image from an actual billiard game image, and the generated virtual billiard game. It includes a communication module that transmits an image to the projector device through a communication network, and the transmitted virtual billiard game image can be projected from the projector device to the upper surface of the billiard table.

상기 프로세서는, 상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고, 상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구, 적어도 하나의 가상의 목적구가 이동하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성할 수 있다.The processor extracts, from the photorealistic billiards game image, path information on which a real-life cue ball moves on a real-life billiard table and collides with at least one real-time object ball, and based on the extracted path information, creates a virtual billiards table. The virtual billiard game image including a movement path along which the virtual cue ball and at least one virtual object ball move on the table can be generated.

상기 경로 정보는, 상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함할 수 있다.The path information may include change information over time in the positional coordinates of the target ball of the field trip and change information over time in the position coordinates of the at least one target ball of the field trip.

상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동할 수 있다.Within the virtual billiard game image, the virtual cue ball and the at least one virtual object ball may move over time along the movement path.

상기 프로세서는 사용자로부터 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구 중에서 어느 하나의 가상의 당구공을 선택하는 사용자 명령을 수신하고, 상기 선택된 가상의 당구공에 대응되는 복수의 원형 이미지들이 상기 선택된 가상의 당구공의 이동 경로 상에 배치된 상기 가상의 당구 게임 이미지를 생성할 수 있다.The processor receives a user command from the user to select one virtual billiard ball among the virtual cue ball and the at least one virtual object ball, and displays a plurality of circular images corresponding to the selected virtual billiard ball. The virtual billiard game image placed on the movement path of the selected virtual billiard ball can be created.

상기 복수의 원형 이미지들은 상기 선택된 가상의 당구공의 이동 경로를 따라 순차적으로 표시될 수 있다.The plurality of circular images may be sequentially displayed along the movement path of the selected virtual billiard ball.

상기 프로세서는 상기 복수의 원형 이미지들이 순차적으로 표시되는 시간 간격을 조절하는 사용자 명령을 수신하고, 상기 복수의 원형 이미지들이 상기 선택된 가상의 당구공의 이동 경로를 따라 상기 조절된 시간 간격을 두고 순차적으로 표시되는 상기 가상의 당구 게임 이미지를 생성할 수 있다.The processor receives a user command to adjust a time interval at which the plurality of circular images are sequentially displayed, and the plurality of circular images are sequentially displayed at the adjusted time interval along the movement path of the selected virtual billiard ball. The displayed virtual billiard game image can be created.

상기 프로세서는, 상기 실사의 당구 게임 이미지에서 당구 테이블 포인트들을 추출하고, 상기 추출된 당구 테이블 포인트들의 배치와 상기 실사의 수구 또는 상기 적어도 하나의 실사의 목적구 사이의 위치 관계에 기초하여 상기 경로 정보를 추출할 수 있다.The processor extracts billiard table points from the real-time billiard game image, and provides the path information based on a positional relationship between the arrangement of the extracted billiard table points and the real-time cue ball or the at least one real-time target ball. can be extracted.

일 실시예에 따른 실사의 당구 게임 이미지에 기초한 가상의 당구 게임 이미지를 투사하는 방법은 상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하는 동작, 상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성하는 동작, 및 상기 생성된 가상의 당구 게임 이미지를 실제 당구 테이블의 상면을 향해 투사하는 동작을 포함할 수 있다.According to one embodiment, a method of projecting a virtual billiard game image based on a real-life billiard game image includes, from the real-life billiard game image, a real-life cue ball moving on a real-life billiard table and colliding with at least one real-time object ball. Extracting path information, based on the extracted path information, generating the virtual billiard game image including a movement path where a virtual cue ball moves on a virtual billiard table and collides with at least one virtual object ball. It may include an operation and an operation of projecting the generated virtual billiard game image onto the upper surface of an actual billiard table.

상기 경로 정보는, 상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함할 수 있다.The path information may include change information over time in the position coordinates of the target ball of the field trip and change information over time in the position coordinates of the at least one target ball of the field trip.

상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동할 수 있다.Within the virtual billiard game image, the virtual cue ball and the at least one virtual object ball may move over time along the movement path.

도 1은 일 실시예에 따른 영상 투사 시스템의 개요를 도시하는 도면이다.
도 2는 일 실시예에 따른 프로젝터 장치의 구성을 설명하기 위한 도면이다.
도 3은 또다른 실시예에 따른 영상 투사 시스템의 개요를 도시하는 도면이다.
도 4는 일 실시예에 따른 외부 장치와 연결되어 실사의 당구 게임 이미지에 대응하는 가상의 당구 게임 이미지를 제공하는 것을 설명하기 위한 도면이다.
도 5는 일 실시예에서 수구의 경로를 보여줄 것을 명령하는 사용자 명령에 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 6은 일 실시예에서 제1 목적구의 경로를 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 7은 일 실시예에서 수구 및 제1 목적구의 경로를 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 8은 일 실시예에서 수구 및 제1 목적구가 충돌하는 지점을 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 9는 일 실시예에서 수구가 당구 테이블의 모서리에 접촉하는 첫 번째 지점을 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 10은 일 실시예에서 수구가 당구 테이블의 모서리에 접촉하는 두 번째 지점을 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 11은 일 실시예에서 수구의 모든 충돌 지점을 보여줄 것을 명령하는 사용자 명령에 따라 생성된 가상의 당구 게임 이미지를 설명하기 위한 도면이다.
도 12는 일 실시예에 따른 가상의 당구 게임 이미지를 투사하는 방법의 흐름도이다.
1 is a diagram illustrating an outline of an image projection system according to an embodiment.
FIG. 2 is a diagram for explaining the configuration of a projector device according to an embodiment.
FIG. 3 is a diagram illustrating an outline of an image projection system according to another embodiment.
FIG. 4 is a diagram illustrating providing a virtual billiard game image corresponding to an actual billiard game image by connecting to an external device according to an embodiment.
FIG. 5 is a diagram illustrating a virtual billiard game image generated in response to a user command to show the cue ball path in one embodiment.
FIG. 6 is a diagram illustrating a virtual billiard game image generated according to a user command to show the path of the first object ball in one embodiment.
FIG. 7 is a diagram for explaining a virtual billiard game image generated according to a user command to show the path of the cue ball and the first object ball in one embodiment.
FIG. 8 is a diagram illustrating a virtual billiard game image generated according to a user command to show a point at which a cue ball and a first object ball collide, in one embodiment.
FIG. 9 is a diagram illustrating a virtual billiard game image generated according to a user command to show the first point where the cue ball touches the edge of the billiard table, in one embodiment.
FIG. 10 is a diagram illustrating a virtual billiard game image generated according to a user command to show a second point where the cue ball touches the edge of the billiard table, in one embodiment.
FIG. 11 is a diagram illustrating a virtual billiard game image generated according to a user command to show all collision points of the cue ball in one embodiment.
Figure 12 is a flowchart of a method for projecting a virtual billiard game image according to an embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be changed and implemented in various forms. Accordingly, the actual implementation form is not limited to the specific disclosed embodiments, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but these terms should be interpreted only for the purpose of distinguishing one component from another component. For example, a first component may be named a second component, and similarly, the second component may also be named a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.When a component is referred to as being “connected” to another component, it should be understood that it may be directly connected or connected to the other component, but that other components may exist in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions include plural expressions unless the context clearly dictates otherwise. As used herein, “A or B”, “at least one of A and B”, “at least one of A or B”, “A, B or C”, “at least one of A, B and C”, and “A Each of phrases such as “at least one of , B, or C” may include any one of the items listed together in the corresponding phrase, or any possible combination thereof. In this specification, terms such as “comprise” or “have” are intended to designate the presence of the described features, numbers, steps, operations, components, parts, or combinations thereof, and are intended to indicate the presence of one or more other features or numbers, It should be understood that this does not exclude in advance the possibility of the presence or addition of steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art. Terms as defined in commonly used dictionaries should be interpreted as having meanings consistent with the meanings they have in the context of the related technology, and unless clearly defined in this specification, should not be interpreted in an idealized or overly formal sense. No.

본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서에서 사용되는 ‘~부’라는 용어는 소프트웨어 또는 FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, ‘~부’는 어떤 역할들을 수행한다. 그렇지만, ‘~부’는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. ‘~부’는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 예를 들어, ‘~부’는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함할 수 있다. 구성요소들과 ‘~부’들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 ‘~부’들로 결합되거나 추가적인 구성요소들과 ‘~부’들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 ‘~부’들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한, ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.The term ‘~part’ used in this document refers to software or hardware components such as FPGA or ASIC, and the ‘~part’ performs certain roles. However, ‘~part’ is not limited to software or hardware. The '~ part' may be configured to reside on an addressable storage medium and may be configured to reproduce on one or more processors. For example, '~part' refers to software components, object-oriented software components, components such as class components and task components, processes, functions, properties, procedures, May include subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided within components and ‘parts’ may be combined into a smaller number of components and ‘parts’ or may be further separated into additional components and ‘parts’. Additionally, components and parts may be implemented to refresh one or more CPUs within a device or secure multimedia card. Additionally, ‘~part’ may include one or more processors.

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the accompanying drawings, identical components will be assigned the same reference numerals regardless of the reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 일 실시예에 따른 영상 투사 시스템의 개요를 도시하는 도면이다.1 is a diagram illustrating an outline of an image projection system according to an embodiment.

도 1을 참조하면, 영상 투사 시스템(100)은 당구 테이블(120) 및 프로젝터 장치(110)를 포함할 수 있다. 프로젝터 장치(110)는 당구 테이블(120)과 이격되어 당구 테이블(120)의 상면의 위쪽(above)에 위치할 수 있다. 당구 테이블(120)의 상면과 프로젝터 장치(110) 간의 이격 거리는 예를 들어 1m 내지 10m 사이의 거리일 수 있고, 프로젝터 장치(110)는 당구 테이블(120)이 놓여진 공간의 천장에 배치 또는 설치될 수 있으나, 실시예의 범위가 이에 제한되는 것은 아니다. 당구 테이블(120)은 예를 들어 4구, 3구, 포켓볼 또는 스누커의 당구 경기를 위한 당구 테이블일 수 있다. 본 명세서에서 '당구 경기'는 당구 게임 또는 당구 시합으로 지칭될 수 있다. 4구, 3구 및 포켓볼 경기를 위한 당구 테이블(120)의 4개 모서리의 둘레에는 당구 테이블 포인트(125)들이 존재할 수 있다. 예를 들어, 당구 테이블 포인트(125)들은 당구 테이블(120)의 일측 방향으로 9개가 있고, 다른 일측 방향으로 5개가 존재할 수 있다.Referring to FIG. 1 , the image projection system 100 may include a billiard table 120 and a projector device 110 . The projector device 110 may be spaced apart from the billiard table 120 and positioned above the top of the billiard table 120 . The separation distance between the upper surface of the billiard table 120 and the projector device 110 may be, for example, a distance between 1 m and 10 m, and the projector device 110 may be placed or installed on the ceiling of the space where the billiard table 120 is placed. However, the scope of the examples is not limited thereto. The billiard table 120 may be a billiard table for, for example, four-ball, three-ball, pocketball, or snooker. In this specification, 'billiard game' may be referred to as a billiard game or billiard match. There may be billiard table points 125 around the four corners of the billiard table 120 for 4-ball, 3-ball, and pocket ball games. For example, there may be 9 billiard table points 125 in one direction of the billiard table 120 and 5 points in the other direction.

프로젝터 장치(110)는 당구 테이블(120)의 상면(예: 커버 시트)을 향해 투사 영상(projection image)을 투사(또는 출력)할 수 있다. 일 실시예에서, 프로젝터 장치(110)는 이미지 객체에 해당하는 가상의 당구공들(130, 135, 140)을 포함하는 투사 영상을 생성하여 당구 테이블(120)로 투사할 수도 있다. 투사 영상에서 가상의 당구공들(130, 135, 140)은 당구공을 나타내는 다양한 형태의 이미지로 표시될 수 있다.The projector device 110 may project (or output) a projection image toward the upper surface (eg, cover sheet) of the billiard table 120. In one embodiment, the projector device 110 may generate a projection image including virtual billiard balls 130, 135, and 140 corresponding to image objects and project the image onto the billiard table 120. In the projection image, the virtual billiard balls 130, 135, and 140 may be displayed as various types of images representing billiard balls.

또는, 프로젝터 장치(110)는 가상의 당구공들(130, 135, 140)과 가상의 당구공들(130, 135, 140) 중 적어도 하나의 이동 경로를 포함하는 투사 영상을 생성하여 당구 테이블(120)로 투사할 수도 있다. 프로젝터 장치(110)에 의해 투사되는 투사 영상에는 특정 그림, 로고, 상표 및/또는 문자 등이 포함될 수도 있으며, 이를 통해 프로젝터 장치(110)는 투사 영상 내에 광고하고자 하는 내용을 여러 가지 형태로서 표현하는 광고용 장치로서 이용될 수도 있다.Alternatively, the projector device 110 generates a projection image including the virtual billiard balls 130, 135, and 140 and the movement path of at least one of the virtual billiard balls 130, 135, and 140 to display the billiard table ( 120) can also be projected. The projection image projected by the projector device 110 may include a specific picture, logo, trademark, and/or text, and through this, the projector device 110 expresses the content to be advertised in the projection image in various forms. It can also be used as an advertising device.

종래에는 사용자가 TV 방송 또는 유투브 등을 통해 시청한 당구 경기의 당구공 배치들을 당구 테이블(120) 상에 구현하여 연습하려는 경우 당구 경기 이미지로부터 당구공들의 대략적인 위치를 파악하고 당구 테이블(120) 상에 당구공들을 배치해야 했다. 이렇게 배치된 당구공들의 위치는 부정확하며, 사용자가 연습을 위해 당구공들을 동일한 위치에 반복적으로 정확히 배치하기 어렵다는 불편함이 있었다. 또한 사용자는 당구 경기에서 당구공들이 이동한 경로를 확인하기 위해 당구 경기를 반복적으로 시청해야 했다.Conventionally, when a user wants to practice by implementing the billiard ball arrangements of a billiard game watched through TV broadcasts or YouTube on the billiard table 120, the approximate positions of the billiard balls are determined from the billiard game image and the billiard table 120 Billiard balls had to be placed on the table. The positions of the billiard balls arranged in this way are inaccurate, and there is an inconvenience in that it is difficult for users to accurately place the billiard balls in the same position repeatedly for practice. Additionally, users had to watch the billiards game repeatedly to check the path the billiard balls took during the game.

그러나, 실시예에 따른 프로젝터 장치(110)를 통해 당구 테이블(120)에 투사되는 투사 영상의 가상의 당구공들(130, 135, 140)을 통해 사용자는 당구 테이블(120)에서 당구공을 원하는 위치에 오차 없이 정확히 배치시킬 수 있다. 또한 사용자는 투사 영상의 가상의 당구공들(130)을 통해 당구 경기의 당구공의 이동 경로를 쉽게 확인하고 해당 이동 경로를 실제로 구현하기 위해 효과적으로 연습할 수 있다.However, through the virtual billiard balls 130, 135, and 140 of the projected image projected onto the billiard table 120 through the projector device 110 according to the embodiment, the user can select the billiard ball from the billiard table 120. It can be placed accurately without error. Additionally, the user can easily check the movement path of the billiard balls in a billiard game through the virtual billiard balls 130 in the projection image and effectively practice to actually implement the movement path.

프로젝터 장치(110)를 통해 당구 교육이나 당구 연습 시에 정확하고 일관된 당구공 배치 및 타구를 가능하게 하여 교육 효과를 증진시키고, 연습자의 기량 향상에 상당한 도움을 줄 수 있다.The projector device 110 improves educational effectiveness by enabling accurate and consistent billiard ball placement and hitting during billiard education or billiard practice, and can significantly help improve the skills of practitioners.

본 발명에 따른 프로젝터 장치(110)의 일례로서, 오늘날 일반적으로 널리 사용되는 빔 프로젝터(Beam Projector)가 사용될 수 있다. 빔 프로젝터는 광원으로부터 나온 빛을 렌즈를 통과시켜 스크린 또는 벽면 등에 투사시키는 것으로, 브라운관 방식(CRT: Cathode-Ray Tube), 액정 디스플레이 방식(LCD: Liquid Crystal Display), 및/또는 디지털 광학기술(DLP: Digital Light Processing)을 채용할 수 있다. 다른 일례로서, 빔 프로젝트와 기본적인 구조는 같지만, 광원으로 레이저를 사용하는 레이저 프로젝터의 기술이 프로젝터 장치(110)의 영상 투사 기술로서 사용될 수도 있다.As an example of the projector device 110 according to the present invention, a beam projector that is commonly used today can be used. A beam projector passes light from a light source through a lens and projects it onto a screen or wall, using cathode ray tube (CRT), liquid crystal display (LCD), and/or digital optical technology (DLP). : Digital Light Processing) can be adopted. As another example, although the basic structure is the same as that of the beam projector, laser projector technology that uses a laser as a light source may be used as the image projection technology of the projector device 110.

도 2는 일 실시예에 따른 프로젝터 장치의 구성을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining the configuration of a projector device according to an embodiment.

오늘날 유명 당구 플레이어들의 당구 게임들이 TV 채널 또는 인터넷 영상 채널 등을 통하여 사용자들에게 제공되고 있다. 또한, 일반 사용자들의 당구 게임 영상을 녹화하여 서버에 저장하고, 사용자들이 자신의 게임 영상을 원하는 때에 모바일 장치 등을 통하여 쉽게 찾아볼 수 있는 서비스가 제공되고 있다. 본 발명의 실시예에 따르면, 사용자는 상기와 같이 제공되는 당구 게임들 내에서 특정 당구공들의 배치 및 이동을 프로젝터 장치(210)를 통하여 당구 테이블에 재현할 수 있게 된다.Today, billiard games by famous billiard players are provided to users through TV channels or Internet video channels. In addition, a service is provided that records billiard game videos of general users and stores them on a server, and allows users to easily search for their game videos through mobile devices when they want. According to an embodiment of the present invention, a user can reproduce the arrangement and movement of specific billiard balls within the billiard games provided above on the billiard table through the projector device 210.

도 2를 참조하면, 프로젝터 장치(210)(예: 도 1의 프로젝터 장치(110))는 프로세서(222), 메모리(224), 투사 영상 출력 모듈(226) 및 통신 모듈(228)을 포함할 수 있다. 프로젝터 장치(210)의 각 구성 요소들은 통신 버스(229)를 통해 서로 통신할 수 있다.Referring to FIG. 2, the projector device 210 (e.g., the projector device 110 of FIG. 1) may include a processor 222, a memory 224, a projection image output module 226, and a communication module 228. You can. Each component of the projector device 210 may communicate with each other through the communication bus 229.

프로세서(222)는 프로젝터 장치(210)의 전체적인 동작을 제어한다. 프로세서(222)는 하나 또는 복수의 프로세서로 구성될 수 있고, 프로세서(222)는 CPU(central processing unit), AP(application processor), DSP(digital signal processor) 등과 같은 범용 프로세서, 또는 NPU(neural processing unit)을 포함할 수 있다.The processor 222 controls the overall operation of the projector device 210. The processor 222 may be composed of one or more processors, and the processor 222 may be a general-purpose processor such as a central processing unit (CPU), an application processor (AP), a digital signal processor (DSP), or a neural processing unit (NPU). unit) may be included.

일 실시예에서, 프로세서(222)는 외부 장치(예: 모바일 장치(240), 터치 보드 패널 장치(250), 또는 서버)로부터 통신망(221)을 통하여 실사의 당구 게임 이미지를 수신할 수 있다. 여기서, 터치 보드 패널 장치(250)는 당구 테이블이 설치된 곳(예: 당구장, 당구 연습장, 당구 경기장)에서 당구 경기의 관리나 제어를 위해 이용되는 장치를 의미하며, 예를 들어 터치 보드 패널 장치(250)는 네트워크를 통해 당구 테이블이 설치된 곳의 시스템에 연결되거나 인터넷을 통해 외부 서버에 연결될 수 있다.In one embodiment, the processor 222 may receive an actual billiard game image from an external device (e.g., mobile device 240, touch board panel device 250, or server) through the communication network 221. Here, the touch board panel device 250 refers to a device used to manage or control a billiards game in a place where a billiard table is installed (e.g., a billiard room, a billiard practice range, or a billiard stadium), for example, a touch board panel device ( 250) may be connected to the system where the billiard table is installed via a network or to an external server via the Internet.

프로세서(222)는 실사의 당구 게임 이미지로부터 투사 영상인 가상의 당구 게임 이미지를 생성할 수 있다. 실사의 당구 게임 이미지 및 가상의 당구 게임 이미지는 특정 시점의 정지된 하나의 영상 프레임이거나, 시간의 흐름에 따라서 복수의 영상 프레임을 포함하는 동영상일 수 있다. 프로세서(222)는 가상의 당구 게임 이미지를 생성하기 위해 실사의 당구 게임 이미지 내 당구 테이블에 놓인 당구공들을 추출하고, 실사의 당구 게임 이미지로부터 추출된 당구공들이 실사의 당구 게임 이미지 내 당구 테이블에 놓인 위치 및 추출된 당구공들 각각의 컬러를 결정할 수 있다. 프로세서(222)는 추출된 당구공들의 컬러에 기초하여 수구와 목적구들을 구별할 수 있다.The processor 222 may generate a virtual billiard game image, which is a projection image, from an actual billiard game image. The actual billiard game image and the virtual billiard game image may be a single still video frame at a specific point in time, or may be a video containing a plurality of video frames according to the passage of time. The processor 222 extracts billiard balls placed on the billiard table in the real-life billiard game image to generate a virtual billiard game image, and the billiard balls extracted from the real-life billiard game image are placed on the billiard table in the real-life billiard game image. The placed position and color of each extracted billiard ball can be determined. The processor 222 may distinguish between cue balls and object balls based on the colors of the extracted billiard balls.

본 발명에서 실사의 당구 게임 이미지라 함은 현실의 당구 테이블에서 진행되는 당구 경기를 카메라로 촬영한 이미지 혹은 당구 경기를 촬영한 이미지를 재생하는 전자 장치의 디스플레이를 카메라로 촬영한 이미지를 의미할 수 있다. 실사의 당구 게임 이미지는 당구 레슨에 이용되는 당구 테이블 상면 형태의 칠판을 촬영한 이미지를 포함할 수도 있다. 실사의 당구 게임 이미지는 당구공들이 놓인 당구 테이블 상면의 도면 또는 사진을 포함하는 당구 관련 서적, 사진, 수기 기록물, 인쇄물 및 출판물을 촬영한 이미지를 포함할 수도 있다.In the present invention, a real-life billiards game image may mean an image taken with a camera of a billiards game played on a real billiard table or an image taken with a camera of the display of an electronic device that plays an image of a billiards game. there is. The actual billiards game image may include an image taken of a blackboard in the form of the top of a billiard table used for billiards lessons. The actual billiard game image may include images taken from billiards-related books, photographs, handwritten records, prints, and publications, including drawings or photographs of the top of a billiard table with billiard balls placed on it.

본 발명에서 가상의 당구 게임 이미지라 함은 실사의 당구 게임 이미지에 기초하여 생성되어 프로젝터 장치(210)에 의해 실제 당구 테이블의 상면에 투사되는 이미지를 의미한다. 또한, 실사의 수구 및 실사의 목적구라 함은 실사의 당구 게임 이미지 내 당구 테이블에 놓인 수구 및 목적구를 각각 의미하며, 가상의 수구 및 가상의 목적구라 함은 가상의 당구 게임 이미지에 포함된 당구공들로서 실사의 수구 및 실사의 목적구에 각각 대응된다.In the present invention, a virtual billiard game image refers to an image created based on an actual billiard game image and projected onto the upper surface of an actual billiard table by the projector device 210. In addition, the actual cue ball and the actual object ball refer to the cue ball and object ball placed on the billiard table in the actual billiard game image, respectively, and the virtual cue ball and virtual object ball refer to the billiards included in the virtual billiard game image. As balls, they correspond to the object ball of the actual game and the object ball of the actual game, respectively.

실사의 당구 게임 이미지로부터 당구공들을 추출하기 위하여, 이미지 내에서 복수의 당구공들에 대응하는 복수의 오브젝트들을 정의하고, 정의된 오브젝트들의 형상 및 색깔 등의 속성들에 기초하여 서로를 구별하고, 이들 구별된 오브젝트들의 당구 테이블 상에서의 상대 위치를 계산하여 위치 좌표값들을 획득하는 영상 처리 기술이 사용될 수 있다.In order to extract billiard balls from a real-life billiard game image, define a plurality of objects corresponding to a plurality of billiard balls in the image and distinguish them from each other based on properties such as shape and color of the defined objects, Image processing technology may be used to obtain position coordinate values by calculating the relative positions of these distinct objects on the billiard table.

본 발명에 따른 위치 좌표는 당구 테이블의 일측의 모서리와 다른 일측의 모서리를 각각 X축 및 Y축으로 하여 형성되는 좌표계에 기초하여, 좌표 값으로 표시될 수 있다. 또달리, 위치 좌표는 당구 모서리들의 길이, 당구 모서리에 배치된 포인트들의 위치, 당구공들의 크기, 및 당구공들 사이의 상대적 거리들 중에서 적어도 하나를 고려하여 사각의 당구 테이블 상에서 당구공의 위치로 유일하게 결정되는 위치 정보로 해석될 수 있다.The position coordinates according to the present invention may be expressed as coordinate values based on a coordinate system formed with the corners of one side and the corners of the other side of the billiard table as the X-axis and Y-axis, respectively. Alternatively, the position coordinates are calculated as the positions of the billiard balls on a square billiard table by taking into account at least one of the length of the billiard edges, the positions of points arranged on the billiard edges, the size of the billiard balls, and the relative distances between the billiard balls. It can be interpreted as uniquely determined location information.

프로세서(222)는 실사의 당구 게임 이미지에서 당구 테이블에 놓인 당구공들의 위치에 해당하는 위치 좌표를 추출(또는 획득)하고, 추출된 당구공들 각각의 위치 좌표에 기초하여 가상 당구공들의 위치를 결정할 수 있다. 일 실시예에서, 프로세서(222)는 실사의 당구 게임 이미지로부터 적어도 하나의 수구 및 복수의 목적구의 위치를 결정하기 위한 기준점들을 설정하고, 실사의 당구 게임 이미지로부터, 설정된 기준점들에 기초하여 적어도 하나의 수구 및 복수의 목적구들에 대한 위치 좌표들을 획득할 수 있다. The processor 222 extracts (or obtains) positional coordinates corresponding to the positions of the billiard balls placed on the billiard table from the actual billiard game image, and determines the positions of the virtual billiard balls based on the positional coordinates of each of the extracted billiard balls. You can decide. In one embodiment, the processor 222 sets reference points for determining the positions of at least one cue ball and a plurality of object balls from the actual billiard game image, and sets at least one reference point based on the set reference points from the actual billiard game image. Position coordinates for the cue ball and a plurality of object balls can be obtained.

일례로서, 실사의 당구 게임 이미지 내의 당구 테이블의 모서리들이 서로 만나는 4개의 꼭지점들이 기준점으로 설정될 수 있다. 또 다른 일례로서, 당구 테이블의 둘레에 존재하는 포인트들(또는 당구 테이블 쿠션 포인트들)이 기준점으로 설정될 수 있다. 또 다른 일례로서, 실사의 당구 게임 이미지 내의 당구 테이블의 4개의 모서리들로 형성되는 사각형 형상에서 각 변들을 구성하는 임의의 점들을 기준점들로 설정할 수 있다. 설정된 기준점들에 기초하여 실사의 당구 테이블에 놓인 당구공들의 상대 좌표가 당구공들의 위치 좌표로 계산될 수 있다.As an example, four vertices where the corners of a billiard table in a real-life billiard game image meet each other may be set as reference points. As another example, points existing around the billiard table (or billiard table cushion points) may be set as reference points. As another example, arbitrary points constituting each side of a rectangular shape formed by the four corners of a billiard table in an actual billiard game image can be set as reference points. Based on the set reference points, the relative coordinates of the billiard balls placed on the actual billiard table can be calculated as the position coordinates of the billiard balls.

프로세서(222)는 획득된 위치 좌표들에 기초하여 가상의 당구 테이블 상에서 가상의 수구 및 가상의 목적구들의 위치를 결정할 수 있다. 프로세서(222)는 결정된 위치에 기초하여 가상의 수구 및 가상의 목적구들을 배치한 가상의 당구 게임 이미지를 생성할 수 있다. 프로세서(222)는 가상 당구공들 각각에 할당된 컬러 정보 및 위치 정보에 기초하여 가상의 당구 게임 이미지를 생성할 수 있다.The processor 222 may determine the positions of the virtual cue ball and virtual object balls on the virtual billiard table based on the acquired position coordinates. The processor 222 may generate a virtual billiard game image in which virtual cue balls and virtual object balls are arranged based on the determined position. The processor 222 may generate a virtual billiard game image based on color information and location information assigned to each virtual billiard ball.

실사의 당구 게임 이미지는 실사의 당구 테이블 상에서 적어도 하나의 실사의 당구공이 이동하여 다른 실사의 당구공과 충돌하는 경로 정보를 포함할 수 있다. 예를 들어, 실사의 당구 게임 이미지는 실사의 당구 테이블 상에서 적어도 하나의 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 포함할 수 있다.The photorealistic billiards game image may include path information where at least one photorealistic billiard ball moves on the photorealistic billiard table and collides with another photorealistic billiard ball. For example, an image of a real-life billiard game may include path information where at least one real-time cue ball moves on a real-time billiard table and collides with at least one real-time object ball.

프로세서(222)는 실사의 당구 게임 이미지로부터 경로 정보를 추출할 수 있다. 프로세서(222)는 실사의 당구 게임 이미지로부터 추출된 경로 정보에 기초하여 가상의 당구 테이블 상에 배치된 가상의 당구공들 및 가상의 당구공들 중 적어도 하나의 가상의 당구공의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222)는 실사의 당구 게임 이미지로부터 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다.The processor 222 may extract path information from the actual billiard game image. The processor 222 includes a movement path of at least one virtual billiard ball among the virtual billiard balls and the virtual billiard balls placed on the virtual billiard table based on path information extracted from the actual billiard game image. You can create an image of a virtual billiards game. For example, the processor 222 may create a virtual cue ball that includes a movement path where a virtual cue ball moves on a virtual billiard table and collides with at least one virtual object ball, based on path information extracted from an actual billiard game image. You can create a billiards game image.

다른 실시예에서, 외부 장치(예: 모바일 장치(240), 터치 보드 패널 장치(250), 또는 서버)가 실사의 당구 게임 이미지로부터 경로 정보를 추출하고, 추출된 경로 정보를 프로젝터 장치(210)에 전송할 수 있다. 프로세서는 외부 장치로부터 경로 정보를 수신할 수 있다.In another embodiment, an external device (e.g., mobile device 240, touch board panel device 250, or server) extracts path information from an actual billiard game image and sends the extracted path information to the projector device 210. can be transmitted to. The processor can receive route information from an external device.

프로세서(222)는 외부 장치로부터 전송된 경로 정보에 기초하여 가상의 당구 테이블 상에 배치된 가상의 당구공들 및 가상의 당구공들 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222)는 실사의 당구 게임 이미지에 포함된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구 또는 가상의 목적구들 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다.The processor 222 generates a virtual billiard game image including virtual billiard balls arranged on a virtual billiard table and a movement path of at least one of the virtual billiard balls based on path information transmitted from an external device. can do. For example, the processor 222 creates a virtual billiard game image including a movement path of at least one of the virtual cue ball or the virtual object balls on the virtual billiard table, based on the path information included in the actual billiard game image. can be created.

일 실시예에서, 경로 정보는 실사의 당구공들 중 적어도 하나의 당구공의 시간에 따른 이동을 나타내기 위한 당구 테이블 상에서의 당구공 위치 좌표의 변화 정보를 포함할 수 있다. 예를 들어, 경로 정보는 실사의 당구 테이블 상에서의 실사의 수구에 대한 당구공 위치 좌표의 시간에 따른 변화 정보 및 적어도 하나의 실사의 목적구에 대한 당구공 위치 좌표의 시간에 따른 변화 정보를 포함할 수 있다. 또 다른 예로서, 당구공의 위치 좌표는 당구 테이블의 일측의 모서리와 다른 일측의 모서리를 각각 X축 및 Y축으로 하여 형성되는 좌표계에 기초하여, 좌표 값으로 표시될 수 있다. 경로 정보는 상기 좌표계에서 시간에 따른 좌표 값의 변화를 포함할 수 있다. 일 실시예에 따르면, 경로 정보는 X 좌표 및 Y 좌표를 매개 변수로 하는 수학적 함수로 표시될 수 있다.In one embodiment, the path information may include change information in the position coordinates of a billiard ball on a billiard table to indicate the movement of at least one billiard ball among the actual billiard balls over time. For example, the path information includes information about changes over time in the position coordinates of a billiard ball relative to a cue ball on an actual billiard table and information about changes over time in the position coordinates of a billiard ball relative to at least one object ball of the real world. can do. As another example, the position coordinates of the billiard ball may be expressed as coordinate values based on a coordinate system formed with the corner of one side of the billiard table and the corner of the other side as the X-axis and Y-axis, respectively. Path information may include changes in coordinate values over time in the coordinate system. According to one embodiment, path information may be expressed as a mathematical function with X coordinates and Y coordinates as parameters.

프로세서(222)는 경로 정보에 기초하여, 가상의 당구공들 중 적어도 하나가 이동 경로 상에서 시간에 따라 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222)는 경로 정보에 기초하여, 가상의 수구 및 적어도 하나의 가상의 목적구 각각이 시간에 따라 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 이동 경로는 해당 이동 경로를 따라 간격을 두고 가상의 당구 게임 이미지 상에 배치된 가상의 당구공의 이미지들에 의해 표시될 수 있다. 예를 들어, 이동 경로는 가상의 수구 및 적어도 하나의 가상의 목적구에 대응되는 복수의 원형 이미지들에 의해 표시될 수 있다. 복수의 원형 이미지들은 설정된 간격을 두고 해당 이동 경로를 따라 배치될 수 있다. 복수의 원형 이미지들은 해당 이동 경로를 따라 순차적으로 표시될 수 있다. 예를 들어, 이동 경로는 해당 이동 경로를 따라 설정된 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수 있다. 이동 경로는 해당 이동 경로를 따라 해당 이동 경로를 따라 설정된 시간 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수 있다. 다른 예로, 이동 경로는 해당 이동 경로를 따라 설정된 거리 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수도 있다.Based on the path information, the processor 222 may generate a virtual billiard game image in which at least one of the virtual billiard balls moves with time on the movement path. For example, the processor 222 may generate a virtual billiard game image in which each of the virtual cue ball and at least one virtual object ball moves over time based on the path information. The movement path may be displayed by images of virtual billiard balls placed on the virtual billiard game image at intervals along the movement path. For example, the movement path may be displayed by a plurality of circular images corresponding to a virtual cue ball and at least one virtual object ball. A plurality of circular images may be arranged along the movement path at set intervals. A plurality of circular images may be displayed sequentially along the corresponding movement path. For example, the movement path is composed of a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set intervals along the movement path. can be displayed. The movement path includes a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set time intervals along the movement path. It can be displayed by . As another example, the movement path is composed of a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set distance intervals along the movement path. It may be displayed.

프로젝터 장치(210)는 당구 테이블에 투사된 가상의 당구 게임 이미지를 통해 가상 당구공의 시간에 따른 이동 경로를 보여줌으로써 사용자에게 당구 플레이에 의한 당구공의 이동을 현실감 있게 제공할 수 있다.The projector device 210 can provide the user with a realistic movement of the billiard ball during billiard play by showing the movement path of the virtual billiard ball over time through a virtual billiard game image projected on the billiard table.

일 실시예에서, 리모트 콘트롤러(230)는 원격으로 통신망(221)을 통하여 프로젝트 장치(210)를 제어할 수 있다. 리모트 콘트롤러(230)는 예를 들어 전원 조작부(232)와 프로젝터 장치(210)의 기능을 제어하기 위한 여러 기능 조작부(234)들을 포함할 수 있다. 전원 조작부(232) 및 기능 조작부(234)들은 버튼식 또는 터치식으로 구현될 수 있다. 기능 조작부(234)들은 당구 테이블에 투사되는 가상의 당구 게임 이미지 내 가상의 당구공들 중에서 이동 경로를 표시할 가상의 당구공을 선택하기 위한 기능 조작부, 및/또는 가상의 당구 게임 이미지에 포함되는 로고/그림/텍스트 등을 변경하기 위한 기능 조작부를 포함할 수 있다. 사용자는 기능 조작부(234)를 조작하는 것에 의해 당구 테이블에 이동 경로가 표시되는 적어도 하나의 가상의 당구공을 선택할 수 있다.In one embodiment, the remote controller 230 can remotely control the project device 210 through the communication network 221. The remote controller 230 may include, for example, a power control unit 232 and various function control units 234 for controlling the functions of the projector device 210. The power control unit 232 and the function control unit 234 may be implemented as a button type or a touch type. The function control units 234 are function control units for selecting a virtual billiard ball to display a movement path among virtual billiard balls in a virtual billiard game image projected on the billiard table, and/or included in the virtual billiard game image. It may include a functional control panel for changing logos/pictures/text, etc. The user can select at least one virtual billiard ball whose movement path is displayed on the billiard table by manipulating the function control unit 234.

메모리(224)는 프로세서(222)가 처리 동작을 수행하는데 필요한 정보를 저장한다. 예를 들어, 메모리(224)는 프로세서(222)에 의해 실행 가능한 인스트럭션들과 가상 당구공들에 할당된 위치 정보, 가상 당구공들의 이동 경로 및 가상의 당구 게임 이미지 중 적어도 하나를 저장할 수 있다. 메모리(224)는 RAM, DRAM, SRAM과 같은 휘발성 메모리 및/또는 플래쉬 메모리와 같은 이 기술 분야에서 알려진 비휘발성 메모리를 포함할 수 있다.Memory 224 stores information necessary for processor 222 to perform processing operations. For example, the memory 224 may store at least one of instructions executable by the processor 222, location information assigned to the virtual billiard balls, a movement path of the virtual billiard balls, and a virtual billiard game image. Memory 224 may include volatile memory such as RAM, DRAM, SRAM, and/or non-volatile memory known in the art such as flash memory.

투사 영상 출력 모듈(226)은 가상의 당구 게임 이미지를 당구 테이블의 상면을 향해 투사할 수 있다. 투사 영상 출력 모듈(226)은 가상의 당구 게임 이미지에 대응되는 영상 신호를 생성하는 광원을 포함하는 조명부, 및 영상 신호를 굴절, 반사, 확대, 및/또는 축소하기 위한 렌즈 및/또는 거울을 포함할 수 있다. 투사 영상 출력 모듈(226)은 또한 광학적 효과를 위한 광학 필름이나 그림, 로고, 텍스트 등을 가상의 당구 게임 이미지에 중첩시키기 위한 필름을 더 포함할 수도 있다.The projection image output module 226 may project a virtual billiard game image toward the upper surface of the billiard table. The projection image output module 226 includes a lighting unit including a light source that generates an image signal corresponding to a virtual billiard game image, and a lens and/or mirror for refracting, reflecting, enlarging, and/or reducing the image signal. can do. The projection image output module 226 may also include an optical film for optical effects or a film for superimposing pictures, logos, text, etc. on the virtual billiard game image.

통신 모듈(228)은 유선 통신 및/또는 무선 통신에 따라 통신망(221)을 통하여 외부 장치와 통신할 수 있다. 일례로서, 통신 모듈(228)은 블루투스, WiFi(Wireless Fidelity) direct 또는 IrDA와 같은 근거리 통신 네트워크의 무선 통신을 수행할 수 있다.The communication module 228 can communicate with an external device through the communication network 221 according to wired communication and/or wireless communication. As an example, the communication module 228 may perform wireless communication of a short-range communication network such as Bluetooth, Wireless Fidelity (WiFi) direct, or IrDA.

통신 모듈(228)은 외부 장치로부터 제어 신호를 수신할 수 있고, 프로세서(222)는 외부 장치로부터 수신한 제어 신호에 기초하여 가상의 당구 게임 이미지에서 이동 경로를 표시할 가상의 당구공을 결정할 수 있다. 외부 장치는 예를 들어 이동 경로를 표시할 가상의 당구공을 결정하는 제어 신호를 생성할 수 있는 리모트 콘트롤러(230), 터치 보드 패널 장치(250), 또는 모바일 장치(240) 중에서 적어도 하나를 포함할 수 있다.The communication module 228 may receive a control signal from an external device, and the processor 222 may determine a virtual billiard ball to display a movement path in a virtual billiard game image based on the control signal received from the external device. there is. The external device includes, for example, at least one of a remote controller 230, a touch board panel device 250, or a mobile device 240 capable of generating a control signal to determine a virtual billiard ball to display a movement path. can do.

실시예에 따라, 프로젝터 장치(210)는 카메라(미도시)를 더 포함할 수도 있다. 카메라는 당구 테이블을 촬영한 당구 테이블 영상을 획득할 수 있다. 예를 들어, 사용자의 당구 플레이를 실사의 당구 게임 이미지로 녹화할 수 있다. 프로세서(222)는 투사 영상 출력 모듈(226)을 통해 녹화된 실사의 당구 게임 이미지를 당구 테이블 상에 가상의 당구 게임지로 투사할 수 있다.Depending on the embodiment, the projector device 210 may further include a camera (not shown). The camera can acquire billiard table images taken of the billiard table. For example, a user's billiards play can be recorded as an actual billiard game image. The processor 222 may project the recorded real-life billiard game image onto a virtual billiard game sheet on the billiard table through the projection image output module 226.

실시예에 따라, 프로세서(222)는 카메라를 통해 획득된 실사의 당구 테이블 영상 및/또는 센서(예: 마이크)의 센서 데이터를 분석하는 것을 통해 사용자의 당구 큐 대가 실제 당구공에 맞는 것을 감지할 수 있다. 예를 들어, 실사의 당구 테이블 영상에서 실제 당구공이 당구 큐와의 접촉에 의해 이동이 감지된 경우 또는 마이크에 의해 획득된 소리 데이터에서 당구 큐에 의한 당구공의 타격 소리가 감지된 경우, 사용자의 당구 큐가 실제 당구공에 맞는 것이 감지될 수 있다. 당구 큐가 실제 당구공에 맞는 것이 감지된 경우, 프로세서(222)는 당구 테이블에 대한 가상의 당구 게임 이미지의 투사를 중지시킴으로써 사용자가 실제 당구 테이블 상에서 당구공의 이동을 수월하게 인지할 수 있도록 제어할 수 있다. 즉, 본 발명에 따르면, 실제의 당구 테이블에 가상의 당구공들의 위치 및 움직임들을 효과적으로 투사함으로써, 사용자가 당구 게임의 연습 효과를 극대화할 수 있게 된다.Depending on the embodiment, the processor 222 may detect whether the user's billiard cue stick hits an actual billiard ball by analyzing the actual billiard table image acquired through a camera and/or sensor data from a sensor (e.g., a microphone). You can. For example, if the movement of an actual billiard ball is detected by contact with a billiard cue in an actual billiard table video, or if the sound of a billiard ball being hit by a billiard cue is detected in sound data acquired by a microphone, the user's It can be detected that the billiard cue hits an actual billiard ball. When it is detected that the billiard cue hits the actual billiard ball, the processor 222 stops projection of the virtual billiard game image on the billiard table so that the user can easily perceive the movement of the billiard ball on the actual billiard table. can do. That is, according to the present invention, the user can maximize the practice effect of the billiard game by effectively projecting the positions and movements of virtual billiard balls on the actual billiard table.

실시예에 따라, 투사 영상 출력 모듈(226)은 프로세서(222), 메모리(224) 및 통신 모듈(228)과 물리적으로 이격된 공간에 위치할 수 있다. 예를 들어, 투사 영상 출력 모듈(226)이 당구 테이블의 상면의 위쪽(above)에 위치하고, 프로세서(222), 메모리(224) 및 통신 모듈(228)은 당구 테이블이 놓인 지면에 위치할 수 있다. 이격된 공간에 위치하는 투사 영상 출력 모듈(226)은 통신망을 통해 프로세서(222), 메모리(224) 및 통신 모듈(228)과 통신할 수 있다. 투사 영상 출력 모듈(226)이 프로세서(222), 메모리(224) 및 통신 모듈(228)과 물리적으로 이격된 공간에 위치하는 경우 투사 영상 출력 모듈(226)은 통신을 위한 별도의 통신 모듈(미도시)을 더 포함할 수 있다. 프로세서(222)는 생성된 가상의 당구 게임 이미지를 통신망을 통해 투사 영상 출력 모듈로 전송할 수 있다. 전송된 가상의 당구 게임 이미지는 투사 영상 출력 모듈(226)에 의해 실제 당구 테이블의 상면에 투사될 수 있다.Depending on the embodiment, the projection image output module 226 may be located in a space physically spaced apart from the processor 222, the memory 224, and the communication module 228. For example, the projected image output module 226 may be located above the top surface of the billiard table, and the processor 222, memory 224, and communication module 228 may be located on the ground where the billiard table is placed. . The projection image output module 226 located in a separate space may communicate with the processor 222, the memory 224, and the communication module 228 through a communication network. If the projection image output module 226 is located in a space physically separated from the processor 222, memory 224, and communication module 228, the projection image output module 226 may be installed in a separate communication module (not shown) for communication. poetry) may be further included. The processor 222 may transmit the generated virtual billiard game image to the projection image output module through a communication network. The transmitted virtual billiard game image may be projected onto the upper surface of the actual billiard table by the projection image output module 226.

다른 예로, 프로세서(222), 메모리(224) 및 통신 모듈(228)은 터치 보드 패널 장치(250) 내에 위치할 수도 있다.As another example, the processor 222, memory 224, and communication module 228 may be located within the touch board panel device 250.

도 3은 본 발명에 따른 영상 투사 시스템의 또다른 실시예를 도시한 것이다.Figure 3 shows another embodiment of an image projection system according to the present invention.

도 3을 참조하면, 영상 투사 시스템(200)은 복수의 프로젝터 장치들(270, 271, 272)(예: 도 1의 프로젝터 장치(110)), 복수의 당구 테이블들(280, 281, 282) 및 영상 투사 서버(260)를 포함할 수 있다. 영상 투사 서버(260)는 복수의 프로젝터 장치들(270, 271, 272)과 통신망(261)을 통하여 연결되어 있다. 각각의 프로젝터 장치들(270, 271, 272)은 각각의 당구 테이블들(280, 281, 282)과 이격되어 당구 테이블(280, 281, 282)의 상면의 위쪽에 위치할 수 있다. 복수의 당구 테이블들(280, 281, 282)은 서로 다른 당구장에 위치할 수도 있고, 또는 하나의 당구장에 위치할 수 있다.Referring to FIG. 3, the image projection system 200 includes a plurality of projector devices 270, 271, and 272 (e.g., the projector device 110 of FIG. 1) and a plurality of billiard tables 280, 281, and 282. and an image projection server 260. The image projection server 260 is connected to a plurality of projector devices 270, 271, and 272 through a communication network 261. Each of the projector devices 270, 271, and 272 may be spaced apart from each of the billiard tables 280, 281, and 282 and positioned above the upper surface of the billiard tables 280, 281, and 282. The plurality of billiard tables 280, 281, and 282 may be located in different billiard rooms, or may be located in one billiard room.

도 1 및 도 2에 기재된 실시예와 달리, 도 3의 실시예에서는 실사의 당구 게임 이미지로부터 가상의 당구 게임 이미지를 생성하는 프로세서가 영상 투사 서버(260)에 위치하고, 프로젝터 장치(270, 271, 272)를 이용하여 가상의 당구 게임 이미지가 당구 테이블(280, 281, 282)에 각각 투사된다.Unlike the embodiment shown in FIGS. 1 and 2, in the embodiment of FIG. 3, a processor for generating a virtual billiard game image from an actual billiard game image is located in the image projection server 260, and the projector devices 270, 271, Using 272), virtual billiard game images are projected onto the billiard tables 280, 281, and 282, respectively.

도 3을 참조하면, 영상 투사 서버(260)는 프로세서(262), 메모리(264), 통신 모듈(266)을 포함할 수 있다. 영상 투사 서버(260)의 각 구성 요소들은 통신 버스(269)를 통해 서로 통신할 수 있다.Referring to FIG. 3, the image projection server 260 may include a processor 262, a memory 264, and a communication module 266. Each component of the image projection server 260 may communicate with each other through the communication bus 269.

프로세서(262)는 실사의 당구 게임 이미지로부터 가상의 당구 게임 이미지를 생성하고, 통신 모듈(266)은 생성된 가상의 당구 게임 이미지를 통신망을 통하여 프로젝터 장치(270, 271, 272)로 전송할 수 있다. 전송된 가상의 당구 게임 이미지는 프로젝터 장치(270, 271, 272)로부터 당구 테이블(280, 281, 282)의 상면으로 투사된다. 프로세서(262)는 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고, 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구, 및 적어도 하나의 가상의 목적구가 이동하는 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성한다.The processor 262 generates a virtual billiard game image from the actual billiard game image, and the communication module 266 can transmit the generated virtual billiard game image to the projector devices 270, 271, and 272 through a communication network. . The transmitted virtual billiard game image is projected from the projector devices 270, 271, and 272 to the upper surface of the billiard table (280, 281, and 282). The processor 262 extracts path information from the real-life billiard game image, where the real-life cue ball moves on the real-life billiard table and collides with at least one real-time object ball, and based on the extracted path information, creates a virtual billiard table. A virtual billiard game image is generated including a virtual cue ball and a movement path along which at least one virtual object ball moves.

프로세서(262), 메모리(264) 및 통신 모듈(266)의 세부적인 동작은 도 2의 실시예에 기재된 프로세서(222), 메모리(224) 및 통신 모듈(228)과 각각 유사하므로, 이에 대한 상세한 기술은 이하 생략하기로 한다.Since the detailed operations of the processor 262, memory 264, and communication module 266 are similar to the processor 222, memory 224, and communication module 228 described in the embodiment of FIG. 2, detailed operations thereof are provided. The description will be omitted below.

도 4는 일 실시예에 따른 프로젝터 장치 또는 영상 투사 서버가 외부 장치와 연결되어 실사의 당구 게임 이미지에 대응하는 가상의 당구 게임 이미지를 제공하는 것을 설명하기 위한 도면이다.FIG. 4 is a diagram illustrating how a projector device or an image projection server according to an embodiment is connected to an external device to provide a virtual billiard game image corresponding to an actual billiard game image.

도 4를 참조하면, 외부 장치(305) (예: 스마트폰, 태블릿 PC, PDA, 노트북)에 실사의 당구 게임 이미지(310)가 표시되어 있다. 도 3의 예시에서, 실사의 당구 게임 이미지(310)는 실사의 수구(315), 실사의 제1 목적구(320) 및 실사의 제2 목적구(325)를 포함하고, 수구(315)가 이동하여 제1 목적구(320)에 충돌하는 동영상일 수 있다.Referring to FIG. 4, an actual billiard game image 310 is displayed on an external device 305 (e.g., smartphone, tablet PC, PDA, laptop). In the example of FIG. 3 , the realistic billiard game image 310 includes a realistic cue ball 315, a realistic first object ball 320, and a realistic second object ball 325, and the cue ball 315 is It may be a video of the video moving and colliding with the first object ball 320.

사용자는 당구 경기를 보다가 실제로 당구 테이블(355)에서 구현하고자 하는 당구공 배치가 나타난 당구 게임 이미지를 캡쳐 또는 촬영할 수 있다. 예를 들어, 사용자는 외부 장치(305)를 이용하여 TV 방송 또는 유투브 등을 통해 당구 경기를 시청할 수 있고, 당구 경기 장면 중 직접 구현하고자 하는 당구공 배치가 나타난 당구 게임 이미지를 캡쳐하거나 해당 당구 경기를 촬영 또는 녹화할 수 있다. 외부 장치(305)는 영상 투사 시스템(100, 200)의 기능을 제어하는 리모트 콘트롤러의 기능을 수행할 수도 있다. 다른 예로, 사용자는 TV로 당구 경기를 시청하고 있는 중에 당구 테이블(355)에서 구현하고자 하는 당구공 배치가 나타난 당구 게임 이미지를 캡쳐하거나 해당 당구 경기를 촬영 또는 녹화할 수도 있다. 사용자는 하나의 영상 프레임뿐만 아니라 동영상을 촬영 또는 녹화할 수도 있다. 사용자가 동영상을 촬영하거나 녹화한 경우, 실사의 당구 게임 이미지(310)는 적어도 하나의 실사의 당구공(예: 수구(315))이 이동하여 적어도 하나의 다른 실사의 당구공(예: 제1 목적구(320))과 충돌하는 경로 정보를 포함할 수 있다.While watching a billiard game, a user can actually capture or photograph a billiard game image showing the billiard ball arrangement that is desired to be implemented on the billiard table 355. For example, the user can use the external device 305 to watch a billiards game through TV broadcasts or YouTube, and capture a billiard game image showing the billiard ball arrangement to be directly implemented during the billiard game scene or capture a billiard game image showing the billiard ball arrangement to be implemented directly during the billiard game scene. You can film or record. The external device 305 may function as a remote controller that controls the functions of the image projection systems 100 and 200. As another example, while watching a billiard game on TV, a user may capture a billiard game image showing the billiard ball arrangement to be implemented on the billiard table 355, or film or record the billiard game. Users can shoot or record videos as well as single video frames. When a user shoots or records a video, the photo-realistic billiard game image 310 shows at least one photo-realistic billiard ball (e.g., cue ball 315) moving so that at least one other photo-realistic billiard ball (e.g., the first cue ball 315) moves. It may include path information that collides with the object sphere 320).

사용자는 캡쳐, 촬영 또는 녹화되어 획득된 실사의 당구 게임 이미지(310)를 통신망(321)을 통하여 영상 투사 시스템(100, 200)으로 전송할 수 있다. 프로세서(222, 262)는 수신된 실사의 당구 게임 이미지(310)에서 당구 테이블(327)을 추출하고, 당구 테이블(327) 내에 위치한 당구공들(315, 320, 325)의 각각의 위치 및 컬러를 추출할 수 있다. 실시예에 따라, 실사의 당구 게임 이미지(310)에서 당구 테이블 포인트들이 더 추출될 수도 있고, 프로세서는 당구 테이블 포인트들의 배치와 당구공들(315, 320, 325) 간의 위치 관계를 기초로 당구 테이블(327) 내에서의 당구공들(315, 320, 325)의 위치를 결정할 수 있다.The user can transmit the actual billiard game image 310 obtained by capturing, filming, or recording to the image projection system 100, 200 through the communication network 321. The processors 222 and 262 extract the billiard table 327 from the received real-life billiard game image 310 and determine the respective positions and colors of the billiard balls 315, 320, and 325 located within the billiard table 327. can be extracted. Depending on the embodiment, billiard table points may be further extracted from the actual billiard game image 310, and the processor may extract the billiard table points based on the arrangement of the billiard table points and the positional relationship between the billiard balls 315, 320, and 325. The positions of the billiard balls 315, 320, and 325 within 327 can be determined.

일 실시예에서, 실사의 당구 게임 이미지(310)에서 당구공들(315, 320, 325) 각각의 위치 및 컬러를 추출하기 위해 특징점 또는 딥러닝(deep learning)(또는 기계 학습) 기반의 객체 추출(또는 인식) 알고리즘이 이용될 수 있다. 예를 들어, 실사의 당구 게임 이미지(310)에서 당구 테이블(327)의 네 개의 모서리들, 당구 테이블 포인트들, 및 당구공들(315, 320, 325)의 중심점이 특징점들로서 추출되고, 특징점들의 위치 관계를 기초로 당구 테이블(327) 내에서의 당구공들(315, 320, 325)의 위치가 결정될 수 있다.In one embodiment, object extraction based on feature points or deep learning (or machine learning) is performed to extract the positions and colors of each of the billiard balls 315, 320, and 325 from the actual billiard game image 310. (or recognition) algorithms may be used. For example, in the real-life billiard game image 310, the four corners of the billiard table 327, the billiard table points, and the center points of the billiard balls 315, 320, and 325 are extracted as feature points, and the feature points of the Based on the positional relationship, the positions of the billiard balls 315, 320, and 325 within the billiard table 327 may be determined.

이 때, 실사의 당구 게임 이미지(310)에서 당구공들(315, 320, 325)의 컬러 속성도 추출되어 당구공들(315, 320, 325)의 컬러가 인식될 수 있다. 다른 예로, 실사의 당구 게임 이미지(310)가 학습된 뉴럴 네트워크 기반의 인식 모델에 입력되고, 인식 모델로부터 출력된 실사의 당구 게임 이미지(310)에 배치된 당구공들(315, 320, 325)의 위치 좌표와 컬러 속성에 기초하여 당구 테이블(327) 내에서의 당구공들(315, 320, 325) 각각의 위치와 컬러를 결정할 수도 있다. 인식 모델은 많은 수의 학습 이미지들 각각에 대해 각 학습 이미지에서 당구공들의 위치 좌표와 컬러 속성을 추출하여 출력하도록 학습된 모델일 수 있다. 학습 이미지들 각각은 당구공들이 서로 다르게 배치된 당구 게임 이미지들에 대응하고, 당구공들의 실제 위치 값과 실제 컬러 값이 알려진 이미지들이다. 인식 모델의 학습 과정에서는, 인식 모델이 어느 학습 이미지에 대하여 출력된 당구공들의 위치 좌표와 컬러 속성을 해당 학습 이미지에 대해 알려진 실제 위치 값과 실제 컬러 값을 비교하고, 인식 모델의 출력들(당구공들의 위치 좌표와 컬러 속성)과 실제 값들(위치 값 및 컬러 값) 간의 차이가 최소가 되도록 인식 모델의 파라미터들을 업데이트하는 과정이 반복적으로 수행될 수 있다.At this time, the color properties of the billiard balls 315, 320, and 325 may also be extracted from the actual billiard game image 310, and the colors of the billiard balls 315, 320, and 325 may be recognized. As another example, a real-life billiard game image 310 is input to a learned neural network-based recognition model, and billiard balls 315, 320, 325 are placed in the real-life billiard game image 310 output from the recognition model. The positions and colors of each of the billiard balls 315, 320, and 325 within the billiard table 327 may be determined based on the position coordinates and color attributes. The recognition model may be a model learned to extract and output the position coordinates and color attributes of billiard balls from each of a large number of learning images. Each of the learning images corresponds to billiard game images in which billiard balls are arranged differently, and are images for which the actual position values and actual color values of the billiard balls are known. In the learning process of the recognition model, the recognition model compares the position coordinates and color properties of the billiard balls output for a certain learning image with the actual position value and actual color value known for the corresponding learning image, and the outputs of the recognition model (billiard balls) The process of updating the parameters of the recognition model may be repeatedly performed so that the difference between the balls' position coordinates and color attributes) and actual values (position value and color value) is minimized.

일 실시예에서, 프로세서(222, 262)는 실사의 당구 게임 이미지(310)에서 추출한 당구공들(315, 320, 325)에 대한 위치 정보 및 컬러 정보를 기초로 실사의 당구 게임 이미지(310) 내 당구공들(315, 320, 325)의 위치 및 컬러에 대응하도록 가상의 당구 게임 이미지 내 가상 당구공들(330, 345, 350)의 위치 및 컬러를 결정할 수 있다. 프로세서(222, 262)는 실사의 당구 게임 이미지(310) 내 당구공들(315, 320, 325)의 각 컬러에 기초하여 수구 및 목적구들을 구별할 수 있다. 예를 들어, 실사의 당구 게임 이미지(310)에서 하얀색 또는 노란색의 당구공은 수구로 구별되고, 빨간색 및/또는 노란색의 당구공들은 목적구들로 구별될 수 있다. 노란색의 당구공은 당구 게임 종류나 당구 게임 상황에 따라 수구 또는 목적구로서 구별될 수 있다. 다만, 실시예의 범위가 이에 제한되는 것은 아니고, 프로세서(222, 262)는 당구 게임의 종류(예: 4구, 3쿠션, 포켓볼)에서 정해지는 수구 및 목적구들의 컬러에 기초하여 실사의 당구 게임 이미지(310)에서 수구 및 목적구들을 구별할 수 있다.In one embodiment, the processors 222 and 262 generate the photo-realistic billiard game image 310 based on the location information and color information about the billiard balls 315, 320, and 325 extracted from the photo-realistic billiard game image 310. The positions and colors of the virtual billiard balls 330, 345, and 350 in the virtual billiard game image may be determined to correspond to the positions and colors of the billiard balls 315, 320, and 325. The processors 222 and 262 may distinguish between the cue ball and the object ball based on the respective colors of the billiard balls 315, 320, and 325 in the actual billiard game image 310. For example, in the actual billiard game image 310, white or yellow billiard balls may be distinguished as cue balls, and red and/or yellow billiard balls may be distinguished as object balls. Yellow billiard balls can be distinguished as cue balls or object balls depending on the type of billiard game or billiard game situation. However, the scope of the embodiment is not limited to this, and the processors 222 and 262 provide a realistic billiards game based on the colors of the cue ball and object balls determined by the type of billiard game (e.g., 4-ball, 3-cushion, pocket ball). In image 310, the cue ball and object ball can be distinguished.

프로세서는 실사의 당구 게임 이미지(310)로부터 경로 정보를 추출할 수 있다.The processor may extract path information from the actual billiard game image 310.

일 실시예에서, 프로세서는 당구 테이블 포인트들의 배치와 실사의 당구공들(315, 320, 325) 간의 위치 관계를 기초로 실사의 당구 게임 이미지(310)로부터 경로 정보를 추출할 수 있다. 프로세서(222, 262)는 실사의 당구 게임 이미지(310)의 둘 이상의 영상 프레임들로부터 당구 테이블 포인트들의 배치와 당구공들(315, 320, 325) 간의 위치 관계를 기초로 당구 테이블(327) 내에서의 당구공들(315, 320, 325)의 각각의 위치 및 컬러를 추출할 수 있다. 프로세서(222, 262)는 둘 이상의 영상 프레임들에서의 당구공들(315, 320, 325)의 위치 변화에 기초하여 경로 정보를 추출할 수 있다.In one embodiment, the processor may extract path information from the real-life billiard game image 310 based on the arrangement of billiard table points and the positional relationship between the real-life billiard balls 315, 320, and 325. The processors 222 and 262 store information within the billiard table 327 based on the arrangement of billiard table points and the positional relationship between the billiard balls 315, 320, and 325 from two or more image frames of the actual billiard game image 310. The positions and colors of each of the billiard balls 315, 320, and 325 can be extracted. The processors 222 and 262 may extract path information based on changes in the positions of the billiard balls 315, 320, and 325 in two or more image frames.

다른 실시예에서, 프로세서(222, 262)는 학습된 뉴럴 네트워크 기반의 인식 모델을 이용하여 실사의 당구 게임 이미지로부터 추출된 실사의 수구 및 적어도 하나의 실사의 목적구의 위치 및 컬러에 기초하여 경로 정보를 추출할 수 있다. 프로세서(222, 262)는 실사의 당구 게임 이미지(310)의 둘 이상의 영상 프레임들로부터 학습된 뉴럴 네트워크 기반의 인식 모델을 이용하여 적어도 하나의 실사의 목적구의 위치 및 컬러를 추출할 수 있다. 프로세서(222, 262)는 둘 이상의 영상 프레임들에서의 당구공들(315, 320, 325)의 위치 변화에 기초하여 경로 정보를 추출할 수 있다.In another embodiment, the processors 222 and 262 generate path information based on the positions and colors of the real-life cue ball and at least one real-time object ball extracted from the real-life billiard game image using a learned neural network-based recognition model. can be extracted. The processors 222 and 262 may extract the location and color of at least one real-time object ball using a neural network-based recognition model learned from two or more image frames of the real-time billiard game image 310. The processors 222 and 262 may extract path information based on changes in the positions of the billiard balls 315, 320, and 325 in two or more image frames.

프로세서(222, 262)는 추출된 경로 정보에 기초하여 가상의 당구 테이블 상에 배치된 가상의 당구공들(330, 345, 350) 및 가상의 당구공들(330, 345, 350) 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222, 262)는 실사의 당구 게임 이미지(310)로부터 추출된 경로 정보에 기초하여 가상의 당구 테이블 상에서 가상의 수구(330) 및 가상의 목적구들(345, 350)을 포함하고 가상의 수구(330) 또는 가상의 목적구들(345, 350) 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 도 1의 프로젝터 장치(210)는 투사 영상 출력 모듈(226)을 이용하여 생성된 가상의 당구 게임 이미지를 당구 테이블(355)의 상면을 향해 투사할 수 있다. 또 달리, 도 3의 영상 투사 서버(260)는 프로젝터 장치(270, 271, 272)를 이용하여 생성된 가상의 당구 게임 이미지를 당구 테이블(355)의 상면을 향해 투사할 수 있다.The processors 222 and 262 operate at least one of the virtual billiard balls 330, 345, and 350 and the virtual billiard balls 330, 345, and 350 arranged on the virtual billiard table based on the extracted path information. A virtual billiard game image including the movement path can be created. For example, the processors 222 and 262 include a virtual cue ball 330 and virtual object balls 345 and 350 on a virtual billiard table based on path information extracted from the actual billiard game image 310. And a virtual billiard game image including the movement path of at least one of the virtual cue ball 330 or the virtual object balls 345 and 350 may be generated. The projector device 210 of FIG. 1 may project a virtual billiard game image generated using the projection image output module 226 toward the upper surface of the billiard table 355 . Alternatively, the image projection server 260 of FIG. 3 may project a virtual billiard game image generated using the projector devices 270, 271, and 272 toward the upper surface of the billiard table 355.

다른 실시예에서, 외부 장치(305)가 실사의 당구 게임 이미지(310)로부터 경로 정보를 추출하고, 추출된 경로 정보를 영상 투사 시스템(100, 200)으로 전송할 수 있다. 프로세서(222, 262)는 외부 장치(305)로부터 수신한 경로 정보에 기초하여 가상의 당구 테이블 상에 배치된 가상의 당구공들(330, 345, 350) 및 가상의 당구공들(330, 345, 350) 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수도 있다.In another embodiment, the external device 305 may extract path information from the actual billiard game image 310 and transmit the extracted path information to the image projection systems 100 and 200. The processors 222 and 262 process the virtual billiard balls 330, 345 and 350 and the virtual billiard balls 330 and 345 placed on the virtual billiard table based on the path information received from the external device 305. , 350), a virtual billiard game image including at least one movement path may be generated.

일 실시예에 따른 가상의 당구 게임 이미지에서, 가상의 당구공들(330, 345, 350) 중 적어도 하나가 해당 가상 당구공의 이동 경로 상에서 시간에 따라 이동할 수 있다. 예를 들어, 도 4의 당구 테이블(355)에 투사되는 당구 게임 이미지는 가상의 수구(330)의 시간에 따른 이동을 동영상 형태로 보여줄 수 있다. 일 실시예에서, 프로세서(222, 262)는 사용자로부터 가상의 당구공들(330, 345, 350) 중 적어도 하나가 해당 가상 당구공의 이동 경로 상에서 이동하는 속도를 조절하는 사용자 명령을 수신하고, 가상의 당구공들(330, 345, 350) 중 적어도 하나가 이동 경로 상에서 수신한 사용자 명령에 따른 속도로 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222, 262)는 가상의 수구(330) 또는 가상의 목적구들(345, 350) 중 적어도 하나가 이동 경로 상에서 사용자 명령에 따른 속도로 이동하는 가상의 당구 게임 이미지를 생성할 수 있다.In a virtual billiard game image according to an embodiment, at least one of the virtual billiard balls 330, 345, and 350 may move with time on the movement path of the virtual billiard ball. For example, the billiard game image projected on the billiard table 355 of FIG. 4 may show the movement of the virtual cue ball 330 over time in the form of a video. In one embodiment, the processors 222 and 262 receive a user command from the user to adjust the speed at which at least one of the virtual billiard balls 330, 345, and 350 moves on the movement path of the virtual billiard ball, A virtual billiard game image may be created in which at least one of the virtual billiard balls 330, 345, and 350 moves at a speed according to a user command received on the movement path. For example, the processors 222 and 262 may generate a virtual billiard game image in which at least one of the virtual cue ball 330 or the virtual object balls 345 and 350 moves at a speed according to a user command on a movement path. You can.

다른 실시예에 따른 가상의 당구 게임 이미지에서, 가상의 당구 게임 이미지에 포함된 가상의 당구공들 중 어느 하나의 가상의 당구공의 이동 경로가 해당 가상 당구공의 이동 경로를 따라 간격을 두고 배치된 해당 가상의 당구공의 복수의 원형 이미지들에 의해 표시될 수 있다. 예를 들어, 실사의 당구 게임 이미지(310)에서 실사의 수구(315)의 이동 경로는 가상의 당구 게임 이미지 상에서 가상의 수구(330)의 이동 경로로 표시될 수 있고, 가상의 수구(330)의 이동 경로는 가상의 수구(330)의 이동 경로 따라 설정된 간격을 두고 배치된 복수의 수구 이미지들(332, 334, 336, 340)에 의해 표시될 수 있다.In a virtual billiard game image according to another embodiment, the movement path of any one virtual billiard ball among the virtual billiard balls included in the virtual billiard game image is arranged at intervals along the movement path of the virtual billiard ball. It can be displayed by a plurality of circular images of the corresponding virtual billiard ball. For example, the movement path of the real-life cue ball 315 in the realistic billiard game image 310 may be displayed as the movement path of the virtual cue ball 330 on the virtual billiard game image, and the virtual cue ball 330 The movement path of may be displayed by a plurality of apparatus images 332, 334, 336, and 340 arranged at set intervals along the movement path of the virtual apparatus 330.

이동 경로를 표시하기 위해 해당 가상 당구공의 이동 경로를 따라 간격을 두고 가상의 당구 게임 이미지 상에 배치된 가상의 당구공의 원형 이미지들은 경로 정보에 기초하여 실사의 당구공들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 시간 간격으로 나타낸 것일 수 있다. 예를 들어, 이동 경로를 따라 배치된 복수의 수구 이미지들 또는 복수의 목적구 이미지들은 경로 정보에 기초하여 실사의 수구 또는 실사의 목적구들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 시간 간격으로 나타낸 것일 수 있다. 도 4의 예에서, 가상의 수구(330)의 이동 경로를 따라 간격을 두고 가상의 당구 게임 이미지 상에 배치된 수구 이미지들(332, 334, 336, 340)은 수구(315)의 시간에 따른 위치 변화를 균등한 시간 간격으로 나타낸 것일 수 있다.In order to display the movement path, circular images of the virtual billiard ball placed on the virtual billiard game image at intervals along the movement path of the virtual billiard ball are displayed at a time of at least one of the actual billiard balls based on the path information. The change in position may be expressed at equal time intervals. For example, a plurality of cue ball images or a plurality of object ball images arranged along a movement path may display a change in the position of at least one of the actual cue ball or object balls over time at equal time intervals based on the path information. It may be indicated. In the example of FIG. 4, the cue polo images 332, 334, 336, and 340 arranged on the virtual billiard game image at intervals along the movement path of the virtual cue ball 330 are displayed according to the time of the cue ball 315. The change in position may be expressed at equal time intervals.

이동 경로를 표시하기 위해 해당 가상 당구공의 이동 경로를 따라 설정된 간격을 두고 가상의 당구 게임 이미지 상에 배치된 가상의 당구공의 이미지들은 경로 정보에 기초하여 실사의 당구공들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 거리 간격으로 나타낸 것일 수 있다. 예를 들어, 도 4의 예에서, 가상의 수구(330)의 이동 경로를 따라 간격을 두고 가상의 당구 게임 이미지 상에 배치된 수구 이미지들(332, 334, 336, 340) 사이 거리 간격은 동일할 수 있다.In order to display the movement path, images of the virtual billiard ball placed on the virtual billiard game image at set intervals along the movement path of the virtual billiard ball are displayed at the time of at least one of the actual billiard balls based on the path information. The change in location may be expressed at equal distance intervals. For example, in the example of FIG. 4, the distance intervals between the cue polo images 332, 334, 336, and 340 placed on the virtual billiard game image at intervals along the movement path of the virtual cue ball 330 are the same. can do.

일 실시예에서, 가상의 당구 게임 이미지는 이동 경로를 따라 간격을 두고 배치된 가상의 당구공의 원형 이미지들을 순차적으로, 또는 동시에 표시하는 당구 게임 이미지일 수 있다. 예를 들어, 가상의 당구 게임 이미지는 복수의 수구 이미지들 또는 복수의 목적구 이미지들을 시간에 따라 순차적으로 표시하는 당구 게임 이미지일 수 있다. 도 4의 예에서, 가상의 수구(330)의 이동 경로를 따라 가상의 수구(330)부터 표시되기 시작하여 시간에 따라 수구 이미지(332), 수구 이미지(334), 수구 이미지(336) 및 수구 이미지(340)가 순차적으로 표시될 수 있다.In one embodiment, the virtual billiard game image may be a billiard game image that sequentially or simultaneously displays circular images of virtual billiard balls arranged at intervals along a movement path. For example, the virtual billiard game image may be a billiard game image that sequentially displays a plurality of cue ball images or a plurality of object ball images over time. In the example of FIG. 4, the display starts from the virtual apparatus 330 along the movement path of the virtual apparatus 330, and over time the apparatus image 332, apparatus image 334, apparatus image 336, and apparatus polo are displayed. Images 340 may be displayed sequentially.

가상의 당구 게임 이미지 상에서, 가상 당구공의 이동 경로를 표시하는 복수의 원형 이미지들은 적어도 두 가지 이상의 상이한 형태의 원형 이미지들을 포함할 수 있다. 예를 들어, 복수의 원형 이미지들은 반투명한 원형 이미지 및 불투명한 원형 이미지를 포함할 수 있다.On a virtual billiard game image, a plurality of circular images indicating the movement path of the virtual billiard ball may include at least two different types of circular images. For example, the plurality of circular images may include a translucent circular image and an opaque circular image.

예를 들어, 가상의 수구(330)에 대응되는 수구 이미지들(332, 334, 336, 340)은 적어도 두 가지 이상의 상이한 형태의 수구 이미지들을 포함할 수 있다. 수구 이미지들(332, 334, 336, 340)은 반투명한 수구 이미지(예: 수구 이미지(332)) 및 불투명한 수구 이미지(예: 수구 이미지(340))를 포함할 수 있다. 반투명한 원형 이미지에서는 원형이 점선으로 표시되고, 불투명한 원형 이미지에서는 원형이 실선으로 표시될 수 있다. 또 달리, 반투명한 원형 이미지와 불투명한 원형 이미지는 서로 색깔을 달리하여 구분되도록 표시될 수 있다. 다만, 이는 예시일 뿐이며 가상의 수구(330)에 대응되는 수구 이미지들은 다양한 형태의 수구 이미지일 수 있다.For example, the apparatus images 332, 334, 336, and 340 corresponding to the virtual apparatus 330 may include at least two different types of apparatus images. The water polo images 332, 334, 336, and 340 may include a translucent water polo image (eg, water polo image 332) and an opaque water polo image (eg, water polo image 340). In a translucent circular image, the circle may be displayed as a dotted line, and in an opaque circular image, the circle may be displayed as a solid line. Alternatively, the translucent circular image and the opaque circular image may be displayed in different colors to distinguish them from each other. However, this is only an example and the apparatus images corresponding to the virtual apparatus 330 may be various types of apparatus images.

일 실시예에서, 가상 당구공의 이동 경로를 표시하는 복수의 원형 이미지들은 이동 경로 상의 복수의 지점들에서 동일한 형태의 원형 이미지로 표시될 수 있다. 복수의 지점들은 가상의 수구(330)가 적어도 하나의 가상의 목적구(예: 가상의 목적구(345))와 충돌하는 지점 또는 가상의 수구(330)가 가상의 당구 테이블의 모서리에 접촉하는 지점(예: 도 5의 가상의 수구 이미지들(415, 420, 425)이 배치된 지점)을 포함할 수 있다. 예를 들어, 이동 경로는 이동 경로 상의 적어도 하나의 특정 지점에서 제1 형태의 수구 이미지로 표시되고, 다른 지점에서 제2 형태의 수구 이미지로 표시될 수 있다. 예를 들어, 가상의 수구(330)의 이동 경로는 충돌 지점 및 도착 지점에 위치하는 불투명한 수구 이미지(340) 및 해당 이동 경로 상의 나머지 지점들에 위치하는 반투명한 수구 이미지들(332, 334, 336)로 표시될 수 있다. In one embodiment, a plurality of circular images representing the movement path of a virtual billiard ball may be displayed as circular images of the same shape at a plurality of points on the movement path. The plurality of points are points where the virtual cue ball 330 collides with at least one virtual object ball (e.g., virtual object ball 345) or points where the virtual cue ball 330 contacts the edge of the virtual billiard table. It may include a point (e.g., a point where the virtual cue polo images 415, 420, and 425 of FIG. 5 are placed). For example, the movement path may be displayed as a first type of cue polo image at at least one specific point on the movement path, and may be displayed as a second type of cue polo image at another point. For example, the movement path of the virtual apparatus 330 includes an opaque apparatus image 340 located at the collision point and arrival point, and translucent apparatus images 332, 334 located at the remaining points on the movement path. 336).

당구 게임에서 수구가 목적구들의 어느 부분과 충돌하는지에 따라서 수구 및 목적구들의 이동 경로가 매우 달라질 수 있기 때문에, 수구와 목적구들의 충돌 순간은 매우 세심하게 다루어져야 한다. 따라서, 본 발명에 따르면, 가상의 당구 게임 이미지에서 수구 이미지들(332, 334, 336, 340) 중 일부(수구 이미지들(332, 334, 336))가 반투명하게 표시되고 나머지 일부(수구 이미지(340))가 불투명하게 표시됨으로써 사용자가 이동 경로 상에서 특징적인 지점들을 더 잘 식별할 수 있다. 가상의 수구(330), 가상의 제1 목적구(345) 및 가상의 제2 목적구(350)도 다양한 형태로 표시될 수 있다. 예를 들어, 가상의 수구(330), 가상의 제1 목적구(345) 및 가상의 제2 목적구(350)는 불투명하거나 반투명한 형태로 표시될 수 있다. 실제의 당구 테이블(355)에 표시되는 가상의 수구(330), 수구 이미지들(332, 334, 336, 340) 가상의 제1 목적구(345) 및 가상의 제2 목적구(350)의 투명한 정도는 사용자 설정에 의해 조정될 수 있다.In a billiards game, because the movement paths of the cue ball and object balls can be very different depending on which part of the object balls the cue ball collides with, the moment of collision between the cue ball and object balls must be handled very carefully. Therefore, according to the present invention, in the virtual billiard game image, some of the cue polo images 332, 334, 336, and 340 (cue polo images 332, 334, 336) are displayed translucent and some of the remaining portions (cue polo images ( 340)) is displayed opaquely, allowing the user to better identify characteristic points on the movement path. The virtual cue ball 330, the virtual first object ball 345, and the virtual second object ball 350 may also be displayed in various forms. For example, the virtual cue ball 330, the virtual first object ball 345, and the virtual second object ball 350 may be displayed in an opaque or translucent form. The virtual cue ball 330 displayed on the actual billiard table 355, the cue ball images 332, 334, 336, 340, the virtual first object ball 345 and the virtual second object ball 350 are transparent. The degree can be adjusted by user settings.

이와 같이, 프로젝터 장치(210) 및 영상 투사 서버(260)는 실사의 당구 게임 이미지에 포함된 당구공들의 위치 정보 및 경로 정보에 기초하여, 해당 당구공 위치 정보에 대응되는 가상의 당구공 위치 및 해당 당구공 경로 정보에 대응되는 가상의 당구공 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 사용자는 당구 테이블(355)에 투사된 가상의 당구 게임 이미지를 통해, 실사의 당구 게임 이미지에 나타난 당구공들(315, 320, 325)의 배치를 실제 당구 테이블(355)에 정확히 구현하고 및 시간에 따른 이동 경로를 확인할 수 있다.In this way, the projector device 210 and the image projection server 260 are based on the location information and path information of the billiard balls included in the actual billiard game image, and provide a virtual billiard ball location corresponding to the corresponding billiard ball location information and A virtual billiard game image including a virtual billiard ball movement path corresponding to the corresponding billiard ball path information can be created. Through the virtual billiard game image projected on the billiard table 355, the user accurately implements the arrangement of the billiard balls 315, 320, and 325 shown in the actual billiard game image on the actual billiard table 355 and time You can check the movement route according to .

일 실시예에서, 가상의 당구 게임 이미지는 사용자 명령에 따라 다르게 생성될 수 있다. 이하, 도 5 내지 도 11을 참조하여 사용자 명령에 따라 다르게 생성되는 가상의 당구 게임 이미지에 대해 설명한다. 도 5 내지 도 11에서는 사용자가 3구 당구 경기를 플레이하고 있는 것으로 가정한다.In one embodiment, virtual billiard game images may be generated differently depending on user commands. Hereinafter, virtual billiard game images that are differently generated according to user commands will be described with reference to FIGS. 5 to 11. 5 to 11, it is assumed that the user is playing a 3-ball billiards game.

도 5 내지 도 11에서 도시된 가상의 당구 게임 이미지에서는 가상의 수구(405)가 가상의 제1 목적구(435)의 왼쪽 부분과 충돌하고 시계 방향으로 당구 테이블을 회전하면서 2개의 모서리들과 순서대로 접촉 후에 다시 가상의 제2 목적구(440)와 다시 충돌하는 이동 경로를 보여준다.In the virtual billiard game images shown in FIGS. 5 to 11, the virtual cue ball 405 collides with the left portion of the virtual first object ball 435 and rotates the billiard table clockwise, forming two corners and an order. It shows a movement path that collides again with the virtual second object ball 440 after contact.

일 실시예에서, 프로세서(222, 262)는 가상 당구공들의 이동 경로 상에서 사용자가 필요로 하는 다양한 정보를 표시하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 사용자는 이동 경로를 표시하고자 하는 당구공을 선택하는 사용자 명령을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령에 의해 선택된 당구공에 대응되는 가상의 당구공의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 사용자는 수구의 이동 경로, 제1 목적구의 이동 경로, 및 제2 목적구의 이동 경로 중에서 적어도 하나를 선택하는 사용자 명령을 입력할 수 있고, 프로세서(222, 262)는 사용자가 선택한 당구공의 이동 경로를 표시하는 가상의 당구 게임 이미지를 생성할 수 있다. 도 5 내지 도 11에서 사용자 명령은 음성 명령으로 입력되나, 사용자 명령의 형태가 음성 명령에 한정되는 것은 아니다. 예를 들어, 사용자 명령은 리모트 콘트롤러(230)의 기능 조작부를 이용하여 영상 투사 시스템(100, 200)에 입력될 수 있다.In one embodiment, the processors 222 and 262 may generate a virtual billiard game image that displays various information needed by the user on the movement path of the virtual billiard balls. For example, a user may input a user command to the image projection system 100 or 200 to select a billiard ball whose movement path is to be displayed. The processors 222 and 262 may generate a virtual billiard game image including a movement path of a virtual billiard ball corresponding to the billiard ball selected by a user command. For example, the user may input a user command to select at least one of the movement path of the cue ball, the movement path of the first object ball, and the movement path of the second object ball, and the processors 222 and 262 may select the billiard ball selected by the user. You can create a virtual billiards game image that shows the ball's path of movement. In FIGS. 5 to 11, the user command is input as a voice command, but the form of the user command is not limited to a voice command. For example, user commands may be input to the image projection systems 100 and 200 using the function manipulation unit of the remote controller 230.

도 5를 참조하면, 사용자 명령(407)에 따라 가상의 수구의 이동 경로를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다.Referring to FIG. 5 , a real billiard table 403 is shown on which a virtual billiard game image including the movement path of the virtual cue ball is projected according to a user command 407.

가상의 당구 게임 이미지는 실사의 당구 게임 이미지 상의 실사의 수구, 실사의 제1 목적구 및 실사의 제2 목적구에 대응되는 가상의 수구(405), 가상의 제1 목적구(435) 및 가상의 제2 목적구(440)를 포함할 수 있다. 프로젝터 장치는 가상의 수구(405), 가상의 제1 목적구(435) 및 가상의 제2 목적구(440)를 포함하는 가상의 당구 게임 이미지를 실제 당구 테이블(403) 상에 투사할 수 있다. 사용자는 실제 당구 테이블(403) 상에 투사된 가상의 당구 게임 이미지를 보고 수구의 이동 경로를 보여줄 것을 명령하는 사용자 명령(407)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 영상 투사 시스템(100, 200)은 사용자 명령(407) 수신에 대한 응답으로 가상의 수구(405)의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성하고, 당구 테이블(403)에 투사할 수 있다.The virtual billiards game image includes a virtual cue ball 405, a virtual first object ball 435, and a virtual cue ball corresponding to the real-life cue ball, the real-life first object ball, and the real-life second object ball in the real-life billiard game image. It may include a second object sphere 440. The projector device may project a virtual billiard game image including a virtual cue ball 405, a virtual first object ball 435, and a virtual second object ball 440 onto the actual billiard table 403. . The user may view the virtual billiard game image projected on the actual billiard table 403 and input a user command 407 commanding to show the cue ball's movement path to the image projection system 100, 200. The image projection systems 100 and 200 may generate a virtual billiard game image including the movement path of the virtual cue ball 405 in response to receiving a user command 407 and project it on the billiard table 403. .

가상의 당구 게임 이미지 상에서 수구의 이동 경로는 해당 이동 경로 상에 간격을 두고 배치된 가상의 수구(405) 및 가상의 수구에 대응되는 수구 이미지들(예: 수구 이미지들(410, 415, 420, 430))로 표시될 수 있다. 사용자는 복수의 수구 이미지들이 당구 테이블에 동시에 표시됨으로 인하여, 수구의 움직임을 한 눈에 직관적으로 이해하고, 이를 모방하여 연습할 수 있게 된다.The movement path of the cue ball in the virtual billiard game image is a virtual cue ball 405 arranged at intervals on the movement path and cue polo images corresponding to the virtual cue ball (e.g., cue polo images 410, 415, 420, It can be displayed as 430)). Because multiple cue polo images are displayed simultaneously on the billiard table, the user can intuitively understand the cue ball movements at a glance and practice by imitating them.

가상의 수구(405) 및 수구 이미지들(예: 수구 이미지들(410, 415, 420, 430)) 중에서 적어도 일부(예: 가상의 수구(405), 수구 이미지(415))는 불투명하게 표시되고, 다른 일부(예: 수구 이미지(410))는 반투명하게 표시될 수 있다. 예를 들어, 가상의 당구 게임 이미지는 가상의 수구의 이동 경로 상의 출발 지점, 목적구와의 충돌 지점, 및 모서리와의 접촉 지점들에 불투명하게 표시된 가상의 수구(405), 수구 이미지들(415, 420, 425, 430) 및 가상의 수구의 이동 경로 상에 반투명하게 표시된 수구 이미지들(예: 수구 이미지(410))을 포함할 수 있다. 수구가 당구 테이블의 모서리 상의 어느 지점들과 접촉하는지, 또는 목적구의 어느 부분과 충돌하는지에 따라서 수구의 이동 경로가 매우 달라질 수 있기 때문에, 모서리에 접촉하는 복수의 지점들의 수구 이미지들(415, 420, 425) 및 목적구와 충돌하는 지점의 수구 이미지(430)를 두드러지게 표현함으로써 사용자에게 수구의 이동 경로를 보다 쉽게 이해시킬 수 있다.Among the virtual apparatus 405 and apparatus images (eg, apparatus images 410, 415, 420, 430), at least some (eg, virtual apparatus 405, apparatus image 415) are displayed opaquely. , other parts (e.g., the cue polo image 410) may be displayed semi-transparently. For example, the virtual billiard game image includes a virtual cue ball 405, cue polo images 415, opaquely displayed at the starting point on the moving path of the virtual cue ball, the collision point with the object ball, and the contact point with the edge. 420, 425, 430) and cue polo images (e.g., cue polo image 410) displayed semitransparently on the movement path of the virtual cue polo. Since the movement path of the cue ball can be very different depending on which points on the edge of the billiard table it contacts or which part of the object ball it collides with, cue ball images 415, 420 of a plurality of points in contact with the edge , 425) and the cue ball image 430 at the point of collision with the object ball are prominently displayed, making it easier for the user to understand the cue ball's movement path.

일 실시예에서, 가상의 당구 게임 이미지는 가상의 수구(405)의 이동 경로 상에 배치된 가상의 수구(405) 및 수구 이미지들(예: 수구 이미지들(410, 415, 420, 425, 430))을 출발 지점의 가상의 수구(405)부터 마지막 충돌 지점의 수구 이미지(430)까지 시간에 따라 순차적으로 표시하는 가상의 당구 게임 이미지일 수 있다.In one embodiment, the virtual billiard game image includes the virtual cue ball 405 and cue polo images (e.g., cue polo images 410, 415, 420, 425, 430) disposed on the movement path of the virtual cue ball 405. )) may be a virtual billiard game image displayed sequentially according to time from the virtual cue ball 405 at the starting point to the cue polo image 430 at the final collision point.

도 6을 참조하면, 사용자 명령(507)에 따라 가상의 제1 목적구의 이동 경로를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다.Referring to FIG. 6 , a real billiard table 403 is shown on which a virtual billiard game image including the movement path of the virtual first object ball is projected according to a user command 507.

가상의 당구 게임 이미지는 실사의 당구 게임 이미지 상의 수구, 제1 목적구 및 제2 목적구에 대응되는 가상의 수구(405), 가상의 제1 목적구(515) 및 가상의 제2 목적구(440)를 포함할 수 있다. 프로젝터 장치는 가상의 수구(405), 가상의 제1 목적구(435) 및 가상의 제2 목적구(440)를 포함하는 가상의 당구 게임 이미지를 실제 당구 테이블(403) 상에 투사할 수 있다. 사용자는 실제 당구 테이블(403) 상에 투사된 가상의 당구 게임 이미지를 보고 제1 목적구의 이동 경로를 보여줄 것을 명령하는 사용자 명령(507)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 영상 투사 시스템(100, 200)은 사용자 명령(507) 수신에 대한 응답으로 가상의 제1 목적구(435)의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성하고, 당구 테이블(403)에 투사할 수 있다.The virtual billiards game image includes a virtual cue ball 405, a virtual first object ball 515, and a virtual second object ball corresponding to the cue ball, first object ball, and second object ball in the actual billiard game image ( 440) may be included. The projector device may project a virtual billiard game image including a virtual cue ball 405, a virtual first object ball 435, and a virtual second object ball 440 onto the actual billiard table 403. . The user may view the virtual billiard game image projected on the actual billiard table 403 and input a user command 507 commanding to show the movement path of the first object ball to the image projection system 100, 200. The image projection systems 100 and 200 generate a virtual billiard game image including the movement path of the virtual first object ball 435 in response to receiving the user command 507, and project it on the billiard table 403. can do.

도 6에서는 가상의 수구(405)와 충돌한 가상의 제1 목적구(435)가 목적구 (520), 목적구(525), 목적구(530), 및 목적구(540)로 배치된 이미지들에 의하여 차례대로 이동하였음을 예시한다. In Figure 6, an image in which the virtual first object ball 435, which collided with the virtual cue ball 405, is arranged as object ball 520, object ball 525, object ball 530, and object ball 540. This illustrates that they moved sequentially.

가상의 당구 게임 이미지 상에서 제1 목적구의 이동 경로는 해당 이동 경로 상에 간격을 두고 배치된 가상의 제1 목적구(435) 및 제1 목적구 이미지들(예: 제1 목적구 이미지들(520, 525, 530, 540))로 표시될 수 있다. 가상의 제1 목적구(435)의 이동 경로를 포함하는 가상의 당구 게임 이미지는 가상의 제1 목적구(435)의 출발 지점에 충돌하는 수구 이미지(510)를 더 포함할 수 있다.In the virtual billiard game image, the movement path of the first object ball is determined by the virtual first object ball 435 and first object ball images (e.g., first object ball images 520) arranged at intervals on the movement path. , 525, 530, 540)). The virtual billiard game image including the movement path of the virtual first object ball 435 may further include an cue ball image 510 colliding with the starting point of the virtual first object ball 435.

가상의 제1 목적구(435) 및 제1 목적구 이미지들(예: 제1 목적구 이미지들(520, 525, 530, 540)) 중에서 적어도 일부(예: 가상의 제1 목적구(435))는 불투명하게 표시되고, 다른 일부(예: 제1 목적구 이미지(520))는 반투명하게 표시될 수 있다. 예를 들어, 가상의 당구 게임 이미지는 가상의 제1 목적구의 이동 경로 상의 출발 지점 및 충돌 지점에 불투명하게 표시된 가상의 제1 목적구(435), 제1 목적구 이미지들(525, 530, 540) 및 가상의 제1 목적구의 이동 경로 상에 반투명하게 표시된 제1 목적구 이미지들(예: 가상의 제1 목적구(520))을 포함할 수 있다.At least some of the virtual first object sphere 435 and first object sphere images (e.g., first object sphere images 520, 525, 530, 540) (e.g., virtual first object sphere 435) ) may be displayed opaquely, and other parts (e.g., the first object sphere image 520) may be displayed semitransparently. For example, the virtual billiard game image includes a virtual first object ball 435 and first object ball images 525, 530, and 540 displayed opaquely at the starting point and collision point on the movement path of the virtual first object ball. ) and images of the first object ball (eg, the virtual first object ball 520) displayed translucently on the movement path of the virtual first object ball.

일 실시예에서, 가상의 당구 게임 이미지는 가상의 제1 목적구(435)의 이동 경로 상에 배치된 가상의 제1 목적구(435) 및 제1 목적구 이미지들(예: 제1 목적구 이미지들(520, 525, 530, 540))을 출발 지점의 가상의 제1 목적구(435)부터 도착 지점의 제1 목적구 이미지(540)까지 시간에 따라 순차적으로 표시하는 가상의 당구 게임 이미지일 수 있다.In one embodiment, the virtual billiard game image includes the virtual first object ball 435 and first object ball images (e.g., the first object ball 435) disposed on the movement path of the virtual first object ball 435. A virtual billiards game image that displays images (520, 525, 530, 540) sequentially according to time from the virtual first object ball 435 at the starting point to the first object ball image 540 at the arrival point. It can be.

일 실시예에서, 사용자는 가상의 당구 게임 이미지가 이동 경로를 표시하는 당구공 이미지들(예: 수구 이미지들(410, 415), 제1 목적구 이미지들(520, 525, 530, 540))을 시간에 따라 순차적으로 표시하는 경우, 당구공 이미지들(예: 수구 이미지들(410, 415), 제1 목적구 이미지들(520, 525, 530, 540))이 가상의 당구 게임 이미지에 순차적으로 표시되는 시간 간격을 빠르거나 느리게 조절하는 사용자 명령(예: 도 5의 사용자 명령(409) 및 도 6의 사용자 명령(509))을 영상 투사 시스템(100, 200)에 입력할 수 있다. In one embodiment, the user selects billiard ball images (e.g., cue polo images 410, 415, first object ball images 520, 525, 530, 540) that indicate the movement path of the virtual billiard game image. When displayed sequentially according to time, billiard ball images (e.g., cue polo images 410, 415, first object ball images 520, 525, 530, 540) are sequentially displayed in the virtual billiard game image. A user command (e.g., user command 409 in FIG. 5 and user command 509 in FIG. 6) that adjusts the time interval displayed as fast or slow can be input into the image projection system 100, 200.

예를 들어, 영상 투사 시스템(100, 200)은 수구 또는 목적구들 중 적어도 하나의 가상의 당구공의 이동 경로를 보여줄 것을 명령하는 사용자 명령(예: 사용자 명령(407), 사용자 명령(507))에 따라 가상의 당구공의 이동 경로 상에 배치된 당구공 이미지들(예: 수구 이미지들(405, 410), 제1 목적구 이미지들(435, 520))을 순차적으로 표시하는 당구 게임 이미지를 실제 당구 테이블(예: 당구 테이블(403))에 투사할 수 있다. 사용자는 당구 테이블(예: 당구 테이블(403))에 투사된 가상의 당구 게임 이미지를 보고 순차적으로 표시되는 가상의 당구공 이미지들을 더 빠르게 보여줄 것을 명령하는 사용자 명령(409) 또는 더 느리게 보여줄 것을 명령하는 사용자 명령(509)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 영상 투사 시스템(100, 200)은 사용자 명령(예: 사용자 명령(409), 사용자 명령(509)) 수신에 대한 응답으로 이동 경로 상의 당구공 이미지들(예: 수구 이미지들(405, 410), 제1 목적구 이미지들(435, 520))이 표시되는 시간 간격이 더 짧거나 더 긴 가상의 당구 게임 이미지를 생성하고 실제 당구 테이블(예: 당구 테이블(403))에 투사할 수 있다.For example, the image projection systems 100 and 200 may provide a user command (e.g., user command 407, user command 507) commanding to show the movement path of at least one virtual billiard ball among cue balls or object balls. Accordingly, a billiard game image that sequentially displays billiard ball images (e.g., cue ball images 405, 410, first object ball images 435, 520) arranged on the movement path of the virtual billiard ball. It can be projected onto an actual billiard table (e.g., billiard table 403). The user views a virtual billiard game image projected on a billiard table (e.g., billiard table 403) and issues a user command 409 to command to display the sequentially displayed virtual billiard ball images faster or more slowly. A user command 509 may be input to the image projection system 100 or 200. The image projection system 100, 200 displays billiard ball images on the movement path (e.g. cue polo images 405, 410, etc.) in response to receiving a user command (e.g. user command 409, user command 509). A virtual billiard game image in which the time interval between the display of the first object ball images 435 and 520 is shorter or longer can be created and projected on an actual billiard table (eg, billiard table 403).

일 실시예에서, 사용자는 실사의 당구 게임 이미지에 포함된 실사의 당구공들의 이동 경로들 중에서 둘 이상을 선택하는 사용자 명령을 영상 투사 시스템(100, 200)에 입력할 수 있다. 예를 들어, 도 7을 참조하면, 사용자 명령(607)에 따라 가상의 수구 및 제1 목적구의 이동 경로를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다. 사용자는 수구 및 제1 목적구의 이동 경로를 보여줄 것을 명령하는 사용자 명령(607)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령(607) 수신에 대한 응답으로 가상의 수구(405) 및 제1 목적구(435)의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성하고, 당구 테이블(403)에 투사할 수 있다. 수구 및 목적구들의 움직임들을 동시에 하나의 이미지 내에 보여줌으로써, 사용자가 충돌 전후의 당구공들의 움직임을 직관적으로 이해할 수 있게 된다.In one embodiment, a user may input a user command to the image projection system 100 or 200 to select two or more movement paths of realistic billiard balls included in an image of a realistic billiard game. For example, referring to FIG. 7 , a real billiard table 403 is shown on which a virtual billiard game image including a movement path of a virtual cue ball and a first object ball is projected according to a user command 607. The user may input a user command 607 to the image projection system 100 or 200 to command to show the movement path of the cue ball and the first object ball. The processors 222 and 262 generate a virtual billiard game image including the movement path of the virtual cue ball 405 and the first object ball 435 in response to receiving the user command 607, and the billiard table 403 ) can be projected onto. By simultaneously showing the movements of the cue ball and object ball in one image, the user can intuitively understand the movement of the billiard balls before and after the collision.

일 실시예에서, 사용자는 실사의 당구 게임 이미지에 포함된 당구공들 중 어느 하나가 다른 당구공과 충돌하는 지점(또는 이른바'두께'라고 함)을 보여줄 것을 명령하는 사용자 명령을 영상 투사 시스템(100, 200)에 입력할 수 있다. 예를 들어, 도 8을 참조하면, 사용자 명령(707)에 따라 가상의 수구와 가상의 제1 목적구가 충돌하는 지점을 표시하는 가상의 당구 게임 이미지가 투사된 당구 테이블이 도시되어 있다.In one embodiment, the user sends a user command to the image projection system (100) to show the point (or so-called 'thickness') where one of the billiard balls included in the photo-realistic billiard game image collides with another billiard ball. , 200). For example, referring to FIG. 8 , a billiard table is shown on which a virtual billiard game image indicating a point where a virtual cue ball and a virtual first object ball collide is projected according to a user command 707.

사용자는 수구와 제1 목적구가 충돌하는 지점을 보여줄 것을 명령하는 사용자 명령(707)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령(707) 수신에 대한 응답으로 가상의 제1 목적구에 충돌하는 수구 이미지(510)를 포함하는 가상의 당구 게임 이미지를 생성하고 생성된 가상의 당구 게임 이미지를 당구 테이블(403)에 투사할 수 있다. 당구 게임의 승패가 수구와 제1 목적구가 어느 정도 두께로 충돌하는지, 수구와 제1 목적구의 충돌 지점에 따라서 많이 좌우되므로, 도 7에 따른 실시예는 사용자에게 수구와 제1 목적구의 충돌 순간에 보다 집중할 수 있는 이미지를 제공한다.The user may input a user command 707 to the image projection system 100 or 200 to show the point where the cue ball and the first object ball collide. The processors 222 and 262 generate a virtual billiard game image including a cue ball image 510 hitting a virtual first object ball in response to receiving the user command 707 and display the generated virtual billiard game image. It can be projected onto the billiard table 403. Since the win or loss of a billiards game is largely dependent on the thickness of the cue ball and the first object ball and the collision point between the cue ball and the first object ball, the embodiment according to FIG. 7 provides the user with information on the moment of collision between the cue ball and the first object ball. Provides an image that allows more focus.

일 실시예에서, 사용자는 실사의 당구 게임 이미지에 포함된 수구가 실사의 당구 게임 이미지 내 당구 테이블의 모서리에 접촉하는 지점(이른바, '쿠션'이라고 함)들 중 어느 하나를 보여줄 것을 명령하는 사용자 명령을 영상 투사 시스템(100, 200)에 입력할 수 있다.In one embodiment, the user commands the cue ball included in the photo-realistic billiard game image to show one of the points (so-called 'cushions') where it touches the edge of the billiard table in the photo-realistic billiard game image. Commands may be entered into the image projection systems 100 and 200.

도 9를 참조하면, 사용자 명령(807)에 따라 가상의 수구(405)의 이동 경로 상에서 가상의 제1 목적구(435)에 충돌하는 수구 이미지(510) 및 가상의 당구 테이블에 첫 번째로 충돌하는 수구 이미지(415)를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다.Referring to FIG. 9, an image 510 of a cue ball collides with the virtual first object ball 435 on the movement path of the virtual cue ball 405 according to a user command 807 and first collides with the virtual billiard table. An actual billiard table 403 is shown on which a virtual billiard game image including a cue polo image 415 is projected.

사용자는 수구가 당구 테이블의 모서리에 접촉하는 첫 번째 지점(또는, '제1 쿠션 지점'이라고 함)을 보여줄 것을 명령하는 사용자 명령(807)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령(807) 수신에 대한 응답으로 가상의 당구 테이블의 모서리에 접촉하는 수구 이미지(415)를 포함하는 가상의 당구 게임 이미지를 생성하고 생성된 가상의 당구 게임 이미지를 당구 테이블(403)에 투사할 수 있다.The user may enter a user command 807 into the image projection system 100, 200 instructing the display to show the first point where the cue ball contacts the corner of the billiard table (also referred to as the 'first cushion point'). . The processors 222 and 262 generate a virtual billiard game image including an image 415 of a cue ball contacting a corner of a virtual billiard table in response to receiving a user command 807 and display the generated virtual billiard game image. It can be projected onto the billiard table 403.

수구가 모서리가 처음 접촉하는 지점은 당구 게임의 승패에 많은 영향을 미치므로, 도 9에 따른 실시예는 사용자에게 제1 쿠션 지점에 보다 집중할 수 있는 이미지를 제공한다.Since the point where the edge of the cue ball first contacts has a great influence on the win or loss of a billiard game, the embodiment according to FIG. 9 provides the user with an image that allows the user to focus more on the first cushion point.

도 10을 참조하면, 사용자 명령(907)에 따라 가상의 수구(405)의 이동 경로 상에서 가상의 제1 목적구(435)에 충돌하는 수구 이미지(510), 가상의 당구 테이블에 첫 번째로 충돌하는 수구 이미지(415) 및 가상의 당구 테이블에 두 번째로 충돌하는 수구 이미지(420)를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다.Referring to FIG. 10, an image 510 of a cue ball colliding with the virtual first object ball 435 on the movement path of the virtual cue ball 405 according to a user command 907, first colliding with the virtual billiard table. A real billiard table 403 is shown on which a virtual billiard game image is projected, including a cue ball image 415 that collides with the virtual billiard table and a second cue ball image 420 that collides with the virtual billiard table.

사용자는 수구가 당구 테이블의 모서리에 접촉하는 두 번째 지점(또는, '제2 쿠션 지점'이라고 함)을 보여줄 것을 명령하는 사용자 명령(907)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령(907) 수신에 대한 응답으로 가상의 당구 테이블에 두 번째로 충돌하는 수구 이미지(420)를 포함하는 가상의 당구 게임 이미지를 생성하고 생성된 가상의 당구 게임 이미지를 당구 테이블(403)에 투사할 수 있다. 수구가 모서리들과 어느 지점들에서 차례대로 접촉하는지에 따라서 수구의 전체 이동 경로가 결정되므로, 도 10에 따른 실시예는 사용자에게 수구의 전체 이동 경로를 한 눈에 파악할 수 있는 이미지를 제공한다.The user may enter a user command 907 into the image projection system 100, 200 instructing the display to show the second point where the cue ball contacts the edge of the billiard table (also referred to as the 'second cushion point'). . The processors 222 and 262 generate a virtual billiard game image including an image 420 of a cue ball hitting a virtual billiard table a second time in response to receiving a user command 907 and generate the generated virtual billiard game image. can be projected onto the billiard table 403. Since the overall movement path of the cue ball is determined depending on which points the cue ball makes contact with the corners in turn, the embodiment according to FIG. 10 provides the user with an image that allows the user to understand the entire movement path of the cue ball at a glance.

도 11을 참조하면, 사용자 명령(1007)에 따라 가상의 수구(405)의 이동 경로 상에서 가상의 제1 목적구(435)에 충돌하는 수구 이미지(510), 가상의 당구 테이블에 첫 번째로 충돌하는 수구 이미지(415), 가상의 당구 테이블에 두 번째로 충돌하는 수구 이미지(420) 및 가상의 당구 테이블에 세 번째로 충돌하는 수구 이미지(425)를 포함하는 가상의 당구 게임 이미지가 투사된 실제 당구 테이블(403)이 도시되어 있다.Referring to FIG. 11, an image 510 of a cue ball colliding with the virtual first object ball 435 on the movement path of the virtual cue ball 405 according to a user command 1007, first colliding with the virtual billiard table. A virtual billiard game image including a cue polo image 415 hitting a virtual billiard table a second time, an image 420 of a cue ball hitting a virtual billiard table a third time, and a cue polo image hitting a virtual billiard table a third time 425 are projected onto the actual screen. A billiard table 403 is shown.

사용자는 수구가 가상의 제2 목적구(440)와 충돌하기 이전의 모든 충돌 지점을 보여줄 것을 명령하는 사용자 명령(1007)을 영상 투사 시스템(100, 200)에 입력할 수 있다. 프로세서(222, 262)는 사용자 명령(1007) 수신에 대한 응답으로 가상의 제1 목적구(435)에 충돌하는 수구 이미지(510), 가상의 당구 테이블에 첫 번째로 충돌하는 수구 이미지(415), 가상의 당구 테이블에 두 번째로 충돌하는 수구 이미지(420) 및 가상의 당구 테이블에 세 번째로 충돌하는 수구 이미지(425)를 포함하는 가상의 당구 게임 이미지를 생성하고 생성된 가상의 당구 게임 이미지를 당구 테이블(403)에 투사할 수 있다.The user may input a user command 1007 to the image projection system 100 or 200 to show all collision points before the cue ball collides with the virtual second object ball 440. In response to receiving the user command 1007, the processors 222 and 262 generate a cue ball image 510 hitting the virtual first object ball 435 and an cue ball image 415 hitting the virtual billiard table for the first time. , generate a virtual billiard game image including an image 420 of a cue ball hitting a virtual billiard table a second time and an image 425 of a cue ball hitting a virtual billiard table a third time, and generate a virtual billiard game image can be projected onto the billiard table 403.

도 12는 일 실시예에 따른 가상의 당구 게임 이미지를 투사하는 방법의 흐름도이다.Figure 12 is a flowchart of a method for projecting a virtual billiard game image according to an embodiment.

동작(1105)에서, 프로세서(222, 262)는 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출할 수 있다. 실사의 당구 게임 이미지는 외부 장치(예: 도 2의 모바일 장치(240), 터치 보드 패널 장치(250), 또는 서버)로부터 수신될 수 있다.In operation 1105, the processors 222 and 262 may extract, from the real-life billiard game image, information on a path in which the real-time cue ball moves on the real-time billiard table and collides with at least one real-time object ball. The actual billiard game image may be received from an external device (eg, the mobile device 240, the touch board panel device 250, or a server in FIG. 2).

프로세서(222, 262)는 당구 테이블 포인트들의 배치와 실사의 당구공들 간의 위치 관계를 기초로 실사의 당구 게임 이미지로부터 경로 정보를 추출할 수 있다. 경로 정보는 실사의 당구공들 중 적어도 하나의 당구공의 시간에 따른 이동을 나타내기 위한 당구 테이블 상에서의 당구공 위치 좌표의 변화 정보를 포함할 수 있다. 예를 들어, 경로 정보는 실사의 당구 테이블 상에서의 실사의 수구에 대한 당구공 위치 좌표의 시간에 따른 변화 정보 및 적어도 하나의 실사의 목적구에 대한 당구공 위치 좌표의 시간에 따른 변화 정보를 포함할 수 있다.The processors 222 and 262 may extract path information from the actual billiard game image based on the arrangement of billiard table points and the positional relationship between the actual billiard balls. The path information may include change information in the position coordinates of the billiard ball on the billiard table to indicate the movement of at least one billiard ball among the actual billiard balls over time. For example, the path information includes information about changes over time in the position coordinates of a billiard ball relative to a cue ball on an actual billiard table and information about changes over time in the position coordinates of a billiard ball relative to at least one object ball of the real world. can do.

프로세서(222, 262)는 실사의 당구 게임 이미지의 둘 이상의 영상 프레임들로부터 당구 테이블 포인트들의 배치와 당구공들 간의 위치 관계를 기초로 당구 테이블 내에서의 당구공들의 각각의 위치 및 컬러를 추출할 수 있다. 프로세서(222, 262)는 둘 이상의 영상 프레임들에서의 당구공들의 위치 변화에 기초하여 경로 정보를 추출할 수 있다.The processors 222 and 262 extract the respective positions and colors of the billiard balls within the billiard table based on the arrangement of the billiard table points and the positional relationship between the billiard balls from two or more video frames of the actual billiard game image. You can. Processors 222 and 262 may extract path information based on changes in the positions of billiard balls in two or more image frames.

다른 실시예에서, 프로세서(222, 262)는 학습된 뉴럴 네트워크 기반의 인식 모델을 이용하여 실사의 당구 게임 이미지로부터 추출된 실사의 수구 및 적어도 하나의 실사의 목적구의 위치 및 컬러에 기초하여 경로 정보를 추출할 수 있다. 프로세서(222, 262)는 실사의 당구 게임 이미지의 둘 이상의 영상 프레임들로부터 학습된 뉴럴 네트워크 기반의 인식 모델을 이용하여 적어도 하나의 실사의 목적구의 위치 및 컬러를 추출할 수 있다. 프로세서(222)는 둘 이상의 영상 프레임들에서의 당구공들의 위치 변화에 기초하여 경로 정보를 추출할 수 있다.In another embodiment, the processors 222 and 262 generate path information based on the positions and colors of the real-life cue ball and at least one real-time object ball extracted from the real-life billiard game image using a learned neural network-based recognition model. can be extracted. The processors 222 and 262 may extract the location and color of at least one object ball of the live game using a neural network-based recognition model learned from two or more video frames of the live billiard game image. The processor 222 may extract path information based on changes in the positions of billiard balls in two or more image frames.

다른 실시예에서, 프로세서는 외부 장치로부터 경로 정보를 수신할 수 있다.In another embodiment, the processor may receive route information from an external device.

동작(1110)에서, 프로세서(222, 262)는 경로 정보에 기초하여 가상의 당구 테이블 상에 배치된 가상의 당구공들 및 가상의 당구공들 중 적어도 하나의 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222, 262)는 실사의 당구 게임 이미지로부터 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 가상의 당구 게임 이미지를 생성할 수 있다.In operation 1110, the processors 222 and 262 execute a virtual billiard game, including virtual billiard balls placed on a virtual billiard table and a movement path of at least one of the virtual billiard balls based on the path information. Images can be created. For example, the processors 222 and 262 include a movement path in which a virtual cue ball moves on a virtual billiard table and collides with at least one virtual object ball, based on path information extracted from an actual billiard game image. A virtual billiards game image can be created.

프로세서(222, 262)는 경로 정보에 기초하여, 가상의 당구공들 중 적어도 하나가 이동 경로 상에서 시간에 따라 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222, 262)는 경로 정보에 기초하여, 가상의 수구 및 적어도 하나의 가상의 목적구 각각이 시간에 따라 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 일 실시예에서, 프로세서(222, 262)는 사용자로부터 가상의 당구공들 중 적어도 하나가 해당 가상 당구공의 이동 경로 상에서 이동하는 속도를 조절하는 사용자 명령을 수신하고, 가상의 당구공들 중 적어도 하나가 이동 경로 상에서 수신한 사용자 명령에 따른 속도로 이동하는 가상의 당구 게임 이미지를 생성할 수 있다. 예를 들어, 프로세서(222, 262)는 가상의 수구 또는 가상의 목적구들 중 적어도 하나가 이동 경로 상에서 사용자 명령에 따른 속도로 이동하는 가상의 당구 게임 이미지를 생성할 수 있다.Based on the path information, the processors 222 and 262 may generate a virtual billiard game image in which at least one of the virtual billiard balls moves with time on the movement path. For example, the processors 222 and 262 may generate a virtual billiard game image in which each of the virtual cue ball and at least one virtual object ball moves over time based on the path information. In one embodiment, the processors 222 and 262 receive a user command from the user to adjust the speed at which at least one of the virtual billiard balls moves on the movement path of the virtual billiard ball, and at least one of the virtual billiard balls One can create a virtual billiard game image that moves at a speed according to the user command received on the movement path. For example, the processors 222 and 262 may generate a virtual billiard game image in which at least one of the virtual cue ball or virtual object balls moves along a movement path at a speed according to a user command.

다른 실시예에 따른 가상의 당구 게임 이미지에서, 가상의 당구 게임 이미지에 포함된 가상의 당구공들 중 어느 하나의 가상의 당구공의 이동 경로가 해당 가상 당구공의 이동 경로를 따라 간격을 두고 배치된 해당 가상의 당구공의 복수의 원형 이미지들에 의해 표시될 수 있다. 예를 들어, 이동 경로는 가상의 수구 및 적어도 하나의 가상의 목적구에 대응되는 복수의 원형 이미지들에 의해 표시될 수 있다. 복수의 원형 이미지들은 설정된 간격을 두고 해당 이동 경로를 따라 배치될 수 있다. 복수의 원형 이미지들은 해당 이동 경로를 따라 순차적으로 표시될 수 있다. 예를 들어, 이동 경로는 해당 이동 경로를 따라 설정된 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수 있다. 이동 경로는 해당 이동 경로를 따라 해당 이동 경로를 따라 설정된 시간 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수 있다. 다른 예로, 이동 경로는 해당 이동 경로를 따라 설정된 거리 간격을 두고 배치된 가상의 수구에 대응되는 복수의 수구 원형 이미지들 및 적어도 하나의 가상의 목적구에 대응되는 복수의 목적구 원형 이미지들에 의해 표시될 수도 있다.In a virtual billiard game image according to another embodiment, the movement path of any one virtual billiard ball among the virtual billiard balls included in the virtual billiard game image is arranged at intervals along the movement path of the virtual billiard ball. It can be displayed by a plurality of circular images of the corresponding virtual billiard ball. For example, the movement path may be displayed by a plurality of circular images corresponding to a virtual cue ball and at least one virtual object ball. A plurality of circular images may be arranged along the movement path at set intervals. A plurality of circular images may be displayed sequentially along the corresponding movement path. For example, the movement path is composed of a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set intervals along the movement path. can be displayed. The movement path includes a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set time intervals along the movement path. It can be displayed by . As another example, the movement path is composed of a plurality of cue ball circular images corresponding to a virtual cue ball and a plurality of object ball circular images corresponding to at least one virtual object ball arranged at set distance intervals along the movement path. It may be displayed.

이동 경로를 표시하기 위해 해당 가상 당구공의 이동 경로를 따라 간격을 두고 가상의 당구 게임 이미지 상에 배치된 가상의 당구공의 원형 이미지들은 경로 정보에 기초하여 실사의 당구공들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 시간 간격으로 나타낸 것일 수 있다. 예를 들어, 이동 경로를 따라 배치된 복수의 수구 이미지들 또는 복수의 목적구 이미지들은 경로 정보에 기초하여 실사의 수구 또는 실사의 목적구들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 시간 간격으로 나타낸 것일 수 있다. 이동 경로를 표시하기 위해 해당 가상 당구공의 이동 경로를 따라 설정된 간격을 두고 가상의 당구 게임 이미지 상에 배치된 가상의 당구공의 이미지들은 경로 정보에 기초하여 실사의 당구공들 중 적어도 하나의 시간에 따른 위치 변화를 균등한 거리 간격으로 나타낸 것일 수 있다.In order to display the movement path, circular images of the virtual billiard ball placed on the virtual billiard game image at intervals along the movement path of the virtual billiard ball are displayed at a time of at least one of the actual billiard balls based on the path information. The change in position may be expressed at equal time intervals. For example, a plurality of cue ball images or a plurality of object ball images arranged along a movement path may display a change in position over time of at least one of the actual cue ball or the actual object ball at equal time intervals based on the path information. It may be indicated. In order to display the movement path, images of the virtual billiard ball placed on the virtual billiard game image at set intervals along the movement path of the virtual billiard ball are displayed at the time of at least one of the actual billiard balls based on the path information. The change in location may be expressed at equal distance intervals.

가상의 당구 게임 이미지 상에서, 가상 당구공의 이동 경로를 표시하는 복수의 원형 이미지들은 이동 경로 상의 복수의 지점들에서 동일한 형태의 원형 이미지로 표시될 수 있다. 가상의 당구 게임 이미지 상에서, 가상 당구공의 이동 경로를 표시하는 복수의 원형 이미지들은 적어도 두 가지 이상의 상이한 형태의 원형 이미지들을 포함할 수 있다. 예를 들어, 복수의 원형 이미지들은 반투명한 원형 이미지 및 불투명한 원형 이미지를 포함할 수 있다. 예를 들어, 가상의 수구에 대응되는 수구 이미지들은 적어도 두 가지 이상의 상이한 형태의 수구 이미지들을 포함할 수 있다. 수구 이미지들은 반투명한 수구 이미지(도 4의 예: 수구 이미지(332)) 및 불투명한 수구 이미지(예: 도 4의 수구 이미지(340))를 포함할 수 있다. 다만, 이는 예시일뿐이며 가상의 수구에 대응되는 수구 이미지들은 다양한 형태의 수구 이미지일 수 있다.On a virtual billiard game image, a plurality of circular images indicating the movement path of the virtual billiard ball may be displayed as circular images of the same shape at a plurality of points on the movement path. On a virtual billiard game image, a plurality of circular images indicating the movement path of the virtual billiard ball may include at least two different types of circular images. For example, the plurality of circular images may include a translucent circular image and an opaque circular image. For example, water polo images corresponding to a virtual water polo may include at least two different types of water polo images. Apparatus images may include a translucent apparatus image (e.g., apparatus image 332 in FIG. 4) and an opaque apparatus image (e.g., apparatus image 340 in FIG. 4). However, this is only an example, and the water polo images corresponding to the virtual water polo may be of various types.

가상 당구공의 이동 경로를 표시하는 복수의 원형 이미지들은 이동 경로 상의 복수의 지점들에서 동일한 형태의 원형 이미지로 표시될 수 있다. 복수의 지점들은 가상의 수구가 적어도 하나의 가상의 목적구와 충돌하는 지점 또는 가상의 수구가 가상의 당구 테이블의 모서리에 접촉하는 지점을 포함할 수 있다. A plurality of circular images representing the movement path of the virtual billiard ball may be displayed as circular images of the same shape at a plurality of points on the movement path. The plurality of points may include a point where the virtual cue ball collides with at least one virtual object ball or a point where the virtual cue ball contacts a corner of the virtual billiard table.

동작(1115)에서, 프로젝터 장치(예: 프로젝터 장치(110) 또는 프로젝터 장치(210))는 동작(1110)에서 생성된 가상의 당구 게임 이미지를 실제 당구 테이블의 상면에 투사할 수 있다. 프로젝터 장치는 실제 당구 테이블에 투사된 가상의 당구 게임 이미지를 통해 가상 당구공의 시간에 따른 이동 경로를 보여줌으로써 사용자에게 당구 플레이에 의한 당구공의 이동을 현실감 있게 제공할 수 있다. 가상의 당구 게임 이미지는 프로젝터 장치 내에서 생성되어 당구 테이블의 상면에 투사될 수도 있고, 또 달리 외부 장치 또는 영상 투사 서버에서 생성되어 통신망을 통하여 프로젝터 장치로 전송되고, 전송된 가상의 당구 게임 이미지가 프로젝터 장치를 통하여 당구 테이블의 상면에 투사될 수도 있다. In operation 1115, a projector device (eg, projector device 110 or projector device 210) may project the virtual billiard game image generated in operation 1110 onto the upper surface of an actual billiard table. The projector device can provide the user with a realistic movement of the billiard ball during billiard play by showing the movement path of the virtual billiard ball over time through a virtual billiard game image projected on the actual billiard table. The virtual billiard game image may be created within the projector and projected onto the upper surface of the billiard table, or alternatively, it may be created in an external device or image projection server and transmitted to the projector device through a communication network, and the transmitted virtual billiard game image may be It can also be projected onto the top of the billiard table through a projector device.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 인스트럭션들(instructions)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, and a field programmable gate (FPGA). It may be implemented using a general-purpose computer or a special-purpose computer, such as an array, programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include multiple processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 인스트럭션들(instructions), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, independently or collectively, to configure a processing unit to operate as desired. The processing unit can be commanded. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed over networked computer systems and thus stored or executed in a distributed manner. Software and data may be stored on a computer-readable recording medium.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령(예: 인스트럭션들) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions (eg, instructions) that can be executed through various computer means and recorded on a computer-readable medium. A computer-readable medium may store program instructions, data files, data structures, etc., singly or in combination, and the program instructions recorded on the medium may be specially designed and constructed for the embodiment or may be known and available to those skilled in the art of computer software. there is. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware devices described above may be configured to operate as one or multiple software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (25)

당구 테이블에 가상의 당구 게임 이미지를 투사하는 프로젝터 장치에 있어서,
실사의 당구 게임 이미지로부터 상기 가상의 당구 게임 이미지를 생성하는 프로세서; 및
상기 생성된 가상의 당구 게임 이미지를 상기 당구 테이블의 상면을 향해 투사하는 투사 영상 출력 모듈을 포함하고,
상기 프로세서는,
상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고,
상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성하는,
프로젝터 장치.
In the projector device for projecting a virtual billiard game image on a billiard table,
a processor that generates the virtual billiard game image from an actual billiard game image; and
A projection image output module that projects the generated virtual billiard game image toward the upper surface of the billiard table,
The processor,
From the real-life billiards game image, extract path information where the real-life cue ball moves on the real-life billiard table and collides with at least one real-time object ball,
Based on the extracted path information, generating the virtual billiard game image including a movement path where a virtual cue ball moves on a virtual billiard table and collides with at least one virtual object ball,
Projector device.
제1항에 있어서,
상기 경로 정보는,
상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함하는, 프로젝터 장치.
According to paragraph 1,
The route information is,
A projector device comprising change information over time in position coordinates for the live shooting apparatus and change information over time in position coordinates for the at least one live shooting target ball.
제1항에 있어서,
상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동하는, 프로젝터 장치.
According to paragraph 1,
A projector device in which the virtual cue ball and the at least one virtual object ball move with time along the movement path within the virtual billiard game image.
제1항에 있어서,
상기 이동 경로는,
상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구에 대응되는 복수의 원형 이미지들에 의해 표시되고,
상기 복수의 원형 이미지들은 설정된 간격을 두고 상기 이동 경로를 따라 배치되는, 프로젝터 장치.
According to paragraph 1,
The movement path is,
Displayed by a plurality of circular images corresponding to the virtual cue ball and the at least one virtual object ball,
A projector device, wherein the plurality of circular images are arranged along the movement path at set intervals.
제4항에 있어서,
상기 복수의 원형 이미지들은 상기 이동 경로를 따라 순차적으로 표시되는, 프로젝터 장치.
According to paragraph 4,
A projector device, wherein the plurality of circular images are sequentially displayed along the movement path.
제4항에 있어서,
상기 복수의 원형 이미지들은 적어도 두 가지 이상의 상이한 형태의 원형 이미지들을 포함하는, 프로젝터 장치.
According to paragraph 4,
A projector device, wherein the plurality of circular images include at least two different types of circular images.
제6항에 있어서,
상기 두 가지 이상의 상이한 형태의 원형 이미지들은 반투명한 원형 이미지 및 불투명한 원형 이미지를 포함하는, 프로젝터 장치.
According to clause 6,
A projector device, wherein the two or more different types of circular images include a translucent circular image and an opaque circular image.
제6항에 있어서,
상기 복수의 원형 이미지들은 상기 이동 경로 상의 복수의 지점들에서 동일한 형태의 원형 이미지로 표시되는, 프로젝터 장치.
According to clause 6,
A projector device, wherein the plurality of circular images are displayed as circular images of the same shape at a plurality of points on the movement path.
제8항에 있어서,
상기 복수의 지점들은 상기 가상의 수구가 상기 적어도 하나의 가상의 목적구와 충돌하는 지점 또는 상기 가상의 수구가 상기 가상의 당구 테이블의 모서리에 접촉하는 지점을 포함하는, 프로젝터 장치.
According to clause 8,
The plurality of points include a point where the virtual cue ball collides with the at least one virtual object ball or a point where the virtual cue ball contacts a corner of the virtual billiard table.
제1항에 있어서,
상기 프로세서는,
상기 실사의 당구 게임 이미지에서 당구 테이블 포인트들을 추출하고,
상기 추출된 당구 테이블 포인트들의 배치와 상기 실사의 수구 또는 상기 적어도 하나의 실사의 목적구 사이의 위치 관계에 기초하여 상기 경로 정보를 추출하는, 프로젝터 장치.
According to paragraph 1,
The processor,
Extract billiard table points from the actual billiard game image,
A projector device that extracts the path information based on a positional relationship between the arrangement of the extracted billiard table points and the cue ball of the live test or the at least one object ball of the live test.
제1항에 있어서,
상기 프로세서는,
학습된 뉴럴 네트워크 기반의 인식 모델을 상기 실사의 당구 게임 이미지에 적용하여 상기 실사의 당구 게임 이미지로부터 상기 실사의 수구 및 상기 적어도 하나의 실사의 목적구의 위치를 추출하고,
상기 추출된 실사의 수구 및 상기 적어도 하나의 실사의 목적구의 위치에 기초하여 상기 경로 정보를 추출하는, 프로젝터 장치.
According to paragraph 1,
The processor,
Applying the learned neural network-based recognition model to the real-life billiard game image to extract the positions of the real-time cue ball and the at least one real-time object ball from the real-time billiard game image,
A projector device that extracts the route information based on the positions of the extracted live shooting object ball and the at least one live shooting object ball.
제1항에 있어서,
상기 프로세서는,
상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로 상에서 사용자 명령에 따른 속도로 이동하는 상기 가상의 당구 게임 이미지를 생성하는, 프로젝터 장치.
According to paragraph 1,
The processor,
A projector device that generates the virtual billiard game image in which the virtual cue ball and the at least one virtual object ball move on the movement path at a speed according to a user command.
제1항에 있어서,
상기 프로세서는
사용자로부터 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구 중에서 어느 하나의 가상의 당구공을 선택하는 사용자 명령을 수신하고,
상기 선택된 가상의 당구공이 상기 이동 경로 상에서 이동하는 상기 가상의 당구 게임 이미지를 생성하는, 프로젝터 장치.
According to paragraph 1,
The processor is
Receiving a user command from a user to select one virtual billiard ball among the virtual cue ball and the at least one virtual object ball,
A projector device that generates the virtual billiard game image in which the selected virtual billiard ball moves on the movement path.
프로젝터 장치를 이용하여 당구 테이블에 가상의 당구 게임 이미지를 투사하는 영상 투사 서버에 있어서,
실사의 당구 게임 이미지로부터 상기 가상의 당구 게임 이미지를 생성하는 프로세서; 및
상기 생성된 가상의 당구 게임 이미지를 통신망을 통하여 상기 프로젝터 장치로 전송하는 통신 모듈
을 포함하고,
상기 전송된 가상의 당구 게임 이미지는 상기 프로젝터 장치로부터 상기 당구 테이블의 상면으로 투사되는 영상 투사 서버.
In an image projection server that projects a virtual billiard game image on a billiard table using a projector device,
a processor that generates the virtual billiard game image from an actual billiard game image; and
A communication module that transmits the generated virtual billiard game image to the projector device through a communication network
Including,
An image projection server wherein the transmitted virtual billiard game image is projected from the projector device to the upper surface of the billiard table.
제14항에 있어서,
상기 프로세서는,
상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하고,
상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구, 및 적어도 하나의 가상의 목적구가 이동하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성하는, 영상 투사 서버.
According to clause 14,
The processor,
From the real-life billiards game image, extract path information where the real-life cue ball moves on the real-life billiard table and collides with at least one real-time object ball,
An image projection server that generates the virtual billiard game image including a movement path along which a virtual cue ball and at least one virtual object ball move on a virtual billiard table, based on the extracted path information.
제15항에 있어서,
상기 경로 정보는,
상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함하는, 영상 투사 서버.
According to clause 15,
The route information is,
An image projection server comprising change information over time in position coordinates for the live shooting cue and change information over time in position coordinates for the at least one live shooting target ball.
제15항에 있어서,
상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동하는, 영상 투사 서버.
According to clause 15,
An image projection server wherein the virtual cue ball and the at least one virtual object ball move with time along the movement path within the virtual billiard game image.
제15항에 있어서,
상기 프로세서는
사용자로부터 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구 중에서 어느 하나의 가상의 당구공을 선택하는 사용자 명령을 수신하고,
상기 선택된 가상의 당구공에 대응되는 복수의 원형 이미지들이 상기 선택된 가상의 당구공의 이동 경로 상에 배치된 상기 가상의 당구 게임 이미지를 생성하는, 영상 투사 서버.
According to clause 15,
The processor is
Receiving a user command from a user to select one virtual billiard ball among the virtual cue ball and the at least one virtual object ball,
An image projection server that generates the virtual billiard game image in which a plurality of circular images corresponding to the selected virtual billiard ball are disposed on a movement path of the selected virtual billiard ball.
제18항에 있어서,
상기 복수의 원형 이미지들은 상기 선택된 가상의 당구공의 이동 경로를 따라 순차적으로 표시되는, 영상 투사 서버.
According to clause 18,
An image projection server wherein the plurality of circular images are sequentially displayed along a movement path of the selected virtual billiard ball.
제18항에 있어서,
상기 프로세서는
상기 복수의 원형 이미지들이 순차적으로 표시되는 시간 간격을 조절하는 사용자 명령을 수신하고,
상기 복수의 원형 이미지들이 상기 선택된 가상의 당구공의 이동 경로를 따라 상기 조절된 시간 간격을 두고 순차적으로 표시되는 상기 가상의 당구 게임 이미지를 생성하는, 영상 투사 서버.
According to clause 18,
The processor is
Receiving a user command to adjust a time interval at which the plurality of circular images are sequentially displayed,
An image projection server that generates the virtual billiard game image in which the plurality of circular images are displayed sequentially at the adjusted time interval along the movement path of the selected virtual billiard ball.
제15항에 있어서,
상기 프로세서는,
상기 실사의 당구 게임 이미지에서 당구 테이블 포인트들을 추출하고,
상기 추출된 당구 테이블 포인트들의 배치와 상기 실사의 수구 또는 상기 적어도 하나의 실사의 목적구 사이의 위치 관계에 기초하여 상기 경로 정보를 추출하는, 영상 투사 서버.
According to clause 15,
The processor,
Extract billiard table points from the actual billiard game image,
An image projection server that extracts the path information based on a positional relationship between the arrangement of the extracted billiard table points and the cue ball of the live shot or the at least one object ball of the live shot.
실사의 당구 게임 이미지에 기초한 가상의 당구 게임 이미지를 투사하는 방법에 있어서,
상기 실사의 당구 게임 이미지로부터, 실사의 당구 테이블 상에서 실사의 수구가 이동하여 적어도 하나의 실사의 목적구와 충돌하는 경로 정보를 추출하는 동작;
상기 추출된 경로 정보에 기초하여, 가상의 당구 테이블 상에서 가상의 수구가 이동하여 적어도 하나의 가상의 목적구와 충돌하는 이동 경로를 포함하는 상기 가상의 당구 게임 이미지를 생성하는 동작; 및
상기 생성된 가상의 당구 게임 이미지를 실제 당구 테이블의 상면을 향해 투사하는 동작
을 포함하는, 방법.
In a method of projecting a virtual billiard game image based on a real billiard game image,
extracting, from the realistic billiard game image, information on a path in which a real-life cue ball moves on a real-life billiard table and collides with at least one real-time object ball;
Based on the extracted path information, generating the virtual billiard game image including a movement path where a virtual cue ball moves on a virtual billiard table and collides with at least one virtual object ball; and
An operation of projecting the generated virtual billiard game image onto the upper surface of an actual billiard table.
Method, including.
제22항에 있어서,
상기 경로 정보는,
상기 실사의 수구에 대한 위치 좌표의 시간에 따른 변화 정보 및 상기 적어도 하나의 실사의 목적구에 대한 위치 좌표의 시간에 따른 변화 정보를 포함하는, 방법.
According to clause 22,
The route information is,
A method comprising change information over time in positional coordinates of the target ball of the field trip and change information over time in position coordinates of the at least one target ball of the field trip.
제22항에 있어서,
상기 가상의 당구 게임 이미지 내에서 상기 가상의 수구 및 상기 적어도 하나의 가상의 목적구가 상기 이동 경로를 따라서 시간에 따라 이동하는, 방법.
According to clause 22,
A method in which the virtual cue ball and the at least one virtual object ball move with time along the movement path within the virtual billiard game image.
제22항 내지 제24항 중에서 어느 하나의 항에 따른 방법을 실행하기 위한 인스트럭션들을 저장하는 컴퓨터 판독 가능한 저장매체.A computer-readable storage medium storing instructions for executing the method according to any one of claims 22 to 24.
KR1020220095985A 2022-06-30 2022-08-02 Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same KR20240002869A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220080310 2022-06-30
KR20220080310 2022-06-30

Publications (1)

Publication Number Publication Date
KR20240002869A true KR20240002869A (en) 2024-01-08

Family

ID=89533270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220095985A KR20240002869A (en) 2022-06-30 2022-08-02 Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same

Country Status (1)

Country Link
KR (1) KR20240002869A (en)

Similar Documents

Publication Publication Date Title
KR101881620B1 (en) Using a three-dimensional environment model in gameplay
US20190176020A1 (en) Ball-striking assist method, ball-striking assist system, and portable electronic device
US9728011B2 (en) System and method for implementing augmented reality via three-dimensional painting
KR100970677B1 (en) Virtual golf simulation device providing putting-guide
CN108735052B (en) Augmented reality free fall experiment method based on SLAM
US20170036106A1 (en) Method and System for Portraying a Portal with User-Selectable Icons on a Large Format Display System
US20180033158A1 (en) Location method and system
ES2774390T3 (en) Method and game system to project volumetric images in a physical scene
KR102498002B1 (en) Billiards training method and system using augmented reality
JP5733941B2 (en) GAME DEVICE AND GAME SYSTEM
KR20240002869A (en) Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same
KR20240002868A (en) Method for projecting virtual billiard game image on billiard table, projector device and image projection server for performing the same
US20220277520A1 (en) Information processing apparatus, information processing method, and storage medium
KR101059259B1 (en) Apparatus for virtual golf simulation, system for virtual golf simulation and method for virtual golf simulation
US20220138997A1 (en) Apparatus and method for experiencing augmented reality-based screen sports match
KR102317914B1 (en) Billiards System Capable of Movable Entertainment Object Presentation
KR20080080631A (en) Image element identifier
KR102054148B1 (en) system for playing sports-related interactive contents software inducing player's kinetic behavior
KR20240007564A (en) Apparatus and method for providing billiard game service for users
KR102064402B1 (en) Placement System of Billiard Ball Using Internet and Method thereof
KR102178894B1 (en) Education support system and method using mat and Augmented Reality
KR20210149478A (en) Method for providing image for golf mat, apparatus for providing image for golf mat and virtual golf simulation apparatus
KR20180090155A (en) Automatic score calculation system for billiard game using coordinate values and its principle
KR20200009720A (en) A system for management and assistance of billiard game
US20220410009A1 (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
E601 Decision to refuse application