KR102154684B1 - System for outputting of multi-projector and method thereof - Google Patents

System for outputting of multi-projector and method thereof Download PDF

Info

Publication number
KR102154684B1
KR102154684B1 KR1020190117684A KR20190117684A KR102154684B1 KR 102154684 B1 KR102154684 B1 KR 102154684B1 KR 1020190117684 A KR1020190117684 A KR 1020190117684A KR 20190117684 A KR20190117684 A KR 20190117684A KR 102154684 B1 KR102154684 B1 KR 102154684B1
Authority
KR
South Korea
Prior art keywords
scene
camera
beam projector
control unit
projector
Prior art date
Application number
KR1020190117684A
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 (주)코드쓰리
Priority to KR1020190117684A priority Critical patent/KR102154684B1/en
Application granted granted Critical
Publication of KR102154684B1 publication Critical patent/KR102154684B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/363Image reproducers using image projection screens
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/261Image signal generators with monoscopic-to-stereoscopic image conversion
    • H04N13/268Image signal generators with monoscopic-to-stereoscopic image conversion based on depth image-based rendering [DIBR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3141Constructional details thereof
    • H04N9/3147Multi-projection systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Disclosed are a multi-projector output system and a method thereof. An accurate shape of an image to be actually projected is automatically generated by calculation by adding a grid structure object capable of simulating a projection surface and a virtual projector object inside content in a three-dimensional graphics content writing step. Even if a rendered scene is simultaneously outputted to the projection surfaces of unspecified shapes such as non-planar surfaces in different directions and the like through multiple beam projectors, the image of the distorted projection surface can be projected without distortion and boundary marking regardless of a projection direction angle of the beam projector, thereby projecting the structured rendered image.

Description

다중 프로젝터 출력 시스템 및 그 방법{System for outputting of multi-projector and method thereof}Multi-projector output system and its method TECHNICAL FIELD

본 발명은 다중 프로젝터 출력 시스템 및 그 방법에 관한 것으로서, 특히 3차원 그래픽스 콘텐츠 저작 단계에서 투사면을 시뮬레이션할 수 있는 격자 구조물 객체와 가상의 프로젝터 객체를 콘텐츠 내부에 추가하여 실제 투사될 영상의 정확한 형태를 계산에 의해 자동 생성하는 다중 프로젝터 출력 시스템 및 그 방법에 관한 것이다.The present invention relates to a multi-projector output system and method thereof, and in particular, by adding a grid structure object capable of simulating a projection surface and a virtual projector object inside the content in the stage of creating a 3D graphics content, the exact shape of an image to be actually projected It relates to a multi-projector output system and method for automatically generating by calculation.

다중 프로젝터를 출력시에 왜곡면이나 특수한 형상의 투사면에 투사를 하기 위한 방식으로는 직접 정점을 편집하는 방식과 투사 영상으로부터 왜곡면의 정점 형상을 추출하는 방식이 있다.When outputting multiple projectors, methods for projecting on a distorted surface or a projection surface of a special shape include a method of directly editing a vertex and a method of extracting the vertex shape of the distorted surface from the projected image.

이 중, 직접 정점을 편집하는 방식은 왜곡면의 형상을 투사한 후, 투사면에 출력되는 형상의 메시 그리드(mesh grid)의 정점(vertex)을 직접 편집하는 방식이다. 이 방식은 직관적으로 쉽게 편집할 수 있으마, 현장에서 설치 후 육안으로 편집을 해야하며, 복잡한 왜곡면의 투사시 사용자의 편집 직관에 의존하여야 하므로 부정확한 결과를 도출할 수 있으며, 정점을 편집하는 절차 자체가 많은 편집 시간을 요구한다.Among them, the method of directly editing vertices is a method of directly editing the vertices of the mesh grid of the shape output on the projection surface after projecting the shape of the distortion surface. This method can be edited intuitively and easily, but it must be edited with the naked eye after installation in the field, and since it must rely on the editing intuition of the user when projecting a complex distortion surface, it can lead to inaccurate results and edit vertices. The procedure itself requires a lot of editing time.

또한, 투사 영상으로부터 왜곡면의 정점 형상을 추출하는 방식은 프로젝터 투사면에 특정 패턴을 출력한 후, 컴퓨터 비전 인식 기술을 통하여 투영면의 왜곡 형상을 역으로 추출하는 방식이다. 이 방식은 형상의 정점을 편집하지 않고, 직접 자동화된 방식을 사용하나, 컴퓨터 비전 과정에서의 인식률과 에러율로 인해 후보정 과정이 필요하며, 컴퓨터 비전의 한계로 인하여 360도나 투사면이 중앙에 배치된 형태 등의 부정형 영상에 대해서는 처리가 어려울 수 있다.In addition, the method of extracting the vertex shape of the distorted surface from the projected image is a method of outputting a specific pattern on the projection surface of the projector and then inversely extracting the distorted shape of the projection surface through computer vision recognition technology. This method does not edit the vertices of the shape, but uses an automated method, but due to the recognition rate and error rate in the computer vision process, a candidate selection process is required, and due to the limitation of computer vision, a 360 degree or projection surface is placed in the center. Processing of indefinite images such as shapes may be difficult.

한국등록특허 제10-1583519호 [제목: 다중 프로젝터를 이용한 영상 공간 구현 방법 및 그 시스템]Korean Patent Registration No. 10-1583519 [Title: Method and system for implementing image space using multiple projectors]

본 발명의 목적은 3차원 그래픽스 콘텐츠 저작 단계에서 투사면을 시뮬레이션할 수 있는 격자 구조물 객체와 가상의 프로젝터 객체를 콘텐츠 내부에 추가하여 실제 투사될 영상의 정확한 형태를 계산에 의해 자동 생성하는 다중 프로젝터 출력 시스템 및 그 방법을 제공하는 데 있다.An object of the present invention is a multi-projector output that automatically generates an accurate shape of an image to be actually projected by adding a grid structure object capable of simulating a projection surface and a virtual projector object inside the content in the 3D graphics content authoring stage. It is to provide a system and its method.

본 발명의 다른 목적은 빔 프로젝터의 광학적 특성값과 실제 설치할 투사면과의 공간적인 정보를 근거로 왜곡면의 형태를 자동화된 방법으로 생성하는 다중 프로젝터 출력 시스템 및 그 방법을 제공하는 데 있다.Another object of the present invention is to provide a multi-projector output system and method for generating the shape of a distortion surface in an automated manner based on spatial information between an optical characteristic value of a beam projector and a projection surface to be actually installed.

본 발명의 실시예에 따른 다중 프로젝터 출력 시스템은 사용자 입력에 따른 하나 이상의 3차원 콘텐츠 객체를 장면 내의 제 1 위치에 배치하여 표시하는 표시부; 및 사용자 입력에 따라 하나 이상의 3차원 카메라를 상기 장면 내의 제 2 위치에 배치하고, 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 제 3 위치에 배치하고, 사용자 입력에 따라 현장에 설치되는 하나 이상의 빔 프로젝터의 광학적 특성값을 상기 장면에 배치된 가상의 빔 프로젝터에 각각 설정하고, 상기 하나 이상의 빔 프로젝터에 의해 실제 형성되는 투영면 크기 및 좌표를 측정하고, 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신하고, 상기 하나 이상의 빔 프로젝터에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보를 근거로 격자 구조물을 생성하고, 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치에 배치하는 제어부를 포함할 수 있다.According to an exemplary embodiment of the present invention, a multi-projector output system includes: a display unit configured to display at least one 3D content object according to a user input at a first position in a scene; And one or more 3D cameras are arranged at a second position in the scene according to a user input, one or more virtual beam projectors are arranged at a third position in the scene according to a user input, and installed on the site according to the user input. Each of the optical characteristic values of one or more beam projectors is set in the virtual beam projectors arranged in the scene, the size and coordinates of the projection plane actually formed by the one or more beam projectors are measured, and the grid structure is generated according to the user input. Receive information on the number of vertices and the number of vertices in the boundary blending area, generate a grid structure based on the size and coordinates of a projection surface formed by the one or more beam projectors, and the received information, and determine the generated grid structure It may include a control unit disposed at a specific position in the scene.

본 발명과 관련된 일 예로서 상기 제어부는, 상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지를 생성하고, 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체 및 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정하고, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하고, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하고, 상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하고, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인하고, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수일 때 상기 생성된 복수의 3D 콘텐츠에서 경계 블렌딩 영역을 확인하고, 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터를 통해 상기 생성된 3D 콘텐츠를 각각 투사할 수 있다.As an example related to the present invention, the controller generates a rendering image for each 3D camera by performing scene rendering based on the 3D camera, a grid structure object corresponding to the generated grid structure, and the arranged 3D Set a reference to a 3D camera object corresponding to the camera and a virtual beam projector object corresponding to the virtual beam projector, and coordinates in the scene from the viewpoint of the 3D virtual beam projector arranged in the scene to a grid vertex Transform, transform the coordinates in the scene into a grid vertex at the viewpoint of a 3D camera arranged in the scene, perform a post-processing function on the rendered texture of the scene to generate final 3D content, and the grid structure When the number of lower grid structures included in the grid is checked, and when the number of lower grid structures included in the grid structure is plural, a boundary blending region is checked in the generated plurality of 3D contents, and the identified boundary blending region and the Based on a plurality of generated 3D contents, each of the generated 3D contents may be projected through a plurality of beam projectors.

본 발명과 관련된 일 예로서 상기 3차원 카메라의 개수는, 현장에 설치되는 빔 프로젝터의 개수와 동일할 수 있다.As an example related to the present invention, the number of 3D cameras may be the same as the number of beam projectors installed in the field.

본 발명과 관련된 일 예로서 상기 가상의 빔 프로젝터는, 위치 좌표 및 회전값을 포함하는 지오메트리 특성값과, 상기 빔 프로젝터의 광학적 특성값을 속성값으로 갖을 수 있다.As an example related to the present invention, the virtual beam projector may have a geometric characteristic value including a position coordinate and a rotation value, and an optical characteristic value of the beam projector as an attribute value.

본 발명과 관련된 일 예로서 상기 빔 프로젝터의 광학적 특성값은, 빔 프로젝터의 최소 사거리, 최대 사거리, X축 탄젠트 값, Y축 탄젠트 값 및 센터 오프셋(center offset)을 포함할 수 있다.As an example related to the present invention, the optical characteristic value of the beam projector may include a minimum firing distance, a maximum firing distance, an X-axis tangent value, a Y-axis tangent value, and a center offset of the beam projector.

본 발명과 관련된 일 예로서 상기 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보는, 사용자 입력에 따른 상기 장면에 추가할 격자 구조물과 관련한 정보인 X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수, Y축 분할 개수 및 경계 블렌딩 개수를 포함할 수 있다.As an example related to the present invention, the information on the number of vertices for generating the lattice structure and the number of vertices in the boundary blending area is the number of X-axis vertices and Y-axis vertices, which are information related to the lattice structure to be added to the scene according to a user input. The number, X-axis resolution, Y-axis resolution, X-axis division number, Y-axis division number, and boundary blending number may be included.

본 발명과 관련된 일 예로서 상기 제어부는, 실제 현장에 설치할 공간과 동일한 투사면을 상기 장면에 만들기 위한 가상의 3차원 스크린 격자 구조물인 상기 격자 구조물을 생성하며, 상기 격자 구조물은, 객체 지향 소프트웨어적으로 설계된 클래스이며, 하나 이상의 하부 구조물의 조합으로 구현되며, 각 하부 구조물은 색인 번호가 부여되며, 상기 격자 구조물의 컴포넌트 클래스를 상속받아 목적별로 특정화된 상속체로 구성할 수 있다.As an example related to the present invention, the control unit generates the grid structure, which is a virtual three-dimensional screen grid structure for making the same projection surface in the scene as the space to be installed on the actual site, and the grid structure is an object-oriented software It is a class designed as, and is implemented as a combination of one or more sub-structures, each sub-structure is assigned an index number, and can be configured as an inheritance specific for each purpose by inheriting the component class of the lattice structure.

본 발명의 실시예에 따른 다중 프로젝터 출력 방법은 제어부에 의해, 사용자 입력에 따라 하나 이상의 3차원 콘텐츠 객체를 표시부에 표시되는 장면 내의 제 1 위치에 배치하는 단계; 상기 제어부에 의해, 사용자 입력에 따라 하나 이상의 3차원 카메라를 상기 장면 내의 제 2 위치에 배치하는 단계; 상기 제어부에 의해, 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 제 3 위치에 배치하는 단계; 상기 제어부에 의해, 사용자 입력에 따라 현장에 설치되는 하나 이상의 빔 프로젝터의 광학적 특성값을 상기 장면에 배치된 가상의 빔 프로젝터에 각각 설정하는 단계; 상기 제어부에 의해, 상기 하나 이상의 빔 프로젝터에 의해 실제 형성되는 투영면 크기 및 좌표를 측정하는 단계; 상기 제어부에 의해, 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신하는 단계; 상기 제어부에 의해, 상기 하나 이상의 빔 프로젝터에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보를 근거로 격자 구조물을 생성하는 단계; 상기 제어부에 의해, 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치에 배치하는 단계; 상기 제어부에 의해, 상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지를 생성하는 단계; 상기 제어부에 의해, 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체 및 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정하는 단계; 상기 제어부에 의해, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하는 단계; 상기 제어부에 의해, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하는 단계; 및 상기 제어부에 의해, 상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment of the present invention, a method for outputting a multi-projector includes: disposing, by a controller, at least one 3D content object at a first position in a scene displayed on a display unit; Disposing, by the controller, at least one 3D camera at a second position in the scene according to a user input; Arranging, by the controller, at least one virtual beam projector at a third position in the scene according to a user input; Setting, by the control unit, optical characteristic values of one or more beam projectors installed on the site according to a user input to virtual beam projectors disposed in the scene; Measuring, by the control unit, the size and coordinates of a projection surface actually formed by the one or more beam projectors; Receiving, by the control unit, information on the number of vertices for generating a lattice structure according to a user input and the number of vertices in a boundary blending area; Generating, by the control unit, a grid structure based on the size and coordinates of a projection surface formed by the at least one beam projector and the received information; Arranging, by the control unit, the generated grid structure at a specific position in the scene; Generating a rendered image for each 3D camera by performing scene rendering based on the 3D camera by the controller; By the control unit, setting a reference to a grid structure object corresponding to the created grid structure, a 3D camera object corresponding to the arranged 3D camera, and a virtual beam projector object corresponding to the virtual beam projector. step; Converting, by the controller, the coordinates in the scene into a grid vertex at a viewpoint of a 3D virtual beam projector disposed in the scene; Converting, by the controller, the coordinates in the scene into a grid vertex at a viewpoint of a 3D camera disposed in the scene; And generating a final 3D content by performing a post-processing function on the scene-rendered render texture, by the controller.

본 발명과 관련된 일 예로서 상기 제어부에 의해, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인하는 단계; 상기 확인 결과, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 1개일 때, 상기 제어부에 의해, 단일 빔 프로젝터로 상기 생성된 3D 콘텐츠를 제공하는 단계; 및 상기 확인 결과, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수일 때, 상기 제어부에 의해, 상기 생성된 복수의 3D 콘텐츠에서 경계 블렌딩 영역을 확인하는 단계; 및 상기 제어부에 의해, 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터를 통해 상기 생성된 3D 콘텐츠를 각각 투사하는 단계를 더 포함할 수 있다.As an example related to the present invention, by the control unit, checking the number of lower lattice structures included in the lattice structure; When the number of lower lattice structures included in the lattice structure is one as a result of the check, providing the generated 3D content with a single beam projector by the control unit; And when the number of lower lattice structures included in the lattice structure is plural as a result of the check, confirming, by the control unit, a boundary blending area in the generated plural 3D contents. And projecting the generated 3D content through a plurality of beam projectors, respectively, based on the identified boundary blending area and the generated 3D content, by the control unit.

본 발명과 관련된 일 예로서 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하는 단계는, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체가 연결될 때, 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 확인하는 과정; 및 상기 확인된 특정 하부 구조물의 격자 정점의 월드 좌표 목록(Psurface)을 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 통하여 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)으로 변환하여, 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 생성하는 과정을 포함할 수 있다.As an example related to the present invention, the step of converting coordinates in the scene into a grid vertex at a viewpoint of a 3D virtual beam projector disposed in the scene includes at least one substructure object included in the grid structure object and the virtual beam When a projector object is connected, checking a list of world coordinates of a grid vertex of a specific substructure among one or more substructures included in the grid structure; And transforming the identified world coordinate list (P surface ) of the grid vertices of the specific substructure into a normalized coordinate list (S surface ) based on the virtual beam projector through a transformation matrix of the virtual beam projector (T projector ). Thus, a process of generating a normalized coordinate list based on the virtual beam projector may be included.

본 발명과 관련된 일 예로서 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하는 단계는, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 3차원 카메라 객체가 연결될 때, 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 확인하는 과정; 및 차원 카메라의 변환 행렬(Tcamera)을 이용하여 상기 격자 구조물에 포함된 하나 이상의 하부 구조물이 갖고 있는 정점들을 변환하여 3차원 카메라 시점에서의 격자 정점(Ucamera)들을 생성하는 과정을 포함할 수 있다.As an example related to the present invention, the step of converting the coordinates in the scene into a grid vertex at a viewpoint of a 3D camera disposed in the scene includes at least one substructure object included in the grid structure object and the 3D camera object When connected, checking a list of world coordinates of grid vertices of a specific substructure among one or more substructures included in the grid structure; And transforming vertices of one or more lower structures included in the lattice structure using a transformation matrix (T camera ) of the dimensional camera to generate lattice vertices (U cameras ) at the viewpoint of the 3D camera. have.

본 발명과 관련된 일 예로서 상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하는 단계는, 상기 생성된 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 근거로 렌더 텍스쳐의 모양을 왜곡하는 과정; 상기 생성된 3차원 카메라를 기준으로 한 정규화된 좌표 목록을 근거로 상기 모양 왜곡된 렌더 텍스쳐에 대해 UV 변환 기능을 수행하여 카메라 장면 영역 크롭 처리를 수행하는 과정; 및 상기 UV 변환된 렌더 텍스쳐를 근거로 최종 3D 콘텐츠를 생성하는 과정을 포함할 수 있다.As an example related to the present invention, the step of generating final 3D content by performing a post-processing function on the scene-rendered render texture includes rendering based on a normalized coordinate list based on the generated virtual beam projector. The process of distorting the shape of the texture; Performing a camera scene area cropping process by performing a UV conversion function on the shape-distorted render texture based on a normalized coordinate list based on the generated 3D camera; And generating final 3D content based on the UV-converted render texture.

본 발명은 3차원 그래픽스 콘텐츠 저작 단계에서 투사면을 시뮬레이션할 수 있는 격자 구조물 객체와 가상의 프로젝터 객체를 콘텐츠 내부에 추가하여 실제 투사될 영상의 정확한 형태를 계산에 의해 자동 생성함으로써, 렌더링 장면을 복수의 빔 프로젝터를 통해 서로 다른 여러 방향의 비평면 등 불특정한 형상의 투사면으로 동시 출력함에도, 왜곡된 투사면의 영상을 빔 프로젝터의 투사방향 각도와 상관없이 왜곡과 경계 표시없이 정형된 렌더링 영상을 투사할 수 있는 효과가 있다.The present invention adds a grid structure object capable of simulating a projection surface and a virtual projector object inside the content in the 3D graphics content authoring stage to automatically generate the exact shape of the image to be actually projected by calculation, thereby generating multiple rendering scenes. Even when simultaneously outputting a projected surface of an unspecified shape, such as a non-planar surface in several different directions through the beam projector, the distorted projection surface image is displayed without distortion and boundary marks regardless of the projection direction angle of the beam projector. There is an effect that can be projected.

또한, 본 발명은 빔 프로젝터의 광학적 특성값과 실제 설치할 투사면과의 공간적인 정보를 근거로 왜곡면의 형태를 자동화된 방법으로 생성함으로써, 3차원 그래픽의 다중 출력시 생길 수 있는 왜곡과 경계 표시 문제를 줄이고, 설치에 소요되는 시간을 단축하고, 빔 프로젝터 설치 구성 방식을 사전에 시뮬레이션을 통해 예측함에 따라 3차원 콘텐츠 제작 단계에서 프로젝터 설치를 고려한 콘텐츠 제작이 가능하며, 빔 프로젝터를 설치하는 공사자의 경우 사전에 빔 프로젝터 설치 구성 방식을 시뮬레이션을 통해 예측하여 설치시 발생할 수 있는 시행착오와 수정(trial-and-error) 과정을 크게 줄일 수 있고, 3D 콘텐츠 제작자 역시 콘텐츠 제작 단계에서 빔 프로젝터를 설치하지 않고도 빔 프로젝터 설치를 예측한 콘텐츠 제작이 가능하며, 하나의 콘텐츠를 서로 다른 공간에 설치하는 경우에도 빔 프로젝터 시뮬레이션 부분만을 변경함으로써 다른 공간에도 손쉽게 설치할 수 있는 효과가 있다.In addition, the present invention generates the shape of the distortion surface in an automated method based on the optical characteristic value of the beam projector and the spatial information between the projection surface to be actually installed, thereby displaying distortions and boundaries that may occur during multiple output of 3D graphics. By reducing problems, shortening the time required for installation, and predicting the beam projector installation configuration method through simulation in advance, it is possible to produce contents considering the projector installation in the 3D contents production stage. In this case, it is possible to significantly reduce the trial-and-error process that may occur during installation by predicting the beam projector installation configuration method through simulation in advance, and 3D content creators also do not install a beam projector during the content production stage. It is possible to produce content that predicts installation of a beam projector, and even if one content is installed in different spaces, it is possible to easily install it in another space by changing only the beam projector simulation part.

도 1은 본 발명의 실시예에 따른 다중 프로젝터 출력 시스템의 구성을 나타낸 블록도이다.
도 2는 본 발명의 실시예에 따른 단말의 구성을 나타낸 블록도이다.
도 3 내지 도 6은 본 발명의 실시예에 따른 하부 구조물의 예를 나타낸 도이다.
도 7은 본 발명의 실시예에 따른 격자 구조물의 예를 나타낸 도이다.
도 8 내지 도 9는 본 발명의 실시예에 따른 다중 프로젝터 출력 방법을 나타낸 흐름도이다.
도 10은 본 발명의 실시예에 따른 렌더링 이미지의 예를 나타낸 도이다.
도 11 및 도 12는 본 발명의 실시예에 따른 렌더링 이미지에 대한 후처리 기능 수행 후의 예를 나타낸 도이다.
도 13은 본 발명의 실시예에 따른 생성된 3D 콘텐츠를 단일 빔 프로젝터를 통해 투사하는 예를 나타낸 도이다.
도 14는 본 발명의 실시예에 따른 복수의 3D 콘텐츠에 대한 경계 블렌딩 영역의 예를 나타낸 도이다.
도 15는 본 발명의 실시예에 따른 생성된 복수의 3D 콘텐츠를 복수의 빔 프로젝터를 통해 투사하는 예를 나타낸 도이다.
1 is a block diagram showing a configuration of a multi-projector output system according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a terminal according to an embodiment of the present invention.
3 to 6 are diagrams showing an example of a lower structure according to an embodiment of the present invention.
7 is a diagram showing an example of a lattice structure according to an embodiment of the present invention.
8 to 9 are flowcharts illustrating a method of outputting multiple projectors according to an embodiment of the present invention.
10 is a diagram showing an example of a rendered image according to an embodiment of the present invention.
11 and 12 are diagrams showing an example after performing a post-processing function on a rendered image according to an embodiment of the present invention.
13 is a diagram showing an example of projecting generated 3D content through a single beam projector according to an embodiment of the present invention.
14 is a diagram illustrating an example of a boundary blending area for a plurality of 3D contents according to an embodiment of the present invention.
15 is a diagram showing an example of projecting a plurality of 3D contents generated according to an embodiment of the present invention through a plurality of beam projectors.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are used only to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as generally understood by those of ordinary skill in the technical field to which the present invention belongs, unless otherwise defined in the present invention, and is excessively comprehensive. It should not be construed as a human meaning or an excessively reduced meaning. In addition, when a technical term used in the present invention is an incorrect technical term that does not accurately express the spirit of the present invention, it should be replaced with a technical term that can be correctly understood by those skilled in the art. In addition, general terms used in the present invention should be interpreted as defined in the dictionary or according to the context before and after, and should not be interpreted as an excessively reduced meaning.

또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.In addition, the singular expression used in the present invention includes a plurality of expressions unless the context clearly indicates otherwise. In the present invention, terms such as “consisting of” or “comprising” should not be construed as necessarily including all of the various components or steps described in the invention, and some components or some steps may not be included. It should be construed that it may or may further include additional components or steps.

또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.In addition, terms including ordinal numbers such as first and second used in the present invention may be used to describe the constituent elements, but the constituent elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of the reference numerals, and redundant descriptions thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.In addition, in describing the present invention, when it is determined that a detailed description of a related known technology may obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easily understanding the spirit of the present invention and should not be construed as limiting the spirit of the present invention by the accompanying drawings.

도 1은 본 발명의 실시예에 따른 다중 프로젝터 출력 시스템(10)의 구성을 나타낸 블록도이다.1 is a block diagram showing a configuration of a multiple projector output system 10 according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 다중 프로젝터 출력 시스템(또는 3차원 그래픽스 렌더링 시스템)(10)은 단말(100) 및 복수의 빔 프로젝터(200)로 구성된다. 도 1에 도시된 다중 프로젝터 출력 시스템(10)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 1에 도시된 구성 요소보다 많은 구성 요소에 의해 다중 프로젝터 출력 시스템(10)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 다중 프로젝터 출력 시스템(10)이 구현될 수도 있다.As shown in FIG. 1, a multi-projector output system (or 3D graphics rendering system) 10 includes a terminal 100 and a plurality of beam projectors 200. Not all of the components of the multiple projector output system 10 shown in FIG. 1 are essential components, and the multiple projector output system 10 may be implemented by more components than the components shown in FIG. 1, The multiple projector output system 10 may be implemented with fewer components.

상기 단말(100)은 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.The terminal 100 is a smart phone (Smart Phone), a portable terminal (Portable Terminal), a mobile terminal (Mobile Terminal), a foldable terminal (Foldable Terminal), Personal Digital Assistant (PDA), PMP (Portable Multimedia Player) Terminal, Telematics Terminal, Navigation Terminal, Personal Computer, Laptop Computer, Slate PC, Tablet PC, Ultrabook, Wearable Device (Wearable) Device, for example, including smartwatch, smart glass, HMD (Head Mounted Display), Wibro terminal, Internet Protocol Television (IPTV) terminal, smart TV, digital broadcasting It can be applied to various terminals such as terminals, audio video navigation (AVN) terminals, audio/video (A/V) systems, flexible terminals, and digital signage devices.

도 2에 도시한 바와 같이, 상기 단말(100)은 통신부(110), 저장부(120), 표시부(130), 음성 출력부(140) 및 제어부(150)로 구성된다. 도 2에 도시된 단말(100)의 구성 요소 모두가 필수 구성 요소인 것은 아니며, 도 2에 도시된 구성 요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 단말(100)이 구현될 수도 있다.As shown in FIG. 2, the terminal 100 includes a communication unit 110, a storage unit 120, a display unit 130, an audio output unit 140, and a control unit 150. Not all of the components of the terminal 100 shown in FIG. 2 are essential components, and the terminal 100 may be implemented by more components than the components shown in FIG. 2, or by fewer components. The terminal 100 may be implemented.

상기 통신부(110)는 유/무선 통신망을 통해 내부의 임의의 구성 요소 또는 외부의 임의의 적어도 하나의 단말기와 통신 연결한다. 이때, 상기 외부의 임의의 단말기는 상기 빔 프로젝터(200) 등을 포함할 수 있다. 여기서, 무선 인터넷 기술로는 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS) 등이 있으며, 상기 통신부(110)는 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. 또한, 근거리 통신 기술로는 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신 기술로는 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다.The communication unit 110 communicates with an internal component or at least one external terminal through a wired/wireless communication network. In this case, the external terminal may include the beam projector 200 or the like. Here, as the wireless Internet technology, wireless LAN (WLAN), DLNA (Digital Living Network Alliance), Wireless Broadband: Wibro, Wimax (World Interoperability for Microwave Access: Wimax), HSDPA (High Speed Downlink Packet Access) ), High Speed Uplink Packet Access (HSUPA), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution-Advanced (LTE-A), Wireless Mobile Broadband Service (WMBS), etc. In addition, the communication unit 110 transmits and receives data according to at least one wireless Internet technology in a range including Internet technologies not listed above. In addition, short-range communication technologies include Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, and Near Field Communication (NFC). , Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi, Wi-Fi Direct, and the like may be included. In addition, wired communication technologies may include power line communication (PLC), USB communication, Ethernet, serial communication, optical/coaxial cable, and the like.

또한, 상기 통신부(110)는 유니버설 시리얼 버스(Universal Serial Bus: USB)를 통해 임의의 단말과 정보를 상호 전송할 수 있다.In addition, the communication unit 110 may mutually transmit information with an arbitrary terminal through a universal serial bus (USB).

또한, 상기 통신부(110)는 이동통신을 위한 기술표준들 또는 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 기지국, 상기 빔 프로젝터(200) 등과 무선 신호를 송수신한다.In addition, the communication unit 110 includes technical standards or communication methods for mobile communication (for example, GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000)), EV -DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.), transmits and receives wireless signals to and from the base station, the beam projector 200, and the like.

또한, 상기 통신부(110)는 상기 제어부(150)의 제어에 의해, 상기 빔 프로젝터(200)로 3D 콘텐츠 등을 전송한다.In addition, the communication unit 110 transmits 3D content or the like to the beam projector 200 under the control of the controller 150.

상기 저장부(120)는 다양한 사용자 인터페이스(User Interface: UI), 그래픽 사용자 인터페이스(Graphic User Interface: GUI) 등을 저장한다.The storage unit 120 stores various user interfaces (UIs), graphic user interfaces (GUIs), and the like.

또한, 상기 저장부(120)는 상기 단말(100)이 동작하는데 필요한 데이터와 프로그램 등을 저장한다.In addition, the storage unit 120 stores data and programs necessary for the terminal 100 to operate.

즉, 상기 저장부(120)는 상기 단말(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한, 이러한 응용 프로그램 중 적어도 일부는 단말(100)의 기본적인 기능을 위하여 출고 당시부터 단말(100) 상에 존재할 수 있다. 한편, 응용 프로그램은 상기 저장부(120)에 저장되고, 단말(100)에 설치되어, 제어부(150)에 의하여 상기 단말(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.That is, the storage unit 120 may store a plurality of application programs (application programs or applications) driven by the terminal 100, data for operation of the terminal 100, and commands. At least some of these application programs may be downloaded from an external server through wireless communication. In addition, at least some of these application programs may exist on the terminal 100 from the time of shipment for basic functions of the terminal 100. Meanwhile, the application program may be stored in the storage unit 120, installed in the terminal 100, and driven by the controller 150 to perform an operation (or function) of the terminal 100.

또한, 상기 저장부(120)는 플래시 메모리 타입(Flash Memory Type), 하드 디스크 타입(Hard Disk Type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro Type), 카드 타입의 메모리(예를 들면, SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 광디스크, 램(Random Access Memory: RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory: ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 중 적어도 하나의 저장매체를 포함할 수 있다. 또한, 단말(100)은 인터넷(internet)상에서 저장부(120)의 저장 기능을 수행하는 웹 스토리지(web storage)를 운영하거나, 또는 상기 웹 스토리지와 관련되어 동작할 수도 있다.In addition, the storage unit 120 is a flash memory type (Flash Memory Type), a hard disk type (Hard Disk Type), a multimedia card micro type (Multimedia Card Micro Type), a card type memory (e.g., SD or XD Memory, etc.), magnetic memory, magnetic disk, optical disk, RAM (Random Access Memory: RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory: ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), It may include at least one storage medium among Programmable Read-Only Memory (PROM). In addition, the terminal 100 may operate a web storage that performs a storage function of the storage unit 120 over the Internet, or may operate in connection with the web storage.

또한, 상기 저장부(120)는 상기 제어부(150)의 제어에 의해 상기 3D 콘텐츠 등을 저장한다.In addition, the storage unit 120 stores the 3D content and the like under the control of the control unit 150.

상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 저장부(120)에 저장된 사용자 인터페이스 및/또는 그래픽 사용자 인터페이스를 이용하여 다양한 메뉴 화면 등과 같은 다양한 콘텐츠를 표시할 수 있다. 여기서, 상기 표시부(130)에 표시되는 콘텐츠는 다양한 텍스트 또는 이미지 데이터(각종 정보 데이터 포함)와 아이콘, 리스트 메뉴, 콤보 박스 등의 데이터를 포함하는 메뉴 화면 등을 포함한다. 또한, 상기 표시부(130)는 터치 스크린 일 수 있다.The display unit 130 may display various contents such as various menu screens using a user interface and/or a graphic user interface stored in the storage unit 120 under the control of the control unit 150. Here, the content displayed on the display unit 130 includes various text or image data (including various information data) and a menu screen including data such as icons, list menus, and combo boxes. In addition, the display unit 130 may be a touch screen.

또한, 상기 표시부(130)는 액정 디스플레이(Liquid Crystal Display: LCD), 박막 트랜지스터 액정 디스플레이(Thin Film Transistor-Liquid Crystal Display: TFT LCD), 유기 발광 다이오드(Organic Light-Emitting Diode: OLED), 플렉시블 디스플레이(Flexible Display), 3차원 디스플레이(3D Display), 전자잉크 디스플레이(e-ink display), LED(Light Emitting Diode) 중에서 적어도 하나를 포함할 수 있다.In addition, the display unit 130 includes a liquid crystal display (LCD), a thin film transistor liquid crystal display (TFT LCD), an organic light-emitting diode (OLED), and a flexible display. It may include at least one of (Flexible Display), 3D display, e-ink display, and LED (Light Emitting Diode).

또한, 상기 표시부(130)는 상기 제어부(150)의 제어에 의해 상기 3D 콘텐츠 등을 표시한다.In addition, the display unit 130 displays the 3D content or the like under the control of the control unit 150.

상기 음성 출력부(140)는 상기 제어부(150)에 의해 소정 신호 처리된 신호에 포함된 음성 정보를 출력한다. 여기서, 상기 음성 출력부(140)에는 리시버(receiver), 스피커(speaker), 버저(buzzer) 등이 포함될 수 있다.The audio output unit 140 outputs audio information included in a signal processed by a predetermined signal by the control unit 150. Here, the audio output unit 140 may include a receiver, a speaker, a buzzer, and the like.

또한, 상기 음성 출력부(140)는 상기 제어부(150)에 의해 생성된 안내 음성을 출력한다.In addition, the voice output unit 140 outputs a guide voice generated by the control unit 150.

또한, 상기 음성 출력부(140)는 상기 제어부(150)의 제어에 의해 상기 3D 콘텐츠 등에 대응하는 음성 정보(또는 음향 효과)를 출력한다.In addition, the audio output unit 140 outputs audio information (or sound effect) corresponding to the 3D content or the like under the control of the controller 150.

상기 제어부(controller, 또는 MCU(microcontroller unit)(150)는 상기 단말(100)의 전반적인 제어 기능을 실행한다.The controller or microcontroller unit (MCU) 150 executes an overall control function of the terminal 100.

또한, 상기 제어부(150)는 상기 저장부(120)에 저장된 프로그램 및 데이터를 이용하여 단말(100)의 전반적인 제어 기능을 실행한다. 상기 제어부(150)는 RAM, ROM, CPU, GPU, 버스를 포함할 수 있으며, RAM, ROM, CPU, GPU 등은 버스를 통해 서로 연결될 수 있다. CPU는 상기 저장부(120)에 액세스하여, 상기 저장부(120)에 저장된 O/S를 이용하여 부팅을 수행할 수 있으며, 상기 저장부(120)에 저장된 각종 프로그램, 콘텐츠, 데이터 등을 이용하여 다양한 동작을 수행할 수 있다.In addition, the control unit 150 executes an overall control function of the terminal 100 using programs and data stored in the storage unit 120. The control unit 150 may include RAM, ROM, CPU, GPU, and bus, and RAM, ROM, CPU, GPU, and the like may be connected to each other through a bus. The CPU can access the storage unit 120 and perform booting using the O/S stored in the storage unit 120, and use various programs, contents, data, etc. stored in the storage unit 120 Thus, various operations can be performed.

또한, 상기 제어부(150)는 3차원 콘텐츠를 생성하기 위해 서버(미도시) 등으로부터 제공되는 3차원 그래픽스 콘텐츠 장면 저작 도구(scene authoring tool)를 해당 단말(100)에 설치한다.In addition, the controller 150 installs a 3D graphics content scene authoring tool provided from a server (not shown) or the like in the corresponding terminal 100 to generate 3D content.

또한, 상기 제어부(150)는 상기 단말(100)에 설치된 3차원 그래픽스 콘텐츠 장면 저작 도구를 이용해서 사용자 입력(또는 사용자 선택/터치/제어)에 따라 임의의 객체 등을 포함하는 3차원 콘텐츠를 생성할 수 있다.In addition, the control unit 150 generates 3D content including arbitrary objects according to user input (or user selection/touch/control) using a 3D graphics content scene authoring tool installed in the terminal 100 can do.

즉, 상기 제어부(150)는 상기 3차원 그래픽스 콘텐츠 장면 저작 도구를 통해 사용자 입력(또는 사용자 선택/터치/제어)에 따라 하나 이상의 3차원 콘텐츠 객체를 표시부(130)에 표시되는 장면 내의 임의의 위치에 배치(또는 구성/형성)한다.That is, the control unit 150 displays one or more 3D content objects on the display unit 130 according to a user input (or user selection/touch/control) through the 3D graphics content scene authoring tool. Place (or configure/form) on.

또한, 상기 제어부(150)는 사용자 입력에 따라 하나 이상의 3차원 카메라(또는 3차원 카메라 객체/가상의 3차원 카메라/장면 카메라(scene camera))를 상기 장면 내의 다른 위치에 배치한다.In addition, the controller 150 arranges one or more 3D cameras (or 3D camera objects/virtual 3D cameras/scene cameras) at different locations in the scene according to a user input.

즉, 상기 제어부(150)는 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 상기 3차원 카메라를 통해 그래픽스 장면을 생성한다. 이때, 상기 3차원 카메라는 추후 설명되는 격자 구조물별로 지정되어 있으며, 격자 구조물을 포함한 형태 즉, 격자 구조물보다 충분히 넓은 영역을 비춰 격자 구조물의 형상이 잘리지 않도록 설정한다. 또한, 상기 장면 내에 배치되는 3차원 카메라의 개수는 현장에 설치되는 빔 프로젝터(200)의 개수와 동일할 수 있다.That is, the control unit 150 generates a graphics scene through the 3D camera installed in the scene of the 3D graphics rendering system. In this case, the 3D camera is designated for each lattice structure, which will be described later, and is set so that the shape of the lattice structure is not cut by illuminating an area sufficiently wider than that of the lattice structure, that is, the lattice structure. In addition, the number of 3D cameras disposed in the scene may be the same as the number of beam projectors 200 installed in the site.

또한, 상기 제어부(150)는 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 또 다른 위치에 배치한다. 여기서, 상기 장면 내에 배치되는 가상의 빔 프로젝터(또는 가상의 빔 프로젝터 객체)는 위치 좌표(Position Coordinate), 회전값(Rotation Quaternion) 등과 같은 지오메트리(Geometry) 특성값, 빔 프로젝터(200)의 광학적 특성값 등을 속성값(Property)으로 갖도록 구성(또는 구현)한다. 이때, 상기 장면 내에 배치되는 가상의 빔 프로젝터의 개수는 현장에 설치되는 빔 프로젝터(200)의 개수와 동일할 수 있다.In addition, the controller 150 arranges one or more virtual beam projectors at another location in the scene according to a user input. Here, the virtual beam projector (or virtual beam projector object) disposed in the scene is a geometric characteristic value such as a position coordinate, a rotation quaternion, etc., and an optical characteristic of the beam projector 200 It is configured (or implemented) to have a value, etc. as a property value. In this case, the number of virtual beam projectors disposed in the scene may be the same as the number of beam projectors 200 installed in the site.

또한, 상기 제어부(150)는 사용자 입력에 따라 현장에 설치되는 하나 이상의(또는 복수의) 빔 프로젝터(200)의 광학적 특성값(또는 빔 프로젝터의 사양)을 수신(또는 확인)한다. 이때, 상기 빔 프로젝터(200)의 광학적 특성값은 빔 프로젝터의 최소 사거리, 최대 사거리, X축 탄젠트(Tangent) 값(예를 들어 우향 X축 탄젠트 값, 좌향 X축 탄젠트 값 등 포함), Y축 탄젠트 값(예를 들어 상향 Y축 탄젠트 값, 하향 Y축 탄젠트 값 등 포함), 센터 오프셋(center offset) 등을 포함한다. 또한, 상기 제어부(150)는 상기 빔 프로젝터(200)의 줌(zoom) 기능 제공에 따라 탄젠트 값이 가변이므로, 줌 최대/줌 최소에 대한 모든 값을 측정하여 상황에 맞춰 선택할 수 있도록 구성할 수 있다.In addition, the controller 150 receives (or confirms) optical characteristic values (or specifications of the beam projectors) of one or more (or a plurality of) beam projectors 200 installed on the site according to a user input. At this time, the optical characteristic values of the beam projector 200 are the minimum firing distance, the maximum firing distance, and the X-axis tangent value of the beam projector (e.g., right-facing X-axis tangent value, left-facing X-axis tangent value, etc.), Y-axis It includes a tangent value (eg, an upward Y-axis tangent value, a downward Y-axis tangent value, etc.), a center offset, and the like. In addition, since the tangent value is variable according to the provision of the zoom function of the beam projector 200, the control unit 150 can be configured to measure all values for the maximum zoom/minimum zoom and select according to the situation. have.

이때, 상기 제어부(150)는 사용자의 실측에 따라 해당 빔 프로젝터(200)의 광학적 특성값을 확인하거나 또는, 해당 빔 프로젝터(200)와 관련한 제조사의 사양 설명서를 근거로 사용자 입력에 따라 해당 빔 프로젝터(200)의 광학적 특성값을 확인(또는 수신)할 수 있다.At this time, the control unit 150 checks the optical characteristic value of the corresponding beam projector 200 according to the user's actual measurement, or according to the user input based on the manufacturer's specification instructions for the corresponding beam projector 200 The optical characteristic value of 200 can be checked (or received).

또한, 상기 제어부(150)는 통신부(110)를 통해 연결된 상기 하나 이상의 빔 프로젝터(200)로 해당 빔 프로젝터(200)의 광학적 특성값을 요청하고, 상기 요청에 응답하여 빔 프로젝터(200)로부터 각각 전송되는 해당 빔 프로젝터(200)의 광학적 특성값을 수신할 수도 있다.In addition, the control unit 150 requests the optical characteristic values of the corresponding beam projector 200 to the one or more beam projectors 200 connected through the communication unit 110, and in response to the request, each of the beam projectors 200 It is also possible to receive the optical characteristic value of the transmitted beam projector 200.

또한, 상기 제어부(150)는 상기 장면에 배치된 가상의 빔 프로젝터에 대해서 상기 확인된 빔 프로젝터(200)의 광학적 특성값을 설정(또는 매핑/적용)한다.In addition, the controller 150 sets (or maps/applies) optical characteristic values of the identified beam projector 200 to the virtual beam projector disposed in the scene.

또한, 상기 제어부(150)는 상기 하나 이상의 빔 프로젝터(200)에 의해 실제 형성되는 투영면 크기 및 좌표를 측정(또는 확인)한다.In addition, the control unit 150 measures (or checks) the size and coordinates of the projection surface actually formed by the one or more beam projectors 200.

이때, 상기 제어부(150)는 사용자의 실측에 따라 해당 빔 프로젝터(200)에 의해 형성되는 투영면 크기 및 좌표를 수신(또는 확인)할 수 있다. 여기서, 상기 투영면의 크기 및 좌표의 단위는 3차원 그래픽스 렌더링 시스템과 단위를 통일하여 같은 단위(예를 들어 미터(m) 단위)로 측정할 수 있다.In this case, the controller 150 may receive (or check) the size and coordinates of the projection surface formed by the corresponding beam projector 200 according to the user's actual measurement. Here, the unit of the size and coordinates of the projection surface may be measured in the same unit (for example, in meters (m)) by unifying the unit with the 3D graphics rendering system.

또한, 상기 제어부(150)는 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신(또는 확인)한다.In addition, the controller 150 receives (or confirms) information on the number of vertices for generating a grid structure according to a user input and the number of vertices in the boundary blending area.

즉, 상기 제어부(150)는 사용자 입력에 따른 해당 장면에 추가할 격자 구조물과 관련한 정보인 X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수(또는 스플릿 개수), Y축 분할 개수, 경계 블렌딩 개수 등을 포함하는 정보를 수신한다.That is, the control unit 150 is the number of X-axis vertices, Y-axis vertices, X-axis resolution, Y-axis resolution, X-axis division number (or number of splits), which are information related to a grid structure to be added to the scene according to a user input. , Receive information including the number of divisions on the Y-axis, the number of boundary blending, and the like.

또한, 상기 제어부(150)는 상기 수신된(또는 확인된) X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수, Y축 분할 개수, 경계 블렌딩 개수 등을 근거로 상기 격자 구조물에 포함되는 하나 이상의 하부 구조물의 X축 정점 개수, Y축 정점 개수, 경계 블렌딩 X축 방향 정점의 개수, 경계 블렌딩 Y축 방향 정점의 개수 등을 확인할 수 있다.In addition, the control unit 150 is based on the number of received (or confirmed) X-axis vertices, Y-axis vertices, X-axis resolution, Y-axis resolution, X-axis division number, Y-axis division number, boundary blending number, etc. As a result, it is possible to check the number of X-axis vertices, Y-axis vertices, boundary blending X-axis direction vertices, boundary blending Y-axis direction vertices, and the like of one or more lower structures included in the lattice structure.

또한, 상기 제어부(150)는 상기 하나 이상의 빔 프로젝터(200)에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보(예를 들어 정점 개수, 경계 블렌딩 영역의 정점 개수 등 포함) 등을 근거로 격자 구조물을 생성한다.In addition, the control unit 150 provides a grid based on the size and coordinates of the projection surface formed by the one or more beam projectors 200, and the received information (eg, the number of vertices, the number of vertices in the boundary blending area, etc.). Create a structure.

즉, 상기 제어부(150)는 실제 현장에 설치할 공간과 동일한 투사면을 상기 장면에 만들기 위한(또는 추가하기/삽입하기 위한) 가상의 3차원 스크린 격자 구조물인 상기 격자 구조물을 생성한다.That is, the control unit 150 generates the grid structure, which is a virtual three-dimensional screen grid structure for making (or adding/inserting) the same projection surface as the space to be installed on the actual site in the scene.

이때, 상기 격자 구조물은 객체 지향 소프트웨어적으로 설계된 클래스(class)이며, 하나 이상의 하부 구조물(Surface Split)의 조합으로 구현되며, 각 하부 구조물은 색인 번호(Split Index)가 부여되며, 상기 격자 구조물의 컴포넌트 클래스를 상속받아 다양한 형태로(또는 목적별로) 특정화된 상속체(specialized inheritance class)로 구성(또는 구현/형성)한다.At this time, the lattice structure is a class designed with object-oriented software, and is implemented as a combination of one or more substructures (Surface Split), each substructure is assigned an index number (Split Index), and Component classes are inherited and configured (or implemented/formed) into specialized inheritance classes in various forms (or by purpose).

상기 하부 구조물은 n개 × m개의 하부 구조물에 의해 평면 형태로 구성되며, 도 3에 도시된 바와 같이, 3×1 개의 평면 형태의 빔 프로젝터(200)로 하나의 그래픽스 영상을 투사할 수 있다.The lower structure is composed of n × m substructures in a planar shape, and as shown in FIG. 3, one graphics image may be projected by a 3×1 planar beam projector 200.

또한, 상기 하부 구조물은 n개의 하부 구조물에 의해 원기둥(cylinder) 형태로 구성되며, 도 4에 도시된 바와 같이, 3개의 원기둥 형태의 빔 프로젝터(200)로 하나의 그래픽스 영상을 투사할 수 있다.In addition, the lower structure is configured in a cylinder shape by n substructures, and as shown in FIG. 4, one graphics image may be projected by the beam projector 200 having three cylinder shapes.

또한, 상기 하부 구조물은 n개의 하부 구조물에 의해 원기둥 같은 특수한 객체의 내부에서 바깥쪽으로 비추는 형태로 구성되며, 도 5에 도시된 바와 같이, 4개의 빔 프로젝터(200)로 바깥쪽으로 비춰 하나의 원기둥을 형성하며, 이를 통해 하나의 그래픽스 영상을 투사할 수 있다.In addition, the lower structure is configured in a shape that is projected outward from the inside of a special object such as a cylinder by n substructures, and as shown in FIG. 5, a single cylinder is projected outward by four beam projectors 200. And through this, one graphics image can be projected.

또한, 상기 하부 구조물은 n개의 하부 구조물에 의해 직육면체 형태로 구성되며, 도 6에 도시된 바와 같이, 직육면체 형태 중 3개의 빔 프로젝터(200)로 하나의 그래픽스 영상을 3면에 투사할 수 있다.In addition, the lower structure is configured in a rectangular parallelepiped shape by n substructures, and as shown in FIG. 6, one graphics image may be projected on three surfaces with three beam projectors 200 in a rectangular parallelepiped shape.

이와 같이, 상기 격자 구조물은 k개의 하부 구조물로 구성되며, 각 하부 구조물은 그 내부에 i개*j개의 정점(vertex)인 Psurface으로 이루어진 직사각형 격자 구조로 구성하며, 각 정점은 3차원 좌표를 갖는다. 여기서, 상기 k, i, j는 자연수이다.In this way, the lattice structure is composed of k substructures, and each substructure is composed of a rectangular lattice structure composed of a P surface , i*j vertices, and each vertex has a three-dimensional coordinate. Have. Here, k, i, j are natural numbers.

또한, 상기 제어부(150)는 프로젝션 경계 블렌딩(Projection Edge Blending) 기술을 적용하기 위해서 인접한 하부 구조물끼리 그 정점을 공유하도록 구성한다. 이에 따라, 각 하부 구조물의 경계면에 대해서 경계 부분을 감출 수 있다.In addition, the control unit 150 is configured to share the vertices of adjacent lower structures in order to apply a projection edge blending technique. Accordingly, it is possible to hide the boundary portion with respect to the boundary surface of each lower structure.

또한, 상기 제어부(150)는 이후의 경계 블렌딩 처리를 위해서 각 공유되는 정점들에 대해 별도의 가중치(weight)를 부여하여 겹치지 않는 부분의 정점들과 구분하도록 구성한다. 이때, 상기 격자 구조물은 하부 구조물의 개수와 상관없이 1개의 배열 자료 형태로 존재하나, 도 7에 도시된 바와 같이, 논리적으로 분할할 수 있는 구조로 구성한다.In addition, the controller 150 assigns a separate weight to each of the shared vertices for subsequent boundary blending processing to distinguish them from the vertices of non-overlapping portions. At this time, the lattice structure exists in the form of one array data regardless of the number of lower structures, but is configured as a structure that can be logically divided as shown in FIG. 7.

이와 같이, 상기 격자 구조물의 하부 구조물의 경계 부분에 인접한 다른 하부 구조물이 있는 경우, 각 3차원 카메라별 디스플레이 화면은 실제 빔 프로젝터(200)의 투영면이 겹쳐진 형태로 출력하며, 이처럼 겹쳐진 영역을 경계 블렌딩(Edge Blending)이라 한다. 여기서, 겹쳐진 부분의 투영면의 밝기를 외곽쪽으로 점차 어둡게 만들어서 겹치게 되면, 인접 투영면에서 점차 밝아지는 투영면과 합쳐져서 경계 부분이 잘 눈에 띄지 않게 된다.As described above, when there is another lower structure adjacent to the boundary of the lower structure of the lattice structure, the display screen for each 3D camera is output in a form in which the projection surface of the actual beam projector 200 is overlapped, and the overlapped area is boundary blended. It is called (Edge Blending). Here, when the brightness of the projection surface of the overlapped portion is gradually darkened toward the outer side and overlapped, the boundary portion becomes less noticeable because the projection surface gradually becomes brighter from the adjacent projection surface.

또한, 상기 제어부(150)는 상기 경계 블렌딩 처리를 자동으로 생성(또는 수행)하기 위해서, 상기 하부 구조물의 정점 중 경계 블렌딩 영역에서는 밝기를 결정하는 가중치를 정점에 부여하여, 다음의 후처리 과정에 전달함에 따라, 외곽과의 거리를 감안하여 출력 정점의 밝기를 점차 어둡게 조정할 수 있다.In addition, in order to automatically generate (or perform) the boundary blending process, the control unit 150 assigns a weight for determining brightness to the vertex in the boundary blending region among the vertices of the lower structure, and performs the following post-processing process. As it is transmitted, the brightness of the output vertex can be gradually darkened in consideration of the distance to the outside.

또한, 상기 제어부(150)는 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치(또는 상기 하나 이상의 빔 프로젝터(200)에 의해 형성되는 투영면의 좌표에 대응하는 위치)에 배치한다. 이때, 상기 제어부(150)는 상기 장면 내에서 실측 위치와 동일한 위치에 실제 투영할 투사면과 동일한 크기로 상기 격자 구조물을 설치한다.In addition, the controller 150 arranges the generated grid structure at a specific position in the scene (or a position corresponding to the coordinates of the projection surface formed by the one or more beam projectors 200). In this case, the control unit 150 installs the grid structure in the same size as the projection surface to be actually projected at the same position in the scene as the actual measurement position.

즉, 상기 제어부(150)는 상기 생성된 격자 구조물의 위치 좌표, 방향, 크기 등을 원활하게 설정하기 위해서 격자 구조물의 시각화를 수행한다. 여기서, 상기 시각화되는 격자 구조물은 이후 과정들을 수행하기 위한 참조로 사용되며, 최종 생성되는 3D 콘텐츠에서는 사용자 설정에 따른 옵션 정보에 따라 포함되지 않거나 또는 포함될 수 있다.That is, the control unit 150 visualizes the grid structure in order to smoothly set the position coordinates, direction, and size of the generated grid structure. Here, the visualized grid structure is used as a reference for performing subsequent processes, and may or may not be included in the final generated 3D content according to option information according to user settings.

이때, 상기 제어부(150)는 해당 격자 구조물을 렌더링하기 위해서, 각 정점으로부터 삼각형(Triangle)을 구성하기 위한 색인(index)을 추출하는 방식으로 삼각화(Triangulation) 과정을 수행(또는 진행)한다.At this time, the control unit 150 performs (or proceeds) a triangulation process in a manner of extracting an index for configuring a triangle from each vertex in order to render the corresponding grid structure.

또한, 상기 제어부(150)는 설치 현장의 다양한 상황에서 세밀한 위치와 설정 조정(calibration)을 위해 다양한 디스플레이 방식을 제공할 수 있다.In addition, the control unit 150 may provide various display methods for detailed location and setting calibration in various situations at the installation site.

또한, 상기 제어부(150)는 경계면의 정확한 정합 설치를 돕기 위한 경계 블렌딩 영역 등을 잘 보이게 하는 시각화 방식도 제공하여 더욱 정밀한 접합면의 표출을 돕도록 구성할 수 있다.In addition, the control unit 150 may be configured to help display a more precise bonding surface by providing a visualization method in which a boundary blending area or the like is well visible to assist in accurate matching and installation of the boundary surface.

이와 같이, 상기 제어부(150)는 상기 격자 구조물(또는 격자 구조체) 내에 복수의 투사면을 설치하는 경우, 하부 구조물의 구성에 대한 정보를 설정한다. 이때, 격자 구조물의 모양과 구현 방법에 따라 달라지겠지만, 예를 들어 n×m 형태의 투사면을 갖는 평면 프로젝터 투사면(예를 들어 ProjectorSurfacePlane 컴포넌트)의 경우, n×m 개의 하부 구조물의 개수를 설정한다.As described above, when a plurality of projection surfaces are installed in the lattice structure (or lattice structure), the control unit 150 sets information on the configuration of the lower structure. At this time, it will depend on the shape and implementation method of the lattice structure, but for example, in the case of a flat projector projection surface (for example, ProjectorSurfacePlane component) having an n×m type of projection surface, set the number of n×m substructures. do.

또한, 이와 같이, 상기 하부 구조물은 각 3차원 카메라에 투영되는 영역이며, 해당 영역 앞에 구현하고 싶은 3차원 객체들을 배치하고, 움직이는 콘텐츠를 제작하면 복수의 빔 프로젝터(200)를 통해 이음매 없이 디스플레이할 수 있다.In addition, as described above, the lower structure is an area projected by each 3D camera, and when 3D objects to be implemented are placed in front of the area and moving content is produced, it can be displayed seamlessly through a plurality of beam projectors 200. I can.

또한, 상기 제어부(150)는 상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지(또는 렌더 텍스쳐/렌더링 장면 출력 이미지)를 생성한다.In addition, the controller 150 generates a rendering image (or a render texture/rendered scene output image) for each 3D camera by performing scene rendering based on the 3D camera.

또한, 상기 제어부(150)는 상기 생성된 렌더링 이미지를 텍스쳐 형태로 상기 저장부(120)에 저장한다.In addition, the control unit 150 stores the generated rendered image in the storage unit 120 in the form of a texture.

또한, 상기 제어부(150)는 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체, 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정한다.In addition, the controller 150 refers to a grid structure object corresponding to the generated grid structure, a 3D camera object corresponding to the arranged 3D camera, and a virtual beam projector object corresponding to the virtual beam projector. Is set.

즉, 상기 제어부(150)는 상기 격자 구조물의 하부 구조물에 대응하는 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체의 관계를 연결(또는 설정)한다.That is, the control unit 150 connects (or sets) a relationship between the lower structure object corresponding to the lower structure of the lattice structure and the virtual beam projector object.

이때, 상기 제어부(150)는 다중 프로젝터 출력 시스템(10)의 내부에서 객체들을 인식하는 식별자(ID) 등을 이용하여, 상기 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체를 연결하되, 상기 격자 구조물은 하나 이상의 하부 구조물의 조합으로 형성되어 있으므로, 각 하부 구조물의 색인 번호(index)를 통하여 어떤 하부 구조물을 투영하려는지 지정한다.At this time, the control unit 150 connects the lower structure object and the virtual beam projector object using an identifier (ID) that recognizes objects inside the multi-projector output system 10, and the grid structure Since it is formed by a combination of one or more substructures, the substructure to be projected is designated through the index number of each substructure.

또한, 상기 3차원 카메라는 자체적으로 좌표, 회전값, 줌 비율 등과 같은 광학적 속성들이 있으며, 이를 통해 렌더링을 위한 워드-뷰-투영 변환에 의해 행렬 TCamera를 계산하여 갖고 있으며, 상기 제어부(150)는 이 행렬(TCamera)을 통해 3차원 월드의 객체들을 정규화된 스크린 좌표계에 투영하도록 구현할 수 있다.In addition, the 3D camera has optical properties such as coordinates, rotation values, and zoom ratios by itself, and through this, calculates and has a matrix T Camera by word-view-projection transformation for rendering, and the control unit 150 Can be implemented to project the objects of the 3D world onto the normalized screen coordinate system through this matrix (T Camera ).

또한, 상기 제어부(150)는 상기 격자 구조물의 하부 구조물에 대응하는 하부 구조물 객체와 상기 3차원 카메라 객체의 관계를 연결(또는 설정)한다.In addition, the control unit 150 connects (or sets) the relationship between the lower structure object corresponding to the lower structure of the lattice structure and the 3D camera object.

또한, 상기 제어부(150)는 상기 격자 구조물 객체와 상기 가상의 빔 프로젝터 객체를 연결하는 방식과 유사한 방식으로 실제 투영할 장면을 비추고 있는 3차원 카메라와 상기 하부 구조물(또는 3차원 카메라 객체와 상기 하부 구조물 객체)을 연결한다.In addition, the control unit 150 includes a 3D camera and the lower structure (or the 3D camera object and the lower part) that illuminate the scene to be actually projected in a manner similar to a method of connecting the grid structure object and the virtual beam projector object. Structure object).

또한, 상기 제어부(150)는 상기 장면 내 좌표들(또는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물의 격자 정점)을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환한다.In addition, the control unit 150 converts coordinates in the scene (or lattice vertices of one or more substructures included in the lattice structure) into lattice vertices at the viewpoint of a 3D virtual beam projector disposed in the scene.

즉, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체가 연결되면, 상기 제어부(150)는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표(World Coordinate) 목록을 확인한다. 이때, 상기 제어부(150)는 상기 격자 구조물 객체와 상기 하부 구조물 객체 간의 부모-자식 클래스 속성에 따라 함수 호출(function call)을 이용하여 해당 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 넘겨받을(또는 확인할) 수 있다.That is, when one or more sub-structure objects included in the lattice structure object and the virtual beam projector object are connected, the controller 150 is the world of the grid vertices of a specific sub-structure among one or more sub-structures included in the lattice structure. Check the list of World Coordinates. In this case, the control unit 150 receives the world coordinate list of the grid vertices of the specific substructure by using a function call according to the parent-child class attribute between the grid structure object and the substructure object (or Can confirm).

또한, 상기 제어부(150)는 상기 확인된 특정 하부 구조물의 격자 정점의 월드 좌표 목록(Psurface)을 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 통하여 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)으로 변환(또는 가상의 빔 프로젝터 시점에서의 격자 정점들을 생성)한다.In addition, the control unit 150 converts the identified world coordinate list (P surface ) of the grid vertices of the specific substructure into normalized coordinates based on the virtual beam projector through the transformation matrix T projector of the virtual beam projector. Convert to a list (S surface ) (or create grid vertices at the perspective of a virtual beam projector).

또한, 상기 제어부(150)는 실제 장면 저작 도구에서 격자 정점의 위치를 설계하기에 용이하게 하기 위해서 상기 가상의 빔 프로젝터와 유사한 3차원 메시 모델을 표출하도록 구성한다.In addition, the controller 150 is configured to display a 3D mesh model similar to the virtual beam projector in order to facilitate designing the positions of the grid vertices in the actual scene authoring tool.

또한, 상기 제어부(150)는 상기 가상의 빔 프로젝터가 투영하는 가상의 비대칭의 절두체(Frustum)를 시각화하여, 투영될 영상의 투사각도 등을 인식하기 용이하게 구성(또는 제작)한다.In addition, the controller 150 visualizes a virtual asymmetric frustum projected by the virtual beam projector, and configures (or manufactures) to easily recognize the projection angle of the image to be projected.

이때, 상기 표출된 상기 가상의 빔 프로젝터 객체는 저작 도구에서 WYSIWYG(What-You-See-Is-What-You-Get) 방식으로 용이하게 위치값을 지정할 수 있다.In this case, the exposed virtual beam projector object may easily designate a position value in a WYSIWYG (What-You-See-Is-What-You-Get) method in an authoring tool.

또한, 위치가 결정되면, 상기 제어부(150)는 변환 행렬을 계산하여 각 가상의 빔 프로젝터 객체를 생성하여, 시각화한다.In addition, when the position is determined, the controller 150 calculates a transformation matrix to generate and visualize each virtual beam projector object.

즉, 상기 제어부(150)는 상기 빔 프로젝터(200)의 속성값을 근거로 다음의 [수학식 1]과 같은 비대칭 투영 행렬(Asymmetric Perspective Projection Matrix)에 따라 4×4 형태의 투영 변환 행렬(Tperspective)을 생성한다.That is, the control unit 150 is based on the property value of the beam projector 200 according to the asymmetric projection matrix (Asymmetric Perspective Projection Matrix) as shown in the following [Equation 1] 4 × 4 type projection transformation matrix (T perspective ).

Figure 112019097726252-pat00001
Figure 112019097726252-pat00001

여기서, 상기 l은 뷰 볼륨의 x축 최소치, 상기 r은 뷰 볼륨의 x축 최대치, 상기 b는 뷰 볼륨의 y축 최소치, 상기 t는 뷰 볼륨의 y축 최대치, 상기 Zn은 뷰 볼륨의 z축 최소치, 상기 Zf는 뷰 볼륨의 z축 최대치를 각각 나타낸다.Here, l is the x-axis minimum value of the view volume, r is the x-axis maximum value of the view volume, b is the y-axis minimum value of the view volume, t is the y-axis maximum value of the view volume, and Zn is the z-axis of the view volume The minimum value and Zf represent the maximum value of the z-axis of the view volume, respectively.

또한, 상기 제어부(150)는 다음의 [수학식 2]를 통해 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 생성한다.In addition, the control unit 150 generates a transformation matrix (T projector ) of the virtual beam projector through the following [Equation 2].

Figure 112019097726252-pat00002
Figure 112019097726252-pat00002

또한, 상기 제어부(150)는 다음의 [수학식 3]을 통해 장면 내 좌표들을 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표(또는 화면 좌표계, Normalized Screen Coordinate)로 변환한다.In addition, the controller 150 converts the coordinates in the scene into normalized coordinates (or screen coordinates, Normalized Screen Coordinates) based on the virtual beam projector through the following [Equation 3].

Figure 112019097726252-pat00003
Figure 112019097726252-pat00003

이와 같이, 상기 제어부(150)는 장면 내 좌표들을 가상의 빔 프로젝터를 기준으로 하여 정규화된 좌표로 변환(또는 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 생성/가상의 빔 프로젝터 시점에서의 격자 정점들을 생성)한다.In this way, the controller 150 converts the coordinates in the scene into normalized coordinates based on the virtual beam projector (or generates a list of normalized coordinates based on the virtual beam projector / Grid vertices).

또한, 상기 제어부(150)는 상기 장면 내 좌표들(또는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물의 격자 정점)을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환한다.In addition, the control unit 150 converts coordinates in the scene (or lattice vertices of one or more lower structures included in the lattice structure) into lattice vertices at a viewpoint of a 3D camera disposed in the scene.

즉, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 3차원 카메라 객체가 연결되면, 상기 제어부(150)는 다음의 [수학식 4]를 통해 3차원 카메라의 변환 행렬(Tcamera)을 이용하여 상기 격자 구조물에 포함된 하나 이상의 하부 구조물이 갖고 있는 정점들을 변환하여 3차원 카메라 시점에서의 격자 정점(Ucamera)들(또는 3차원 카메라를 기준으로 한 정규화된 좌표 목록)을 생성한다.That is, when one or more lower structure objects included in the lattice structure object and the 3D camera object are connected, the control unit 150 calculates the transformation matrix T camera of the 3D camera through the following [Equation 4]. By using the transformed vertices of one or more lower structures included in the lattice structure, U cameras (or a list of normalized coordinates based on the 3D camera ) at the viewpoint of the 3D camera are generated.

Figure 112019097726252-pat00004
Figure 112019097726252-pat00004

이와 같이, 상기 제어부(150)는 장면 내 좌표들을 3차원 카메라를 기준으로 하여 정규화된 좌표로 변환(또는 3차원 카메라를 기준으로 한 정규화된 좌표 목록을 생성/3차원 카메라 시점에서의 격자 정점들을 생성)한다.In this way, the control unit 150 converts the coordinates in the scene into normalized coordinates based on the 3D camera (or generates a list of normalized coordinates based on the 3D camera). Create).

또한, 상기 제어부(150)는 상기 장면 렌더링된 렌더 텍스쳐(또는 렌더링 이미지)에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성한다. 여기서, 상기 후처리 기능은 렌더링된 렌더 텍스쳐를 텍스쳐 입력으로 하는 쉐이더 프로그램(Shader Program)을 작성하여, 여러 가지 특수 효과를 구현하는 렌더링을 나타낸다. 또한, 후처리(PostEffect)를 구현하기 위해서 입력으로 2차원 메시(2D Mesh)를 함께 입력하며, 쉐이더가 처리한 결과 렌더 이미지를 화면에 출력한다. 또한, 풀 화면(Full Screen) 영상인 경우, 화면 전체 크기의 메시의 위치 좌표(Position Coordinate)와 이에 매핑된 텍스쳐 좌표(Texture UV Coordinate)를 입력으로 받을 수 있다.In addition, the controller 150 performs a post-processing function on the scene-rendered render texture (or rendered image) to generate the final 3D content. Here, the post-processing function represents rendering that implements various special effects by creating a shader program that uses the rendered render texture as a texture input. In addition, in order to implement PostEffect, a 2D mesh is input as an input, and the result of processing by the shader is output on the screen. In addition, in the case of a full screen image, a position coordinate of a mesh having a full screen size and a texture coordinate coordinate mapped thereto may be received as inputs.

이때, 상기 제어부(150)는 출력할 후처리 입력 2차원 메시로 풀 화면 메시를 사용하지 않고, 상기 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)의 좌표를 위치 좌표로 사용하고, 텍스쳐 좌표로는 상기 카메라 시점에서의 격자 정점(Ucamera)들을 입력으로 사용한다. 이때, 후처리 쉐이더는 별다른 효과 처리없이 입력 텍스쳐(Rcamera)를 샘플링한 결과를 출력한다.At this time, the controller 150 does not use the full screen mesh as the post-processed input 2D mesh to be output, but uses the coordinates of the normalized coordinate list (S surface ) based on the virtual beam projector as the position coordinates. , As texture coordinates, grid vertices (U camera ) at the camera viewpoint are used as inputs. At this time, the post-processing shader outputs the result of sampling the input texture (R camera ) without any effect processing.

즉, 상기 제어부(150)는 상기 변환된(또는 생성된) 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(또는 3차원 가상의 빔 프로젝터 시점에서의 격자 정점)을 근거로 렌더 텍스쳐(Rendered Texture)의 모양을 왜곡한다.That is, the controller 150 renders a texture based on a list of normalized coordinates based on the transformed (or generated) virtual beam projector (or a grid vertex at the viewpoint of a 3D virtual beam projector). ) To distort the shape.

또한, 상기 제어부(150)는 상기 변환된(또는 생성된) 3차원 카메라를 기준으로 한 정규화된 좌표 목록(또는 3차원 카메라 시점에서의 격자 정점)을 근거로 상기 모양 왜곡된 렌더 텍스쳐에 대해 UV 변환(또는 UV 텍스쳐 변환) 기능을 수행하여 카메라 장면 영역 크롭(crop) 처리(또는 기능)를 수행한다.In addition, the control unit 150 applies UV light to the shape-distorted render texture based on a normalized coordinate list (or grid vertices at the 3D camera viewpoint) based on the converted (or generated) 3D camera. Performs a conversion (or UV texture conversion) function to perform a camera scene area crop (or function).

또한, 상기 제어부(150)는 상기 UV 변환된 렌더 텍스쳐를 근거로 최종 3D 콘텐츠(또는 카메라별/프로젝트별 최종 3D 콘텐츠)를 생성한다. 이때, 상기 최종 3D 콘텐츠(또는 3D 콘텐츠)는 미리 설정된 옵션 정보에 따라, UV 변환된 렌더 텍스쳐에서 상기 격자 구조물이 제거된 상태로 구성하거나 또는, 상기 격자 구조물이 포함된 상태의 UV 변환된 렌더 텍스쳐로 구성할 수 있다.In addition, the control unit 150 generates final 3D content (or final 3D content for each camera/project) based on the UV-converted render texture. At this time, the final 3D content (or 3D content) is configured in a state in which the lattice structure is removed from the UV-converted render texture according to preset option information, or a UV-converted render texture in which the lattice structure is included. It can be composed of.

이와 같이, 후처리 랜더러에서 처리된 결과는 프로젝터에 투영된 형태로 변형된 형태 위치에 화면이 출력되며, UV 좌표에서는 3차원 카메라에 투영된 객체의 정점 정보의 정규화된 2차원 좌표들을 사용하므로, 실제 필요한 격자 구조물의 투영영역 부분만 확장하여 렌더링되는 효과를 얻을 수 있다.In this way, the result processed by the post-processing renderer is displayed on the screen at the position of the transformed shape in the shape projected on the projector, and the normalized 2D coordinates of the vertex information of the object projected on the 3D camera are used in UV coordinates. It is possible to obtain the effect of rendering by expanding only the projection area of the grid structure that is actually needed.

이에 따라, 실제 3차원 장면 카메라와 상기 격자 구조물이 3차원 장면 카메라의 뷰 영역과 정확히 일치하지 않거나 약간씩 설정값 조정으로 인한 조정이 발생하여도, 최종적으로 프로젝터 디스플레이 출력될 때는 항상 출력면의 크기에 맞게 조정되어 출력되는 효과를 얻을 수 있다.Accordingly, even if the actual 3D scene camera and the lattice structure do not exactly match the view area of the 3D scene camera or adjustment occurs due to slight adjustment of the setting value, the size of the output surface is always displayed when the projector is finally displayed. It can be adjusted according to and output effect.

또한, 상기 제어부(150)는 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인(또는 판단)한다.In addition, the control unit 150 checks (or determines) the number of lower lattice structures included in the lattice structure.

즉, 상기 제어부(150)는 상기 격자 구조물에 포함된 하부 격자 구조물이 1개인지 또는 복수인지 확인한다.That is, the control unit 150 checks whether there is one or more lower lattice structures included in the lattice structure.

상기 확인 결과(또는 상기 판단 결과), 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 1개인 경우, 상기 제어부(150)는 단일 빔 프로젝터(200)로 상기 생성된 3D 콘텐츠(또는 최종 3D 콘텐츠)를 제공한다.As a result of the confirmation (or the determination result), when the number of lower grid structures included in the grid structure is one, the controller 150 uses the single beam projector 200 to generate the 3D content (or final 3D content). Provides.

또한, 상기 단일 빔 프로젝터(200)는 상기 제어부(150)로부터 제공되는 상기 3D 콘텐츠(또는 영상)를 비평면의 대형 구조의 스크린(또는 벽면 등 포함)(미도시)에 투사(또는 출력)한다. 이때, 상기 단일 빔 프로젝터(200)는 현장 장면의 설정값 및 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 좌표값을 참고하여 해당 위치에 정확하게 설치(또는 배치)된 상태일 수 있다.In addition, the single-beam projector 200 projects (or outputs) the 3D content (or image) provided from the control unit 150 on a large non-planar screen (or including a wall) (not shown). . In this case, the single beam projector 200 may be in a state of being correctly installed (or placed) at a corresponding position by referring to a set value of a scene scene and a coordinate value installed in the scene of the 3D graphics rendering system.

또한, 상기 제어부(150)는 상기 단일 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠를 확인하여, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되는지 확인한다.In addition, the controller 150 checks the 3D content projected through the single beam projector 200 and checks whether the projected 3D content is output in a predicted size ratio.

또한, 상기 제어부(150)는 조정용(Calibration) 격자 출력 장면 화면을 확인하며, 상기 단일 빔 프로젝터(200)의 위치, 각도 등을 정밀하게 조정한다.In addition, the control unit 150 checks a scene screen outputting a calibration grid, and precisely adjusts the position and angle of the single beam projector 200.

또한, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되지 않는 경우, 상기 제어부(150)는 상기 빔 프로젝터(200)의 위치 및/또는 각도를 정밀 조정하기 위한 정보를 상기 표시부(130)를 통해 출력하거나 또는, 앞선 빔 프로젝터(200)의 광학적 특성값을 수신하는 과정부터 나머지 과정을 재수행하여, 보정된 3D 콘텐츠를 상기 단일 빔 프로젝터(200)를 통해 출력할 수 있다.In addition, when the projected 3D content is not output in the predicted size ratio, the control unit 150 outputs information for precise adjustment of the position and/or angle of the beam projector 200 through the display unit 130 Alternatively, the rest of the process may be performed again from the process of receiving the optical characteristic value of the previous beam projector 200, and the corrected 3D content may be output through the single beam projector 200.

이와 같이, 상기 제어부(150)는 상기 단일 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠에 대해서 투영 각도, 카메라의 위치 등을 상기 장면 내에서 재조정하여, 투영을 시뮬레이션하고, 상기 생성된 3D 콘텐츠에 대한 정밀 조정을 수행할 수 있다.In this way, the control unit 150 simulates projection by re-adjusting the projection angle and the position of the camera within the scene for the 3D content projected through the single beam projector 200, and simulates the projection on the generated 3D content. Fine adjustment can be made.

또한, 이와 같이, 실제 빔 프로젝터 영역에서 형태 보정된 영역의 출력은 빔 프로젝터 투사면의 왜곡된 형태 등과 무관하게 실제로는 장면 내 격자 구조물의 형태와 동일한 이상적인 형태로 상기 스크린에 투사될 수 있다.In this way, the output of the shape-corrected area in the actual beam projector area may be projected onto the screen in the same ideal shape as the shape of the grid structure in the scene regardless of the distorted shape of the beam projector projection surface.

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수인 경우, 상기 제어부(150)는 상기 생성된 복수의 3D 콘텐츠(또는 카메라별 3D 콘텐츠)에서 경계 블렌딩 영역을 확인한다.In addition, when the check result (or the determination result), when the number of lower lattice structures included in the lattice structure is plural, the control unit 150 determines the boundary from the generated plural 3D contents (or 3D contents for each camera). Check the blending area.

또한, 상기 제어부(150)는 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터(200)를 통해 상기 생성된 3D 콘텐츠를 각각 투사(또는 출력)한다.In addition, the control unit 150 projects (or outputs) the generated 3D content through the plurality of beam projectors 200 based on the identified boundary blending area and the generated 3D contents.

즉, 상기 제어부(150)는 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터(200)에 해당 빔 프로젝터(200)와 관련한 3D 콘텐츠(또는 최종 3D 콘텐츠)를 각각 제공한다. 이때, 상기 제어부(150)는 복수의 3D 콘텐츠에 설정된 인덱스를 근거로 해당 인덱스에 대응하는 빔 프로젝터(200)로 해당 빔 프로젝터(200)와 관련한 3D 콘텐츠를 제공할 수 있다.That is, the control unit 150 transmits 3D content (or final 3D content) related to the beam projector 200 to the plurality of beam projectors 200 based on the checked boundary blending area and the generated 3D content. Each provides. In this case, the control unit 150 may provide 3D contents related to the corresponding beam projector 200 to the beam projector 200 corresponding to the corresponding index based on the index set in the plurality of 3D contents.

또한, 상기 복수의 빔 프로젝터(200) 각각은 상기 제어부(150)로부터 제공되는 상기 3D 콘텐츠(또는 영상)를 비평면의 대형 구조의 스크린(또는 벽면 등 포함)에 각각 투사(또는 출력)한다. 이때, 상기 복수의 빔 프로젝터(200)는 시뮬레이션한 예측값에 따라 현장 장면의 설정값 및 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 좌표값을 참고하여 해당 위치에 정확하게 각각 설치(또는 배치)된 상태일 수 있다.In addition, each of the plurality of beam projectors 200 projects (or outputs) the 3D content (or image) provided from the control unit 150 on a large non-planar screen (or including a wall). At this time, the plurality of beam projectors 200 may be installed (or placed) accurately at the corresponding positions by referring to the set values of the scene scene and the coordinate values installed in the scene of the 3D graphics rendering system according to the simulated predicted values. have.

또한, 상기 제어부(150)는 상기 복수의 빔 프로젝터(200)를 통해 각각 투사되는 3D 콘텐츠를 확인하여, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되는지 확인한다.In addition, the control unit 150 checks the 3D contents projected through the plurality of beam projectors 200, respectively, and checks whether the projected 3D contents are output in a predicted size ratio.

또한, 상기 제어부(150)는 빔 프로젝터(200)의 영상이 겹치는 부분에 경계 블렌딩 처리가 자연스럽게 구현되었는지 확인한다.In addition, the control unit 150 checks whether the boundary blending process is naturally implemented in a portion where the image of the beam projector 200 overlaps.

또한, 상기 제어부(150)는 조정용 격자 출력 장면 화면을 확인하며, 상기 복수의 빔 프로젝터(200)의 위치, 각도 등을 정밀하게 조정한다.In addition, the control unit 150 checks the adjustment grid output scene screen, and precisely adjusts the positions and angles of the plurality of beam projectors 200.

또한, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되지 않는 경우, 상기 제어부(150)는 상기 빔 프로젝터(200)의 위치 및/또는 각도를 정밀 조정하기 위한 정보를 상기 표시부(130)를 통해 출력하거나 또는, 앞선 빔 프로젝터(200)의 광학적 특성값을 수신하는 과정부터 나머지 과정을 재수행하여, 보정된 3D 콘텐츠를 상기 복수의 빔 프로젝터(200)를 통해 출력할 수 있다.In addition, when the projected 3D content is not output in the predicted size ratio, the control unit 150 outputs information for precise adjustment of the position and/or angle of the beam projector 200 through the display unit 130 Alternatively, the rest of the process may be re-performed from the process of receiving the optical characteristic value of the previous beam projector 200, and the corrected 3D content may be output through the plurality of beam projectors 200.

이와 같이, 상기 제어부(150)는 상기 복수의 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠에 대해서 투영 각도, 카메라의 위치 등을 상기 장면 내에서 재조정하여, 투영을 시뮬레이션하고, 상기 생성된 3D 콘텐츠에 대한 정밀 조정을 수행할 수 있다.In this way, the control unit 150 simulates the projection by re-adjusting the projection angle and the position of the camera within the scene for 3D content projected through the plurality of beam projectors 200, and the generated 3D content Fine adjustment can be made for

또한, 이와 같이, 실제 빔 프로젝터 영역에서 형태 보정된 영역의 출력은 빔 프로젝터 투사면의 왜곡된 형태 등과 무관하게 실제로는 장면 내 격자 구조물의 형태와 동일한 이상적인 형태로 상기 스크린에 투사될 수 있다.In this way, the output of the shape-corrected area in the actual beam projector area may be projected onto the screen in the same ideal shape as the shape of the grid structure in the scene regardless of the distorted shape of the beam projector projection surface.

또한, 이와 같이, 상기 복수의 3D 콘텐츠 투사시, 경계 블렌딩 영역에 그라데이션 형태로 출력된 부분을 합성하여 출력함에 따라, 단일 형상의 프로젝션 투사면 형태로 출력될 수 있다.In this way, when the plurality of 3D contents are projected, the portion outputted in the form of a gradation on the boundary blending area is synthesized and output, so that it may be output in the form of a projection projection surface having a single shape.

또한, 상기 제어부(150)는 렌더링 출력 화면(또는 3D 콘텐츠)을 복수의 빔 프로젝터(200)를 통해 서로 다른 여러 방향으로 동시 출력함에 있어서, 3차원 공간 내에 삽입한 가상의 비정형 가변 스크린 격자 구조물과 빔 프로젝터(200)의 광학적 특성값을 갖고 있는 가상의 빔 프로젝터 객체의 좌표 변환을 통해, 비평면의 대형 구조의 스크린에 복수의 빔 프로젝터(200)를 통하여 그래픽스 영상을 출력하는 경우, 렌더링 화면의 왜곡과 경계 표시없이 출력할 수 있다.In addition, when simultaneously outputting the rendering output screen (or 3D content) in different directions through the plurality of beam projectors 200, the controller 150 includes a virtual atypical variable screen lattice structure inserted into the 3D space. In the case of outputting graphics images through a plurality of beam projectors 200 on a large non-planar screen through coordinate conversion of a virtual beam projector object having optical characteristic values of the beam projector 200, the rendering screen It can be output without distortion and boundary marking.

또한, 상기 제어부(150)는 격자 구조의 왜곡면을 연산함에 있어서, 빔 프로젝터(200)의 광학적 특성을 반영한 뷰 변환(View Transform) 방식을 통하여 투영되는 면의 정점 위치를 변형할 수 있다.In addition, in calculating the distortion surface of the grating structure, the control unit 150 may transform the position of a vertex of the projected surface through a view transform method reflecting the optical characteristics of the beam projector 200.

또한, 상기 제어부(150)는 장면 내에 설치된 3차원 카메라를 통해 렌더링을 함에 있어서, 격자 구조의 정점 정보를 이용하여 격자 구조의 해당하는 영역만 빔 프로젝터(200)의 투사면에 출력할 수 있다.In addition, when rendering through a 3D camera installed in the scene, the controller 150 may output only a corresponding region of the grid structure to the projection surface of the beam projector 200 by using the vertex information of the grid structure.

또한, 빔 프로젝터(200)를 설치하는 공사자는 사전에 빔 프로젝터(200) 설치 구성 방식을 장면 내에서 설치 위치 등을 설정하는 과정 등을 통해 사전에 시뮬레이션하면서 확인할 수 있다.In addition, a construction worker who installs the beam projector 200 can check the installation configuration method of the beam projector 200 while simulating in advance through a process of setting an installation location or the like in the scene.

또한, 상기 제어부(150)는 앞서 설명한 전체 과정(또는 기능)을 3차원 게임 엔진(미도시), 3차원 VR 엔진(미도시) 등과 같은 3차원 실시간 그래픽스 시스템 내의 소프트웨어에 컴포넌트 형태로 탑재하여 구현할 수도 있다.In addition, the control unit 150 may implement the entire process (or function) described above in a component form in software in a 3D real-time graphics system such as a 3D game engine (not shown) or a 3D VR engine (not shown). May be.

상기 빔 프로젝터(200)는 상기 단말(100) 등과 통신한다. 여기서, 상기 빔 프로젝터(200)는 공연, 학회 등을 위한 다양한 장소에 설치(또는 배치)한다.The beam projector 200 communicates with the terminal 100 and the like. Here, the beam projector 200 is installed (or arranged) in various places for performances, conferences, and the like.

또한, 상기 빔 프로젝터(200)는 상기 단말(100)을 구성하는 상기 통신부(110), 상기 저장부(120), 상기 표시부(130), 상기 음성 출력부(140), 상기 제어부(150)에 대응하는 각 구성 요소를 포함하여 구성할 수 있다.In addition, the beam projector 200 is provided to the communication unit 110, the storage unit 120, the display unit 130, the audio output unit 140, and the control unit 150 constituting the terminal 100. It can be configured by including each corresponding component.

또한, 상기 복수의 빔 프로젝터(200)는 상기 단말(100)로부터 각각 전송되는 3D 콘텐츠 등을 수신한다.In addition, the plurality of beam projectors 200 receive 3D contents, etc., respectively transmitted from the terminal 100.

또한, 상기 복수의 빔 프로젝터(200)는 상기 단말(100)의 제어에 의해, 상기 수신된 3D 콘텐츠를 상기 스크린에 투사(또는 출력)한다.In addition, the plurality of beam projectors 200 project (or output) the received 3D content onto the screen under the control of the terminal 100.

이와 같이, 3차원 그래픽스 콘텐츠 저작 단계에서 투사면을 시뮬레이션할 수 있는 격자 구조물 객체와 가상의 프로젝터 객체를 콘텐츠 내부에 추가하여 실제 투사될 영상의 정확한 형태를 계산에 의해 자동 생성할 수 있다.In this way, a grid structure object capable of simulating a projection surface and a virtual projector object capable of simulating a projection surface are added to the inside of the content in the 3D graphics content authoring stage, and an accurate shape of an image to be actually projected can be automatically generated by calculation.

또한, 이와 같이, 빔 프로젝터의 광학적 특성값과 실제 설치할 투사면과의 공간적인 정보를 근거로 왜곡면의 형태를 자동화된 방법으로 생성할 수 있다.In addition, as described above, the shape of the distortion surface can be generated by an automated method based on spatial information between the optical characteristic values of the beam projector and the actual installation projection surface.

이하에서는, 본 발명에 따른 다중 프로젝터 출력 방법을 도 1 내지 도 15를 참조하여 상세히 설명한다.Hereinafter, a multi-projector output method according to the present invention will be described in detail with reference to FIGS. 1 to 15.

도 8 내지 도 9는 본 발명의 실시예에 따른 다중 프로젝터 출력 방법을 나타낸 흐름도이다.8 to 9 are flowcharts illustrating a method of outputting multiple projectors according to an embodiment of the present invention.

먼저, 제어부(150)는 3차원 그래픽스 콘텐츠 장면 저작 도구를 통해 사용자 입력(또는 사용자 선택/터치/제어)에 따라 하나 이상의 3차원 콘텐츠 객체를 표시부(130)에 표시되는 장면 내의 임의의 위치에 배치(또는 구성/형성)한다.First, the control unit 150 arranges one or more 3D content objects in a scene displayed on the display unit 130 in accordance with a user input (or user selection/touch/control) through a 3D graphics content scene authoring tool. (Or construct/form).

일 예로, 상기 제어부(150)는 사용자 입력에 따라 달리는 사람 객체를 제 1 장면 내의 제 1 위치에 배치한다(S810).For example, the controller 150 arranges a running human object at a first position in the first scene according to a user input (S810).

이후, 상기 제어부(150)는 사용자 입력에 따라 하나 이상의 3차원 카메라(또는 3차원 카메라 객체/가상의 3차원 카메라/장면 카메라)를 상기 장면 내의 다른 위치에 배치한다.Thereafter, the controller 150 arranges one or more 3D cameras (or 3D camera objects/virtual 3D cameras/scene cameras) at different locations within the scene according to a user input.

즉, 상기 제어부(150)는 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 상기 3차원 카메라를 통해 그래픽스 장면을 생성한다. 이때, 상기 3차원 카메라는 추후 설명되는 격자 구조물별로 지정되어 있으며, 격자 구조물을 포함한 형태 즉, 격자 구조물보다 충분히 넓은 영역을 비춰 격자 구조물의 형상이 잘리지 않도록 설정한다. 또한, 상기 장면 내에 배치되는 3차원 카메라의 개수는 현장에 설치되는 빔 프로젝터(200)의 개수와 동일할 수 있다.That is, the control unit 150 generates a graphics scene through the 3D camera installed in the scene of the 3D graphics rendering system. In this case, the 3D camera is designated for each lattice structure, which will be described later, and is set so that the shape of the lattice structure is not cut by illuminating an area sufficiently wider than that of the lattice structure, that is, the lattice structure. In addition, the number of 3D cameras disposed in the scene may be the same as the number of beam projectors 200 installed in the site.

일 예로, 상기 제어부(150)는 사용자 입력에 따라 제 1 3차원 카메라를 상기 제 1 장면 내의 제 2 위치에 배치하고, 제 2 3차원 카메라를 상기 제 1 장면 내의 제 3 위치에 배치한다(S820).As an example, the control unit 150 arranges a first 3D camera at a second position in the first scene according to a user input, and a second 3D camera at a third position in the first scene (S820). ).

이후, 상기 제어부(150)는 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 또 다른 위치에 배치한다. 여기서, 상기 장면 내에 배치되는 가상의 빔 프로젝터(또는 가상의 빔 프로젝터 객체)는 위치 좌표, 회전값 등과 같은 지오메트리 특성값, 빔 프로젝터(200)의 광학적 특성값 등을 속성값으로 갖도록 구성(또는 구현)한다. 이때, 상기 장면 내에 배치되는 가상의 빔 프로젝터의 개수는 현장에 설치되는 빔 프로젝터(200)의 개수와 동일할 수 있다.Thereafter, the controller 150 arranges one or more virtual beam projectors at another location in the scene according to a user input. Here, the virtual beam projector (or virtual beam projector object) disposed in the scene is configured (or implemented) to have geometric characteristic values such as position coordinates and rotation values, and optical characteristic values of the beam projector 200 as attribute values. )do. In this case, the number of virtual beam projectors disposed in the scene may be the same as the number of beam projectors 200 installed in the site.

일 예로, 상기 제어부(150)는 사용자 입력에 따라 제 1 가상의 빔 프로젝터를 상기 제 1 장면 내의 제 4 위치에 배치하고, 제 2 가상의 빔 프로젝터를 상기 제 1 장면 내의 제 5 위치에 배치한다(S830).As an example, the control unit 150 arranges a first virtual beam projector at a fourth position in the first scene and a second virtual beam projector at a fifth position in the first scene according to a user input. (S830).

이후, 상기 제어부(150)는 사용자 입력에 따라 현장에 설치되는 하나 이상의(또는 복수의) 빔 프로젝터(200)의 광학적 특성값(또는 빔 프로젝터의 사양)을 수신(또는 확인)한다. 이때, 상기 빔 프로젝터(200)의 광학적 특성값은 빔 프로젝터의 최소 사거리, 최대 사거리, X축 탄젠트(Tangent) 값(예를 들어 우향 X축 탄젠트 값, 좌향 X축 탄젠트 값 등 포함), Y축 탄젠트 값(예를 들어 상향 Y축 탄젠트 값, 하향 Y축 탄젠트 값 등 포함), 센터 오프셋(center offset) 등을 포함한다. 또한, 상기 제어부(150)는 상기 빔 프로젝터(200)의 줌(zoom) 기능 제공에 따라 탄젠트 값이 가변이므로, 줌 최대/줌 최소에 대한 모든 값을 측정하여 상황에 맞춰 선택할 수 있도록 구성할 수 있다.Thereafter, the controller 150 receives (or confirms) optical characteristic values (or specifications of the beam projectors) of one or more (or a plurality of) beam projectors 200 installed on the site according to a user input. At this time, the optical characteristic values of the beam projector 200 are the minimum firing distance, the maximum firing distance, and the X-axis tangent value of the beam projector (e.g., right-facing X-axis tangent value, left-facing X-axis tangent value, etc.), Y-axis It includes a tangent value (eg, an upward Y-axis tangent value, a downward Y-axis tangent value, etc.), a center offset, and the like. In addition, since the tangent value is variable according to the provision of the zoom function of the beam projector 200, the control unit 150 can be configured to measure all values for the maximum zoom/minimum zoom and select according to the situation. have.

이때, 상기 제어부(150)는 사용자의 실측에 따라 해당 빔 프로젝터(200)의 광학적 특성값을 확인하거나 또는, 해당 빔 프로젝터(200)와 관련한 제조사의 사양 설명서를 근거로 사용자 입력에 따라 해당 빔 프로젝터(200)의 광학적 특성값을 확인(또는 수신)할 수 있다.At this time, the control unit 150 checks the optical characteristic value of the corresponding beam projector 200 according to the user's actual measurement, or according to the user input based on the manufacturer's specification instructions for the corresponding beam projector 200 The optical characteristic value of 200 can be checked (or received).

또한, 상기 제어부(150)는 상기 장면에 배치된 가상의 빔 프로젝터에 대해서 상기 확인된 빔 프로젝터(200)의 광학적 특성값을 설정(또는 매핑/적용)한다.In addition, the controller 150 sets (or maps/applies) optical characteristic values of the identified beam projector 200 to the virtual beam projector disposed in the scene.

일 예로, 상기 제어부(150)는 사용자 실측에 따라 사용자로부터 입력되는 실제 현장에 설치되는 제 1 빔 프로젝터(200)의 제 1 광학적 특성값 및 제 2 빔 프로젝터(200)의 제 2 광학적 특성값을 수신한다.For example, the control unit 150 may determine a first optical characteristic value of the first beam projector 200 and a second optical characteristic value of the second beam projector 200 installed at an actual site input from the user according to the user's measurement. Receive.

또한, 상기 제어부(150)는 상기 제 1 장면에 각각 배치된 제 1 가상의 빔 프로젝터에 상기 수신된 제 1 빔 프로젝터의 제 1 광학적 특성값을 설정하고, 상기 제 1 장면에 배치된 제 2 가상의 빔 프로젝터에 상기 수신된 제 2 빔 프로젝터의 제 2 광학적 특성값을 설정한다(S840).In addition, the controller 150 sets a first optical characteristic value of the received first beam projector to a first virtual beam projector respectively disposed in the first scene, and a second virtual beam projector disposed in the first scene. The second optical characteristic value of the received second beam projector is set in the beam projector (S840).

이후, 상기 제어부(150)는 상기 하나 이상의 빔 프로젝터(200)에 의해 실제 형성되는 투영면 크기 및 좌표를 측정(또는 확인)한다.Thereafter, the control unit 150 measures (or checks) the size and coordinates of the projection plane actually formed by the one or more beam projectors 200.

이때, 상기 제어부(150)는 사용자의 실측에 따라 해당 빔 프로젝터(200)에 의해 형성되는 투영면 크기 및 좌표를 수신(또는 확인)할 수 있다. 여기서, 상기 투영면의 크기 및 좌표의 단위는 3차원 그래픽스 렌더링 시스템과 단위를 통일하여 같은 단위(예를 들어 미터(m) 단위)로 측정할 수 있다.In this case, the controller 150 may receive (or check) the size and coordinates of the projection surface formed by the corresponding beam projector 200 according to the user's actual measurement. Here, the unit of the size and coordinates of the projection surface may be measured in the same unit (for example, in meters (m)) by unifying the unit with the 3D graphics rendering system.

일 예로, 상기 제어부(150)는 사용자 실측에 따라 실제 현장에 설치되는 상기 제 1 빔 프로젝터에 의해 형성되는 제 1 투영면의 제 1 크기 및 제 1 좌표를 측정하고, 상기 제 2 빔 프로젝터에 의해 형성되는 제 2 투영면의 제 2 크기 및 제 2 좌표를 측정한다(S850).For example, the control unit 150 measures a first size and a first coordinate of a first projection surface formed by the first beam projector installed on an actual site according to user measurement, and formed by the second beam projector The second size and the second coordinate of the second projection surface to be measured are measured (S850).

이후, 상기 제어부(150)는 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신(또는 확인)한다.Thereafter, the control unit 150 receives (or confirms) information on the number of vertices for generating a grid structure according to a user input and the number of vertices in the boundary blending area.

즉, 상기 제어부(150)는 사용자 입력에 따른 해당 장면에 추가할 격자 구조물과 관련한 정보인 X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수(또는 스플릿 개수), Y축 분할 개수, 경계 블렌딩 개수 등을 포함하는 정보를 수신한다.That is, the control unit 150 is the number of X-axis vertices, Y-axis vertices, X-axis resolution, Y-axis resolution, X-axis division number (or number of splits), which are information related to a grid structure to be added to the scene according to a user input. , Receive information including the number of divisions on the Y-axis, the number of boundary blending, and the like.

또한, 상기 제어부(150)는 상기 수신된(또는 확인된) X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수, Y축 분할 개수, 경계 블렌딩 개수 등을 근거로 상기 격자 구조물에 포함되는 하나 이상의 하부 구조물의 X축 정점 개수, Y축 정점 개수, 경계 블렌딩 X축 방향 정점의 개수, 경계 블렌딩 Y축 방향 정점의 개수 등을 확인할 수 있다.In addition, the control unit 150 is based on the number of received (or confirmed) X-axis vertices, Y-axis vertices, X-axis resolution, Y-axis resolution, X-axis division number, Y-axis division number, boundary blending number, etc. As a result, it is possible to check the number of X-axis vertices, Y-axis vertices, boundary blending X-axis direction vertices, boundary blending Y-axis direction vertices, and the like of one or more lower structures included in the lattice structure.

일 예로, 상기 제어부(150)는 사용자 입력에 따라 제 1 격자 구조물 생성을 위해 X축 정점 개수(예를 들어 18개), Y축 정점 개수(예를 들어 8개), X축 해상도(예를 들어 10칸), Y축 해상도(예를 들어 10칸), X축 분할 개수(예를 들어 2개), Y축 분할 개수(예를 들어 1개), 경계 블렌딩 영역의 정점 개수(예를 들어 4개) 등을 포함하는 제 1 정보를 수신한다(S860).For example, the control unit 150 may generate the first grid structure according to a user input, the number of X-axis vertices (for example, 18), the number of Y-axis vertices (for example, 8), and the X-axis resolution (for example, For example, 10 spaces), Y-axis resolution (e.g. 10 spaces), the number of X-axis divisions (e.g. 2), the number of Y-axis divisions (e.g. 1), the number of vertices in the boundary blending area (e.g. 4) and the like is received (S860).

이후, 상기 제어부(150)는 상기 하나 이상의 빔 프로젝터(200)에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보(예를 들어 정점 개수, 경계 블렌딩 영역의 정점 개수 등 포함) 등을 근거로 격자 구조물을 생성한다.Thereafter, the control unit 150 performs a grid based on the size and coordinates of the projection surface formed by the one or more beam projectors 200, and the received information (eg, the number of vertices, the number of vertices in the boundary blending area, etc.). Create a structure.

즉, 상기 제어부(150)는 실제 현장에 설치할 공간과 동일한 투사면을 상기 장면에 만들기 위한(또는 추가하기/삽입하기 위한) 가상의 3차원 스크린 격자 구조물인 상기 격자 구조물을 생성한다.That is, the control unit 150 generates the grid structure, which is a virtual three-dimensional screen grid structure for making (or adding/inserting) the same projection surface as the space to be installed on the actual site in the scene.

이때, 상기 격자 구조물은 객체 지향 소프트웨어적으로 설계된 클래스이며, 하나 이상의 하부 구조물의 조합으로 구현되며, 각 하부 구조물은 색인 번호가 부여되며, 상기 격자 구조물의 컴포넌트 클래스를 상속받아 다양한 형태로 특정화된 상속체로 구성(또는 구현/형성)한다.At this time, the lattice structure is a class designed as an object-oriented software, and is implemented as a combination of one or more substructures, each substructure is assigned an index number, and inheritance specified in various forms by inheriting the component class of the lattice structure. Sieve (or implement/form).

또한, 상기 제어부(150)는 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치(또는 상기 하나 이상의 빔 프로젝터(200)에 의해 형성되는 투영면의 좌표에 대응하는 위치)에 배치한다. 이때, 상기 제어부(150)는 상기 장면 내에서 실측 위치와 동일한 위치에 실제 투영할 투사면과 동일한 크기로 상기 격자 구조물을 설치한다.In addition, the controller 150 arranges the generated grid structure at a specific position in the scene (or a position corresponding to the coordinates of the projection surface formed by the one or more beam projectors 200). In this case, the control unit 150 installs the grid structure in the same size as the projection surface to be actually projected at the same position in the scene as the actual measurement position.

즉, 상기 제어부(150)는 상기 생성된 격자 구조물의 위치 좌표, 방향, 크기 등을 원활하게 설정하기 위해서 격자 구조물의 시각화를 수행한다. 여기서, 상기 시각화되는 격자 구조물은 이후 과정들을 수행하기 위한 참조로 사용되며, 최종 생성되는 3D 콘텐츠에서는 사용자 설정에 따른 옵션 정보에 따라 포함되지 않거나 또는 포함될 수 있다.That is, the control unit 150 visualizes the grid structure in order to smoothly set the position coordinates, direction, and size of the generated grid structure. Here, the visualized grid structure is used as a reference for performing subsequent processes, and may or may not be included in the final generated 3D content according to option information according to user settings.

이때, 상기 제어부(150)는 해당 격자 구조물을 렌더링하기 위해서, 각 정점으로부터 삼각형을 구성하기 위한 색인을 추출하는 방식으로 삼각화 과정을 수행(또는 진행)한다.In this case, the control unit 150 performs (or proceeds) a triangulation process by extracting an index for forming a triangle from each vertex in order to render the corresponding grid structure.

또한, 상기 제어부(150)는 설치 현장의 다양한 상황에서 세밀한 위치와 설정 조정(calibration)을 위해 다양한 디스플레이 방식을 제공할 수 있다.In addition, the control unit 150 may provide various display methods for detailed location and setting calibration in various situations at the installation site.

또한, 상기 제어부(150)는 경계면의 정확한 정합 설치를 돕기 위한 경계 블렌딩 영역 등을 잘 보이게 하는 시각화 방식도 제공하여 더욱 정밀한 접합면의 표출을 돕도록 구성할 수 있다.In addition, the control unit 150 may be configured to help display a more precise bonding surface by providing a visualization method in which a boundary blending area or the like is well visible to assist in accurate matching and installation of the boundary surface.

일 예로, 상기 제어부(150)는 상기 제 1 빔 프로젝터에 의해 형성되는 제 1 투영면의 제 1 크기 및 제 1 좌표, 상기 제 2 빔 프로젝터에 의해 형성되는 제 2 투영면의 제 2 크기 및 제 2 좌표, 상기 수신된 X축 정점 개수(예를 들어 18개), Y축 정점 개수(예를 들어 8개), X축 해상도(예를 들어 10칸), Y축 해상도(예를 들어 10칸), X축 분할 개수(예를 들어 2개), Y축 분할 개수(예를 들어 1개), 경계 블렌딩 영역의 정점 개수(예를 들어 4개) 등을 근거로 제 1 격자 구조물을 생성한다.For example, the control unit 150 includes a first size and a first coordinate of a first projection surface formed by the first beam projector, and a second size and a second coordinate of a second projection surface formed by the second beam projector , The number of received X-axis vertices (eg 18), Y-axis vertex count (eg, 8), X-axis resolution (eg, 10 cells), Y-axis resolution (eg, 10 cells), A first lattice structure is created based on the number of divisions on the X-axis (for example, two), the number of divisions on the Y-axis (for example, one), and the number of vertices in the boundary blending region (for example, four).

이때, 상기 도 7에 도시된 바와 같이, 상기 제 1 격자 구조물은 제 1 하부 구조물(710) 및 제 2 하부 구조물(720)로 구성된다. 또한, 상기 제 1 하부 구조물(710) 및 제 2 하부 구조물(720)은 각각 x축 방향의 정점의 개수가 11개이고, y축 방향의 정점의 개수가 8개이고, 경계 블렌딩 x축 방향의 정점의 개수가 4개이다(S870).In this case, as shown in FIG. 7, the first lattice structure includes a first lower structure 710 and a second lower structure 720. In addition, each of the first and second substructures 710 and 720 has 11 vertices in the x-axis direction, 8 vertices in the y-axis direction, and boundary blending of the vertices in the x-axis direction. The number is 4 (S870).

이후, 상기 제어부(150)는 상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지(또는 렌더 텍스쳐/렌더링 장면 출력 이미지)를 생성한다.Thereafter, the controller 150 performs scene rendering based on the 3D camera to generate a rendered image (or a render texture/rendered scene output image) for each 3D camera.

또한, 상기 제어부(150)는 상기 생성된 렌더링 이미지를 텍스쳐 형태로 저장부(120)에 저장한다.In addition, the control unit 150 stores the generated rendered image in the storage unit 120 in the form of a texture.

일 예로, 도 10에 도시된 바와 같이, 상기 제어부(150)는 상기 제 1 3차원 카메라를 기준으로 장면 렌더링을 수행하여, 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 1 렌더링 이미지(또는 제 1 렌더 텍스쳐)(1000)를 생성한다.For example, as shown in FIG. 10, the controller 150 performs scene rendering based on the first 3D camera, so that a running person object, the first grid structure, etc. included in the first scene The included first rendered image (or first rendered texture) 1000 is generated.

또한, 상기 제어부(150)는 상기 제 2 3차원 카메라를 기준으로 장면 렌더링을 수행하여, 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 2 렌더링 이미지를 생성한다(S880).In addition, the controller 150 performs scene rendering based on the second 3D camera to generate a second rendered image including a running person object, the first grid structure, and the like included in the first scene. (S880).

이후, 상기 제어부(150)는 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체, 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정한다.Thereafter, the controller 150 refers to a grid structure object corresponding to the generated grid structure, a 3D camera object corresponding to the arranged 3D camera, and a virtual beam projector object corresponding to the virtual beam projector. Is set.

즉, 상기 제어부(150)는 상기 격자 구조물의 하부 구조물에 대응하는 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체의 관계를 연결(또는 설정)한다.That is, the control unit 150 connects (or sets) a relationship between the lower structure object corresponding to the lower structure of the lattice structure and the virtual beam projector object.

이때, 상기 제어부(150)는 다중 프로젝터 출력 시스템(10)의 내부에서 객체들을 인식하는 식별자(ID) 등을 이용하여, 상기 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체를 연결하되, 상기 격자 구조물은 하나 이상의 하부 구조물의 조합으로 형성되어 있으므로, 각 하부 구조물의 색인 번호(index)를 통하여 어떤 하부 구조물을 투영하려는지 지정한다.At this time, the control unit 150 connects the lower structure object and the virtual beam projector object using an identifier (ID) that recognizes objects inside the multi-projector output system 10, and the grid structure Since it is formed by a combination of one or more substructures, the substructure to be projected is designated through the index number of each substructure.

또한, 상기 3차원 카메라는 자체적으로 좌표, 회전값, 줌 비율 등과 같은 광학적 속성들이 있으며, 이를 통해 렌더링을 위한 워드-뷰-투영 변환에 의해 행렬 TCamera를 계산하여 갖고 있으며, 상기 제어부(150)는 이 행렬(TCamera)을 통해 3차원 월드의 객체들을 정규화된 스크린 좌표계에 투영하도록 구현할 수 있다.In addition, the 3D camera has optical properties such as coordinates, rotation values, and zoom ratios by itself, and through this, calculates and has a matrix T Camera by word-view-projection transformation for rendering, and the control unit 150 Can be implemented to project the objects of the 3D world onto the normalized screen coordinate system through this matrix (T Camera ).

또한, 상기 제어부(150)는 상기 격자 구조물의 하부 구조물에 대응하는 하부 구조물 객체와 상기 3차원 카메라 객체의 관계를 연결(또는 설정)한다.In addition, the control unit 150 connects (or sets) the relationship between the lower structure object corresponding to the lower structure of the lattice structure and the 3D camera object.

또한, 상기 제어부(150)는 상기 격자 구조물 객체와 상기 가상의 빔 프로젝터 객체를 연결하는 방식과 유사한 방식으로 실제 투영할 장면을 비추고 있는 3차원 카메라와 상기 하부 구조물(또는 3차원 카메라 객체와 상기 하부 구조물 객체)을 연결한다.In addition, the control unit 150 includes a 3D camera and the lower structure (or the 3D camera object and the lower part) that illuminate the scene to be actually projected in a manner similar to a method of connecting the grid structure object and the virtual beam projector object. Structure object).

일 예로, 상기 제어부(150)는 상기 제 1 격자 구조물에 포함된 제 1 하부 구조물에 대응하는 제 1 하부 구조물 객체와 상기 제 1 가상의 빔 프로젝터에 대응하는 제 1 가상의 빔 프로젝터 객체를 연결하고, 상기 제 1 격자 구조물에 포함된 제 2 하부 구조물에 대응하는 제 2 하부 구조물 객체와 상기 제 2 가상의 빔 프로젝터에 대응하는 제 2 가상의 빔 프로젝터 객체를 연결한다.For example, the control unit 150 connects a first substructure object corresponding to a first substructure included in the first lattice structure and a first virtual beam projector object corresponding to the first virtual beam projector, and And a second substructure object corresponding to a second substructure included in the first lattice structure and a second virtual beam projector object corresponding to the second virtual beam projector are connected.

또한, 상기 제어부(150)는 상기 제 1 하부 구조물 객체와 상기 제 1 3차원 카메라에 대응하는 제 1 3차원 카메라 객체를 연결하고, 상기 제 2 하부 구조물 객체와 상기 제 2 3차원 카메라에 대응하는 제 2 3차원 카메라 객체를 연결한다(S890).In addition, the control unit 150 connects the first substructure object and a first 3D camera object corresponding to the first 3D camera, and the second substructure object and the second 3D camera The second 3D camera object is connected (S890).

이후, 상기 제어부(150)는 상기 장면 내 좌표들(또는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물의 격자 정점)을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환한다.Thereafter, the controller 150 converts coordinates within the scene (or lattice vertices of one or more lower structures included in the lattice structure) into lattice vertices at the viewpoint of a 3D virtual beam projector disposed in the scene.

즉, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체가 연결되면, 상기 제어부(150)는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표(World Coordinate) 목록을 확인한다. 이때, 상기 제어부(150)는 상기 격자 구조물 객체와 상기 하부 구조물 객체 간의 부모-자식 클래스 속성에 따라 함수 호출(function call)을 이용하여 해당 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 넘겨받을(또는 확인할) 수 있다.That is, when one or more sub-structure objects included in the lattice structure object and the virtual beam projector object are connected, the controller 150 is the world of the grid vertices of a specific sub-structure among one or more sub-structures included in the lattice structure. Check the list of World Coordinates. In this case, the control unit 150 receives the world coordinate list of the grid vertices of the specific substructure by using a function call according to the parent-child class attribute between the grid structure object and the substructure object (or Can confirm).

또한, 상기 제어부(150)는 상기 확인된 특정 하부 구조물의 격자 정점의 월드 좌표 목록(Psurface)을 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 통하여 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)으로 변환(또는 가상의 빔 프로젝터 시점에서의 격자 정점들을 생성)한다.In addition, the control unit 150 converts the identified world coordinate list (P surface ) of the grid vertices of the specific substructure into normalized coordinates based on the virtual beam projector through the transformation matrix T projector of the virtual beam projector. Convert to a list (S surface ) (or create grid vertices at the perspective of a virtual beam projector).

또한, 상기 제어부(150)는 실제 장면 저작 도구에서 격자 정점의 위치를 설계하기에 용이하게 하기 위해서 상기 가상의 빔 프로젝터와 유사한 3차원 메시 모델을 표출하도록 구성한다.In addition, the controller 150 is configured to display a 3D mesh model similar to the virtual beam projector in order to facilitate designing the positions of the grid vertices in the actual scene authoring tool.

또한, 상기 제어부(150)는 상기 가상의 빔 프로젝터가 투영하는 가상의 비대칭의 절두체(Frustum)를 시각화하여, 투영될 영상의 투사각도 등을 인식하기 용이하게 구성(또는 제작)한다.In addition, the controller 150 visualizes a virtual asymmetric frustum projected by the virtual beam projector, and configures (or manufactures) to easily recognize the projection angle of the image to be projected.

이때, 상기 표출된 상기 가상의 빔 프로젝터 객체는 저작 도구에서 WYSIWYG(What-You-See-Is-What-You-Get) 방식으로 용이하게 위치값을 지정할 수 있다.In this case, the exposed virtual beam projector object may easily designate a position value in a WYSIWYG (What-You-See-Is-What-You-Get) method in an authoring tool.

또한, 위치가 결정되면, 상기 제어부(150)는 변환 행렬을 계산하여 각 가상의 빔 프로젝터 객체를 생성하여, 시각화한다.In addition, when the position is determined, the controller 150 calculates a transformation matrix to generate and visualize each virtual beam projector object.

즉, 상기 제어부(150)는 상기 빔 프로젝터(200)의 속성값을 근거로 앞선 [수학식 1]과 같은 비대칭 투영 행렬(Asymmetric Perspective Projection Matrix)에 따라 4×4 형태의 투영 변환 행렬(Tperspective)을 생성한다.That is, the controller 150 is 4 × 4 in the form of a projection transformation matrix (T perspective in accordance with the asymmetrical projection matrix (Asymmetric Perspective Projection Matrix) such as the foregoing Equation 1 based on the value of the property of the beam projector 200 ).

또한, 상기 제어부(150)는 앞선 [수학식 2]를 통해 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 생성한다.In addition, the control unit 150 generates a transformation matrix T projector of the virtual beam projector through the above [Equation 2].

또한, 상기 제어부(150)는 앞선 [수학식 3]을 통해 장면 내 좌표들을 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표(또는 화면 좌표계, Normalized Screen Coordinate)로 변환한다.In addition, the control unit 150 converts the coordinates in the scene into normalized coordinates (or screen coordinates, Normalized Screen Coordinates) based on the virtual beam projector through the above [Equation 3].

이와 같이, 상기 제어부(150)는 장면 내 좌표들을 가상의 빔 프로젝터를 기준으로 하여 정규화된 좌표로 변환(또는 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 생성/가상의 빔 프로젝터 시점에서의 격자 정점들을 생성)한다.In this way, the controller 150 converts the coordinates in the scene into normalized coordinates based on the virtual beam projector (or generates a list of normalized coordinates based on the virtual beam projector / Grid vertices).

일 예로, 상기 제어부(150)는 상기 도 10에 도시된 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 1 렌더링 이미지(1000)와 관련한 제 1 하부 구조물의 격자 정보의 월드 좌표 목록을 상기 제 1 가상의 빔 프로젝터의 변환 행렬을 통해 정점 변환하여, 상기 제 1 가상의 빔 프로젝터를 기준으로 한 제 1 정규화된 좌표 목록을 생성한다.For example, the control unit 150 is a grid of a first lower structure in relation to a first rendered image 1000 including a running person object, the first grid structure, etc. included in the first scene shown in FIG. 10. The world coordinate list of information is vertex-transformed through the transformation matrix of the first virtual beam projector to generate a first normalized coordinate list based on the first virtual beam projector.

또한, 상기 제어부(150)는 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 2 렌더링 이미지와 관련한 제 2 하부 구조물의 격자 정보의 월드 좌표 목록을 상기 제 2 가상의 빔 프로젝터의 변환 행렬을 통해 정점 변환하여, 상기 제 2 가상의 빔 프로젝터를 기준으로 한 제 2 정규화된 좌표 목록을 생성한다(S900).In addition, the controller 150 generates a world coordinate list of grid information of a second substructure related to a second rendered image including a running person object, the first grid structure, etc. included in the first scene. A second normalized coordinate list based on the second virtual beam projector is generated by performing vertex transformation through the transformation matrix of the beam projector of (S900).

또한, 상기 제어부(150)는 상기 장면 내 좌표들(또는 상기 격자 구조물에 포함된 하나 이상의 하부 구조물의 격자 정점)을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환한다.In addition, the control unit 150 converts coordinates in the scene (or lattice vertices of one or more lower structures included in the lattice structure) into lattice vertices at a viewpoint of a 3D camera disposed in the scene.

즉, 상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 3차원 카메라 객체가 연결되면, 상기 제어부(150)는 앞선 [수학식 4]를 통해 3차원 카메라의 변환 행렬(Tcamera)을 이용하여 상기 격자 구조물에 포함된 하나 이상의 하부 구조물이 갖고 있는 정점들을 변환하여 3차원 카메라 시점에서의 격자 정점(Ucamera)들(또는 3차원 카메라를 기준으로 한 정규화된 좌표 목록)을 생성한다.That is, when one or more lower structure objects included in the lattice structure object and the 3D camera object are connected, the control unit 150 uses the transformation matrix T camera of the 3D camera through [Equation 4]. Thus, by transforming vertices of one or more lower structures included in the lattice structure, U cameras (or a list of normalized coordinates based on the 3D camera ) at the viewpoint of the 3D camera are generated.

이와 같이, 상기 제어부(150)는 장면 내 좌표들을 3차원 카메라를 기준으로 하여 정규화된 좌표로 변환(또는 3차원 카메라를 기준으로 한 정규화된 좌표 목록을 생성/3차원 카메라 시점에서의 격자 정점들을 생성)한다.In this way, the control unit 150 converts the coordinates in the scene into normalized coordinates based on the 3D camera (or generates a list of normalized coordinates based on the 3D camera). Create).

일 예로, 상기 제어부(150)는 상기 도 10에 도시된 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 1 렌더링 이미지(1000)와 관련한 제 1 하부 구조물의 격자 정보의 월드 좌표 목록을 상기 제 1 3차원 카메라의 변환 행렬을 통해 정점 변환하여, 상기 제 1 3차원 카메라를 기준으로 한 제 3 정규화된 좌표 목록을 생성한다.For example, the control unit 150 is a grid of a first lower structure in relation to a first rendered image 1000 including a running person object, the first grid structure, etc. included in the first scene shown in FIG. 10. The world coordinate list of information is vertex-transformed through the transformation matrix of the first 3D camera to generate a third normalized coordinate list based on the first 3D camera.

또한, 상기 제어부(150)는 상기 제 1 장면 내에 포함된 달리는 사람 객체, 상기 제 1 격자 구조물 등이 포함된 제 2 렌더링 이미지와 관련한 제 2 하부 구조물의 격자 정보의 월드 좌표 목록을 상기 제 2 3차원 카메라의 변환 행렬을 통해 정점 변환하여, 상기 제 2 3차원 카메라를 기준으로 한 제 4 정규화된 좌표 목록을 생성한다(S910).In addition, the controller 150 generates a world coordinate list of grid information of a second substructure related to a second rendered image including a running person object, the first grid structure, etc. included in the first scene. By performing vertex transformation through the transformation matrix of the dimensional camera, a fourth normalized coordinate list based on the second 3D camera is generated (S910).

이후, 상기 제어부(150)는 상기 장면 렌더링된 렌더 텍스쳐(또는 렌더링 이미지)에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성한다. 여기서, 상기 후처리 기능은 렌더링된 렌더 텍스쳐를 텍스쳐 입력으로 하는 쉐이더 프로그램을 작성하여, 여러 가지 특수 효과를 구현하는 렌더링을 나타낸다. 또한, 후처리를 구현하기 위해서 입력으로 2차원 메시(2D Mesh)를 함께 입력하며, 쉐이더가 처리한 결과 렌더 이미지를 화면에 출력한다. 또한, 풀 화면 영상인 경우, 화면 전체 크기의 메시의 위치 좌표와 이에 매핑된 텍스쳐 좌표를 입력으로 받을 수 있다.Thereafter, the controller 150 performs a post-processing function on the scene-rendered render texture (or rendered image) to generate final 3D content. Here, the post-processing function refers to rendering that implements various special effects by creating a shader program that uses a rendered render texture as a texture input. In addition, to implement post-processing, a 2D mesh is input as an input, and the result of processing by the shader is output on the screen. In addition, in the case of a full screen image, position coordinates of a mesh of the full screen size and texture coordinates mapped thereto may be received as inputs.

이때, 상기 제어부(150)는 출력할 후처리 입력 2차원 메시로 풀 화면 메시를 사용하지 않고, 상기 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)의 좌표를 위치 좌표로 사용하고, 텍스쳐 좌표로는 상기 카메라 시점에서의 격자 정점(Ucamera)들을 입력으로 사용한다. 이때, 후처리 쉐이더는 별다른 효과 처리없이 입력 텍스쳐(Rcamera)를 샘플링한 결과를 출력한다.At this time, the controller 150 does not use the full screen mesh as the post-processed input 2D mesh to be output, but uses the coordinates of the normalized coordinate list (S surface ) based on the virtual beam projector as the position coordinates. , As texture coordinates, grid vertices (U camera ) at the camera viewpoint are used as inputs. At this time, the post-processing shader outputs the result of sampling the input texture (R camera ) without any effect processing.

즉, 상기 제어부(150)는 상기 변환된(또는 생성된) 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(또는 3차원 가상의 빔 프로젝터 시점에서의 격자 정점)을 근거로 렌더 텍스쳐(Rendered Texture)의 모양을 왜곡한다.That is, the controller 150 renders a texture based on a list of normalized coordinates based on the transformed (or generated) virtual beam projector (or a grid vertex at the viewpoint of a 3D virtual beam projector). ) To distort the shape.

또한, 상기 제어부(150)는 상기 변환된(또는 생성된) 3차원 카메라를 기준으로 한 정규화된 좌표 목록(또는 3차원 카메라 시점에서의 격자 정점)을 근거로 상기 모양 왜곡된 렌더 텍스쳐에 대해 UV 변환(또는 UV 텍스쳐 변환) 기능을 수행하여 카메라 장면 영역 크롭 처리(또는 기능)를 수행한다.In addition, the control unit 150 applies UV light to the shape-distorted render texture based on a normalized coordinate list (or grid vertices at the 3D camera viewpoint) based on the converted (or generated) 3D camera. Performs a conversion (or UV texture conversion) function to perform a camera scene area cropping (or function).

또한, 상기 제어부(150)는 상기 UV 변환된 렌더 텍스쳐를 근거로 최종 3D 콘텐츠(또는 카메라별/프로젝트별 최종 3D 콘텐츠)를 생성한다. 이때, 상기 최종 3D 콘텐츠(또는 3D 콘텐츠)는 미리 설정된 옵션 정보에 따라, UV 변환된 렌더 텍스쳐에서 상기 격자 구조물이 제거된 상태로 구성하거나 또는, 상기 격자 구조물이 포함된 상태의 UV 변환된 렌더 텍스쳐로 구성할 수 있다.In addition, the control unit 150 generates final 3D content (or final 3D content for each camera/project) based on the UV-converted render texture. At this time, the final 3D content (or 3D content) is configured in a state in which the lattice structure is removed from the UV-converted render texture according to preset option information, or a UV-converted render texture in which the lattice structure is included. It can be composed of.

이와 같이, 후처리 랜더러에서 처리된 결과는 프로젝터에 투영된 형태로 변형된 형태 위치에 화면이 출력되며, UV 좌표에서는 3차원 카메라에 투영된 객체의 정점 정보의 정규화된 2차원 좌표들을 사용하므로, 실제 필요한 격자 구조물의 투영영역 부분만 확장하여 렌더링되는 효과를 얻을 수 있다.In this way, the result processed by the post-processing renderer is displayed on the screen at the position of the transformed shape in the shape projected on the projector, and the normalized 2D coordinates of the vertex information of the object projected on the 3D camera are used in UV coordinates. It is possible to obtain the effect of rendering by expanding only the projection area of the grid structure that is actually needed.

이에 따라, 실제 3차원 장면 카메라와 상기 격자 구조물이 3차원 장면 카메라의 뷰 영역과 정확히 일치하지 않거나 약간씩 설정값 조정으로 인한 조정이 발생하여도, 최종적으로 프로젝터 디스플레이 출력될 때는 항상 출력면의 크기에 맞게 조정되어 출력되는 효과를 얻을 수 있다.Accordingly, even if the actual 3D scene camera and the lattice structure do not exactly match the view area of the 3D scene camera or adjustment occurs due to slight adjustment of the setting value, the size of the output surface is always displayed when the projector is finally displayed. It can be adjusted according to and output effect.

일 예로, 상기 제어부(150)는 상기 변환된 제 1 가상의 빔 프로젝터를 기준으로 한 제 1 정규화된 좌표 목록을 근거로 상기 제 1 렌더 텍스쳐(1000)의 모양을 왜곡하여, 도 11에 도시된 바와 같이, 보정된 제 1 렌더 텍스쳐(1100)를 생성한다. 또한, 상기 제어부(150)는 상기 변환된 제 2 가상의 빔 프로젝터를 기준으로 한 제 2 정규화된 좌표 목록을 근거로 상기 제 1 렌더 텍스쳐의 모양을 왜곡하여, 보정된 제 2 렌더 텍스쳐를 생성한다.For example, the control unit 150 distorts the shape of the first render texture 1000 based on a first normalized coordinate list based on the converted first virtual beam projector, As shown, the corrected first render texture 1100 is generated. In addition, the controller 150 distorts the shape of the first render texture based on a second normalized coordinate list based on the converted second virtual beam projector to generate a corrected second render texture. .

또한, 상기 제어부(150)는 상기 변환된 제 1 3차원 카메라를 기준으로 한 제 3 정규화된 좌표 목록을 근거로 상기 모양이 왜곡된 제 1 렌더 텍스쳐에 대해 UV 텍스쳐 변환 기능을 수행하여 제 1 3차원 카메라 측면에서의 제 1 장면 영역을 크롭 처리한다. 또한, 상기 제어부(150)는 상기 변환된 제 2 3차원 카메라를 기준으로 한 제 4 정규화된 좌표 목록을 근거로 상기 모양이 왜곡된 제 2 렌더 텍스쳐에 대해 UV 텍스쳐 변환 기능을 수행하여 제 2 3차원 카메라 측면에서의 제 2 장면 영역을 크롭 처리한다.In addition, the controller 150 performs a UV texture conversion function on the first render texture whose shape is distorted based on a third normalized coordinate list based on the converted first 3D camera. The first scene area from the side of the dimensional camera is cropped. Also, the controller 150 performs a UV texture conversion function on the second render texture whose shape is distorted based on a fourth normalized coordinate list based on the converted second 3D camera. The second scene area from the side of the dimensional camera is cropped.

또한, 도 12에 도시된 바와 같이, 상기 제어부(150)는 상기 UV 변환된 제 1 렌더 텍스쳐에서 상기 제 1 격자 구조물을 제거한 제 1 최종 3D 콘텐츠(또는 제 1 3차원 카메라 시점에서의 제 1 최종 3D 콘텐츠)(1200)를 생성한다. 또한, 상기 제어부(150)는 상기 UV 변환된 제 2 렌더 텍스쳐에서 상기 제 1 격자 구조물을 제거한 제 2 최종 3D 콘텐츠(또는 제 2 3차원 카메라 시점에서의 제 2 최종 3D 콘텐츠)를 생성한다.In addition, as shown in FIG. 12, the control unit 150 removes the first grid structure from the UV-converted first render texture, and the first final 3D content (or the first final 3D content from the viewpoint of the first 3D camera) 3D content) 1200 is created. In addition, the control unit 150 generates second final 3D content (or second final 3D content from the viewpoint of the second 3D camera) by removing the first grid structure from the UV-converted second render texture.

다른 일 예로, 상기 제어부(150)는 상기 변환된 제 1 가상의 빔 프로젝터를 기준으로 한 제 1 정규화된 좌표 목록을 근거로 상기 제 1 렌더 텍스쳐(1000)의 모양을 왜곡하여, 보정된 제 2 렌더 텍스쳐를 생성한다. 또한, 상기 제어부(150)는 상기 변환된 제 2 가상의 빔 프로젝터를 기준으로 한 제 2 정규화된 좌표 목록을 근거로 상기 제 1 렌더 텍스쳐의 모양을 왜곡하여, 보정된 제 2 렌더 텍스쳐를 생성한다.As another example, the controller 150 distorts the shape of the first render texture 1000 based on a first normalized coordinate list based on the converted first virtual beam projector, Create the render texture. In addition, the controller 150 distorts the shape of the first render texture based on a second normalized coordinate list based on the converted second virtual beam projector to generate a corrected second render texture. .

또한, 상기 제어부(150)는 상기 변환된 제 1 3차원 카메라를 기준으로 한 제 3 정규화된 좌표 목록을 근거로 상기 모양이 왜곡된 제 1 렌더 텍스쳐에 대해 UV 텍스쳐 변환 기능을 수행하여 제 1 3차원 카메라 측면에서의 제 1 장면 영역을 크롭 처리한다. 또한, 상기 제어부(150)는 상기 변환된 제 2 3차원 카메라를 기준으로 한 제 4 정규화된 좌표 목록을 근거로 상기 모양이 왜곡된 제 2 렌더 텍스쳐에 대해 UV 텍스쳐 변환 기능을 수행하여 제 2 3차원 카메라 측면에서의 제 2 장면 영역을 크롭 처리한다.In addition, the controller 150 performs a UV texture conversion function on the first render texture whose shape is distorted based on a third normalized coordinate list based on the converted first 3D camera. The first scene area from the side of the dimensional camera is cropped. In addition, the controller 150 performs a UV texture conversion function on the second render texture whose shape is distorted based on a fourth normalized coordinate list based on the converted second 3D camera. The second scene area from the side of the dimensional camera is cropped.

또한, 상기 제어부(150)는 상기 UV 변환된 제 1 렌더 텍스쳐에서 상기 제 1 격자 구조물이 포함된 상태로 제 3 최종 3D 콘텐츠(또는 제 1 3차원 카메라 시점에서의 제 3 최종 3D 콘텐츠)를 생성한다. 또한, 상기 제어부(150)는 상기 UV 변환된 제 2 렌더 텍스쳐에서 상기 제 1 격자 구조물이 포함된 상태로 제 4 최종 3D 콘텐츠(또는 제 2 3차원 카메라 시점에서의 제 4 최종 3D 콘텐츠)를 생성한다(S820).In addition, the control unit 150 generates a third final 3D content (or a third final 3D content from the viewpoint of the first 3D camera) in a state in which the first grid structure is included in the UV-converted first render texture. do. In addition, the control unit 150 generates a fourth final 3D content (or a fourth final 3D content from the second 3D camera viewpoint) in a state in which the first grid structure is included in the UV-converted second render texture. Do (S820).

이후, 상기 제어부(150)는 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인(또는 판단)한다.Thereafter, the control unit 150 checks (or determines) the number of lower lattice structures included in the lattice structure.

즉, 상기 제어부(150)는 상기 격자 구조물에 포함된 하부 격자 구조물이 1개인지 또는 복수인지 확인한다.That is, the control unit 150 checks whether there is one or more lower lattice structures included in the lattice structure.

일 예로, 상기 제어부(150)는 상기 제 1 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인한다(S930).For example, the control unit 150 checks the number of lower lattice structures included in the first lattice structure (S930).

상기 확인 결과(또는 상기 판단 결과), 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 1개인 경우, 상기 제어부(150)는 단일 빔 프로젝터(200)로 상기 생성된 3D 콘텐츠(또는 최종 3D 콘텐츠)를 제공한다.As a result of the confirmation (or the determination result), when the number of lower grid structures included in the grid structure is one, the controller 150 uses the single beam projector 200 to generate the 3D content (or final 3D content). Provides.

또한, 상기 단일 빔 프로젝터(200)는 상기 제어부(150)로부터 제공되는 상기 3D 콘텐츠(또는 영상)를 비평면의 대형 구조의 스크린(또는 벽면 등 포함)(미도시)에 투사(또는 출력)한다. 이때, 상기 단일 빔 프로젝터(200)는 현장 장면의 설정값 및 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 좌표값을 참고하여 해당 위치에 정확하게 설치(또는 배치)된 상태일 수 있다.In addition, the single-beam projector 200 projects (or outputs) the 3D content (or image) provided from the control unit 150 on a large non-planar screen (or including a wall) (not shown). . In this case, the single beam projector 200 may be in a state of being correctly installed (or placed) at a corresponding position by referring to a set value of a scene scene and a coordinate value installed in the scene of the 3D graphics rendering system.

또한, 상기 제어부(150)는 상기 단일 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠를 확인하여, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되는지 확인한다.In addition, the controller 150 checks the 3D content projected through the single beam projector 200 and checks whether the projected 3D content is output in a predicted size ratio.

또한, 상기 제어부(150)는 조정용 격자 출력 장면 화면을 확인하며, 상기 단일 빔 프로젝터(200)의 위치, 각도 등을 정밀하게 조정한다.In addition, the control unit 150 checks the adjustment grid output scene screen, and precisely adjusts the position and angle of the single beam projector 200.

또한, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되지 않는 경우, 상기 제어부(150)는 상기 빔 프로젝터(200)의 위치 및/또는 각도를 정밀 조정하기 위한 정보를 상기 표시부(130)를 통해 출력하거나 또는, 앞선 빔 프로젝터(200)의 광학적 특성값을 수신하는 과정부터 나머지 과정을 재수행하여, 보정된 3D 콘텐츠를 상기 단일 빔 프로젝터(200)를 통해 출력할 수 있다.In addition, when the projected 3D content is not output in the predicted size ratio, the control unit 150 outputs information for precise adjustment of the position and/or angle of the beam projector 200 through the display unit 130 Alternatively, the rest of the process may be performed again from the process of receiving the optical characteristic value of the previous beam projector 200, and the corrected 3D content may be output through the single beam projector 200.

이와 같이, 상기 제어부(150)는 상기 단일 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠에 대해서 투영 각도, 카메라의 위치 등을 상기 장면 내에서 재조정하여, 투영을 시뮬레이션하고, 상기 생성된 3D 콘텐츠에 대한 정밀 조정을 수행할 수 있다.In this way, the control unit 150 simulates projection by re-adjusting the projection angle and the position of the camera within the scene for the 3D content projected through the single beam projector 200, and simulates the projection on the generated 3D content. Fine adjustment can be made.

또한, 이와 같이, 실제 빔 프로젝터 영역에서 형태 보정된 영역의 출력은 빔 프로젝터 투사면의 왜곡된 형태 등과 무관하게 실제로는 장면 내 격자 구조물의 형태와 동일한 이상적인 형태로 상기 스크린에 투사될 수 있다.In this way, the output of the shape-corrected area in the actual beam projector area may be projected onto the screen in the same ideal shape as the shape of the grid structure in the scene regardless of the distorted shape of the beam projector projection surface.

일 예로, 상기 확인 결과, 상기 제 1 격자 구조물에 포함된 하부 격자 구조물의 개수가 1개일 때, 상기 제어부(150)는 단일 빔 프로젝터(200)로 앞선 단계들에 의해 생성된 제 11 3D 콘텐츠를 제공한다.For example, as a result of the confirmation, when the number of lower lattice structures included in the first lattice structure is one, the controller 150 uses the single beam projector 200 to display the eleventh 3D content generated by the preceding steps. to provide.

또한, 도 13에 도시된 바와 같이, 상기 단일 빔 프로젝터(200)는 상기 제 11 3D 콘텐츠를 상기 스크린(1300)에 투사한다(S940).In addition, as shown in FIG. 13, the single beam projector 200 projects the eleventh 3D content onto the screen 1300 (S940).

또한, 상기 확인 결과(또는 상기 판단 결과), 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수인 경우, 상기 제어부(150)는 상기 생성된 복수의 3D 콘텐츠(또는 카메라별 3D 콘텐츠)에서 경계 블렌딩 영역을 확인한다.In addition, when the check result (or the determination result), when the number of lower lattice structures included in the lattice structure is plural, the control unit 150 determines the boundary from the generated plural 3D contents (or 3D contents for each camera). Check the blending area.

일 예로, 상기 확인 결과, 상기 제 1 격자 구조물에 포함된 하부 격자 구조물의 개수가 2개일 때, 도 14에 도시된 바와 같이, 상기 제어부(150)는 상기 생성된 제 3 3D 콘텐츠 및 제 4 3D 콘텐츠에서 경계 블렌딩 영역(1410, 1420)을 확인한다(S950).For example, as a result of the confirmation, when the number of lower lattice structures included in the first lattice structure is two, as shown in FIG. 14, the control unit 150 performs the generated 3D content and the fourth 3D content. The boundary blending areas 1410 and 1420 are checked in the content (S950).

이후, 상기 제어부(150)는 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터(200)를 통해 상기 생성된 3D 콘텐츠를 각각 투사(또는 출력)한다.Thereafter, the control unit 150 projects (or outputs) the generated 3D content through the plurality of beam projectors 200 based on the identified boundary blending area and the generated 3D contents.

즉, 상기 제어부(150)는 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터(200)에 해당 빔 프로젝터(200)와 관련한 3D 콘텐츠(또는 최종 3D 콘텐츠)를 각각 제공한다. 이때, 상기 제어부(150)는 복수의 3D 콘텐츠에 설정된 인덱스를 근거로 해당 인덱스에 대응하는 빔 프로젝터(200)로 해당 빔 프로젝터(200)와 관련한 3D 콘텐츠를 제공할 수 있다.That is, the control unit 150 transmits 3D content (or final 3D content) related to the beam projector 200 to the plurality of beam projectors 200 based on the checked boundary blending area and the generated 3D content. Each provides. In this case, the control unit 150 may provide 3D contents related to the corresponding beam projector 200 to the beam projector 200 corresponding to the corresponding index based on the index set in the plurality of 3D contents.

또한, 상기 복수의 빔 프로젝터(200) 각각은 상기 제어부(150)로부터 제공되는 상기 3D 콘텐츠(또는 영상)를 비평면의 대형 구조의 스크린(또는 벽면 등 포함)에 각각 투사(또는 출력)한다. 이때, 상기 복수의 빔 프로젝터(200)는 시뮬레이션한 예측값에 따라 현장 장면의 설정값 및 3차원 그래픽스 렌더링 시스템의 장면 내에 설치된 좌표값을 참고하여 해당 위치에 정확하게 각각 설치(또는 배치)된 상태일 수 있다.In addition, each of the plurality of beam projectors 200 projects (or outputs) the 3D content (or image) provided from the control unit 150 on a large non-planar screen (or including a wall). At this time, the plurality of beam projectors 200 may be installed (or placed) accurately at the corresponding positions by referring to the set values of the scene scene and the coordinate values installed in the scene of the 3D graphics rendering system according to the simulated predicted values. have.

또한, 상기 제어부(150)는 상기 복수의 빔 프로젝터(200)를 통해 각각 투사되는 3D 콘텐츠를 확인하여, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되는지 확인한다.In addition, the control unit 150 checks the 3D contents projected through the plurality of beam projectors 200, respectively, and checks whether the projected 3D contents are output in a predicted size ratio.

또한, 상기 제어부(150)는 빔 프로젝터(200)의 영상이 겹치는 부분에 경계 블렌딩 처리가 자연스럽게 구현되었는지 확인한다.In addition, the control unit 150 checks whether the boundary blending process is naturally implemented in a portion where the image of the beam projector 200 overlaps.

또한, 상기 제어부(150)는 조정용 격자 출력 장면 화면을 확인하며, 상기 복수의 빔 프로젝터(200)의 위치, 각도 등을 정밀하게 조정한다.In addition, the control unit 150 checks the adjustment grid output scene screen, and precisely adjusts the positions and angles of the plurality of beam projectors 200.

또한, 투사되는 3D 콘텐츠가 예측한 크기 비율로 출력되지 않는 경우, 상기 제어부(150)는 상기 빔 프로젝터(200)의 위치 및/또는 각도를 정밀 조정하기 위한 정보를 상기 표시부(130)를 통해 출력하거나 또는, 앞선 빔 프로젝터(200)의 광학적 특성값을 수신하는 과정부터 나머지 과정을 재수행하여, 보정된 3D 콘텐츠를 상기 복수의 빔 프로젝터(200)를 통해 출력할 수 있다.In addition, when the projected 3D content is not output in the predicted size ratio, the control unit 150 outputs information for precise adjustment of the position and/or angle of the beam projector 200 through the display unit 130 Alternatively, the rest of the process may be re-performed from the process of receiving the optical characteristic value of the previous beam projector 200, and the corrected 3D content may be output through the plurality of beam projectors 200.

이와 같이, 상기 제어부(150)는 상기 복수의 빔 프로젝터(200)를 통해 투사되는 3D 콘텐츠에 대해서 투영 각도, 카메라의 위치 등을 상기 장면 내에서 재조정하여, 투영을 시뮬레이션하고, 상기 생성된 3D 콘텐츠에 대한 정밀 조정을 수행할 수 있다.In this way, the control unit 150 simulates the projection by re-adjusting the projection angle and the position of the camera within the scene for 3D content projected through the plurality of beam projectors 200, and the generated 3D content Fine adjustment can be made for

또한, 이와 같이, 실제 빔 프로젝터 영역에서 형태 보정된 영역의 출력은 빔 프로젝터 투사면의 왜곡된 형태 등과 무관하게 실제로는 장면 내 격자 구조물의 형태와 동일한 이상적인 형태로 상기 스크린에 투사될 수 있다.In this way, the output of the shape-corrected area in the actual beam projector area may be projected onto the screen in the same ideal shape as the shape of the grid structure in the scene regardless of the distorted shape of the beam projector projection surface.

또한, 이와 같이, 상기 복수의 3D 콘텐츠 투사시, 경계 블렌딩 영역에 그라데이션 형태로 출력된 부분을 합성하여 출력함에 따라, 단일 형상의 프로젝션 투사면 형태로 출력될 수 있다.In this way, when the plurality of 3D contents are projected, the portion outputted in the form of a gradation on the boundary blending area is synthesized and output, so that it may be output in the form of a projection projection surface having a single shape.

일 예로, 상기 확인 결과, 상기 제 1 격자 구조물에 포함된 하부 격자 구조물의 개수가 2개일 때, 상기 제어부(150)는 제 1 빔 프로젝터(200)로 앞서 생성된 제 3 3D 콘텐츠를 제공하고, 제 2 빔 프로젝터(200)로 앞서 생성된 제 4 3D 콘텐츠를 제공한다.For example, as a result of the confirmation, when the number of lower lattice structures included in the first lattice structure is two, the controller 150 provides the third 3D content previously generated to the first beam projector 200, The fourth 3D content previously generated is provided by the second beam projector 200.

또한, 도 15에 도시된 바와 같이, 상기 제 1 빔 프로젝터는 상기 제어부(150)로부터 제공되는 제 3 3D 콘텐츠(1520)를 스크린(1510)에 투사하고, 상기 제 2 빔 프로젝터는 상기 제어부(150)로부터 제공되는 제 4 3D 콘텐츠(1530)를 상기 스크린(1510)에 투사한다(S960).In addition, as shown in FIG. 15, the first beam projector projects the third 3D content 1520 provided from the control unit 150 on the screen 1510, and the second beam projector is the control unit 150 The fourth 3D content 1530 provided from) is projected onto the screen 1510 (S960).

본 발명의 실시예는 앞서 설명된 바와 같이, 3차원 그래픽스 콘텐츠 저작 단계에서 투사면을 시뮬레이션할 수 있는 격자 구조물 객체와 가상의 프로젝터 객체를 콘텐츠 내부에 추가하여 실제 투사될 영상의 정확한 형태를 계산에 의해 자동 생성하여, 렌더링 장면을 복수의 빔 프로젝터를 통해 서로 다른 여러 방향의 비평면 등 불특정한 형상의 투사면으로 동시 출력함에도, 왜곡된 투사면의 영상을 빔 프로젝터의 투사방향 각도와 상관없이 왜곡과 경계 표시없이 정형된 렌더링 영상을 투사할 수 있다.As described above, the embodiment of the present invention adds a grid structure object capable of simulating a projection surface and a virtual projector object inside the content in the 3D graphics content authoring stage to calculate the exact shape of the image to be actually projected. Even if the rendered scene is automatically generated by multiple beam projectors and simultaneously outputs to a projection surface of an unspecified shape such as a non-planar surface in several different directions, the image of the distorted projection surface is distorted regardless of the projection direction angle of the beam projector. It is possible to project a standardized rendered image without marking and borders.

또한, 본 발명의 실시예는 앞서 설명된 바와 같이, 빔 프로젝터의 광학적 특성값과 실제 설치할 투사면과의 공간적인 정보를 근거로 왜곡면의 형태를 자동화된 방법으로 생성하여, 3차원 그래픽의 다중 출력시 생길 수 있는 왜곡과 경계 표시 문제를 줄이고, 설치에 소요되는 시간을 단축하고, 빔 프로젝터 설치 구성 방식을 사전에 시뮬레이션을 통해 예측함에 따라 3차원 콘텐츠 제작 단계에서 프로젝터 설치를 고려한 콘텐츠 제작이 가능하며, 빔 프로젝터를 설치하는 공사자의 경우 사전에 빔 프로젝터 설치 구성 방식을 시뮬레이션을 통해 예측하여 설치시 발생할 수 있는 시행착오와 수정(trial-and-error) 과정을 크게 줄일 수 있고, 3D 콘텐츠 제작자 역시 콘텐츠 제작 단계에서 빔 프로젝터를 설치하지 않고도 빔 프로젝터 설치를 예측한 콘텐츠 제작이 가능하며, 하나의 콘텐츠를 서로 다른 공간에 설치하는 경우에도 빔 프로젝터 시뮬레이션 부분만을 변경함으로써 다른 공간에도 손쉽게 설치할 수 있다.In addition, as described above, the embodiment of the present invention generates the shape of the distortion surface in an automated method based on the optical characteristic value of the beam projector and spatial information between the actual installation projection surface, It is possible to create content considering projector installation in the 3D content production stage by reducing distortion and boundary display problems that may occur during printing, shortening the installation time, and predicting the beam projector installation configuration method through simulation in advance. In the case of a construction worker installing a beam projector, it is possible to significantly reduce the trial-and-error process that may occur during installation by predicting the beam projector installation configuration method through simulation in advance, and the 3D content creator can also It is possible to produce content predicting the installation of a beam projector without installing a beam projector in the content production stage, and even if one content is installed in different spaces, it can be easily installed in other spaces by changing only the beam projector simulation part.

전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above contents may be modified and modified without departing from the essential characteristics of the present invention by those of ordinary skill in the technical field to which the present invention belongs. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention.

10: 다중 프로젝터 출력 시스템 100: 단말
200: 빔 프로젝터 110: 통신부
120: 저장부 130: 표시부
140: 음성 출력부 150: 제어부
10: multiple projector output system 100: terminal
200: beam projector 110: communication unit
120: storage unit 130: display unit
140: audio output unit 150: control unit

Claims (12)

사용자 입력에 따른 하나 이상의 3차원 콘텐츠 객체를 장면 내의 제 1 위치에 배치하여 표시하는 표시부; 및
사용자 입력에 따라 하나 이상의 3차원 카메라를 상기 장면 내의 제 2 위치에 배치하고, 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 제 3 위치에 배치하고, 사용자 입력에 따라 현장에 설치되는 하나 이상의 빔 프로젝터의 광학적 특성값을 상기 장면에 배치된 가상의 빔 프로젝터에 각각 설정하고, 상기 하나 이상의 빔 프로젝터에 의해 실제 형성되는 투영면 크기 및 좌표를 측정하고, 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신하고, 상기 하나 이상의 빔 프로젝터에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보를 근거로 격자 구조물을 생성하고, 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치에 배치하는 제어부를 포함하는 다중 프로젝터 출력 시스템.
A display unit for disposing and displaying one or more 3D content objects according to a user input at a first position in the scene; And
One or more 3D cameras are placed at a second position in the scene according to a user input, at least one virtual beam projector is placed at a third position in the scene according to a user input, and installed on the site according to the user input. The optical characteristic values of the above beam projectors are set in each of the virtual beam projectors arranged in the scene, the size and coordinates of the projection plane actually formed by the one or more beam projectors are measured, and a vertex for generating a lattice structure according to user input Receive information on the number and the number of vertices of the boundary blending area, generate a grid structure based on the size and coordinates of the projection surface formed by the one or more beam projectors, and the received information, and use the generated grid structure as the scene. A multi-projector output system including a control unit disposed at a specific location within.
제 1 항에 있어서,
상기 제어부는,
상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지를 생성하고, 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체 및 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정하고, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하고, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하고, 상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하고, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인하고, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수일 때 상기 생성된 복수의 3D 콘텐츠에서 경계 블렌딩 영역을 확인하고, 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터를 통해 상기 생성된 3D 콘텐츠를 각각 투사하는 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
The control unit,
A scene rendering is performed based on the 3D camera to generate a rendering image for each 3D camera, and a grid structure object corresponding to the generated grid structure, a 3D camera object corresponding to the placed 3D camera, and the virtual Set a reference to a virtual beam projector object corresponding to the beam projector of, convert the coordinates in the scene into a grid vertex at the viewpoint of the 3D virtual beam projector arranged in the scene, and convert the coordinates in the scene to the scene. Converts to a grid vertex at the perspective of the 3D camera placed, performs a post-processing function on the scene-rendered render texture, generates final 3D content, and checks the number of lower grid structures included in the grid structure. , When the number of lower lattice structures included in the lattice structure is plural, a boundary blending region is checked in the generated plurality of 3D contents, and a plurality of the boundary blending regions are checked based on the checked boundary blending region and the generated 3D contents. Multiple projector output system, characterized in that projecting each of the generated 3D content through a beam projector.
제 1 항에 있어서,
상기 3차원 카메라의 개수는,
현장에 설치되는 빔 프로젝터의 개수와 동일한 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
The number of 3D cameras is,
Multiple projector output system, characterized in that the same as the number of beam projectors installed in the field.
제 1 항에 있어서,
상기 가상의 빔 프로젝터는,
위치 좌표 및 회전값을 포함하는 지오메트리 특성값과, 상기 빔 프로젝터의 광학적 특성값을 속성값으로 갖는 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
The virtual beam projector,
A multi-projector output system having a geometric characteristic value including a position coordinate and a rotation value and an optical characteristic value of the beam projector as an attribute value.
제 1 항에 있어서,
상기 빔 프로젝터의 광학적 특성값은,
빔 프로젝터의 최소 사거리, 최대 사거리, X축 탄젠트 값, Y축 탄젠트 값 및 센터 오프셋(center offset)을 포함하는 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
The optical characteristic value of the beam projector,
A multi-projector output system comprising a minimum firing distance, a maximum firing distance, an X-axis tangent value, a Y-axis tangent value, and a center offset of the beam projector.
제 1 항에 있어서,
상기 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보는,
사용자 입력에 따른 상기 장면에 추가할 격자 구조물과 관련한 정보인 X축 정점 개수, Y축 정점 개수, X축 해상도, Y축 해상도, X축 분할 개수, Y축 분할 개수 및 경계 블렌딩 개수를 포함하는 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
Information on the number of vertices for generating the lattice structure and the number of vertices in the boundary blending area,
Including the number of X-axis vertices, the number of Y-axis vertices, the X-axis resolution, the Y-axis resolution, the number of divisions on the X-axis, the number of divisions on the Y-axis, and the number of boundary blending, which are information related to the grid structure to be added to the scene according to user input. Multiple projector output system characterized by.
제 1 항에 있어서,
상기 제어부는,
실제 현장에 설치할 공간과 동일한 투사면을 상기 장면에 만들기 위한 가상의 3차원 스크린 격자 구조물인 상기 격자 구조물을 생성하며,
상기 격자 구조물은,
객체 지향 소프트웨어적으로 설계된 클래스이며, 하나 이상의 하부 구조물의 조합으로 구현되며, 각 하부 구조물은 색인 번호가 부여되며, 상기 격자 구조물의 컴포넌트 클래스를 상속받아 목적별로 특정화된 상속체로 구성하는 것을 특징으로 하는 다중 프로젝터 출력 시스템.
The method of claim 1,
The control unit,
The grid structure, which is a virtual three-dimensional screen grid structure, is created in the scene to create the same projection surface as the space to be installed on the actual site,
The lattice structure,
A class designed as an object-oriented software, implemented as a combination of one or more substructures, each substructure is assigned an index number, and a component class of the lattice structure is inherited and configured as a specific inheritance for each purpose. Multiple projector output system.
제어부에 의해, 사용자 입력에 따라 하나 이상의 3차원 콘텐츠 객체를 표시부에 표시되는 장면 내의 제 1 위치에 배치하는 단계;
상기 제어부에 의해, 사용자 입력에 따라 하나 이상의 3차원 카메라를 상기 장면 내의 제 2 위치에 배치하는 단계;
상기 제어부에 의해, 사용자 입력에 따라 하나 이상의 가상의 빔 프로젝터를 상기 장면 내의 제 3 위치에 배치하는 단계;
상기 제어부에 의해, 사용자 입력에 따라 현장에 설치되는 하나 이상의 빔 프로젝터의 광학적 특성값을 상기 장면에 배치된 가상의 빔 프로젝터에 각각 설정하는 단계;
상기 제어부에 의해, 상기 하나 이상의 빔 프로젝터에 의해 실제 형성되는 투영면 크기 및 좌표를 측정하는 단계;
상기 제어부에 의해, 사용자 입력에 따른 격자 구조물 생성을 위한 정점 개수 및 경계 블렌딩 영역의 정점 개수에 대한 정보를 수신하는 단계;
상기 제어부에 의해, 상기 하나 이상의 빔 프로젝터에 의해 형성되는 투영면 크기 및 좌표, 상기 수신된 정보를 근거로 격자 구조물을 생성하는 단계;
상기 제어부에 의해, 상기 생성된 격자 구조물을 상기 장면 내의 특정 위치에 배치하는 단계;
상기 제어부에 의해, 상기 3차원 카메라를 기준으로 장면 렌더링을 수행하여 3차원 카메라별로 렌더링 이미지를 생성하는 단계;
상기 제어부에 의해, 상기 생성된 격자 구조물에 대응하는 격자 구조물 객체, 상기 배치된 3차원 카메라에 대응하는 3차원 카메라 객체 및 상기 가상의 빔 프로젝터에 대응하는 가상의 빔 프로젝터 객체에 대한 참조를 설정하는 단계;
상기 제어부에 의해, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하는 단계;
상기 제어부에 의해, 상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하는 단계; 및
상기 제어부에 의해, 상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하는 단계를 포함하는 다중 프로젝터 출력 방법.
Arranging, by the controller, at least one 3D content object at a first position in the scene displayed on the display unit according to a user input;
Disposing, by the controller, at least one 3D camera at a second position in the scene according to a user input;
Arranging, by the controller, at least one virtual beam projector at a third position in the scene according to a user input;
Setting, by the control unit, optical characteristic values of one or more beam projectors installed on the site according to a user input to virtual beam projectors disposed in the scene;
Measuring, by the control unit, the size and coordinates of a projection surface actually formed by the one or more beam projectors;
Receiving, by the control unit, information on the number of vertices for generating a lattice structure according to a user input and the number of vertices in a boundary blending area;
Generating, by the control unit, a grid structure based on the size and coordinates of a projection surface formed by the at least one beam projector and the received information;
Arranging, by the control unit, the generated grid structure at a specific position in the scene;
Generating a rendered image for each 3D camera by performing scene rendering based on the 3D camera by the controller;
By the control unit, setting a reference to a grid structure object corresponding to the created grid structure, a 3D camera object corresponding to the arranged 3D camera, and a virtual beam projector object corresponding to the virtual beam projector. step;
Converting, by the controller, the coordinates in the scene into a grid vertex at a viewpoint of a 3D virtual beam projector disposed in the scene;
Converting, by the controller, the coordinates in the scene into a grid vertex at a viewpoint of a 3D camera disposed in the scene; And
And generating, by the control unit, a final 3D content by performing a post-processing function on the scene-rendered render texture.
제 8 항에 있어서,
상기 제어부에 의해, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수를 확인하는 단계;
상기 확인 결과, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 1개일 때, 상기 제어부에 의해, 단일 빔 프로젝터로 상기 생성된 3D 콘텐츠를 제공하는 단계; 및
상기 확인 결과, 상기 격자 구조물에 포함된 하부 격자 구조물의 개수가 복수일 때, 상기 제어부에 의해, 상기 생성된 복수의 3D 콘텐츠에서 경계 블렌딩 영역을 확인하는 단계; 및
상기 제어부에 의해, 상기 확인된 경계 블렌딩 영역 및 상기 생성된 복수의 3D 콘텐츠를 근거로 복수의 빔 프로젝터를 통해 상기 생성된 3D 콘텐츠를 각각 투사하는 단계를 더 포함하는 것을 특징으로 하는 다중 프로젝터 출력 방법.
The method of claim 8,
Checking, by the control unit, the number of lower lattice structures included in the lattice structure;
When the number of lower lattice structures included in the lattice structure is one as a result of the check, providing the generated 3D content with a single beam projector by the control unit; And
When the number of lower lattice structures included in the lattice structure is plural as a result of the verification, confirming, by the control unit, a boundary blending region in the generated plural 3D contents; And
And projecting the generated 3D content through a plurality of beam projectors, respectively, based on the identified boundary blending area and the generated 3D content, by the control unit. .
제 8 항에 있어서,
상기 장면 내 좌표들을 상기 장면에 배치된 3차원 가상의 빔 프로젝터 시점에서 격자 정점으로 변환하는 단계는,
상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 가상의 빔 프로젝터 객체가 연결될 때, 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 확인하는 과정; 및
상기 확인된 특정 하부 구조물의 격자 정점의 월드 좌표 목록(Psurface)을 가상의 빔 프로젝터의 변환 행렬(Tprojector)을 통하여 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록(Ssurface)으로 변환하여, 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 생성하는 과정을 포함하는 것을 특징으로 하는 다중 프로젝터 출력 방법.
The method of claim 8,
The step of converting the coordinates in the scene into a grid vertex at a viewpoint of a 3D virtual beam projector arranged in the scene,
When one or more substructure objects included in the lattice structure object and the virtual beam projector object are connected, checking a list of world coordinates of lattice vertices of a specific substructure among one or more substructures included in the lattice structure; And
The identified world coordinate list (P surface ) of the grid vertices of the specific substructure is converted into a normalized coordinate list (S surface ) based on the virtual beam projector through the transformation matrix (T projector ) of the virtual beam projector. And generating a list of normalized coordinates based on the virtual beam projector.
제 8 항에 있어서,
상기 장면 내 좌표들을 상기 장면에 배치된 3차원 카메라 시점에서의 격자 정점으로 변환하는 단계는,
상기 격자 구조물 객체에 포함된 하나 이상의 하부 구조물 객체와 상기 3차원 카메라 객체가 연결될 때, 상기 격자 구조물에 포함된 하나 이상의 하부 구조물 중에서 특정 하부 구조물의 격자 정점의 월드 좌표 목록을 확인하는 과정; 및
차원 카메라의 변환 행렬(Tcamera)을 이용하여 상기 격자 구조물에 포함된 하나 이상의 하부 구조물이 갖고 있는 정점들을 변환하여 3차원 카메라 시점에서의 격자 정점(Ucamera)들을 생성하는 과정을 포함하는 것을 특징으로 하는 다중 프로젝터 출력 방법.
The method of claim 8,
Converting the coordinates in the scene into a grid vertex at a viewpoint of a 3D camera disposed in the scene,
When one or more substructure objects included in the lattice structure object and the 3D camera object are connected, checking a list of world coordinates of a grid vertex of a specific substructure among one or more substructures included in the lattice structure; And
A process of generating grid vertices (U cameras ) at the viewpoint of a 3D camera by transforming vertices of one or more lower structures included in the lattice structure using a transformation matrix (T camera ) of a dimensional camera. Multi-projector output method.
제 8 항에 있어서,
상기 장면 렌더링된 렌더 텍스쳐에 대해서 후처리 기능을 수행하여, 최종 3D 콘텐츠를 생성하는 단계는,
상기 생성된 가상의 빔 프로젝터를 기준으로 한 정규화된 좌표 목록을 근거로 렌더 텍스쳐의 모양을 왜곡하는 과정;
상기 생성된 3차원 카메라를 기준으로 한 정규화된 좌표 목록을 근거로 상기 모양 왜곡된 렌더 텍스쳐에 대해 UV 변환 기능을 수행하여 카메라 장면 영역 크롭 처리를 수행하는 과정; 및
상기 UV 변환된 렌더 텍스쳐를 근거로 최종 3D 콘텐츠를 생성하는 과정을 포함하는 것을 특징으로 하는 다중 프로젝터 출력 방법.
The method of claim 8,
The step of generating final 3D content by performing a post-processing function on the scene-rendered render texture,
Distorting the shape of a render texture based on a list of normalized coordinates based on the generated virtual beam projector;
Performing a camera scene area cropping process by performing a UV conversion function on the shape-distorted render texture based on a normalized coordinate list based on the generated 3D camera; And
And generating final 3D content based on the UV-converted render texture.
KR1020190117684A 2019-09-24 2019-09-24 System for outputting of multi-projector and method thereof KR102154684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190117684A KR102154684B1 (en) 2019-09-24 2019-09-24 System for outputting of multi-projector and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190117684A KR102154684B1 (en) 2019-09-24 2019-09-24 System for outputting of multi-projector and method thereof

Publications (1)

Publication Number Publication Date
KR102154684B1 true KR102154684B1 (en) 2020-09-10

Family

ID=72469724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190117684A KR102154684B1 (en) 2019-09-24 2019-09-24 System for outputting of multi-projector and method thereof

Country Status (1)

Country Link
KR (1) KR102154684B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004073A (en) * 2020-08-07 2020-11-27 山东金东数字创意股份有限公司 System and method for different-surface fusion image interaction based on window platform
KR102245223B1 (en) 2020-12-14 2021-04-27 주식회사 글림시스템즈 Image processing system for displaying multi-layered beam projection contents on irregular projection surface and method thereof
KR102568940B1 (en) * 2023-06-15 2023-08-22 주식회사라이브아레나 Immersive media art content reproduction method, device and system using multiple projections on spherical sculptures

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120051875A (en) * 2010-11-15 2012-05-23 연세대학교 산학협력단 Apparatus and method for monitoring a structure using motion capture method
KR101583519B1 (en) 2014-04-24 2016-01-19 (주)지브이에스 Method And System for Forming Image Space Using Multiple Projectors
KR20170053280A (en) * 2015-11-06 2017-05-16 삼성전자주식회사 Method for displaying one or more virtual objects in a plurality of electronic devices, and an electronic device supporting the method
KR20180060868A (en) * 2016-11-28 2018-06-07 숭실대학교산학협력단 Three-dimensional monitoring system and method using real-time warping of surveilance videos

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120051875A (en) * 2010-11-15 2012-05-23 연세대학교 산학협력단 Apparatus and method for monitoring a structure using motion capture method
KR101583519B1 (en) 2014-04-24 2016-01-19 (주)지브이에스 Method And System for Forming Image Space Using Multiple Projectors
KR20170053280A (en) * 2015-11-06 2017-05-16 삼성전자주식회사 Method for displaying one or more virtual objects in a plurality of electronic devices, and an electronic device supporting the method
KR20180060868A (en) * 2016-11-28 2018-06-07 숭실대학교산학협력단 Three-dimensional monitoring system and method using real-time warping of surveilance videos

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004073A (en) * 2020-08-07 2020-11-27 山东金东数字创意股份有限公司 System and method for different-surface fusion image interaction based on window platform
KR102245223B1 (en) 2020-12-14 2021-04-27 주식회사 글림시스템즈 Image processing system for displaying multi-layered beam projection contents on irregular projection surface and method thereof
KR102568940B1 (en) * 2023-06-15 2023-08-22 주식회사라이브아레나 Immersive media art content reproduction method, device and system using multiple projections on spherical sculptures

Similar Documents

Publication Publication Date Title
KR102319179B1 (en) A rendering method for simulating lighting, and a terminal
KR102154684B1 (en) System for outputting of multi-projector and method thereof
US20190041972A1 (en) Method for providing indoor virtual experience based on a panorama and a 3d building floor plan, a portable terminal using the same, and an operation method thereof
KR101770648B1 (en) A method for providing indoor virtual experience based on panorama pictures and a 3d floor plan, a portable terminal and a method for providing floor plans using the portable terminal
CN110765620B (en) Aircraft visual simulation method, system, server and storage medium
US20180293795A1 (en) System and method for modeling buildings and building products
CN111436208B (en) Planning method and device for mapping sampling points, control terminal and storage medium
US8970586B2 (en) Building controllable clairvoyance device in virtual world
KR101553273B1 (en) Method and Apparatus for Providing Augmented Reality Service
US9691357B2 (en) Information processing method and electronic device thereof, image calibration method and apparatus, and electronic device thereof
US20160188275A1 (en) Vehicle-mounted terminal and method for obtaining resolution of a screen of a handheld terminal
CN111833243B (en) Data display method, mobile terminal and storage medium
CN104915994A (en) 3D view drawing method and system of three-dimensional data
CN108769668B (en) Method for determining position and device of the pixel in VR display screen in camera imaging
KR102242324B1 (en) Illuminating a Virtual Environment With Camera Light Data
JP6110780B2 (en) Additional information display system
KR20210042278A (en) Method and apparatus for generating information, electronic device, storage medium and program
CN112734896A (en) Environment shielding rendering method and device, storage medium and electronic equipment
KR102655648B1 (en) Construction drawing layout on-site provision system
US20240015272A1 (en) Electronic apparatus and control method thereof
JP6679966B2 (en) Three-dimensional virtual space presentation system, three-dimensional virtual space presentation method and program
US11670045B2 (en) Method and apparatus for constructing a 3D geometry
CN112308767B (en) Data display method and device, storage medium and electronic equipment
CN112308766B (en) Image data display method and device, electronic equipment and storage medium
CN112184543B (en) Data display method and device for fisheye camera

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant