patents.google.com

KR102451419B1 - Game Replay System Using Points Cloud - Google Patents

  • ️Thu Oct 06 2022

이하에서는 첨부된 도면을 참조하여, 본 발명에 의한 포인트 클라우드를 이용한 게임 리플레이 시스템에 대하여 상세히 설명한다.Hereinafter, a game replay system using a point cloud according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 포인트 클라우드를 이용한 게임 리플레이 시스템을 설명하기 위한 블록도이다.1 is a block diagram illustrating a game replay system using a point cloud according to an embodiment of the present invention.

도 1을 참조하면, 본 실시예의 포인트 클라우드를 이용한 게임 리플레이 시스템은 게임 객체 저장부(100), 게임 플레이 저장부(200), 렌더링 처리부(300), 포인트 클라우드 캡처부(400) 및 포인트 클라우드 통합부(500)를 포함한다.1 , the game replay system using the point cloud of this embodiment integrates the game object storage unit 100 , the game play storage unit 200 , the rendering processing unit 300 , the point cloud capture unit 400 and the point cloud part 500 .

게임 객체 저장부(100)는 게임 오브젝트 정보를 저장한다. 게임 오브젝트 정보는 게임을 구성하는 캐릭터, 소품, 배경과 같은 게임 객체의 형상 정보이다. 게임 오브젝트 정보는 3차원 메쉬 형태의 데이터로 게임 개발 도구를 통해 제공되는 것이 일반적이다. 일반적으로, 이러한 게임 오브젝트 정보는 게임을 설치하면 설치된 단말기의 저장부에도 저장된다. The game object storage unit 100 stores game object information. The game object information is shape information of game objects such as characters, props, and backgrounds constituting the game. Game object information is generally provided through a game development tool as data in the form of a three-dimensional mesh. In general, such game object information is also stored in the storage unit of the installed terminal when the game is installed.

게임 플레이 저장부(200)는 게임 플레이 정보를 저장한다. 게임 플레이 정보는 게임이 플레이되는 동안에 게임 객체의 위치와 움직임을 기록하는 정보이다. 이와 같이 직접적으로 게임 가상 공간에서 움직이는 3차원 객체의 시간에 따른 움직임을 기록하는 형태로 게임 플레이 정보를 저장할 수도 있고, 사용자의 게임 컨트롤 입력 정보를 기록하는 방식으로 간접적으로 게임 플레이 정보를 저장할 수도 있다. 저장된 사용자의 게임 컨트롤 입력 정보를 게임 엔진에 입력하여 게임 플레이 상황을 재현하는 방식으로 게임 객체의 위치와 움직임을 재현함으로써 필요시 게임 객체의 위치와 움직임을 확인하는 것이 가능하다.The game play storage unit 200 stores game play information. The game play information is information that records the position and movement of a game object while a game is being played. As described above, game play information may be directly stored in a form of recording the movement of a three-dimensional object moving in the game virtual space over time, or game play information may be stored indirectly by recording user's game control input information. . By reproducing the position and movement of the game object in a manner that reproduces the game play situation by inputting the stored user's game control input information to the game engine, it is possible to check the position and movement of the game object if necessary.

다수의 플레이어가 동시에 참여하는 게임에서도 게임 플레이 저장부(200)에 의해 가상 공간에 배치된 게임 객체의 위치와 움직임을 기록하여 전체적인 가상 공간의 게임 플레이 정보를 기록하고 저장하는 것이 가능하다. Even in a game in which a plurality of players participate at the same time, it is possible to record and store the game play information of the entire virtual space by recording the position and movement of the game object disposed in the virtual space by the game play storage unit 200 .

렌더링 처리부(300)는 게임 객체 저장부(100)에 저장된 게임 오브젝트 정보와 게임 플레이 저장부(200)에 저장된 게임 플레이 정보를 연동하여 가상 게임 공간 상에 게임 플레이 상황을 렌더링한다. 이와 같은 렌더링 처리부(300)의 렌더링 결과는 직접적으로 표시 장치에 표시될 필요는 없으며, 렌더링 처리부(300)의 연산된 결과로 가상의 공간을 구현한 형태의 데이터로서 생성되는 것으로 충분하다. 렌더링 처리부(300)는 전체 게임 가상 공간을 렌더링할 수도 있고 일부 공간에 대한 렌더링을 할 수도 있다. 경우에 따라서는 가상 공간을 일정한 크기로 분할하여 각각의 분할 공간에 대해 분리하여 렌더링한 데이터를 생성할 수도 있다. 또한, 렌더링 처리부(300)는 게임 플레이 상황을 일정 시간 간격으로 분할하여 렌더링할 수도 있다. The rendering processing unit 300 renders a game play situation in a virtual game space by linking the game object information stored in the game object storage unit 100 and the game play information stored in the game play storage unit 200 . The rendering result of the rendering processing unit 300 does not need to be directly displayed on the display device, and it is sufficient to generate data in the form of realizing a virtual space as a result of the calculation of the rendering processing unit 300 . The rendering processing unit 300 may render the entire game virtual space or may render a partial space. In some cases, the virtual space may be divided into a predetermined size and separately rendered data for each partitioned space may be generated. Also, the rendering processing unit 300 may divide and render the game play situation at predetermined time intervals.

렌더링 처리부(300)는 게임 플레이 저장부(200)와 연동하여 실시간으로 플레이되는 게임 상황의 게임 플레이 정보를 추출하여 게임 플레이 상황을 렌더링할 수도 있다.The rendering processing unit 300 may render a game play situation by extracting game play information of a game situation played in real time in conjunction with the game play storage unit 200 .

포인트 클라우드 캡처부(400)는 포인트 클라우드 정보를 생성하고 저장한다. 포인트 클라우드 정보는 게임 플레이 상황을 재현할 수 있는 다수의 점들의 위치와 색상과 노멀값에 대한 정보이다. 렌더링 처리부(300)에 의해 가상 공간에 렌더링되는 게임 플레이 상황을 포인트 클라우드 캡처부(400)는 포인트 클라우드의 형태로 변환 또는 추출하여 저장한다. 포인트 클라우드 캡처부(400)는 가상 게임 공간에 복수의 가상 카메라(11)를 배치하고 그 카메라를 이용하여 게임 객체를 표시하는 다수의 점들의 위치와 색상과 노멀값을 추출한다. 가상 카메라(11)들은 3차원 스캐너가 3차원 공간을 측정하고 스캐닝하는 것과 유사한 방법으로 가상 게임 공간에 배치된 3차원 객체의 외면 형상과 색상을 포인트 클라우드의 형식으로 캡처한다. 노멀값은 대응하는 점이 위치하는 객체 외면의 방향을 의미한다. The point cloud capture unit 400 generates and stores point cloud information. The point cloud information is information about the positions, colors, and normal values of a plurality of points that can reproduce the game play situation. The point cloud capture unit 400 converts or extracts the game play situation rendered in the virtual space by the rendering processing unit 300 in the form of a point cloud and stores it. The point cloud capture unit 400 arranges a plurality of virtual cameras 11 in a virtual game space and extracts positions, colors, and normal values of a plurality of points displaying a game object by using the cameras. The virtual cameras 11 capture the external shape and color of a three-dimensional object placed in a virtual game space in the form of a point cloud in a similar way to a three-dimensional scanner measuring and scanning a three-dimensional space. The normal value means the direction of the outer surface of the object where the corresponding point is located.

포인트 클라우드 캡처부(400)는 포인트 클라우드 정보를 추출한 각 가상 카메라(11)마다 구분하여 일정 시간 간격으로 포인트 클라우드 정보를 캡처하고 저장한다.The point cloud capture unit 400 divides each virtual camera 11 from which the point cloud information is extracted, and captures and stores the point cloud information at regular time intervals.

이와 같이 포인트 클라우드 캡처부(400)에 의해 포인트 클라우드 정보를 생성함으로써, 게임 오브젝트 정보가 없어도 포인트 클라우드 정보만으로 게임 플레이 상황을 재현할 수 있는 상태가 된다. By generating the point cloud information by the point cloud capture unit 400 in this way, the game play situation can be reproduced only with the point cloud information even without the game object information.

포인트 클라우드 통합부(500)는 포인트 클라우드 캡처부(400)에 저장된 포인트 클라우드 정보를 통합하여 시간의 흐름에 따라 가상 게임 공간의 전체 게임 플레이 상황을 재현할 수 있는 형태로 변환한다. The point cloud integration unit 500 integrates the point cloud information stored in the point cloud capture unit 400 and converts it into a form that can reproduce the entire game play situation of the virtual game space over time.

포인트 클라우드 통합부(500)는 각 가상 카메라(11)에서 캡처된 점들에 대해 가상 카메라(11)의 위치를 반영하여 가상 게임 공간 내에서의 절대 좌표의 형식으로 포인트 클라우드 정보를 변환한다. 포인트 클라우드 통합부(500)는 각 가상 카메라(11)에서 추출된 포인트 클라우드 정보를 통합하여 전체 가상 게임 공간 내에서 벌어지는 게임 플레이 상황을 재현할 수 있는 형식으로 변환한다. 이와 같이 포인트 클라우드 통합부(500)가 포인트 클라우드 정보를 통합 및 변환함으로써, 포인트 클라우드 정보만으로 가상 게임 공간 내의 임의의 영역에 대한 게임 플레이 상황을 재생할 수 있는 것이 가능한 상태가 된다. 즉, 게임 오브젝트 정보 및 게임 플레이 정보가 없어도 게임 플레이 상황을 재생하는 것이 가능한 상태가 된다.The point cloud integrator 500 converts the point cloud information in the form of absolute coordinates in the virtual game space by reflecting the position of the virtual camera 11 with respect to the points captured by each virtual camera 11 . The point cloud integrator 500 integrates the point cloud information extracted from each virtual camera 11 and converts it into a format capable of reproducing the game play situation taking place in the entire virtual game space. As described above, since the point cloud integration unit 500 integrates and converts the point cloud information, it becomes possible to reproduce the game play situation for an arbitrary area in the virtual game space only with the point cloud information. That is, even without the game object information and the game play information, it is possible to reproduce the game play situation.

포인트 클라우드 통합부(500)에서 변환된 포인트 클라우드 정보는 동영상 전송부(600)가 압축하여 사용자 단말기로 전송한다. 사용자 단말기는 네트워크를 통해 동영상 전송부(600)로부터 포인트 클라우드 정보를 수신하여 표시 장치에 표시하는 방법으로 게임 플레이 상황을 재생한다.The point cloud information converted by the point cloud integration unit 500 is compressed by the video transmission unit 600 and transmitted to the user terminal. The user terminal reproduces the game play situation by receiving the point cloud information from the video transmission unit 600 through the network and displaying it on the display device.

이하, 상술한 바와 같이 구성된 포인트 클라우드를 이용한 게임 리플레이 시스템의 작동에 대해 설명한다.Hereinafter, the operation of the game replay system using the point cloud configured as described above will be described.

먼저, 게임 객체 저장부(100)에는 상술한 바와 같은 게임 오브젝트 정보가 저장된다. First, the game object information as described above is stored in the game object storage unit 100 .

플레이어가 게임을 플레이하면, 게임 플레이 저장부(200)는 게임 플레이 정보를 추출하여 저장한다. 상술한 바와 같이 게임 플레이 저장부(200)는 개별 게임 객체의 움직임을 시간을 흐름에 따라 저장하는 직접적인 방법을 사용할 수도 있고 게임 플레이어의 게임 플레이 명령을 기록하는 간접적인 방법을 사용할 수도 있다.When a player plays a game, the game play storage 200 extracts and stores game play information. As described above, the game play storage 200 may use a direct method of storing the movement of individual game objects over time or an indirect method of recording a game play command of a game player.

본 실시예에 따른 포인트 클라우드를 이용한 게임 리플레이 시스템은 네트워크 게임 서비스를 제공하는 서버로서 개별 게임 플레이어의 게임 플레이 콘트롤 정보를 실시간으로 수신하여 게임을 운용하는 형태가 일례가 될 수 있다. 또한, 본 발명의 포인트 클라우드를 이용한 게임 리플레이 시스템은 게임을 플레이하는 게임 플레이어와 별도로 게임의 진행상황을 방송의 형태로 시청하는 게임 관전 사용자에게 게임 플레이 동영상을 실시간 스트리밍, 녹화 스트리밍 등의 다양한 방법으로 제공하는 동영상 서버의 형태로 실시될 수도 있다.The game replay system using the point cloud according to the present embodiment is a server that provides a network game service, and an example may be a form of receiving game play control information of individual game players in real time to operate the game. In addition, the game replay system using the point cloud of the present invention provides a game play video in real-time streaming, recording streaming, etc. It may be implemented in the form of a video server to provide.

상술한 바와 같이 게임 플레이 정보가 저장되면, 렌더링 처리부(300)는 게임 오브젝트 정보와 게임 플레이 정보를 연동하여 가상 게임 공간에 게임 플레이 상황을 렌더링한다. 렌더링 처리부(300)는 녹화 방송의 형태로 게임의 전체 상황을 렌더링할 수도 있고, 실시간 방송의 형태로 게임 플레이 상황을 중계할 수 있도록 수초 이내의 짧은 지연시간을 두고 일정 시간 간격의 짧은 게임 상황을 가상 게임 공간에 렌더링할 수도 있다.When the game play information is stored as described above, the rendering processing unit 300 renders the game play situation in the virtual game space by linking the game object information and the game play information. The rendering processing unit 300 may render the entire game situation in the form of a recorded broadcast, or a short game situation at a predetermined time interval with a short delay time within a few seconds so as to relay the game play situation in the form of real-time broadcasting. It can also be rendered in a virtual game space.

포인트 클라우드 캡처부(400)는 복수의 가상 카메라(11)들을 이용하여 렌더링 처리부(300)가 렌더링한 게임 플레이 상황을 포인트 클라우드 정보의 형태로 캡처하고 저장한다. 도 2에 도시한 것과 같이 가상 카메라(11)는 카메라의 시야에 노출되는 게임 객체의 외면을 촬영하여 게임 객체를 표시할 수 있는 다수의 점들에 대한 포인트 클라우드 정보를 획득한다. 3차원 객체를 사용하여 게임을 구현하는 게임 엔진은 가상 게임 공간의 게임 객체에 대한 3차원적 정보를 모두 가지고 있으므로, 가상 카메라(11)를 이용하여 쉽게 임의의 점들에 대한 위치 좌표와 색상 및 노멀(normal) 값을 수집할 수 있다.The point cloud capture unit 400 captures and stores the game play situation rendered by the rendering processing unit 300 in the form of point cloud information using a plurality of virtual cameras 11 . As shown in FIG. 2 , the virtual camera 11 acquires point cloud information about a plurality of points capable of displaying the game object by photographing the outer surface of the game object exposed to the camera's field of view. Since a game engine that implements a game using a 3D object has all 3D information about the game object in the virtual game space, it is easy to use the virtual camera 11 to obtain position coordinates, color and normal for arbitrary points. (normal) values can be collected.

포인트 클라우드 캡처부(400)가 포인트 클라우드 정보를 수집하는 방법은 다양한 방법이 사용될 수 있다. 예를 들어, 도 3에 도시한 것과 같이 가상 게임 공간에 복수의 가상 카메라(11)를 일정 간격으로 배치하여 포인트 클라우드 정보를 수집할 수 있다. 이때, 수집하는 포인트 클라우드 정보의 정확도를 높이기 위하여 가상 카메라(11)는 미리 설정된 기준 거리 이내의 게임 객체에 대한 포인트 클라우드 정보만을 수집하도록 하는 것이 좋다. 동일 지점에 대한 포인트 클라우드 정보를 서로 다른 각도에서 수집함으로써 포인트 클라우드 정보의 정확도를 높이기 위하여, 가상 카메라(11)마다 할당되는 가상 공간은 도 3에 도시한 것과 같이 인접하는 가상 카메라(11)에 할당되는 가상 게임 공간과 일부분이 서로 중첩되도록 설정되는 것이 좋다.Various methods may be used as a method for the point cloud capture unit 400 to collect point cloud information. For example, as shown in FIG. 3 , point cloud information may be collected by arranging a plurality of virtual cameras 11 at regular intervals in a virtual game space. In this case, in order to increase the accuracy of the collected point cloud information, it is preferable that the virtual camera 11 collects only the point cloud information about the game object within a preset reference distance. In order to increase the accuracy of the point cloud information by collecting the point cloud information for the same point from different angles, the virtual space allocated to each virtual camera 11 is allocated to the adjacent virtual camera 11 as shown in FIG. 3 . It is desirable to set the virtual game space to be partially overlapped with each other.

상술한 바와 같이 가상 카메라(11)를 배치하고 그 가상 카메라(11)에 대한 거리를 기준으로 포인트 클라우드 정보를 수집하는 방법과 달리, 분할된 가상 공간을 기준으로 가상 카메라(11)를 배치하여 포인트 클라우드 정보를 수집하는 방법으로 포인트 클라우드 캡처부(400)가 작동하는 것도 가능하다. 즉, 포인트 클라우드 캡처부(400)가 가상 게임 공간을 복수의 단위 공간(12)으로 분할하고 그 단위 공간(12)마다 각각 하나의 가상 카메라(11)를 배치하여 포인트 클라우드 정보를 수집할 수 있다. 이때, 각각의 가상 카메라(11)는 자신에게 할당된 단위 공간(12)에 대한 포인트 클라우드 정보만 캡처하게 된다. 이때도 포인트 클라우드 정보의 정확성을 향상시키기 위하여 포인트 클라우드 캡처부(400)는 가상 게임 공간을 분할하는 단위 공간(12)은 인접하는 단위 공간(12)과 적어도 일부분이 서로 중첩되도록 설정할 수 있다.As described above, unlike the method of arranging the virtual camera 11 and collecting point cloud information based on the distance to the virtual camera 11, the virtual camera 11 is arranged based on the divided virtual space and points It is also possible for the point cloud capture unit 400 to operate as a method of collecting cloud information. That is, the point cloud capture unit 400 divides the virtual game space into a plurality of unit spaces 12 and arranges one virtual camera 11 for each unit space 12 to collect point cloud information. . At this time, each virtual camera 11 captures only the point cloud information for the unit space 12 allocated to it. Also at this time, in order to improve the accuracy of the point cloud information, the point cloud capture unit 400 may set the unit space 12 dividing the virtual game space so that the adjacent unit space 12 and at least a part overlap each other.

이때, 포인트 클라우드 캡처부(400)의 작동 속도를 향상시키기 위하여 분산 처리 방법에 의해 포인트 클라우드 정보를 수집하는 것이 좋다. 포인트 클라우드 캡처부(400)가 포인트 클라우드 정보를 수집하는 데에는 크게 두 가지 분산 처리 방법이 사용될 수 있다. 먼저, 상술한 바와 같이 가상 게임 공간을 분할하여 각각의 단위 공간(12)에 배치된 가상 카메라(11) 단위로 연산을 분산하여 처리할 수 있다. At this time, in order to improve the operating speed of the point cloud capture unit 400, it is preferable to collect the point cloud information by a distributed processing method. Two distributed processing methods may be used for the point cloud capture unit 400 to collect point cloud information. First, as described above, the virtual game space may be divided, and calculations may be distributed and processed in units of the virtual cameras 11 disposed in each unit space 12 .

또한, 렌더링 처리부(300)가 게임 플레이 상황을 시분할하여 분산 처리 방법에 의해 각각 별도로 렌더링하고, 포인트 클라우드 캡처부(400)가 렌더링 처리부(300)의 시분할 단위에 맞추어 포인트 클라우드 정보를 캡처하도록 분산 처리할 수 있다. 예를 들어, 게임 플레이 상황을 1/5초 단위로 시분할하여 각각 별도의 연산 장치에서 병렬적으로 분산 처리하는 방법으로 포인트 클라우드 캡처부(400)가 포인트 클라우드 정보를 포인트 수집할 수 있다. 이러한 방법은 게임 플레이 상황을 약간의 지연시간을 두고 생중계하는 용도에 효과적으로 사용 가능하다.In addition, the rendering processing unit 300 time-divisions the game play situation and renders each separately by a distributed processing method, and the point cloud capture unit 400 captures the point cloud information according to the time division unit of the rendering processing unit 300. Distributed processing can do. For example, the point cloud capture unit 400 may collect point cloud information by time-dividing the game play situation in units of 1/5 second and performing distributed processing in parallel in separate computing devices. This method can be effectively used for live broadcasting of game play situations with a slight delay.

상술한 바와 같은 가상 게임 공간을 분할하는 방법과 게임 플레이 상황을 시분할하는 방법을 복합적으로 사용하는 것도 가능하다. It is also possible to use the method of dividing the virtual game space as described above and the method of dividing the game play situation by time.

또한, 이와 같은 분산 처리 방법은 개별 CPU 또는 GPU를 사용하는 것도 가능하고 동일 연산 장치에서 개별 코어로 분산하여 처리하는 것도 가능하다. 이와 같은 하드웨어적인 방법 이외에 다른 다양한 소프트웨어적인 방법으로 분산 처리를 하여 렌더링 처리부(300)와 포인트 클라우드 캡처부(400)를 작동시키는 것이 가능하다.In addition, such a distributed processing method can use individual CPUs or GPUs, and it is also possible to process by distributing them to individual cores in the same computing device. In addition to such a hardware method, it is possible to operate the rendering processing unit 300 and the point cloud capture unit 400 by performing distributed processing in various other software methods.

포인트 클라우드 통합부(500)는 포인트 클라우드 캡처부(400)에 저장된 포인트 클라우드 정보를 통합하여 시간의 흐름에 따라 가상 게임 공간의 전체 게임 플레이 상황을 재현할 수 있는 형태로 변환한다.The point cloud integration unit 500 integrates the point cloud information stored in the point cloud capture unit 400 and converts it into a form that can reproduce the entire game play situation of the virtual game space over time.

포인트 클라우드 통합부(500)는 개별 가상 카메라(11)를 통해 수집된 포인트 클라우드 정보에 가상 카메라(11)의 위치를 반영하여 가상 게임 공간 내의 절대 좌표의 형태로 변환한다. 이와 같이 개별 가상 카메라(11)를 기준으로 수집된 포인트 클라우드 정보를 가상 게임 공간 내의 절대 좌표로 변환한 후에 포인트 클라우드 통합부(500)는 각 가상 카메라(11)로부터 수집된 포인트 클라우드 정보를 전체적으로 통합한다. 결과적으로, 가상 게임 공간 내의 임의의 영역에 대한 게임 플레이 상황을 모두 재현할 수 있는 상태가 된다.The point cloud integrator 500 reflects the position of the virtual camera 11 in the point cloud information collected through the individual virtual camera 11 and converts it into the form of absolute coordinates in the virtual game space. After converting the point cloud information collected based on the individual virtual cameras 11 into absolute coordinates in the virtual game space, the point cloud integrator 500 integrates the point cloud information collected from each virtual camera 11 as a whole. do. As a result, it is in a state capable of reproducing all the game play situations for an arbitrary area in the virtual game space.

포인트 클라우드 캡처부(400)에서 단위 공간(12) 별로 수집된 포인트 클라우드 정보는 포인트 클라우드 통합부(500)에서 동일 시점의 포인트 클라우드 정보끼리 통합된다. 또한, 포인트 클라우드 캡처부(400)에서 시분할되어 수집된 포인트 클라우드 정보는 포인트 클라우드 통합부(500)에서 시간 순서에 따라 정리되어 배열된 상태로 관리된다.The point cloud information collected by the point cloud capture unit 400 for each unit space 12 is integrated with the point cloud information at the same time in the point cloud integration unit 500 . In addition, the point cloud information collected by time division by the point cloud capture unit 400 is managed in an arranged state in a time sequence by the point cloud integrator 500 .

포인트 클라우드 통합부(500)는 포인트 클라우드 정보의 데이터를 효과적으로 관리하고 게임 플레이 상황을 재생하는 영상의 품질을 향상시키기 위하여 포인트 클라우드 정보에 대한 보정 처리를 할 수 있다.The point cloud integrator 500 may perform correction processing on the point cloud information in order to effectively manage the data of the point cloud information and improve the quality of an image that reproduces a game play situation.

예를 들어, 포인트 클라우드 통합부(500)는 포인트 클라우드 정보의 다수의 점들 중 일부 인접하는 점들을 미리 정해진 기준에 따라 서로 통합하여 하나의 점으로 변환할 수 있다. 점의 위치가 중복되거나 점들 사이의 거리가 극히 가까운 경우에는 서로 통합하여 하나의 점으로 변환할 수 있다. 단위 영역 내에 존재하는 점들의 밀도가 기준 밀도보다 높은 경우에도 이와 같은 변환을 할 수 있다. For example, the point cloud integrator 500 may convert some adjacent points among a plurality of points of point cloud information into one point by integrating them with each other according to a predetermined criterion. If the positions of the points overlap or the distance between the points is extremely close, they can be integrated into one point. Even when the density of points existing in the unit area is higher than the reference density, this transformation can be performed.

포인트 클라우드 통합부(500)가 점들을 통합하는 방법은 다양한 방법이 사용될 수 있다. 인접하는 점들을 통합하여 그 중간 위치로 옮기고 그 점에 부여된 색상과 노멀값은 중간값으로 수정할 수 있다. 내삽법을 사용하여 점들을 통합할 수도 있다. A method of integrating the points by the point cloud integrator 500 may use various methods. Adjacent points are merged and moved to an intermediate position, and the color and normal values assigned to the points can be modified as intermediate values. Interpolation can also be used to integrate points.

포인트 클라우드 통합부(500)는 새로운 점을 생성하여 포인트 클라우드 정보에 추가할 수도 있다. 특히, 점들의 밀도가 낮은 영역에 새로운 점을 추가하여 해상도를 향상시킬 수 있다. 새로운 점의 색상과 노멀값은 인접하는 점들의 색상과 노멀값 중 적어도 어느 하나의 중간값으로 설정할 수도 있고 인접하는 점들의 특성을 내삽하여 지정할 수도 있다.The point cloud integrator 500 may create a new point and add it to the point cloud information. In particular, resolution can be improved by adding new dots to an area where the density of dots is low. The color and normal value of the new point may be set to an intermediate value of at least one of the color and normal value of the adjacent points, or may be specified by interpolating the properties of the adjacent points.

또한, 포인트 클라우드 통합부(500)는 포인트 클라우드 정보의 다수의 점들 중 인접하는 점들을 서로 연결하는 메시를 생성하여 그 메시 정보를 포인트 클라우드 정보에 추가로 포함시키고 관리할 수도 있다.Also, the point cloud integrator 500 may generate a mesh connecting adjacent points among a plurality of points of the point cloud information to each other, and additionally include and manage the mesh information in the point cloud information.

포인트 클라우드 통합부(500)가 위와 같이 포인트 클라우드 정보를 정리하면, 포인트 클라우드 정보를 이용하여 게임 플레이 상황을 재생할 수 있는 상태가 된다. 즉, 게임 객체에 대한 정보가 없는 상태에서도 가상 게임 공간의 임의의 영역에 대한 게임 플레이 상황을 재생하는 것이 가능한 상태가 된다. When the point cloud integrator 500 organizes the point cloud information as described above, the game play situation can be reproduced using the point cloud information. That is, it becomes possible to reproduce the game play situation in an arbitrary area of the virtual game space even in a state where there is no information about the game object.

이와 같이 정리된 포인트 클라우드 정보는 게임 플레이 상황을 재생하기 위한 다양한 용도로 이용될 수 있다. 예를 들어 포인트 클라우드 정보를 사용하여 렌더링함으로써 2차원 게임 플레이 동영상을 생성하는 용도로 사용할 수도 있고, VR 형태의 게임 플레이 영상을 생성하는 용도로 사용할 수도 있으며, 게임 플레이 영상을 이용하여 AR 형태의 동영상을 생성하는 용도로 사용할 수도 있다. The point cloud information arranged in this way may be used for various purposes for reproducing a game play situation. For example, by rendering using point cloud information, it can be used to create a two-dimensional game play video, it can be used to create a VR-type game play video, and an AR-type video using the game play video It can also be used to create

이하에서는 게임 플레이 상황을 네트워크를 통해 스트리밍 방식으로 실시간 중계하는 용도로 본 발명의 포인트 클라우드를 이용한 게임 리플레이 시스템을 사용하는 경우를 예로 들어 설명한다. Hereinafter, the case of using the game replay system using the point cloud of the present invention for real-time relaying of the game play situation in a streaming manner through a network will be described as an example.

이 경우 본 실시예의 포인트 클라우드를 이용한 게임 리플레이 시스템은 동영상 전송부(600)를 더 포함한다. 동영상 전송부(600)는 포인트 클라우드 통합부(500)에서 변환된 포인트 클라우드 정보를 사용자 단말기로 전송한다. 동영상 전송부(600) 데이터 용량을 줄이기 위하여 포인트 클라우드 정보를 압축하여 전송한다. 경우에 따라서는 동영상 전송부(600)가 포인트 클라우드 정보의 특성에 맞게 개발된 전용 인코딩 방법으로 압축하여 전송할 수도 있다.In this case, the game replay system using the point cloud of the present embodiment further includes a video transmission unit 600 . The video transmission unit 600 transmits the point cloud information converted by the point cloud integrator 500 to the user terminal. In order to reduce the data capacity of the video transmission unit 600, the point cloud information is compressed and transmitted. In some cases, the video transmission unit 600 may compress and transmit it using a dedicated encoding method developed to suit the characteristics of the point cloud information.

동영상 전송부(600)는 전체 가상 게임 공간의 포인트 클라우드 정보를 전송할 수도 있고, 일부 영역에 대한 포인트 클라우드 정보만을 추출하여 전송할 수도 있다. 예를 들어 사용자 단말기로부터 가상 게임 공간에서 재생하고자 하는 영역에 대한 선택 정보를 리플레이 카메라의 위치와 좌표의 형식으로 수신하면, 동영상 전송부(600)는 포인트 클라우드 정보 중 리플레이 카메라의 가상 공간 내에서의 시야에 노출되는 포인트 클라우드 정보만을 추출하여 사용자 단말기로 전송하게 된다. 동영상 전송부(600)는 사용자 단말기로부터 실시간으로 리플레이 카메라에 대한 정보를 수신하여 사용자 단말기가 원하는 영역에 대한 게임 플레이 영상을 전송하게 된다.The video transmission unit 600 may transmit the point cloud information of the entire virtual game space, or may extract and transmit only the point cloud information for a partial area. For example, when receiving selection information about an area to be played in the virtual game space from the user terminal in the form of the location and coordinates of the replay camera, the video transmission unit 600 is the point cloud information in the virtual space of the replay camera. Only the point cloud information exposed to the field of view is extracted and transmitted to the user terminal. The video transmission unit 600 receives the information about the replay camera from the user terminal in real time, and transmits the game play image for the area desired by the user terminal.

사용자 단말기는 동영상 수신부(700)에서 동영상 전송부(600)로부터 포인트 클라우드 정보를 수신한다. 사용자 단말기의 단말 재생부(800)는 수신한 포인트 클라우드 정보를 디코딩하고 게임 플레이 영상을 표시 장치에 디스플레이 하게 된다.The user terminal receives the point cloud information from the video transmitter 600 in the video receiver 700 . The terminal playback unit 800 of the user terminal decodes the received point cloud information and displays the game play image on the display device.

이때, 동영상 전송부(600)는 사용자 단말기의 표시 장치의 해상도에 맞추어 포인트 클라우드 정보를 변환한 후 사용자 단말기로 전송할 수도 있다. 즉, 사용자 단말기 표시 장치의 해상도가 낮은 경우에는 그 해상도에 맞추어 포인트 클라우드 정보의 점들을 적절히 통합함으로써 전송하는 포인트 클라우드 정보의 용량을 더 줄일 수 있다. In this case, the video transmission unit 600 may convert the point cloud information according to the resolution of the display device of the user terminal and then transmit the converted point cloud information to the user terminal. That is, when the resolution of the user terminal display device is low, the capacity of the transmitted point cloud information can be further reduced by properly integrating points of the point cloud information according to the resolution.

상술한 방법에 의해 본 실시예의 포인트 클라우드를 이용한 게임 리플레이 시스템은 게임 오브젝트 정보가 저장되어 있지 않은 사용자 단말기에도 게임의 플레이 영상을 효과적으로 전달할 수 있다. 또한, 이와 같이 포인트 클라우드 정보의 형식으로 동영상을 전송함으로써 기존의 2차원 스트리밍 방식의 동영상 서비스에 비해 높은 실제적 몰입 경험을 사용자에게 제공할 수 있다. 또한, 본 발명의 포인트 클라우드를 이용한 게임 리플레이 시스템은 포인트 클라우드 정보의 형식으로 가상 게임 공간에 대한 전체 3차원 정보를 수집하고 관리하므로 VR, 3차원 영상, AR 등의 다양한 형식으로 게임 플레이 영상을 제공하는 것이 가능한 장점이 있다. 또한, 상술한 바와 같이 각 사용자 단말기 마다 각각 다른 가상 게임 공간에서 펼쳐지는 게임 상황을 자유롭게 제공할 수 있는 장점이 있다. By the above-described method, the game replay system using the point cloud of the present embodiment can effectively deliver the play image of the game to the user terminal in which the game object information is not stored. In addition, by transmitting the video in the form of point cloud information in this way, it is possible to provide the user with a higher actual immersion experience compared to the existing two-dimensional streaming method video service. In addition, the game replay system using the point cloud of the present invention collects and manages the entire 3D information about the virtual game space in the form of point cloud information, so that the game play video is provided in various formats such as VR, 3D video, AR, etc. There are advantages to being able to do this. In addition, as described above, there is an advantage that a game situation unfolding in a different virtual game space can be freely provided for each user terminal.

또한, 상술한 바와 같이 시분할 분산 처리 방법을 사용하면, 매우 짧은 지연시간만을 허용한 채로 게임 플레이 상황을 온라인을 통해 생중계할 수 있는 장점이 있다.In addition, as described above, if the time division distributed processing method is used, there is an advantage that the game play situation can be broadcast live online while allowing only a very short delay time.

또한, 클라우드 포인트 정보의 형식으로 녹화된 게임 플레이 영상을 가공하거나 편집하여 광고 영상을 추가하거나 새로운 객체를 가상 게임 공간 내에 추가하는 수정을 쉽게 처리할 수 있는 장점이 있다.In addition, there is an advantage in that it is easy to process or edit the recorded game play image in the form of cloud point information to add an advertisement image or to easily handle the modification of adding a new object in the virtual game space.

이상 본 발명에 대해 바람직한 예를 들어 설명하였으나, 본 발명의 범위가 앞에서 앞에서 설명하고 도시한 형태로 한정되는 것은 아니다. Although preferred examples of the present invention have been described above, the scope of the present invention is not limited to the forms described and illustrated above.

앞에서, 동영상 전송부(600)를 구비하는 형태의 포인트 클라우드를 이용한 게임 리플레이 시스템을 예로 들어 설명하였으나, 동영상 전송부(600)를 구비하지 않는 포인트 클라우드를 이용한 게임 리플레이 시스템을 구성하는 것도 가능하다.Previously, the game replay system using the point cloud having the video transmission unit 600 has been described as an example, but it is also possible to configure a game replay system using the point cloud that does not include the video transmission unit 600 .

또한, 앞에서 동영상 전송부(600)는 포인트 클라우드 정보의 일부분만 추출하여 전송하는 경우에 대해서도 설명하였으나 동영상 전송부에 의해 전체 포인트 클라우드 정보를 전송하도록 할 수도 있다. In addition, although the case where the video transmission unit 600 extracts and transmits only a part of the point cloud information has been described above, the entire point cloud information may be transmitted by the video transmission unit.

또한, 앞에서 포인트 클라우드 캡처부(400)가 포인트 클라우드 정보를 수집하는 방법으로 몇가지 공간 분할 및 시분할 방법의 예를 들어 설명하였으나 그와 같은 방법에 한정되지 않고 다른 다양한 방법으로 분산 처리 방법에 의해 포인트 클라우드 정보를 수집하도록 하는 것도 가능하다. 또한, 분산 처리 방법을 사용하지 않는 포인트 클라우드 캡처부를 사용하는 것도 가능하다.In addition, although the point cloud capture unit 400 described above as an example of several spatial division and time division methods as a method for collecting point cloud information, the point cloud is not limited to such a method and is a point cloud by a distributed processing method in various other methods. It is also possible to have them collect information. It is also possible to use a point cloud capture unit that does not use a distributed processing method.