KR20200043670A - Method and system for generating 3 dimension block information - Google Patents

Method and system for generating 3 dimension block information Download PDF

Info

Publication number
KR20200043670A
KR20200043670A KR1020180124309A KR20180124309A KR20200043670A KR 20200043670 A KR20200043670 A KR 20200043670A KR 1020180124309 A KR1020180124309 A KR 1020180124309A KR 20180124309 A KR20180124309 A KR 20180124309A KR 20200043670 A KR20200043670 A KR 20200043670A
Authority
KR
South Korea
Prior art keywords
block
assembly
information
image
generating
Prior art date
Application number
KR1020180124309A
Other languages
Korean (ko)
Other versions
KR102219345B1 (en
Inventor
정진호
Original Assignee
주식회사 플렉스코아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 플렉스코아 filed Critical 주식회사 플렉스코아
Priority to KR1020180124309A priority Critical patent/KR102219345B1/en
Publication of KR20200043670A publication Critical patent/KR20200043670A/en
Application granted granted Critical
Publication of KR102219345B1 publication Critical patent/KR102219345B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2008Assembling, disassembling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Embodiments relate to a method for generating three-dimensional block information, and a server and a user terminal performing the same, and more particularly, to a method for generating a three-dimensional image corresponding to a two-dimensional image recognized in the user terminal and generating a three-dimensional block representing the three-dimensional image.

Description

3차원 블록 정보 생성 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING 3 DIMENSION BLOCK INFORMATION}Method and system for generating 3D block information {METHOD AND SYSTEM FOR GENERATING 3 DIMENSION BLOCK INFORMATION}

아래 실시예들은 3차원 블록 정보 생성 방법, 이를 수행하는 서버 및 사용자 단말에 관한 것이다. 구체적으로, 사용자 단말에서 인식한 2차원 이미지에 대응하는 3차원 이미지를 생성하고, 3차원 이미지를 표현하는 3차원 블록을 생성하는 방법에 관한 것이다.The following embodiments relate to a method for generating 3D block information, a server performing the same, and a user terminal. Specifically, it relates to a method of generating a 3D image corresponding to a 2D image recognized by a user terminal and generating a 3D block representing a 3D image.

최근 들어, 영상 분야의 비약적인 발전으로 인해 다양한 영상 기술이 개발 및 응용되고 있으며, 특히, 컴퓨터 또는 사용자 단말을 통해 가상 현실 또는 증강 현실 영상을 재생하고 관람하는 기술이 등장하고 있다.Recently, various imaging technologies have been developed and applied due to the rapid development of the imaging field. In particular, technologies for playing and viewing virtual reality or augmented reality images through a computer or a user terminal have appeared.

여기에서, 가상 현실(Virtual Reality: VR)이라 함은 실제 현실은 아니지만 사용자가 현실과 같은 환경을 3차원적인 시각(Sight)을 통해 경험할 수 있는 시뮬레이션 기술을 의미하며, 증강 현실(Augmented Reality: AR)이라 함은 사용자가 눈으로 보는 현실세계에 증강 현실 컨텐츠(또는 가상의 오브젝트(Object))를 겹쳐 보여주는 시뮬레이션 기술을 의미한다. 증강 현실은, 현실세계에 실시간으로 부가정보를 갖는 증강 현실 컨텐츠를 합쳐 하나의 영상으로 보여주는 특징으로 인해 흔히 혼합 현실(Mixed Reality: MR)이라고도 불리운다.Here, virtual reality (VR) is not a real reality, but means a simulation technology that allows a user to experience an environment like reality through a three-dimensional sight, and augmented reality (AR). ) Means a simulation technology that superimposes augmented reality content (or virtual object) on the real world that the user sees. Augmented reality is often referred to as mixed reality (MR) due to a feature that combines augmented reality content with additional information in real time in the real world and shows it as a single image.

앞서 설명한 가상 현실과 증강 현실은 서로 비슷한 듯 하지만 그 주체가 허상이냐 실상이냐에 따라 명확히 구분될 수 있다.The virtual reality and the augmented reality described above seem to be similar to each other, but can be clearly classified according to whether the subject is a virtual image or a real image.

컴퓨터 격투 게임을 예로 들어 양자를 비교 설명하면, 가상 현실 게임은 나를 대신하는 캐릭터가 가상의 공간에서 가상의 적과 대결하지만, 증강 현실 게임은 현실의 내가 현실의 공간에서 가상의 적과 대결을 벌이는 형태가 된다. 그에 따라, 증강 현실 기술을 이용할 경우 현실에 실제로 존재하지 않는 가상 캐릭터 등이 화면상으로는 실제로 존재하는 것처럼 보여질 수 있다.Taking computer fighting games as an example and comparing them, virtual reality games have characters that replace me face virtual enemies in a virtual space, but augmented reality games have a form where I face a virtual enemy in a real space. do. Accordingly, when using augmented reality technology, a virtual character or the like that does not actually exist in reality may appear to exist on the screen.

따라서, 이러한 증강 현실 기술은 가상의 환경만으로 구성된 가상 현실 기술과는 달리, 실제 환경과 증강 현실 컨텐츠가 혼합된 영상이 사용자에게 제공되는 것이므로, 사용자로서는 증강 현실 컨텐츠를 실제 환경과 함께 볼 수 있어 가상의 환경만으로 구성된 가상 현실과 비교할 때 보다 나은 현실감과 부가 정보가 제공된다는 장점이 존재하고 있다.Therefore, unlike the virtual reality technology composed only of a virtual environment, the augmented reality technology is provided to a user with a mixed image of a real environment and augmented reality content, so the user can view the augmented reality content together with the real environment. Compared to the virtual reality composed only of the environment, there is an advantage that better realism and additional information are provided.

과거 또는 현재의 증강 현실은, 카메라로부터 촬영되는 영상으로부터 실제 영상과 함께 증강 현실 마커를 감지하되, 상기 감지된 마커에 대응되는 증강 현실 컨텐츠를 상기 실제 영상에 합성하여 출력하는 방법으로 실현되고 있다.The past or present augmented reality is realized by detecting an augmented reality marker together with a real image from an image captured from a camera, and synthesizing and outputting augmented reality content corresponding to the detected marker to the real image.

사용자는 이러한 증강 현실 기술을 통해, 다양한 증강 현실 컨텐츠를 경험할 수 있게 되었다. 일례로, 사용자는 사용자가 촬영한 건물 영상에 대해, 해당 건물에 입주해 있는 음식점 또는 카페들의 정보를 건물 영상들과 함께 제공받기도 하며, 사용자가 촬영한 캐릭터 영상에 대해, 해당 캐릭터로 게임을 즐길 수 있는 증강 현실 컨텐츠를 제공받을 수 있었다.Through this augmented reality technology, users can experience various augmented reality contents. As an example, the user may be provided with information on the building image taken by the user, restaurant or cafe occupying the building together with the building image, and for the character image taken by the user, enjoy the game with the character It could be provided with augmented reality content.

다만, 과거 또는 현재의 증강 현실 컨텐츠는 가상의 컨텐츠로, 사용자는 사용자 단말의 어플리케이션을 통해 증강 현실 컨텐츠를 보거나 체험할 수 밖에 없었다. 가상 컨텐츠로 제공되는 증강 현실 컨텐츠는, 사용자가 실제로 만지고, 체험하는 실제 컨텐츠에 비해, 사용자의 흥미를 이끌어내는데 한계가 있었다.However, the past or present augmented reality content is virtual content, and the user has no choice but to view or experience the augmented reality content through the application of the user terminal. Augmented reality content provided as virtual content has a limit in eliciting the user's interest compared to the actual content that the user actually touches and experiences.

따라서, 최근 사용자의 액션에 따라 생성되는 증강 현실 컨텐츠를 가상의 컨텐츠 뿐만 아니라, 사용자가 실제로 만지고 체험할 수 있는 실제 컨텐츠로 제공하고자 하는 다양한 시도가 이뤄지고 있으며, 사용자의 다양한 니즈를 충족시키기 위해 증강 현실 컨텐츠를 실제 컨텐츠로 생성하여 제공하기 위한 연구와 기술 개발이 활발히 이뤄지고 있다.Accordingly, various attempts have been made to provide augmented reality content generated according to a user's action as virtual content, as well as actual content that a user can actually touch and experience, and augmented reality to meet various needs of users. Research and technology development have been actively conducted to create and provide content as real content.

일 측에 따른 서버에 의해 수행되는 3차원 블록 정보 생성 방법에 있어서, 사용자 단말로부터 2차원 이미지를 전송받는 동작; 상기 2차원 이미지에 대응하는, 메쉬(mesh) 내부가 채워진 솔리드 메쉬 데이터인 3차원 이미지를 생성하는 동작; 상기 솔리드 메쉬 데이터를 층 단위 분할 또는 층 분할하여 적어도 하나의 조립 블록으로 구성되는 3차원 블록을 생성하는 동작; 및 상기 적어도 하나의 조립 블록의 조합 정보를 포함하는 3차원 블록 정보를 생성하는 동작을 포함하는 3차원 블록 정보 생성 방법.A method for generating 3D block information performed by a server according to one side, comprising: receiving a 2D image from a user terminal; Generating a 3D image corresponding to the 2D image, which is solid mesh data filled inside a mesh; Generating a 3D block composed of at least one assembly block by dividing or dividing the solid mesh data in units of layers; And generating 3D block information including combination information of the at least one assembly block.

상기 3차원 이미지 생성 동작은 상기 2차원 이미지의 마커 또는 윤곽선을 인식하는 동작; 상기 2차원 이미지의 마커 또는 윤곽선을 이용하여 메쉬(mesh) 데이터를 데이터베이스에서 로딩하는 동작; 상기 메쉬 데이터의 기하 형상 오류 검사를 수행하는 동작; 및 상기 오류 검사에서 검출된 오류를 수정하여 상기 솔리드 메쉬 데이터를 생성하는 동작을 포함한다.The generating of the 3D image may include recognizing a marker or an outline of the 2D image; Loading mesh data from a database using markers or contours of the two-dimensional image; Performing geometric shape error checking of the mesh data; And generating the solid mesh data by correcting an error detected in the error check.

상기 조립 블록의 조합 정보는 상기 3차원 블록을 구성하는 상기 적어도 하나의 조립 블록의 개수, 모양, 적층 구조, 적층 위치, 하이어러키 구조 중 적어도 하나를 포함한다.The combination information of the building blocks includes at least one of the number, shape, stacking structure, stacking position, and hierarchy structure of the at least one building block constituting the 3D block.

상기 3차원 블록 생성 동작은 상기 솔리드 메쉬 데이터를 상기 적어도 하나의 조립 블록의 높이로 층 분할하는 동작; 및 상기 분할된 층을 상기 적어도 하나의 조립 블록의 너비로 분할하는 동작을 포함한다.The generating of the 3D block may include: dividing the solid mesh data into a height of the at least one assembly block; And dividing the divided layer into widths of the at least one assembly block.

상기 적어도 하나의 조립 블록은 상기 3차원 블록을 표현하는 단위 블록이다.The at least one assembly block is a unit block representing the 3D block.

상기 기하 형상 오류 검사 동작은 상기 메쉬 데이터의 메쉬의 벌어짐, 떨어짐, 노말 벡터의 불균일, 교차겹침 중 적어도 하나를 검사한다.The geometric shape error checking operation checks at least one of a gap, a fall, a non-uniformity of a normal vector, and a cross overlap of the mesh of the mesh data.

상기 3차원 블록을 상기 적어도 하나의 조립 블록으로 분리하는 동작; 조립 정보 편집 단말로부터 조립 편집 정보를 전송받는 동작; 및 상기 분리된 조립 블록의 구성 및 상기 조립 편집 정보를 이용하여 상기 3차원 블록의 조립 설명 정보를 생성하는 동작을 포함한다.Separating the three-dimensional block into the at least one assembly block; Receiving assembly editing information from the assembly information editing terminal; And generating assembly description information of the 3D block using the configuration of the separated assembly block and the assembly editing information.

상기 조립 편집 정보는 상기 조립 설명 정보의 페이지 번호, 추가 설명 내용, 조립 시 주의 사항, 하이라이트 이펙트, 색상 중 적어도 하나를 포함한다.The assembly edit information includes at least one of a page number of the assembly description information, additional description contents, precautions when assembling, highlight effects, and colors.

상기 조립 블록 분리 동작은 같은 모양의 상기 적어도 하나의 조립 블록끼리 분리한다.The assembly block separation operation separates the at least one assembly block of the same shape.

도 1은 일 실시예에 따른 3차원 블록 정보 생성 시스템의 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 서버의 구성을 도시한 도면이다.
도 4는 일 실시예에 따른 3차원 블록 정보 생성 방법을 나타낸 흐름도이다.
도 5는 일 실시예에 따른 2차원 이미지에 대응하는 3차원 이미지의 생성 방법을 나타낸 흐름도이다.
도 6은 일 실시예에 따른 2차원 이미지 및 3차원 이미지의 예시를 도시한 도면이다
도 7은 일 실시예에 따른 3차원 이미지를 표현하는 조립 블록의 생성 방법을 나타낸 흐름도이다.
도 8은 일 실시예에 따른 3차원 이미지를 표현하는 조립 블록의 예시를 도시한 도면이다.
도 9는 일 실시예에 따른 조립 블록에 대한 조립 설명 정보의 생성 방법을 나타낸 흐름도이다.
도 10은 일 실시예에 따른 조립 설명 정보의 예시를 도시한 도면이다.
1 is a diagram illustrating a configuration of a 3D block information generation system according to an embodiment.
2 is a diagram showing the configuration of a user terminal according to an embodiment.
3 is a diagram showing the configuration of a server according to an embodiment.
4 is a flowchart illustrating a method for generating 3D block information according to an embodiment.
5 is a flowchart illustrating a method of generating a 3D image corresponding to a 2D image according to an embodiment.
6 is a diagram illustrating an example of a 2D image and a 3D image according to an embodiment
7 is a flowchart illustrating a method of generating an assembly block representing a 3D image according to an embodiment.
8 is a diagram illustrating an example of an assembly block representing a 3D image according to an embodiment.
9 is a flowchart illustrating a method of generating assembly description information for an assembly block according to an embodiment.
10 is a diagram illustrating an example of assembly description information according to an embodiment.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. DETAILED DESCRIPTION The detailed description set forth below, in conjunction with the accompanying drawings, is intended to describe exemplary embodiments of the invention, and is not intended to represent the only embodiments in which the invention may be practiced.

각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. The same reference numerals in each drawing denote the same members. Various changes can be made to the embodiments described below. The examples described below are not intended to be limiting with respect to the embodiments, and should be understood to include all modifications, equivalents, or substitutes thereof.

실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are only used to describe specific examples, and are not intended to limit the examples. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as “include” or “have” are intended to indicate that there are features, numbers, operations, operations, components, parts, or combinations thereof described on the specification, and one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, operations, operations, components, parts or combinations thereof are not excluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, detailed descriptions thereof will be omitted.

도 1은 일 실시예에 따른 3차원 블록 정보 생성 시스템(10)의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a 3D block information generation system 10 according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 3차원 블록 정보 생성 시스템(10)은 서버(100), 사용자 단말(200), 조립 정보 편집 단말(300)을 포함하여 구성될 수 있다.Referring to FIG. 1, the 3D block information generation system 10 according to an embodiment may include a server 100, a user terminal 200, and an assembly information editing terminal 300.

3차원 블록 정보 생성 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크(미도시)를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.Communication between various entities included in the 3D block information generation system 10 may be performed through a wired / wireless network (not shown). Standard communication technologies and / or protocols may be used in the wired / wireless network.

서버(100)는 사용자 단말(200)로부터 전송받은 2차원 이미지를 이용하여, 3차원 이미지를 생성할 수 있다. 서버(100)는 2차원 이미지 내의 마커 또는 윤곽선을 인식하여, 2차원 이미지에 해당하는 3차원 이미지를 생성할 수 있다.The server 100 may generate a 3D image using the 2D image transmitted from the user terminal 200. The server 100 recognizes a marker or an outline in the 2D image, and generates a 3D image corresponding to the 2D image.

일례로, 앵그리버드 캐릭터의 2차원 이미지를 사용자 단말(200)로부터 전송받은 경우, 서버(100)는 전송받은 앵그리버드 캐릭터 이미지 내의 마커 또는 윤곽선을 인식하여, 앵그리버드 캐릭터의 3차원 이미지를 생성하는 것이다.For example, when a two-dimensional image of the Angry Birds character is transmitted from the user terminal 200, the server 100 recognizes a marker or outline in the received Angry Birds character image, and generates a three-dimensional image of the Angry Birds character. will be.

서버(100)는 3차원 이미지를 표현하는 3차원 블록을 생성할 수 있다. 일 실시예에 따른 3차원 블록은 3차원 이미지를 정육면체 블록과 같은 조립 블록들의 조합으로 표현한 것으로, 본 명세서에서는 레고 블록과 같이 하나의 구성 단위 블록을 ‘조립 블록’, 레고 블록들을 조립하여 만들어진 블록 모형을 ‘3차원 블록’으로 설명하도록 한다.The server 100 may generate a 3D block representing a 3D image. The 3D block according to an embodiment is a 3D image represented by a combination of building blocks such as a cube block, and in this specification, a building block is constructed by assembling a LEGO block as an 'assembly block' and a LEGO block. Let's describe the model as a 'three-dimensional block'.

서버(100)는 3차원 이미지를 단위 층으로 분할한 후 각 층에 대해 다시 조립 블록으로 분할하여 3차원 블록을 생성할 수 있다.The server 100 may generate a 3D block by dividing the 3D image into unit layers and then dividing it into assembly blocks for each layer.

서버(100)는 3차원 블록 정보를 생성할 수 있다. 일 실시예에 따른 3차원 블록 정보는 조립 블록의 조합 정보 및 조립 설명 정보를 포함할 수 있다.The server 100 may generate 3D block information. The 3D block information according to an embodiment may include combination information of assembly blocks and assembly description information.

조립 블록의 조합 정보는 3차원 블록이 만들어질 수 있는 조립 블록의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 정보를 일컫는다. 그리고, 조립 블록의 조립 설명 정보는 사용자가 조립 블록을 이용하여 3차원 블록을 만들 수 있도록, 조립하는 순서, 방법 등을 포함하는 정보 즉, 조립 설명서를 일컫는다.The combination information of the assembly block refers to information including the number, shape, stacking structure, and stacking position of the assembly blocks in which the 3D block can be made. In addition, the assembly description information of the assembly block refers to information including an assembly sequence, a method, etc., that is, an assembly manual so that a user can create a 3D block using the assembly block.

일례로, 서버(100)는 앵그리버드 캐릭터의 3차원 이미지를 표현하는 3차원 블록을 생성할 수 있다. 앵그리버드 캐릭터의 3차원 블록에 포함된 조립 블록의 조합 정보 및 조립 설명 정보(조립 설명서)를 생성할 수 있는 것이다.As an example, the server 100 may generate a 3D block representing a 3D image of the Angry Birds character. It is possible to generate assembly information and assembly description information (assembly instructions) of assembly blocks included in the 3D block of the Angry Birds character.

서버(100)는 생성된 3차원 이미지 및 3차원 블록 정보를 사용자 단말(200)에 전송할 수 있다.The server 100 may transmit the generated 3D image and 3D block information to the user terminal 200.

서버(100)의 구성 및 기능에 대해서는 도 3 이하에서 자세히 설명하도록 한다.The configuration and function of the server 100 will be described in detail below in FIG. 3.

사용자 단말(200)은 사용자 단말(200)에 구비된 카메라를 통해 실제 공간에 대한 영상을 포함하는 2차원 이미지를 인식할 수 있으며, 인식된 2차원 이미지를 서버(100)에 전송할 수 있다.The user terminal 200 may recognize a 2D image including an image of a real space through a camera provided in the user terminal 200 and transmit the recognized 2D image to the server 100.

사용자 단말(200)은 서버(100)로부터 전송받은 3차원 이미지를 이용하여, 다양한 증강 현실 컨텐츠를 생성하여 사용자에게 출력할 수 있다.The user terminal 200 may generate and output various augmented reality contents to the user using the 3D image transmitted from the server 100.

사용자 단말(200)은 서버(100)로부터 전송받은 3차원 블록 정보에 포함된 조립 블록의 조합 정보 및 조립 설명 정보를 시각화하여 사용자에게 출력할 수 있다.The user terminal 200 may visualize the combination information and the assembly description information of the assembly block included in the 3D block information transmitted from the server 100 and output it to the user.

사용자 단말(200)의 구성 및 기능에 대해서는 도 2 이하에서 자세히 설명하도록 한다.The configuration and function of the user terminal 200 will be described in detail below in FIG. 2.

조립 정보 편집 단말(300)은 서버(100)로부터 조립 블록의 조합 정보를 전송받을 수 있다. 조립 정보 편집 단말(300)은 조립 블록의 조합 정보를 이용하여, 서버(100)가 조립 설명 정보를 생성하는데 필요한 각종 데이터들을 생성할 수 있다.The assembly information editing terminal 300 may receive combination information of assembly blocks from the server 100. The assembly information editing terminal 300 may generate various data necessary for the server 100 to generate assembly description information using the combination information of the assembly blocks.

일례로, 조립 정보 편집 단말(300)은 조립 설명서의 페이지 번호, 추가 설명 내용, 조립 시 주의 사항, 하이라이트 이펙트, 색상 등을 포함하는 조립 편집 정보를 생성할 수 있다.For example, the assembly information editing terminal 300 may generate assembly editing information including a page number of an assembly manual, additional description content, precautions when assembling, highlight effects, colors, and the like.

조립 정보 편집 단말(300)은 전술한 조립 편집 정보를 관리자를 통해 입력받아 생성할 수 있으며, 서버(100)로부터 전송받은 조립 블록의 조합 정보를 이용하여 기 설정된 방법, 규칙 등에 따라 자동으로 생성할 수도 있다.The assembly information editing terminal 300 may receive and generate the above-described assembly edit information through an administrator, and automatically generate according to a preset method, rule, etc. using combination information of assembly blocks transmitted from the server 100. It might be.

조립 정보 편집 단말(300)은 조립 편집 정보를 서버(100)에 전송할 수 있다.The assembly information editing terminal 300 may transmit assembly editing information to the server 100.

도 2는 일 실시예에 따른 사용자 단말(200)의 구성을 도시한 도면이다.2 is a diagram showing the configuration of a user terminal 200 according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 사용자 단말(200)은, 제어부(210), 카메라부(220), 마커인식부(230), 이미지 처리부(240) 및 디스플레이부(250)를 포함하여 구성될 수 있다.Referring to FIG. 2, the user terminal 200 according to an embodiment includes a control unit 210, a camera unit 220, a marker recognition unit 230, an image processing unit 240, and a display unit 250 Can be configured.

다만, 이하에서 언급되는 사용자 단말(200)은 도 2에 도시된 구성 요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.However, the user terminal 200 mentioned below includes at least one of the components illustrated in FIG. 2, but is not limited thereto.

사용자 단말(200)은 예를 들어, '증강 현실 어플리케이션(Application)' 또는 ‘증강 현실 프로그램’이 실행되는 모바일 클라이언트가 될 수 있으며, 일례로, WCDMA, LTE와 같은 이동 통신망을 이용하는 통상의 스마트폰, 스마트패드, VR(Virtual Reality), AR(Augmented Reality) 장치, PC(Personal Computer), 노트북 컴퓨터, 태블릿 PC(Tablet Personal Computer), 단말 장치, 휴대폰, 이동 단말, 모바일 단말, 터미널(Terminal)를 포함하는 개념으로 해석될 수 있다.The user terminal 200 may be, for example, a mobile client on which 'Augmented Reality Application' or 'Augmented Reality Program' is executed, for example, a typical smartphone using a mobile communication network such as WCDMA and LTE. , Smart Pad, Virtual Reality (VR), Augmented Reality (AR) Device, Personal Computer (PC), Notebook Computer, Tablet PC (Tablet Personal Computer), Terminal Device, Mobile Phone, Mobile Terminal, Mobile Terminal, Terminal It can be interpreted as an inclusive concept.

이 때, 증강 현실 어플리케이션 또는 증강 현실 프로그램은, 증강 현실 서비스의 운영자가 다양한 증강 현실 서비스의 제공을 목적으로 하여 배포하는 것으로서, 예를 들어, 통상의 앱 스토어 서버(도면 미도시)를 통해 배포할 수 있다. 어플리케이션 또는 프로그램은 모바일 OS제조사에서 제공하는 개발 언어를 이용하여 해당 모바일 기기에서만 동작되는 응용 프로그램을 말한다. 어플리케이션 또는 프로그램의 경우, 장치가 제공하는 하드웨어적 기능을 지원 받아 다양한 기능의 구현이 가능하다.At this time, the augmented reality application or the augmented reality program is distributed by the operator of the augmented reality service for the purpose of providing various augmented reality services, for example, through an ordinary app store server (not shown). You can. The application or program refers to an application program that operates only on the mobile device using the development language provided by the mobile OS manufacturer. In the case of an application or program, various functions can be implemented by receiving hardware functions provided by the device.

다만, 사용자 단말(200)은 반드시 모바일 클라이언트로 구성될 필요는 없으며, 카메라 및 디스플레이를 구비한 일반적인 PC(Personal Computer) 또는 이와 동등한 컴퓨팅 수단이면 어느 것이나 이용될 수 있다.However, the user terminal 200 does not necessarily need to be configured as a mobile client, and any PC (Personal Computer) equipped with a camera and a display or an equivalent computing means can be used.

카메라부(220)는 실제 공간에 대한 영상을 포함하는 2차원 이미지를 인식할 수 있다. 카메라부(220)는 모노 카메라를 포함하는 통상적인 카메라일 수 있으며, 증강 현실 컨텐츠(또는 증강 현실 컨텐츠)를 구현하기 위한 2차원 이미지를 촬영하기 위해 현재까지 개발되었거나 앞으로 개발될 다양한 영상 촬영 기능을 갖는 장치를 포함하는 개념으로 해석될 수 있다.The camera unit 220 may recognize a 2D image including an image of a real space. The camera unit 220 may be a conventional camera including a mono camera, and various image capturing functions developed to date or to be developed in the future to capture a two-dimensional image for realizing augmented reality content (or augmented reality content) It can be interpreted as a concept involving a device having.

사용자 단말(200)은 마커 인식부(230) 및 이미지 처리부(240)를 포함하여 이루어질 수 있으며, 마커 인식부(230)는 카메라부(220)를 통해 입력된 2차원 이미지로부터 마커를 인식하는 기능을 수행할 수 있으며, 보다 구체적으로 카메라부(220)에 의해 입력된 2차원 이미지 내 픽셀 데이터 정보를 기반으로 마커 정보를 인식할 수 있다. The user terminal 200 may include a marker recognition unit 230 and an image processing unit 240, and the marker recognition unit 230 recognizes a marker from a two-dimensional image input through the camera unit 220. In addition, marker information may be recognized based on pixel data information in a 2D image input by the camera unit 220 in more detail.

이미지 처리부(240)는 서버(100)에서 전송받은 3차원 이미지 및 3차원 블록 정보를 시각화 컨텐츠로 변환할 수 있다. 구체적으로, 이미지 처리부(240)는 3차원 이미지를 다양한 증강 현실 컨텐츠로 변환하거나, 3차원 블록 정보에 포함된 조립 블록의 조합 정보 및 조립 정보를 사용자에게 출력할 수 있는 이미지로 변환할 수 있다.The image processing unit 240 may convert the 3D image and 3D block information transmitted from the server 100 into visualization content. Specifically, the image processing unit 240 may convert the 3D image into various augmented reality contents, or convert the combination information and the assembly information of the assembly blocks included in the 3D block information into an image that can be output to the user.

증강 현실 인터페이스 및 그와 관련된 정보(예를 들어, 실제 공간에 대한 영상 및/또는 증강 현실 컨텐츠 등)를 표시하거나, UI(User Interface) 또는 GUI(Graphic User Interface) 등을 디스플레이(또는 표시)하는 디스플레이부(250)를 장치의 내부 또는 외부에 포함할 수 있다.To display (or display) the augmented reality interface and related information (for example, an image and / or augmented reality content for a real space), or display a user interface (UI) or a graphical user interface (GUI), etc. The display unit 250 may be included inside or outside the device.

디스플레이부(250)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중 적어도 어느 하나로 구현될 수도 있으며, 구현 형태에 따라 디스플레이부가 2개 이상 존재할 수도 있다. 예를 들어, 단말(200)에는 외부 디스플레이부와 내부 디스플레이부가 동시에 구비될 수도 있다.The display unit 250 includes a liquid crystal display, a thin film transistor-liquid crystal display, an organic light-emitting diode, a flexible display, and a three-dimensional display ( 3D display), and may have two or more display units depending on the implementation type. For example, the terminal 200 may be provided with an external display unit and an internal display unit at the same time.

또한, 사용자 단말(200)는 제어부(210)를 더 포함할 수 있으며, 제어부(210)는 각종 데이터 또는 신호에 대한 처리를 수행하거나 혹은 데이터 또는 신호를 기반으로 증강 현실 인터페이스 및/또는 컨텐츠에 대한 제어를 수행할 수 있다.In addition, the user terminal 200 may further include a control unit 210, and the control unit 210 performs processing on various data or signals or augmented reality interface and / or content based on the data or signals. Control can be performed.

제어부(210)는 카메라부(220)를 통해 입력된 2차원 이미지의 픽셀 데이터 정보를 추출할 수 있으며, 앞서 언급한 카메라부(220), 마커 인식부(230), 이미지 처리부(240) 및 디스플레이부(250) 각각이 올바르게 동작을 수행할 수 있도록 이들 각각에 대한 제어를 수행할 수 있다.The control unit 210 may extract pixel data information of a 2D image input through the camera unit 220, the aforementioned camera unit 220, marker recognition unit 230, image processing unit 240, and display Each of the units 250 may perform control on each of them so that the operations can be correctly performed.

또한, 사용자 단말(200)는 네트워크부(미도시)를 더 포함할 수 있으며, 제어부(210)는 네트워트부(미도시)를 제어하여, 카메라부(220)에서 인식한 2차원 이미지 및 마커 인식부(230)에서 인식한 2차원 이미지의 마커를 서버(100)에 전송할 수 있다. 그리고, 제어부(210)는 네트워트부(미도시)를 제어하여, 서버(100)에서 3차원 이미지 및 3차원 블록 정보를 전송받을 수 있다.In addition, the user terminal 200 may further include a network unit (not shown), and the control unit 210 controls the network unit (not shown) to recognize the two-dimensional image and marker recognized by the camera unit 220. The marker of the 2D image recognized by the unit 230 may be transmitted to the server 100. Then, the control unit 210 may control the network unit (not shown), and receive 3D image and 3D block information from the server 100.

제어부(210)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.The controller 210 may also be referred to as a processor, a controller, a microcontroller, a microprocessor, a microcomputer, etc., and the controller may be hardware or firmware. ), Software or a combination thereof.

필요한 경우 사용자 단말(200)은 메모리부(미도시)를 더 포함할 수 있으며, 제어부(210)는 데이터 또는 신호를 메모리부(미도시)에 저장할 수도 있으며, 메모리부(미도시)는 제어부(210)에 연결되어 오퍼레이팅 시스템(operating system), 어플리케이션, 및 일반 파일(general files)들 또한 저장할 수 있다.If necessary, the user terminal 200 may further include a memory unit (not shown), the control unit 210 may store data or signals in the memory unit (not shown), and the memory unit (not shown) may include a control unit (not shown). Connected to 210, it can also store an operating system (operating system), applications, and general files (general files).

일실시예에 따라 디스플레이부(250)를 비롯한 다양한 장치를 포함하는 사용자 단말(200)은, 사용자에게 다양한 시청각 자극을 제공하기 위한 다양한 입출력부를 추가적으로 더 포함할 수도 있다.According to an embodiment, the user terminal 200 including various devices including the display unit 250 may further include various input / output units for providing various audio-visual stimuli to the user.

보다 구체적으로, 사용자 단말(200)은 사용자 입력부(예를 들어, 카메라, 키보드, 마우스, 조이스틱, 터치 센서 등)와 같은 일반적/표준적인 영상, 신호 입력 장치를 내부 또는 외부에 포함할 수 있으며, 그 외에도 입력 장치인, 자이로 변화, 가속도 변화 등을 이용하여 사용자가 모션으로서 소정의 신호를 물리적으로 입력할 수 있는 물리 기반 센서 등을 포함하거나 혹은 유/무선 기술을 통해 연결 또는 결합될 수 있다.More specifically, the user terminal 200 may include a general / standard image, signal input device, such as a user input unit (eg, camera, keyboard, mouse, joystick, touch sensor, etc.) inside or outside, In addition, a physically-based sensor that allows a user to physically input a predetermined signal as a motion using an input device, a gyro change, an acceleration change, or the like, or may be connected or combined through wired / wireless technology.

아울러, 디스플레이부(250)의 경우, 서버(100)에서 전송받은 3차원 이미지를 이용하여 생성된 다양한 증강 현실 컨텐츠를 시각화하여 사용자에게 제공할 수 있으며, 서버(100)에서 전송받은 조립 블록의 조합 정보, 조립 설명 정보에 대한 이미지를 사용자에게 출력할 수 있다.In addition, in the case of the display unit 250, various augmented reality contents generated by using the 3D image transmitted from the server 100 can be visualized and provided to a user, and a combination of assembly blocks transmitted from the server 100 Images for information and assembly description information may be output to the user.

그 뿐만 아니라, 디스플레이부(250)는 사용자에게 입체감 있는 증강 현실 컨텐츠를 제공하되 현실감 있는 시청각 자극을 제공할 수 있도록, 현재 개발되었거나 향후 개발될 다양한 출력장치(예를 들어, 디스플레이 장치, 음향 장치 등)를 더 포함하고 있을 수 있다.In addition, the display unit 250 provides various stereoscopic augmented reality contents to the user, but provides various audio output devices (eg, display devices, sound devices, etc.) that are currently developed or will be developed in the future to provide realistic audiovisual stimuli. ).

사용자 단말(200)은 증강 현실 어플리케이션 또는 증강 현실 프로그램의 구동에 의해 적어도 하나 이상의 외부 장치와의 연동 없이 증강 현실 기능을 실행할 수 있으며, 도 2에 도시되어 있지는 않으나, 통상의 유무선 네트워크를 통해 증강 현실 서버 등과 연동하여 일부 기능을 서버와의 연동을 통해 제공하는 것도 가능하다. 예를 들어, 증강 현실에 사용되는 다양한 증강 현실 컨텐츠는 종류 및 내용에 따라 큰 데이터량을 가지거나 실시간으로 변경될 수 있는데, 이러한 경우에는 증강 현실 컨텐츠에 관한 정보를 네트워크를 통해 증강 현실 서버로부터 제공받도록 할 수도 있다.The user terminal 200 may execute an augmented reality function without interworking with at least one external device by driving an augmented reality application or augmented reality program, and although not shown in FIG. 2, augmented reality through an ordinary wired or wireless network It is also possible to provide some functions through interworking with a server in conjunction with a server. For example, various augmented reality contents used in augmented reality may have a large amount of data or change in real time according to types and contents, in which case information on augmented reality content is provided from the augmented reality server through a network. You can also get it.

도 3은 일 실시예에 따른 서버(100)의 구성을 도시한 도면이다.3 is a diagram showing the configuration of a server 100 according to an embodiment.

도 3을 참조하면, 일 실시예에 따른 서버(100)는 2차원 이미지를 이용하여 3차원 블록 정보를 생성하도록 구성되며, 제어부(110), 3차원 이미지 생성부(120), 조각 블록 정보 생성부(130), 조립 설명 정보 생성부(140) 및 데이터베이스부(150)를 포함하여 구성될 수 있다.Referring to FIG. 3, the server 100 according to an embodiment is configured to generate 3D block information using a 2D image, and generates a control unit 110, a 3D image generation unit 120, and fragment block information It may be configured to include a unit 130, assembly description information generating unit 140 and the database unit 150.

다만, 이하에서 언급되는 서버(100)는 도 3에 도시된 구성 요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.However, the server 100 mentioned below includes at least one of the components illustrated in FIG. 3, but is not limited thereto.

서버(100)의 각각 구성(110, 120, 130, 140, 150)들은 적어도 하나의 프로세서에 의해 동작할 수 있으며, 하나의 프로세서에 의해 적어도 하나의 구성(110, 120, 130, 140, 150)들이 동작할 수 있다.Each configuration (110, 120, 130, 140, 150) of the server 100 may be operated by at least one processor, and at least one configuration (110, 120, 130, 140, 150) by one processor Can work.

서버(100)의 하드웨어 구성은 다양하게 구현될 수 있다. 3차원 이미지 생성부(120)와 조각 블록 정보 생성부(130)를 통합하거나, 조각 블록 정보 생성부(130)와 조립 설명 정보 생성부(140)를 통합하여 하드웨어를 구성할 수 있다. 이와 같이, 서버(100)의 하드웨어 구성은 본 명세서의 기재에 한정되지 아니하며, 다양한 방법과 조합으로 구현될 수 있다.The hardware configuration of the server 100 may be implemented in various ways. The hardware may be configured by integrating the 3D image generator 120 and the piece block information generator 130 or by integrating the piece block information generator 130 and the assembly description information generator 140. As such, the hardware configuration of the server 100 is not limited to the description of the present specification, and may be implemented in various methods and combinations.

제어부(110)는 서버(100)의 제어 유닛(Control Unit)으로, 3차원 이미지 생성부(120), 조각 블록 정보 생성부(130) 및 조립 설명 정보 생성부(140)를 제어하여, 사용자 단말(200)이 인식하여 전송한 2차원 이미지를 이용하여, 3차원 이미지, 그리고 조입 블록의 조합 정보 및 조립 설명 정보를 포함하는 3차원 블록 정보를 생성한다.The control unit 110 is a control unit of the server 100, and controls a 3D image generation unit 120, a piece block information generation unit 130, and an assembly description information generation unit 140, so that the user terminal Using the two-dimensional image recognized and transmitted by the 200, a three-dimensional image and three-dimensional block information including assembly information and assembly description information of the assembling block are generated.

3차원 이미지 생성부(120)는 사용자 단말(200)에서 전송된 2차원 이미지에서 2차원 이미지 내 마커 또는 윤곽선을 인식한다.The 3D image generation unit 120 recognizes a marker or a contour in the 2D image from the 2D image transmitted from the user terminal 200.

그리고, 3차원 이미지 생성부(120)는 인식한 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다.Then, the 3D image generator 120 loads the 3D mesh data corresponding to the 2D image from the database unit 150 using the recognized marker or contour.

그리고, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터에 대해 다양한 오류 검사를 수행하고, 찾은 오류를 수정하여 솔리드 메쉬 데이터를 생성한다.Then, the 3D image generator 120 performs various error checks on the loaded 3D mesh data and corrects the found errors to generate solid mesh data.

조각 블록 정보 생성부(130)는 3차원 이미지 생성부(120)에서 생성된 3차원 이미지 즉, 솔리드 메쉬 데이터를 기 설정된 두께 단위의 층으로 분할한다.The fragment block information generation unit 130 divides the 3D image generated by the 3D image generation unit 120, that is, solid mesh data into a layer having a predetermined thickness.

그리고, 조각 블록 정보 생성부(130)는 분할 된 각 층을 각 층을 구성하는 조립 블록의 너비에 따라 분할하여, 각 층을 구성하는 적어도 하나의 조립 블록을 생성한다.Then, the piece block information generating unit 130 divides each divided layer according to the width of the assembly block constituting each layer, and generates at least one assembly block constituting each layer.

그리고, 조각 블록 정보 생성부(130)는 생성된 3차원 블록에 대한 조립 블록들의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 조합 정보를 생성한다.Then, the piece block information generating unit 130 generates combination information including the number, shape, stacking structure, and stacking position of the assembled blocks for the generated 3D block.

조립 설명 정보 생성부(140)는 데이터베이스부(150)에서 3차원 블록, 조립 블록의 조합 정보를 로딩하여, 로딩된 3차원 블록을 각 층 별로 분리하고, 필요에 따라 각각의 조립 블록끼리 분해되도록 분리한다.The assembly description information generating unit 140 loads the combination information of the 3D block and the assembly block from the database unit 150 to separate the loaded 3D block for each layer and decompose each assembly block as necessary. To separate.

그리고, 조립 설명 정보 생성부(140)는 조립 정보 편집 단말(300)로부터 조립 설명 정보를 생성하는데 필요한 각종 데이터들인 조립 편집 정보를 입력받는다.Then, the assembly description information generating unit 140 receives assembly editing information, which is various data necessary for generating assembly description information, from the assembly information editing terminal 300.

조립 설명 정보 생성부(140)는 분리된 조립 블록들의 구성과 조립 정보 편집 단말(300)로부터 입력된 조립 편집 정보를 이용하여, 3차원 블록을 조립하기 위한 조립 설명서 즉, 조립 설명 정보를 생성한다.The assembly description information generating unit 140 generates assembly instructions for assembling a 3D block, that is, assembly description information, using the configuration of the separated assembly blocks and the assembly editing information input from the assembly information editing terminal 300. .

데이터베이스부(150)는 조각 블록 정보 생성부(130)에서 생성된 조립 블록의 조합 정보, 조립 설명 정보 생성부(140)에서 생성된 조립 블록의 조립 정보를 저장한다. 즉, 데이터베이스부(150)는 조립 블록의 조합 정보 및 조립 정보를 포함하는 3차원 블록 정보를 저장하는 것이다.The database unit 150 stores assembly information of the assembly block generated by the piece block information generation unit 130 and assembly information of the assembly block generated by the assembly description information generation unit 140. That is, the database unit 150 stores 3D block information including assembly information and assembly information of the assembly block.

그리고, 데이터베이스부(150)는 2차원 이미지의 각 마커의 고유 인식 정보 및/또는 이에 대응하는 3차원 이미지에 대한 정보를 저장한다.Then, the database unit 150 stores unique recognition information of each marker of the 2D image and / or information about the 3D image corresponding thereto.

도 4는 일 실시예에 따른 3차원 블록 정보 생성 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method for generating 3D block information according to an embodiment.

도 4를 참조하면, 일 실시예에 따른 3차원 블록 정보 생성 방법은 3차원 이미지 생성 동작(401), 조립 블록 정보 생성 동작(403), 조립 설명 정보 생성 동작(405)을 포함하여 이루어질 수 있다.Referring to FIG. 4, a method for generating 3D block information according to an embodiment may include a 3D image generation operation 401, an assembly block information generation operation 403, and an assembly description information generation operation 405. .

우선, 3차원 이미지 생성 동작(401)으로, 3차원 이미지 생성부(120)는 사용자 단말(200)에서 전송된 2차원 이미지에서 2차원 이미지의 마커 또는 윤곽선을 인식한다. 그리고, 3차원 이미지 생성부(120)는 인식한 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다. 또한, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터에 대해 다양한 오류 검사를 수행하고, 찾은 오류를 수정하여 솔리드 메쉬 데이터를 생성한다.First, in the 3D image generation operation 401, the 3D image generation unit 120 recognizes a marker or contour of a 2D image from the 2D image transmitted from the user terminal 200. Then, the 3D image generator 120 loads the 3D mesh data corresponding to the 2D image from the database unit 150 using the recognized marker or contour. In addition, the 3D image generation unit 120 performs various error checks on the loaded 3D mesh data and corrects the found errors to generate solid mesh data.

3차원 이미지 생성 동작(401)에 대해서는 이하 도 5 및 도 6에서 자세히 후술하도록 한다.The 3D image generation operation 401 will be described later in detail with reference to FIGS. 5 and 6.

그리고, 조립 블록 정보 생성 동작(403)으로, 조각 블록 정보 생성부(130)는 3차원 이미지 생성부(120)에서 생성된 3차원 이미지 즉, 솔리드 메쉬 데이터를 기 설정된 두께 단위의 층으로 분할한다. 그리고, 조각 블록 정보 생성부(130)는 분할 된 각 층을 각 층을 구성하는 조립 블록의 너비에 따라 분할하여, 각 층을 구성하는 적어도 하나의 조립 블록을 생성한다. 그리고, 조각 블록 정보 생성부(130)는 생성된 3차원 블록에 대한 조립 블록들의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 조합 정보를 생성한다.Then, as the assembly block information generation operation 403, the piece block information generation unit 130 divides the 3D image generated by the 3D image generation unit 120, that is, solid mesh data into a layer having a predetermined thickness. . Then, the piece block information generating unit 130 divides each divided layer according to the width of the assembly block constituting each layer, and generates at least one assembly block constituting each layer. Then, the piece block information generating unit 130 generates combination information including the number, shape, stacking structure, and stacking position of the assembled blocks for the generated 3D block.

조립 블록 정보 생성 동작(403)에 대해서는 이하 도 7 및 도 8에서 자세히 후술하도록 한다.The assembly block information generation operation 403 will be described later in detail with reference to FIGS. 7 and 8.

그리고, 조립 설명 정보 생성 동작(405)으로, 조립 설명 정보 생성부(140)는 데이터베이스부(150)에서 3차원 블록의 정보, 조립 블록의 조합 정보를 로딩하여, 로딩된 3차원 블록을 각 층 별로 분리하고, 필요에 따라 각각의 조립 블록끼리 분해되도록 분리한다. 그리고, 조립 설명 정보 생성부(140)는 조립 정보 편집 단말(300)로부터 조립 설명 정보를 생성하는데 필요한 각종 데이터들인 조립 편집 정보를 입력받는다. 그리고, 조립 설명 정보 생성부(140)는 분리된 조립 블록들의 구성과 조립 정보 편집 단말(300)로부터 입력된 조립 편집 정보를 이용하여, 3차원 블록을 조립하기 위한 조립 설명서 즉, 조립 설명 정보를 생성한다.Then, as the assembly description information generation operation 405, the assembly description information generation unit 140 loads the information of the three-dimensional block and the combination information of the assembly block from the database unit 150, and loads the loaded three-dimensional block in each layer. Separate them separately, and separate each assembly block as necessary. Then, the assembly description information generating unit 140 receives assembly editing information, which is various data necessary for generating assembly description information, from the assembly information editing terminal 300. In addition, the assembly description information generating unit 140 uses the composition of the separated assembly blocks and the assembly editing information input from the assembly information editing terminal 300 to generate an assembly instruction for assembling a 3D block, that is, assembly description information. To create.

조립 설명 정보 생성 동작(405)에 대해서는 이하 도 9 및 도 10에서 자세히 후술하도록 한다.The assembly description information generation operation 405 will be described later in detail with reference to FIGS. 9 and 10.

도 5는 일 실시예에 따른 2차원 이미지에 대응하는 3차원 이미지의 생성 방법을 나타낸 흐름도이다.5 is a flowchart illustrating a method of generating a 3D image corresponding to a 2D image according to an embodiment.

도 5를 참조하면, 일 실시예에 따른 2차원 이미지에 대응하는 3차원 이미지의 생성 방법은 2차원 이미지 내 마커 또는 윤곽선 인식 동작(501), 3차원 메쉬 데이터 로딩 동작(503), 3차원 메쉬 데이터 오류 검사 동작(505), 솔리드 메쉬 데이터 생성 동작(507)을 포함하여 이루어질 수 있다.Referring to FIG. 5, a method of generating a 3D image corresponding to a 2D image according to an embodiment includes a marker or contour recognition operation 501 in a 2D image, a 3D mesh data loading operation 503, and a 3D mesh It may include a data error checking operation 505, a solid mesh data generation operation 507.

우선, 2차원 이미지 내 마커 또는 윤곽선 인식 동작(501)으로, 3차원 이미지 생성부(120)는 사용자 단말(200)에서 촬영되어 전송된 캐릭터, 랜드마크 건물, 자동차 등의 2차원 이미지 내에서 마커 또는 윤곽선을 인식한다.First, as a marker or contour recognition operation 501 in the 2D image, the 3D image generation unit 120 is a marker in a 2D image such as a character, a landmark building, a car, etc., which is captured and transmitted by the user terminal 200. Or recognize the outline.

마커는 2차원 이미지가 어떤 캐릭터, 랜드마크 건물, 자동차에 대한 이미지인지를 나타내는 정보로, 일 실시예에 따른 마커는 알파벳, 숫자, 선 굵기 등으로 2차원 이미지의 정보를 나타낼 수 있는 다양한 방식으로 구현될 수 있다.The marker is information indicating which character, landmark, building, or car is an image, and the marker according to an embodiment may be displayed in various ways to display information of a two-dimensional image with alphabets, numbers, and line thickness. Can be implemented.

3차원 이미지 생성부(120)는 2차원 이미지 내에서 기입된 마커를 인식하거나, 2차원 이미지 내에서 2차원 이미지의 정보를 확인할 수 있는 윤곽선을 인식하는 것이다.The 3D image generating unit 120 recognizes a marker written in the 2D image or recognizes a contour line that can confirm information of the 2D image in the 2D image.

다른 실시예로, 2차원 이미지 내 마커 또는 윤곽선을 인식하는 주체를 사용자 단말(200)일 수 있다. 이 경우, 사용자 단말(200)은 2차원 이미지 내 마커 또는 윤곽선을 인식하여, 서버(100)에 전송할 수 있다.In another embodiment, the user terminal 200 may be a subject that recognizes a marker or an outline in a two-dimensional image. In this case, the user terminal 200 may recognize the marker or contour in the 2D image and transmit it to the server 100.

그리고, 3차원 메쉬 데이터 로딩 동작(503)으로, 3차원 이미지 생성부(120)는 인식된 2차원 이미지의 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(105)로부터 불러온다.In addition, as the 3D mesh data loading operation 503, the 3D image generation unit 120 uses the recognized 2D image markers or contours to generate 3D mesh data corresponding to the 2D image database unit 105 ).

3차원 메쉬(mesh) 데이터는 3차원 컴퓨터 그래픽(스)에서 그물망 형태로 만들어진 구조물 또는 그 형태로, 3차원 이미지의 원본 데이터(raw data)를 의미한다.The 3D mesh data is a structure made in the form of a mesh in 3D computer graphics (S) or a form thereof, and refers to raw data of a 3D image.

3차원 이미지 생성부(120)는 2차원 이미지의 마커 또는 윤곽선를 이용하여 2차원 이미지가 어떤 이미지인지 인식한 후, 2차원 이미지에 해당하는에 3차원 메쉬 데이터를 데이터베이스부(105)에서 로딩하는 것이다.The 3D image generation unit 120 recognizes a 2D image as a 2D image using a marker or a contour of the 2D image, and then loads 3D mesh data corresponding to the 2D image from the database unit 105. .

그리고, 3차원 메쉬 데이터 오류 검사 동작(505)으로, 3차원 이미지 생성부(120)는 3차원 메쉬 데이터의 기하 형상(토폴로지)에 대한 오류 검사를 수행한다.In addition, as the 3D mesh data error checking operation 505, the 3D image generator 120 performs error checking on the geometric shape (topology) of the 3D mesh data.

3차원 이미지 생성부(120)는 3차원 메쉬 데이터를 블록으로 변환하기 위한 임시 데이터인 솔리드 메쉬 데이터를 생성하기 전, 3차원 메쉬 데이터의 오류 검사를 진행하는 것으로, 메쉬의 벌어짐, 떨어짐, 노말 벡터의 불균일, 교차겹침 등을 찾아내는 것이다.The 3D image generation unit 120 performs error checking of the 3D mesh data before generating solid mesh data, which is temporary data for converting 3D mesh data into blocks, and the mesh spreads, falls, and normal vectors. Is to find irregularities, overlaps, and the like.

그리고, 솔리드 메쉬 데이터 생성 동작(507)으로, 3차원 이미지 생성부(120)는3차원 블록을 생성하기 위한 적층 분할을 진행하기 위하여, 기하 형상(토폴로지) 오류 검사에서 찾은 오류들을 수정하여, 솔리드 메쉬 데이터를 생성한다.In addition, as the solid mesh data generation operation 507, the 3D image generation unit 120 corrects errors found in the geometric shape (topology) error check to perform stacking division to generate a 3D block, and Generate mesh data.

솔리드 메쉬 데이터는 메쉬의 내부와 외부를 구분할수 있도록 내부가 꽉 채워진 닫힌 메쉬 데이터를 의미하는 것으로, 본 명세서에서 3차원 이미지는 3차원 이미지 생성부(120)에서 생성된 솔리드 메쉬 데이터를 의미할 수 있다.The solid mesh data refers to closed mesh data that is completely filled inside to distinguish the inside and the outside of the mesh. In this specification, the 3D image may mean the solid mesh data generated by the 3D image generator 120. have.

3차원 이미지 생성부(120)는 오류 검사를 통해 찾은 오류들을 수정하는데, 일례로, 겹침 메쉬의 재생성, 벌어진 곳 정점 추가, 역전된 노말벡터 수정, 내외부 혼재 메쉬 재배열의 절차를 수행할 수 있다.The 3D image generation unit 120 corrects errors found through error checking, for example, regeneration of the overlapping mesh, addition of vertices in the gap, correction of the inverted normal vector, and rearrangement of mixed mesh inside and outside.

도 6은 일 실시예에 따른 2차원 이미지 및 3차원 이미지의 예시를 도시한 도면이다.6 is a diagram illustrating an example of a 2D image and a 3D image according to an embodiment.

도 (a)는 사용자 단말(200)이 인식하여 서버(100)에 전송한 2차원 이미지의 예시인 앵그리버드 캐릭터의 2차원 이미지를 도시한 도면이며, 도 (b)는 서버(100)가 2차원 이미지를 이용하여 생성한 3차원 이미지의 예시인 앵그리버드 캐릭터의 3차원 이미지를 도시한 도면이다.Figure (a) is a diagram showing a two-dimensional image of the Angry Birds character, which is an example of a two-dimensional image recognized by the user terminal 200 and transmitted to the server 100, Figure (b) is a server 100 is 2 This is a 3D image of the Angry Birds character, which is an example of a 3D image generated using a 3D image.

전술한 바와 같이, 3차원 이미지 생성부(120)는 도 (a)의 2차원 이미지의 마커 또는 윤곽선을 인식하고, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다. 그리고, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터의 다양한 오류 검사를 통해 솔리드 메쉬 데이터를 생성한다.As described above, the 3D image generation unit 120 recognizes the marker or contour of the 2D image of FIG. (A), and loads 3D mesh data corresponding to the 2D image from the database unit 150. Then, the 3D image generation unit 120 generates solid mesh data through various error checks of the loaded 3D mesh data.

일 실시예에 따른 3차원 이미지는 솔리드 메쉬 데이터를 표현한 이미지로, 서버(100)는 3차원 이미지 생성부(120)에서 생성한 3차원 이미지를 사용자 단말(200)에 전송할 수 있으며, 사용자 단말(200)은 3차원 이미지를 이용하여 사용자에게 다양한 증강 현실 컨텐츠를 제공할 수 있는 것이다.The 3D image according to an embodiment is an image representing solid mesh data, and the server 100 may transmit the 3D image generated by the 3D image generator 120 to the user terminal 200, and the user terminal ( 200) is to provide a variety of augmented reality content to the user using a three-dimensional image.

도 7은 일 실시예에 따른 3차원 이미지를 표현하는 조립 블록의 생성 방법을 나타낸 흐름도이다.7 is a flowchart illustrating a method of generating an assembly block representing a 3D image according to an embodiment.

도 7을 참조하면, 일 실시예에 따른 3차원 이미지를 표현하는 조립 블록의 생성 방법은 조립 블록 생성 동작(601), 조립 블록의 조합 정보 생성 동작(603)을 포함하여 이루어질 수 있다.Referring to FIG. 7, a method of generating an assembly block representing a 3D image according to an embodiment may include an operation of generating an assembly block 601 and an operation of generating combination information of assembly blocks 603.

우선, 조립 블록 생성 동작(601)으로, 조각 블록 정보 생성부(130)는 3차원 이미지 생성부(120)에서 생성한 3차원 이미지 즉, 솔리드 메쉬 데이터를 기 설정된 두께 단위의 층으로 분할한다.First, as an assembly block generation operation 601, the piece block information generation unit 130 divides the 3D image generated by the 3D image generation unit 120, that is, solid mesh data into a layer having a predetermined thickness.

여기서, 분할할 두께 단위는 단위 블록인 조립 블록의 높이에 따라 결정되며, 각 층은 3차원 블록을 구성하는 조립 블록들의 높이에 따라 각각 다르게 설정될 수 있다.Here, the thickness unit to be divided is determined according to the height of the assembly block which is the unit block, and each layer may be set differently according to the height of the assembly blocks constituting the 3D block.

일례로, 정육각형 조립 블록으로 구성되는 분할 층의 경우에는 정육각형 조립 블록의 높이의 두께로 분할되며, 직융각형 조립 블록으로 구성되는 분할 층의 경우에는 직육각형 조립 블록의 높이의 두께로 분할될 수 있다.For example, in the case of a divided layer composed of a regular hexagonal assembly block, it is divided into the thickness of the height of a regular hexagonal assembly block, and in the case of a divided layer composed of a straight hexagonal assembly block, it can be divided into a thickness of the height of the rectangular hexagonal assembly block. .

그리고, 조각 블록 정보 생성부(130)는 분할 된 각 층을 각 층을 구성하는 조립 블록의 너비에 따라 분할하여, 각 층을 구성하는 적어도 하나의 조립 블록을 생성한다.Then, the piece block information generating unit 130 divides each divided layer according to the width of the assembly block constituting each layer, and generates at least one assembly block constituting each layer.

각 층을 구성하는 하나의 조립 블록이 생성됨에 따라, 각 층의 조립 블록들이 적층되어 하나의 3차원 블록이 완성되는 것이다.As one assembly block constituting each layer is generated, assembly blocks of each layer are stacked to complete one three-dimensional block.

3차원 블록에 포함된 조립 블록의 구성 또는 개수는, 관리자에게 의해 입력된 설정에 따라 달라질 수 있으며, 다양한 방식과 알고리즘에 따라 다르게 설정될 수 있다. 조각 블록 정보 생성부(130)는 해당 설정에 따라 3차원 이미지를 층 단위 분할, 층 분할하여, 3차원 블록에 대한 조립 블록을 생성할 수 있다.The configuration or number of the assembly blocks included in the 3D block may vary depending on the setting input by the administrator, and may be differently set according to various methods and algorithms. The fragment block information generation unit 130 may generate a building block for a 3D block by dividing and dividing the 3D image in units of layers according to a corresponding setting.

그리고, 조립 블록의 조합 정보 생성 동작(603)으로, 조각 블록 정보 생성부(130)는 생성된 3차원 블록의 조립 블록에 대한 조합 정보를 생성한다.Then, in the combination information generation operation 603 of the assembly block, the piece block information generation unit 130 generates combination information for the assembly block of the generated 3D block.

전술한 바와 같이, 조립 블록의 조합 정보는 3차원 블록이 만들어질 수 있는 조립 블록의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 정보를 일컫는 것으로, 조립 블록의 하이어러키 구조를 포함할 수 있다.As described above, the combination information of the assembling block refers to information including the number, shape, stacking structure, and stacking position of the assembling blocks from which the 3D block can be made, and may include a hierarchical structure of the assembling block. have.

조각 블록 정보 생성부(130)는 생성된 3차원 블록에 대한 정보 즉, 조립 블록의 조합 정보를 데이터베이스부(150)에 저장할 수 있으며, 제어부(110)는 조립 블록의 조합 정보를 이용하여 3차원 블록 정보를 생성할 수 있다.The piece block information generation unit 130 may store information on the generated 3D block, that is, combination information of the assembly block, in the database unit 150, and the control unit 110 may use the assembly block combination information to generate the 3D block information. Block information can be generated.

도 8은 일 실시예에 따른 3차원 이미지를 표현하는 조립 블록의 예시를 도시한 도면이다.8 is a diagram illustrating an example of an assembly block representing a 3D image according to an embodiment.

도 8은 조각 블록 정보 생성부(130)에서 생성된 3차원 블록의 예시인 앵그리버드 캐릭터의 3차원 블록을 도시한 도면으로, 도 (a)는 앵그리버드 캐릭터의 3차원 블록의 측면도를 도시한 도면이며, 도 (b)는 앵그리버드 캐릭터의 3차원 블록의 평면도를 도시한 도면이다.FIG. 8 is a diagram showing a three-dimensional block of an angry bird character, which is an example of a three-dimensional block generated by the piece block information generating unit 130, and FIG. (A) is a side view of a three-dimensional block of an angry bird character. Figure (b) is a diagram showing a plan view of a three-dimensional block of the Angry Birds character.

조각 블록 정보 생성부(130)는 도 6 (b)의 앵그리버드 캐릭터의 3차원 이미지 즉, 솔리드 메쉬 데이터를 기 설정된 두께 단위의 층으로 분할한다. 그리고, 조각 블록 정보 생성부(130)는 분할 된 각 층을, 각 층을 구성하는 조립 블록의 너비에 따라 분할하여, 각 층을 구성하는 적어도 하나의 조립 블록을 생성한다. 그리고, 조각 블록 정보 생성부(130)는 생성된 3차원 블록에 대한 조립 블록들의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 조합 정보를 생성하는 것이다.The engraving block information generation unit 130 divides the three-dimensional image of the angry bird character of FIG. 6B, that is, solid mesh data into a layer having a predetermined thickness unit. Then, the fragment block information generating unit 130 divides each divided layer according to the width of the assembly block constituting each layer, and generates at least one assembly block constituting each layer. In addition, the piece block information generation unit 130 generates combination information including the number, shape, stacking structure, and stacking position of the assembled blocks for the generated 3D block.

도 9는 일 실시예에 따른 조립 블록에 대한 조립 설명 정보의 생성 방법을 나타낸 흐름도이다.9 is a flowchart illustrating a method of generating assembly description information for an assembly block according to an embodiment.

도 9를 참조하면, 일 실시예에 따른 조립 블록에 대한 조립 설명 정보의 생성 방법은 조립 블록 분리 동작(701), 조립 편집 정보 입력 동작(703), 조립 설명 정보 생성 동작(705)을 포함하여 이루어질 수 있다.Referring to FIG. 9, a method for generating assembly description information for an assembly block according to an embodiment includes an assembly block separation operation 701, an assembly editing information input operation 703, and an assembly description information generation operation 705. It can be done.

우선, 조립 블록 분리 동작(701)으로, 조립 설명 정보 생성부(140)는 데이터베이스부(150)에서 3차원 블록, 조립 블록의 조합 정보를 로딩하여, 로딩된 3차원 블록을 각 층 별로 분리하고, 필요에 따라 각각의 동일한 조립 블록 또는 서로 다른 조립 블록끼리 분해되도록 분리한다. 이는 조립 설명을 사용자가 이해하기 편하도록 조립 블록들을 분이하는 것이다.First, as the assembly block separation operation 701, the assembly description information generation unit 140 loads the combination information of the 3D block and the assembly block from the database unit 150, and separates the loaded 3D block for each layer. , Separate each of the same assembling blocks or different assembling blocks as necessary. This is to divide the assembly blocks so that the user can understand the assembly instructions.

그리고, 조립 편집 정보 입력 동작(703)으로, 조립 설명 정보 생성부(140)는 조립 정보 편집 단말(300)로부터 조립 설명 정보를 생성하는데 필요한 각종 데이터들인 조립 편집 정보를 입력받는다.In addition, as the assembly editing information input operation 703, the assembly description information generating unit 140 receives assembly editing information, which is various data necessary for generating assembly description information, from the assembly information editing terminal 300.

일례로, 조립 설명 정보 생성부(140)는 조립 정보 편집 단말(300)로부터 조립 설명서의 페이지 번호, 추가 설명 내용, 조립 시 주의 사항, 하이라이트 이펙트, 색상 등을 포함하는 조립 편집 정보를 입력받을 수 있다. 전술한 바와 같이, 조립 정보 편집 단말(300)은 전술한 조립 편집 정보를 관리자를 통해 입력받아 생성할 수 있다.As an example, the assembly description information generation unit 140 may receive assembly editing information including assembly page number, additional description, assembly notes, highlight effects, colors, and the like from the assembly information editing terminal 300. have. As described above, the assembly information editing terminal 300 may receive and generate the above-described assembly edit information through an administrator.

그리고, 조립 설명 정보 생성 동작(705)으로, 조립 설명 정보 생성부(140)는 분리된 조립 블록들의 구성과 조립 정보 편집 단말(300)로부터 입력된 조립 편집 정보를 이용하여, 3차원 블록을 조립하기 위한 조립 설명서 즉, 조립 설명 정보를 생성한다.Then, as the assembly description information generation operation 705, the assembly description information generation unit 140 assembles the 3D block by using the configuration of the separated assembly blocks and the assembly editing information input from the assembly information editing terminal 300. Assembly instructions for doing so, that is, assembly description information is generated.

조립 블록들의 조립 설명 정보는 사용자가 조립 블록들을 이용하여 3차원 블록을 만들 수 있도록, 조립 블록의 구성 정보, 조립 블록을 조립하는 순서, 방법 등을 포함하는 정보 즉, 조립 설명서를 일컫는다.The assembly description information of the assembly blocks refers to information including the configuration information of the assembly blocks, the order and method of assembling the assembly blocks, that is, the assembly instructions, so that the user can create a 3D block using the assembly blocks.

조립 설명 정보 생성부(140)는 생성된 조립 블록의 조립 설명 정보를 데이터베이스부(150)에 저장할 수 있으며, 제어부(110)는 조립 블록의 조립 설명 정보를 이용하여 3차원 블록 정보를 생성할 수 있다.The assembly description information generation unit 140 may store the assembly description information of the generated assembly block in the database unit 150, and the control unit 110 may generate 3D block information using the assembly description information of the assembly block. have.

도 10은 일 실시예에 따른 조립 설명 정보의 예시를 도시한 도면이다.10 is a diagram illustrating an example of assembly description information according to an embodiment.

도 10은 조립 설명 정보 생성부(140)에서 생성된 조립 설명 정보 예시인 앵그리버드 캐릭터의 조립 설명서를 도시한 도면으로, 도 (a)는 앵그리버드 캐릭터의 3차원 블록을 조립하기 위한 조립 블록의 구성도를 도시한 도면이며, 도 (b)는 앵그리버드 캐릭터의 3차원 블록을 조립하기 위한 조립 블록의 조립 순서도를 도시한 도면이다.FIG. 10 is a diagram illustrating an assembly instructions of the Angry Bird character, which is an example of the assembly description information generated by the assembly description information generating unit 140, and FIG. (A) is an assembly block for assembling the three-dimensional block of the Angry Bird character. It is a diagram showing a configuration diagram, and (b) is a diagram showing an assembly flow chart of an assembly block for assembling a three-dimensional block of an angry bird character.

조립 설명 정보 생성부(140)는 데이터베이스부(150)에서 앵그리버드 캐릭터의 3차원 블록의 정보, 조립 블록의 조합 정보를 로딩하여, 로딩된 3차원 블록을 각 층 별로 분리하고, 필요에 따라 각각의 조립 블록끼리 분해되도록 분리한다. 그리고, 조립 설명 정보 생성부(140)는 조립 정보 편집 단말(300)로부터 조립 설명 정보를 생성하는데 필요한 각종 데이터들을 입력받는다. 그리고, 조립 설명 정보 생성부(140)는 분리된 조립 블록들의 구성과 조립 정보 편집 단말(300)로부터 입력된 조립 편집 정보를 이용하여, 3차원 블록을 조립하기 위한 조립 설명서 즉, 조립 설명 정보를 생성하는 것이다.The assembly description information generating unit 140 loads the information of the three-dimensional block of the Angry Birds character and the combination information of the assembly block from the database unit 150, separates the loaded three-dimensional block for each layer, and if necessary, each Separate the assembly blocks to disassemble them. Then, the assembly description information generation unit 140 receives various data necessary for generating assembly description information from the assembly information editing terminal 300. In addition, the assembly description information generating unit 140 uses the configuration of the separated assembly blocks and the assembly editing information input from the assembly information editing terminal 300 to generate an assembly instruction for assembling a 3D block, that is, assembly description information. To create.

이상에서 설명된 실시예들은 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(Central Processing Unit; CPU), 그래픽 프로세싱 유닛(Graphics Processing Unit; GPU), ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 주문형 집적 회로(Application Specific Integrated Circuits; ASICS), 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. The embodiments described above may be implemented with hardware components, software components, and / or combinations of hardware components and software components. For example, the apparatus, methods, and components described in the embodiments may include, for example, a processor, a controller, a central processing unit (CPU), a graphics processing unit (GPU), an ALU ( arithmetic logic unit, digital signal processor, microcomputer, field programmable gate array (FPGA), programmable logic unit (PLU), microprocessor, application specific integrated circuits (ASICS), or instructions ( instructions), and any other device capable of executing and responding, may be implemented using one or more general purpose computers or special purpose computers.

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

이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

본 발명인 3차원 블록 정보 생성 방법 및 시스템은 3차원 블록 정보를 생성하는 다양한 방법 및 시스템에 적용하는 것이 가능하다.The method and system for generating 3D block information according to the present invention can be applied to various methods and systems for generating 3D block information.

Claims (10)

서버에 의해 수행되는 3차원 블록 정보 생성 방법에 있어서,
사용자 단말로부터 2차원 이미지를 전송받는 동작;
상기 2차원 이미지에 대응하는, 메쉬(mesh) 내부가 채워진 솔리드 메쉬 데이터인 3차원 이미지를 생성하는 동작;
상기 솔리드 메쉬 데이터를 층 단위 분할 또는 층 분할하여 적어도 하나의 조립 블록으로 구성되는 3차원 블록을 생성하는 동작; 및
상기 적어도 하나의 조립 블록의 조합 정보를 포함하는 3차원 블록 정보를 생성하는 동작을 포함하는, 3차원 블록 정보 생성 방법.
In the 3D block information generation method performed by the server,
Receiving a 2D image from a user terminal;
Generating a 3D image corresponding to the 2D image, which is solid mesh data filled inside a mesh;
Generating a three-dimensional block composed of at least one assembly block by dividing or dividing the solid mesh data in layers; And
And generating 3D block information including combination information of the at least one assembly block.
제 1 항에 있어서,
상기 3차원 이미지 생성 동작은
상기 2차원 이미지의 마커 또는 윤곽선을 인식하는 동작;
상기 2차원 이미지의 마커 또는 윤곽선을 이용하여 메쉬(mesh) 데이터를 데이터베이스에서 로딩하는 동작;
상기 메쉬 데이터의 기하 형상 오류 검사를 수행하는 동작; 및
상기 오류 검사에서 검출된 오류를 수정하여 상기 솔리드 메쉬 데이터를 생성하는 동작을 포함하는, 3차원 블록 정보 생성 방법.
According to claim 1,
The three-dimensional image generation operation
Recognizing a marker or contour of the two-dimensional image;
Loading mesh data from a database using markers or contours of the two-dimensional image;
Performing geometric shape error checking of the mesh data; And
And generating the solid mesh data by correcting an error detected in the error check.
제 1 항에 있어서,
상기 조립 블록의 조합 정보는
상기 3차원 블록을 구성하는 상기 적어도 하나의 조립 블록의 개수, 모양, 적층 구조, 적층 위치, 하이어러키 구조 중 적어도 하나를 포함하는, 3차원 블록 정보 생성 방법.
According to claim 1,
The combination information of the assembly block
A method of generating 3D block information, comprising at least one of the number, shape, stacked structure, stacked position, and hierarchical structure of the at least one assembly block constituting the 3D block.
제 1 항에 있어서,
상기 3차원 블록 생성 동작은
상기 솔리드 메쉬 데이터를 상기 적어도 하나의 조립 블록의 높이로 층 분할하는 동작; 및
상기 분할된 층을 상기 적어도 하나의 조립 블록의 너비로 분할하는 동작을 포함하는, 3차원 블록 정보 생성 방법.
According to claim 1,
The 3D block generation operation
Dividing the solid mesh data into layers of the at least one assembly block; And
And dividing the divided layer into a width of the at least one assembly block.
제 4 항에 있어서,
상기 적어도 하나의 조립 블록은
상기 3차원 블록을 표현하는 단위 블록인, 3차원 블록 정보 생성 방법.
The method of claim 4,
The at least one assembly block
A method of generating 3D block information, which is a unit block representing the 3D block.
제 2 항에 있어서,
상기 기하 형상 오류 검사 동작은
상기 메쉬 데이터의 메쉬의 벌어짐, 떨어짐, 노말 벡터의 불균일, 교차겹침 중 적어도 하나를 검사하는, 3차원 블록 정보 생성 방법.
According to claim 2,
The geometric error check operation
A method of generating three-dimensional block information for examining at least one of a gap, a fall, a non-uniformity of a normal vector, and a cross overlap of the mesh of the mesh data.
제 1 항에 있어서,
상기 3차원 블록을 상기 적어도 하나의 조립 블록으로 분리하는 동작;
조립 정보 편집 단말로부터 조립 편집 정보를 전송받는 동작; 및
상기 분리된 조립 블록의 구성 및 상기 조립 편집 정보를 이용하여 상기 3차원 블록의 조립 설명 정보를 생성하는 동작을 포함하는, 3차원 블록 정보 생성 방법.
According to claim 1,
Separating the three-dimensional block into the at least one assembly block;
Receiving assembly editing information from the assembly information editing terminal; And
And generating assembly description information of the 3D block by using the configuration of the separated assembly block and the assembly editing information.
제 7 항에 있어서,
상기 조립 편집 정보는
상기 조립 설명 정보의 페이지 번호, 추가 설명 내용, 조립 시 주의 사항, 하이라이트 이펙트, 색상 중 적어도 하나를 포함하는, 3차원 블록 정보 생성 방법.
The method of claim 7,
The assembly edit information is
Method for generating three-dimensional block information, including at least one of a page number of the assembly description information, additional description contents, precautions when assembling, highlight effects, and colors.
제 7 항에 있어서,
상기 조립 블록 분리 동작은
같은 모양의 상기 적어도 하나의 조립 블록끼리 분리하는, 3차원 블록 정보 생성 방법.
The method of claim 7,
The assembly block separation operation
A method for generating three-dimensional block information, separating the at least one assembly block of the same shape.
제1항 내지 제9항 중 어느 한 항의 상기 3차원 블록 정보 생성 방법이 프로그램으로 기록된 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium in which the method for generating the three-dimensional block information according to any one of claims 1 to 9 is recorded as a program.
KR1020180124309A 2018-10-18 2018-10-18 Method and system for generating 3 dimension block information KR102219345B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180124309A KR102219345B1 (en) 2018-10-18 2018-10-18 Method and system for generating 3 dimension block information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180124309A KR102219345B1 (en) 2018-10-18 2018-10-18 Method and system for generating 3 dimension block information

Publications (2)

Publication Number Publication Date
KR20200043670A true KR20200043670A (en) 2020-04-28
KR102219345B1 KR102219345B1 (en) 2021-02-24

Family

ID=70456110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180124309A KR102219345B1 (en) 2018-10-18 2018-10-18 Method and system for generating 3 dimension block information

Country Status (1)

Country Link
KR (1) KR102219345B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282110A (en) * 1994-04-15 1995-10-27 Nippon Telegr & Teleph Corp <Ntt> Shape display processing method
JP2004206262A (en) * 2002-12-24 2004-07-22 Toyota Motor Corp Method for preparing three-dimensional shape data based on sketch
KR20180000963A (en) * 2016-06-24 2018-01-04 오동욱 Method for assembling block based on object in picture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07282110A (en) * 1994-04-15 1995-10-27 Nippon Telegr & Teleph Corp <Ntt> Shape display processing method
JP2004206262A (en) * 2002-12-24 2004-07-22 Toyota Motor Corp Method for preparing three-dimensional shape data based on sketch
KR20180000963A (en) * 2016-06-24 2018-01-04 오동욱 Method for assembling block based on object in picture

Also Published As

Publication number Publication date
KR102219345B1 (en) 2021-02-24

Similar Documents

Publication Publication Date Title
KR102417645B1 (en) AR scene image processing method, device, electronic device and storage medium
Hilfert et al. Low-cost virtual reality environment for engineering and construction
US8817046B2 (en) Color channels and optical markers
US9262950B2 (en) Augmented reality extrapolation techniques
US20170154468A1 (en) Method and electronic apparatus for constructing virtual reality scene model
US20160267662A1 (en) Camera and Sensor Augmented Reality Techniques
JP6360567B2 (en) Information processing apparatus and information processing method
US20190130599A1 (en) Systems and methods for determining when to provide eye contact from an avatar to a user viewing a virtual environment
US20150339850A1 (en) Multi-view drawing apparatus of three-dimensional objects, and method
CN105611267B (en) Merging of real world and virtual world images based on depth and chrominance information
WO2018000608A1 (en) Method for sharing panoramic image in virtual reality system, and electronic device
US20130329985A1 (en) Generating a three-dimensional image
CN105892650A (en) Information processing method and electronic equipment
JP2022512525A (en) AR scene image processing methods and devices, electronic devices and storage media
US11657568B2 (en) Methods and systems for augmented reality tracking based on volumetric feature descriptor data
KR20200030326A (en) Method, apparatus and computer program for producing mixed reality using single camera of device
CN106485789A (en) A kind of 3D model loading method and its device
KR102219345B1 (en) Method and system for generating 3 dimension block information
KR102468801B1 (en) Method and apparatus for converting virtual reality contents
US20230052104A1 (en) Virtual content experience system and control method for same
JP2024512447A (en) Data generation method, device and electronic equipment
KR20200046538A (en) Method and system for generating 3 dimension color block
KR20220161445A (en) Method and device for constructing 3D geometry
KR20180053494A (en) Method for constructing game space based on augmented reality in mobile environment
Shumaker Virtual, Augmented and Mixed Reality: Designing and Developing Augmented and Virtual Environments: 5th International Conference, VAMR 2013, Held as Part of HCI International 2013, Las Vegas, NV, USA, July 21-26, 2013, Proceedings, Part I

Legal Events

Date Code Title Description
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant