KR20220164238A - Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block - Google Patents

Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block Download PDF

Info

Publication number
KR20220164238A
KR20220164238A KR1020210072757A KR20210072757A KR20220164238A KR 20220164238 A KR20220164238 A KR 20220164238A KR 1020210072757 A KR1020210072757 A KR 1020210072757A KR 20210072757 A KR20210072757 A KR 20210072757A KR 20220164238 A KR20220164238 A KR 20220164238A
Authority
KR
South Korea
Prior art keywords
block
tile
pattern
generator
generating
Prior art date
Application number
KR1020210072757A
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 KR1020210072757A priority Critical patent/KR20220164238A/en
Publication of KR20220164238A publication Critical patent/KR20220164238A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/08Construction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)

Abstract

An apparatus for generating a pattern according to an embodiment of the present invention may include an image acquiring part for acquiring an image; a block generation part for generating a block by cropping a portion of the image into a predetermined polygonal shape; a tile generation part for generating a tile by arranging at least one of the sides of a first block and the side of a second block to be in contact with each other and cutting the arranged block into a predetermined shape; and a space application part for applying the pattern paper generated by connecting the tiles to a virtual space.

Description

이미지 블록 기반 도형 패턴 생성 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{APPARATUS, METHOD, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM FOR GENERATING PATTERN OF POLYGON BASED ON IMAGE BLOCK}Image block-based figure pattern generation device, method, computer readable recording medium and computer program

본 발명은 이미지 블록 기반 도형 패턴 생성 장치, 방법, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to an image block-based figure pattern generating apparatus, method, computer readable recording medium, and computer program.

사람들은 살아가면서 자신의 개성에 부합하면서 보다 아름다운 주거 환경을 추구하고자 하는 욕구를 가지고 있다. 이를 위해, 간단하게는 주거 공간에 새로운 사물을 배치하여 인테리어를 꾸미거나, 나아가 벽지나 바닥재를 교체하고 공간의 구조를 변경하는 등의 인테리어 공사를 진행하기도 한다. People have a desire to pursue a more beautiful residential environment while conforming to their personalities as they live. To this end, the interior is simply decorated by arranging new objects in the residential space, or furthermore, interior construction such as replacing wallpaper or flooring and changing the structure of the space is carried out.

종래에는 인테리어 공사를 위해 의뢰인이 인테리어 전문가에게 자신이 원하는 공간을 만들고자 주거 환경 등의 인테리어 시안을 의뢰하고, 의뢰받은 인테리어 전문가는 고객이 원하는 인테리어를 설계하여 고객에게 제시하는 방식으로 진행하였다. Conventionally, for interior construction, a client requests an interior expert to design an interior such as a residential environment to create a desired space, and the requested interior expert designs an interior desired by the customer and presents it to the customer.

이와 달리, 최근에는 인터넷을 통해 다양한 인테리어 정보가 보급됨에 따라 인터넷 쇼핑몰 사이트에 접속하여 자신이 원하는 인테리어 소품이나 DIY 상품을 구입하여 직접 자신의 공간을 꾸미기도 한다. 나아가, 3차원 가상 공간에 각종 인테리어 요소를 직접 꾸며볼 수 있는 인테리어 서비스(ex. 3D 공간 데이터 플랫폼 어반베이스)가 개발됨에 따라, 인테리어 서비스의 사용자가 직접 자신의 주거 환경을 이식한 가상 공간에 자신의 취향대로 사물을 배치하고 손쉽게 바닥재/벽지 등을 교체해 볼 수 있다. Unlike this, recently, as various interior information is spread through the Internet, people access Internet shopping mall sites and purchase interior accessories or DIY products they want to decorate their own space. Furthermore, with the development of interior services (ex. 3D space data platform Urban Base) that allow you to directly decorate various interior elements in a 3D virtual space, users of the interior service can directly transplant their living environment into the virtual space. You can arrange things according to your taste and easily replace the flooring/wallpaper.

이에 따라, 사용자들은 가상 공간의 인테리어를 통해 간접적으로 실제 인테리어의 느낌을 먼저 체감할 수 있다. Accordingly, users may first indirectly experience the feeling of the real interior through the interior of the virtual space.

한국 공개특허공보 제10-2014-0146685호: 벽지 인테리어정보 서비스 시스템과 가상 벽지인테리어 제어방법Korean Patent Publication No. 10-2014-0146685: Wallpaper interior information service system and virtual wallpaper interior control method

본 발명이 해결하고자 하는 과제는, 특정 이미지의 일부에서 추출한 이미지 블록을 소정의 규칙에 따라 배치한 패턴지를 생성하고, 이와 같이 생성된 패턴지를 인테리어 가상 공간의 바닥재나 벽지 등의 디자인으로 적용할 수 있는 패턴 생성 장치 및 방법을 제공하는 것이다. The problem to be solved by the present invention is to generate a pattern paper in which image blocks extracted from a part of a specific image are arranged according to a predetermined rule, and to apply the generated pattern paper to a design such as flooring or wallpaper in an interior virtual space. It is to provide a pattern generating device and method.

다만, 본 발명이 해결하고자 하는 과제는 이상에서 언급한 바로 제한되지 않으며, 언급되지는 않았으나 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있는 목적을 포함할 수 있다.However, the problems to be solved by the present invention are not limited to those mentioned above, but include objects that are not mentioned but can be clearly understood by those skilled in the art from the description below. can do.

본 발명의 일 실시예에 따른 패턴 생성 장치는 이미지를 획득하는 이미지 획득부; 상기 이미지의 일부를 소정의 다각형 모양으로 크롭하여 블록을 생성하는 블록 생성부; 제1 블록의 변 중 적어도 하나와 제2 블록의 변이 접하도록 배치하고 배치된 블록을 기 설정된 모양으로 잘라내어 타일을 생성하는 타일 생성부; 및 상기 타일을 연결하여 생성한 패턴지를 가상 공간에 적용하는 공간 적용부를 포함할 수 있다.A pattern generating device according to an embodiment of the present invention includes an image acquiring unit acquiring an image; a block generating unit generating a block by cropping a portion of the image into a predetermined polygonal shape; a tile generation unit for generating tiles by arranging at least one of the sides of the first block and the side of the second block to be in contact with each other and cutting the arranged block into a predetermined shape; and a space application unit configured to apply the pattern paper generated by connecting the tiles to a virtual space.

또한, 상기 타일 생성부는 상기 제1 블록에 접하는 제2 블록들이 서로 겹치는 부분이 없도록 배치할 수 있다.In addition, the tile generating unit may arrange second blocks adjacent to the first block so that no overlapping portions are present.

또한, 상기 타일 생성부는 상기 제1 블록에 접하는 제2 블록들이 서로 겹치는 부분이 없도록 배치하였을 때, 빈 공간이 발생하면 상기 빈 공간을 소정의 색으로 채울 수 있다. In addition, when an empty space is generated when second blocks adjacent to the first block are arranged so as not to overlap each other, the tile generating unit may fill the empty space with a predetermined color.

또한, 상기 타일 생성부는 상기 다각형의 종류에 따라 상기 제1 블록에 대해 상기 제2 블록이 배치되어야 하는 기 설정된 위치에 기초하여, 상기 제1 블록 및 상기 제2 블록을 배치할 수 있다.Also, the tile generator may arrange the first block and the second block based on a preset location where the second block should be placed relative to the first block according to the type of polygon.

또한, 상기 타일 생성부는 상기 제1 블록 및 상기 제2 블록의 각각을 포함하는 최소 넓이의 제1 사각형을 생성하였을 때, 상기 제1 블록을 기준으로 상기 제1 사각형이 서로 겹치는 부분이 발생하는 블록들을 하나의 그룹으로 지정하여, 상기 제1 블록에 대해 생성된 제1 사격형 및 상기 그룹에 포함된 블록의 중점을 모두 포함하는 최소 넓이의 제2 사각형으로 잘라내어 상기 타일을 생성할 수 있다.In addition, when the tile generator generates a first rectangle having a minimum area including each of the first block and the second block, a block in which a portion of the first rectangle overlaps each other based on the first block occurs. The tiles may be generated by designating as one group and cutting them into a second rectangle having a minimum width including both the first square shape generated for the first block and the midpoints of the blocks included in the group.

또한, 상기 타일 생성부는 상기 타일의 제1 변 및 상기 제1 변의 반대편인 제3 변을 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴으로 상기 타일을 생성할 수 있다.The tile generating unit may generate the tile in a pattern in which a portion of the block cut is connected to the shape of the original block when the first side of the tile and a third side opposite to the first side face each other.

또한, 상기 타일 생성부는 상기 제1 변과 상기 제3 변을 접하면 마주하는 블록끼리 상기 이미지 중 동일한 부분에서 크롭된 블록을 배치하여 상기 타일을 생성할 수 있다.The tile generating unit may generate the tile by arranging cropped blocks in the same part of the image between blocks facing each other when the first side and the third side are in contact with each other.

본 발명의 일 실시예에 따른 패턴 생성 장치가 수행하는 패턴 생성 방법은 이미지를 획득하는 단계; 상기 이미지의 일부를 소정의 다각형 모양으로 크롭하여 블록을 생성하는 단계; 제1 블록의 변 중 적어도 하나와 제2 블록의 변이 접하도록 배치하고 배치된 블록을 기 설정된 모양으로 잘라내어 타일을 생성하는 단계; 및 상기 타일을 연결하여 생성한 패턴지를 가상 공간에 적용하는 단계를 포함할 수 있다.A pattern generating method performed by a pattern generating apparatus according to an embodiment of the present invention includes acquiring an image; generating a block by cropping a portion of the image into a predetermined polygonal shape; generating a tile by arranging at least one of the sides of the first block and a side of the second block to be in contact with each other and cutting the arranged block into a predetermined shape; and applying a pattern paper generated by connecting the tiles to a virtual space.

본 발명의 실시예에 따르면, 이미지의 일부를 크롭하여 생성된 다각형을 다양한 실시예의 규칙을 기초로 배열함에 따라, 타일의 어느 일 변과 그 반대편의 변을 마주하게 되면 분리된 블록의 모양이 연속하여 이어지는 스타일의 패턴지를 자동으로 생성할 수 있다. According to an embodiment of the present invention, as the polygons generated by cropping a part of an image are arranged based on the rules of various embodiments, when one side of a tile and the opposite side of the tile face each other, the shape of the separated block is continuous. By doing so, it is possible to automatically generate the following style of pattern paper.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다. The effects obtainable in the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. will be.

도 1은 본 발명의 일 실시예에 따른 패턴 생성 장치의 기능 블록도이다.
도 2는 본 발명의 일 실시예에 따라 이미지 블록을 생성하는 동작의 예시도이다.
도 3은 본 발명의 일 실시예에 따라 제1 블록과 제2 블록을 배치하는 동작의 예시도이다.
도 4는 본 발명의 일 실시예에 따른 블록의 모양에 따라 제1 블록 또는 제2 블록이 배치되는 기 설정된 위치를 설명하기 위한 예시도이다.
도 5는 본 발명의 일 실시예에 따라 제1 블록과 제2 블록의 각각을 포함하는 최소 넓이의 제1 사각형을 생성하는 동작의 예시도이다.
도 6은 본 발명의 일 실시예에 따라 제1 블록과 그룹에 포함된 블록의 중점을 모두 포함하는 최소 넓이의 제2 사각형을 생성하는 동작의 예시도이다.
도 7은 본 발명의 일 실시예에 따라 타일의 제1 변 및 반대편인 제3 변을 서로 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴을 설명하기 위한 예시도이다.
도 8은 본 발명의 일 실시예에 따라 생성된 헥사곤 패턴의 예시도이다.
도 9는 본 발명의 일 실시예에 따라 생성된 옥타곤 패턴의 예시도이다.
도 10은 본 발명의 일 실시예에 따라 생성된 패턴지를 가상 공간에 적용한 예시도이다.
도 11은 본 발명의 일 실시예에 따른 패턴 생성 방법의 동작 흐름도이다.
1 is a functional block diagram of a pattern generating device according to an embodiment of the present invention.
2 is an exemplary view of an operation of generating an image block according to an embodiment of the present invention.
3 is an exemplary view of an operation of arranging a first block and a second block according to an embodiment of the present invention.
4 is an exemplary view for explaining a predetermined position at which a first block or a second block is disposed according to a shape of a block according to an embodiment of the present invention.
5 is an exemplary diagram illustrating an operation of generating a first rectangle having a minimum area including each of a first block and a second block according to an embodiment of the present invention.
6 is an exemplary diagram illustrating an operation of generating a second rectangle having a minimum width including both the first block and midpoints of blocks included in the group according to an embodiment of the present invention.
FIG. 7 is an exemplary view for explaining a pattern in which a portion of a block cut is connected in the shape of an original block when a first side and an opposite third side of a tile face each other according to one embodiment of the present invention.
8 is an exemplary view of a hexagon pattern generated according to an embodiment of the present invention.
9 is an exemplary view of an octagon pattern generated according to an embodiment of the present invention.
10 is an exemplary view of applying a pattern paper generated according to an embodiment of the present invention to a virtual space.
11 is an operation flowchart of a pattern generating method according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.  그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하여지도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention, and methods for achieving them will become clear with reference to the detailed description of the following embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and can be implemented in various forms, and the present embodiments only make the disclosure of the present invention complete, and the common knowledge in the technical field to which the present invention belongs It is provided to completely inform the possessor of the scope of the invention, and the scope of the invention is only defined by the claims.

본 발명의 실시예들을 설명하면서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명하면서 실제로 필요한 경우 외에는 생략될 것이다.  그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.  그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.While describing the embodiments of the present invention, specific descriptions of well-known functions or configurations will be omitted unless actually necessary while describing the embodiments of the present invention. In addition, terms to be described later are terms defined in consideration of functions in the embodiment of the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification.

도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성의 조합일 수 있다.The functional blocks shown in the drawings and described below are only examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Also, while one or more functional blocks of the present invention are represented as separate blocks, one or more of the functional blocks of the present invention may be a combination of various hardware and software configurations that perform the same function.

또한 어떤 구성 요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성 요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성 요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression that certain components are included simply indicates that the corresponding components exist as an open expression, and should not be understood as excluding additional components.

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

또한 '제1, 제2' 등과 같은 표현은 복수의 구성을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다. In addition, expressions such as 'first and second' are expressions used only to classify a plurality of components, and do not limit the order or other characteristics between the components.

이하에서는 도면들을 참조하여 본 발명의 실시예들에 대해 설명하도록 한다. Hereinafter, embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 패턴 생성 장치(100)의 기능 블록도이다. 본 발명의 일 실시예에 따른 패턴 생성 장치(100)는 하나 이상의 프로세서를 포함할 수 있고, 하나 이상의 프로세서는 도 1에 포함된 기능 블록들이 후술할 동작들을 수행하도록 제어할 수 있다.1 is a functional block diagram of a pattern generating device 100 according to an embodiment of the present invention. The pattern generating apparatus 100 according to an embodiment of the present invention may include one or more processors, and the one or more processors may control functional blocks included in FIG. 1 to perform operations to be described later.

도 1을 참조하면, 본 발명의 일 실시예에 따른 조작 이미지 판별 장치는 이미지 획득부(110), 블록 생성부(120), 타일 생성부(130) 및 공간 적용부(140)를 포함할 수 있다. Referring to FIG. 1 , an apparatus for determining a manipulated image according to an embodiment of the present invention may include an image acquisition unit 110, a block generator 120, a tile generator 130, and a space application unit 140. there is.

이미지 획득부(110)는 가상 공간의 벽지 또는 바닥재 등에 적용하기 위해 패턴화할 대상이 되는 이미지를 획득할 수 있다. 이미지 획득부(110)는 패턴 생성 장치(100)에 내장된 하드웨어 메모리 또는 외부 클라우드 서버와 연동되는 모듈로 구현되어 이미지를 저장할 수 있다.The image acquiring unit 110 may acquire an image to be patterned in order to apply the wallpaper or flooring of the virtual space. The image acquisition unit 110 may be implemented as a hardware memory built into the pattern generating device 100 or a module that interworks with an external cloud server to store images.

블록 생성부(120)는 이미지의 일부분을 크롭하여 하나 이상의 이미지 블록(이하, '블록'으로 지칭)을 생성할 수 있다. 예를 들어, 블록 생성부(120)는 사용자의 입력 또는 기 설정된 정보에 기초하여 블록을 생성할 수 있다. 일 예로, 블록 생성부(120)는 사용자가 이미지 중에 블록으로 사용될 부분을 특정하는 입력(ex. 드래그)에 기초하여 블록을 생성할 수 있다. 일 예로, 블록 생성부(120)는 사용자가 기 설정한 블록의 형태(ex. 도형의 종류, 변의 길이, 너비, 높이 등)에 대한 정보에 기반하여 이미지 중에 블록으로 사용될 부분을 특정할 수 있다. The block generator 120 may generate one or more image blocks (hereinafter, referred to as 'blocks') by cropping a portion of an image. For example, the block generator 120 may generate a block based on a user's input or preset information. For example, the block generator 120 may create a block based on a user's input (eg, drag) for specifying a portion to be used as a block in an image. For example, the block generator 120 may specify a portion of an image to be used as a block based on information on the shape of a block previously set by the user (ex. type of shape, length of a side, width, height, etc.) .

실시예에 따라, 블록 생성부(120)가 생성하는 블록의 형태는 각각 상이하게 형성될 수 있다. 후술할 도 2는 블록 생성부(120)가 사각형의 형태로 블록을 형성하는 방법을 예시한다. 다만, 본 발명의 실시예는 도 2의 예시와 달리 상이한 형태로 블록의 모양이 형성되는 실시예들을 포함할 수 있으며, 도 2의 예시와 다른 형태의 블록에 대한 설명은 각 실시예에 대한 설명에서 별도로 설명하기로 한다. Depending on the embodiment, blocks generated by the block generator 120 may have different shapes. 2, which will be described later, illustrates a method in which the block generator 120 forms a block in a rectangular shape. However, the embodiment of the present invention may include embodiments in which the shape of the block is formed in a different form than the example of FIG. 2, and the description of the block of a different form from the example of FIG. 2 is a description of each embodiment. will be explained separately.

실시예에 따라, 블록 생성부(120)는 블록의 외곽 중 일부분에 외곽선을 형성할 수 있다. 외곽선을 형성하는 일반적인 동작의 경우를 예시하면 후술할 도 2와 같다. 구체적인 실시예에 따라 외곽선을 형성하는 방법은 도 2의 예시에 한정되지 않은 채 다양하게 적용될 수 있다. 도 2의 예시와 다른 방법으로 외곽선이 적용되는 부분은 각 실시예의 설명에 별도로 설명하기로 한다. 한편, 본 발명의 실시예가 외곽선을 포함하지 않은 채로 블록을 배치하여 타일을 형성할 수 있음은 물론이다. Depending on the embodiment, the block generator 120 may form an outline on a part of the block's outline. An example of a general operation of forming an outline is shown in FIG. 2 to be described later. According to a specific embodiment, a method of forming an outline may be variously applied without being limited to the example of FIG. 2 . The part where the outline is applied in a method different from the example of FIG. 2 will be separately described in the description of each embodiment. Meanwhile, it goes without saying that the embodiment of the present invention may form a tile by arranging blocks without including an outline.

도 2는 본 발명의 일 실시예에 따라 블록을 생성하는 동작의 예시도이다. 2 is an exemplary view of an operation of generating a block according to an embodiment of the present invention.

도 2를 참조하면, (a) 과정에서 블록 생성부(120)는 기 설정된 너비 및 높이로 크기로 이미지의 일부를 크롭하여 복수의 블록(21-1, 21-2)을 생성할 수 있다. (b) 과정에서 블록 생성부(120)는 제1 변 및 제2 변으로 이루어진 외곽선(23)을 블록(21)의 어느 한 꼭짓점을 이루는 외곽에 형성할 수 있다. 후술할 타일 생성부(130)는 외곽선(23)이 형성된 복수의 블록을 소정의 규칙에 따라 배열하여 (c)와 같이 패턴지(25)를 형성할 수 있으며, 이때 패턴지(25)는 외곽선을 통해 각각의 블록들이 구별될 수 있다.Referring to FIG. 2 , in step (a), the block generator 120 may generate a plurality of blocks 21-1 and 21-2 by cropping a part of an image to a preset width and height. In the process (b), the block generator 120 may form an outline 23 composed of a first side and a second side on an outline constituting any one vertex of the block 21 . The tile generation unit 130, which will be described later, may form the pattern paper 25 as shown in (c) by arranging a plurality of blocks on which the outline 23 is formed according to a predetermined rule. At this time, the pattern paper 25 has the outline Each block can be distinguished through.

타일 생성부(130)는 소정의 규칙에 따라 블록을 배치하여 특정한 패턴을 갖는 기 설정된 크기의 타일을 생성할 수 있다. 예를 들어, 타일 생성부(130)는 크롭된 블록 중 하나인 제1 블록을 기준으로 하였을 때, 제1 블록의 변 중 적어도 어느 하나와 제2 블록의 변이 서로 접하도록 배치하고, 배치된 블록을 기 설정된 모양으로 잘라내어 타일을 생성할 수 있다. The tile generator 130 may generate a tile having a specific pattern and a predetermined size by arranging blocks according to a predetermined rule. For example, when the first block, which is one of the cropped blocks, is used as a reference, the tile generator 130 arranges at least one of the sides of the first block and the side of the second block to be in contact with each other, and A tile may be generated by cutting the tile into a preset shape.

타일 생성부(130)는 블록을 소정의 규칙에 따라 배치한 후 타일의 기 설정된 모양을 벗어나는 블록의 부분은 잘라내어 타일을 생성하되, 잘라낸 블록의 부분을 서로 타일의 반대편에 배치하여 본래 블록의 모양대로 이어지는 패턴으로 타일을 생성할 수 있다. 예를 들어, 블록이 타일의 제1 변에서 절단된 채로 배치되는 경우, 제1 변의 반대편인 제3 변에 잘라낸 블록의 부분을 배치하여, 타일의 제1 변과 제3 변을 마주하면 본래 블록의 모양대로 이어지는 패턴으로 타일을 생성할 수 있다. After arranging blocks according to a predetermined rule, the tile generator 130 generates tiles by cutting out portions of the blocks that deviate from the predetermined shape of the tiles, and placing the cut portions of the blocks on opposite sides of the tiles to form original blocks. Tiles can be created in a continuous pattern. For example, if a block is placed while being cut from the first side of the tile, a portion of the block that has been cut is placed on the third side opposite the first side, so that the first side and the third side of the tile face each other, the original block. Tiles can be created with a pattern that follows the shape of the tile.

이하, 이러한 규칙에 따라 생성된 타일의 예시로서 도 3 내지 도 9의 실시예를 설명한다. 본 발명의 실시예는 이해의 편의를 위하여, 도 3 내지 도 8의 실시예에 대해 육각형 모양의 블록을 예시로 하여 설명하고, 도 9의 실시예에 대해 팔각형 모양의 블록을 예시로 하여 타일을 생성하는 동작을 설명한다. 다만, 본 발명의 실시예에 따른 블록의 모양이 예시하는 모양에 한정되는 것은 아니고, 다양한 형태의 다각형에 실시예에서 설명되는 동작을 적용하여 타일을 생성할 수 있다. Hereinafter, the embodiments of FIGS. 3 to 9 will be described as examples of tiles generated according to these rules. For convenience of understanding, the embodiment of the present invention is described by taking a hexagonal block as an example for the embodiment of FIGS. 3 to 8, and taking an octagonal block as an example for the embodiment of FIG. Describe the action to create. However, the shape of the block according to the embodiment of the present invention is not limited to the illustrated shape, and tiles may be generated by applying the operation described in the embodiment to polygons of various shapes.

도 3은 본 발명의 일 실시예에 따라 제1 블록(41)과 제2 블록(42)을 배치하는 동작의 예시도이다. 타일 생성부(130)가 블록을 배치함에 있어서, 기준으로 잡는 하나의 블록을 제1 블록(41)이라 지칭하고, 제1 블록(41)의 어느 한 변에 접하여 배치되는 블록을 제2 블록(42)이라 지칭하기로 한다. 3 is an exemplary view of an operation of arranging the first block 41 and the second block 42 according to an embodiment of the present invention. When the tile generator 130 arranges blocks, one block taken as a reference is referred to as a first block 41, and a block disposed adjacent to one side of the first block 41 is referred to as a second block ( 42) will be referred to as

도 3을 참조하면, 블록 생성부(120)는 이미지 획득부(110)가 획득한 이미지에서 육각형 모양으로 이미지의 일부를 크롭하여 블록을 생성할 수 있다. 블록 생성부(120)는 실시예에 따라 육각형 모양의 블록의 각 변에 외곽선(line)을 형성할 수 있다. Referring to FIG. 3 , the block generation unit 120 may generate a block by cropping a portion of an image in a hexagonal shape from an image acquired by the image acquisition unit 110 . The block generator 120 may form outlines on each side of the hexagonal block according to an embodiment.

타일 생성부(130)는 제1 블록(41)을 기준으로, 제1 블록(41)의 적어도 어느 한 변에 제2 블록(42)의 변이 접하도록 배치할 수 있다. 이때 타일 생성부(130)는 제1 블록(41)에 접하는 제2 블록(42)들이 서로 겹치는 부분이 발생하지 않도록 배치할 수 있다. 블록이 육각형인 경우, 도 3과 같이 제1 블록(41)의 각 변 마다 제2 블록(42)의 한 변이 접하도록 배치할 수 있다. 실시예에 따라, 타일 생성부(130)는 블록 내부의 이미지가 모두 동일한 제1 블록(41) 및 제2 블록(42)을 배치하거나, 또는 후술할 도 7과 같이 특정한 규칙에 따라 블록의 위치에 따라 블록 내부의 이미지를 결정하여 배치할 수 있다. The tile generation unit 130 may arrange a side of the second block 42 to be in contact with at least one side of the first block 41 based on the first block 41 . In this case, the tile generator 130 may arrange the second blocks 42 that are in contact with the first block 41 so that overlapping portions do not occur. When the blocks are hexagonal, as shown in FIG. 3 , each side of the first block 41 may be disposed such that one side of the second block 42 is in contact with each other. Depending on the embodiment, the tile generation unit 130 arranges the first block 41 and the second block 42 having the same images inside the blocks, or positions the blocks according to a specific rule as shown in FIG. 7 to be described later. Depending on this, the image inside the block can be determined and arranged.

도 4는 본 발명의 일 실시예에 따른 블록의 모양에 따라 제1 블록(41) 또는 제2 블록(42)이 배치되는 기 설정된 위치를 설명하기 위한 예시도이다. Figure 4 is an exemplary view for explaining a predetermined position at which the first block 41 or the second block 42 is disposed according to the shape of the block according to an embodiment of the present invention.

도 4를 참조하면, 타일 생성부(130)는 블록의 모양인 다각형의 종류에 기초하여 제1 블록(41)과 제2 블록(42)이 배치되어야 하는 위치 정보를 저장할 수 있다. 또는, 타일 생성부(130)는 블록의 모양인 다각형의 종류에 기초하여 블록이 배치되어야 하는 위치를 계산하여 각 블록을 배치할 수 있다. Referring to FIG. 4 , the tile generation unit 130 may store location information where the first block 41 and the second block 42 should be placed based on the type of polygon, which is the shape of the block. Alternatively, the tile creation unit 130 may arrange each block by calculating the position where the block should be placed based on the type of polygon, which is the shape of the block.

도 4의 경우, 블록이 육각형 모양이므로, 타일 생성부(130)는 육각형의 변의 길이 또는 크기에 기초하여, 제1 블록(41) 및 각 제2 블록(42)의 중점(30)이 배치되어야 하는 기 설정된 위치 관계에 따라 각 블록을 배열하거나 또는 배열되어야 하는 위치를 계산할 수 있다. 타일 생성부(130)는 결정된 위치 관계에 따라 제1 블록(41) 및 제2 블록(42)을 배치할 수 있다. In the case of FIG. 4 , since the block has a hexagonal shape, the tile creation unit 130 needs to place the midpoint 30 of the first block 41 and each second block 42 based on the length or size of the side of the hexagon. Each block may be arranged according to a predetermined positional relationship or a position to be arranged may be calculated. The tile generator 130 may arrange the first block 41 and the second block 42 according to the determined positional relationship.

도 4의 경우, 타일 생성부는 육각형 제1 블록의 변의 길이에

Figure pat00001
배 곱한 값을 x1으로 결정하고, 육각형 제1 블록의 변의 길이의
Figure pat00002
배 곱한 값을 y1으로 결정하여, 제1 블록의 중점의 좌표가 (0, 0) 일 때, 제2 블록 6개의 중점의 위치를 (-x1, y1), (-x1, -y1), (0, -2*y1), (x1, -y1), (x1, y1), (0, 2*y1) 와 같이 계산하여, 각 블록의 중점을 해당 좌표에 배치할 수 있다. In the case of FIG. 4 , the tile creation unit determines the length of the side of the first hexagonal block.
Figure pat00001
The multiplied value is determined as x1, and the length of the side of the first block of the hexagon
Figure pat00002
By determining the multiplied value as y1, when the coordinates of the midpoint of the first block are (0, 0), the positions of the midpoints of the six second blocks are (-x1, y1), (-x1, -y1), ( 0, -2*y1), (x1, -y1), (x1, y1), (0, 2*y1), the center of each block can be placed at the corresponding coordinate.

도 5는 본 발명의 일 실시예에 따라 제1 블록(41)과 제2 블록(42)의 각각을 포함하는 최소 넓이의 제1 사각형을 생성하는 동작의 예시도이다. 5 is an exemplary diagram of an operation of generating a first rectangle having a minimum area including each of the first block 41 and the second block 42 according to an embodiment of the present invention.

도 5를 참조하면, 타일 생성부(130)는 제1 블록(41) 및 제2 블록(42)의 각각을 포함하는 최소 넓이의 제1 사각형(41)을 생성할 수 있다. 이때 타일 생성부(130)는 제1 사각형 중 서로 겹치는 부분(51)이 발생하는 블록들을 하나의 그룹으로 지정할 수 있다. 도 4의 경우, 제1 블록(41)에 접하는 모든 제2 블록(42)에 대해 형성된 제1 사각형에서 서로 겹치는 부분(51)이 발생하므로, 타일 생성부(130)는 제1 블록(41) 및 제2 블록(42)을 모두 하나의 그룹으로 지정할 수 있다. Referring to FIG. 5 , the tile generator 130 may generate a first rectangle 41 having a minimum width including each of the first block 41 and the second block 42 . In this case, the tile generator 130 may designate blocks in which the overlapping portion 51 occurs among the first rectangles as one group. In the case of FIG. 4 , since overlapping portions 51 occur in first rectangles formed for all second blocks 42 that are in contact with the first block 41, the tile generator 130 generates the first block 41 and the second block 42 may all be designated as one group.

도 6은 본 발명의 일 실시예에 따라 제1 블록(41)과 그룹에 포함된 블록의 중점(30)을 모두 포함하는 최소 넓이의 제2 사각형을 생성하는 동작의 예시도이다. 6 is an exemplary diagram illustrating an operation of generating a second rectangle having a minimum width including both the first block 41 and midpoints 30 of blocks included in the group according to an embodiment of the present invention.

도 6을 참조하면, 타일 생성부(130)는 제1 블록(41)에 대해 생성된 제1 사각형 및 상기 그룹에 포함된 블록의 중점(30)을 모두 포함하는 최소 넓이의 제2 사각형(42)으로 잘라내어 타일을 생성할 수 있다. Referring to FIG. 6 , the tile generator 130 generates a first rectangle 42 of a minimum width including both the first rectangle generated for the first block 41 and the midpoints 30 of the blocks included in the group. ) to create tiles.

도 7은 본 발명의 일 실시예에 따라 타일의 제1 변 및 반대편인 제3 변을 서로 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴을 설명하기 위한 예시도이다. FIG. 7 is an exemplary view for explaining a pattern in which a portion of a block cut is connected in the shape of an original block when a first side and an opposite third side of a tile face each other according to one embodiment of the present invention.

도 7을 참조하면, 타일 생성부(130)는 타일의 제1 변(ex. 왼쪽 변 또는 위쪽 변) 및 상기 제1 변의 반대편인 제3 변(ex. 오른쪽 변 또는 아래쪽 변)을 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴으로 타일을 생성할 수 있다. 예를 들어, 타일 생성부(130)는 제1 변과 제3 변을 접하면 마주하는 블록(ex. 도 7의 붉은 화살표가 서로 지칭하는 블록들)끼리 이미지 획득부(110)가 획득한 이미지 중 동일한 부분에서 크롭된 블록을 배치하여 타일을 생성할 수 있다. Referring to FIG. 7 , when the tile generator 130 faces the first side (eg, the left side or upper side) of the tile and the third side (eg, the right side or lower side) opposite to the first side, the tile is cut. Tiles can be created in a pattern where parts of a block follow the shape of the original block. For example, when the first side and the third side are in contact with each other, the tile generation unit 130 displays an image obtained by the image acquisition unit 110 between blocks (ex. blocks indicated by red arrows in FIG. 7 ). A tile can be created by arranging the cropped block in the same part of the block.

도 8은 본 발명의 일 실시예에 따라 생성된 헥사곤 패턴의 예시도이다.8 is an exemplary view of a hexagon pattern generated according to an embodiment of the present invention.

도 8을 참조하면, 공간 적용부(140)는 타일 생성부(130)가 생성한 타일을 상, 하, 좌, 우로 연결하여 헥사곤 패턴의 패턴지를 생성할 수 있고, 도 8과 같이 타일의 제1 변 및 반대편인 제3 변을 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴으로 타일을 생성될 수 있다. Referring to FIG. 8 , the space application unit 140 may create a pattern paper having a hexagon pattern by connecting the tiles generated by the tile generation unit 130 up, down, left, and right, and as shown in FIG. When the first side and the opposite third side face each other, a tile may be created in a pattern in which the cut portion of the block continues in the shape of the original block.

도 9는 본 발명의 일 실시예에 따라 생성된 옥타곤 패턴의 예시도이다.9 is an exemplary view of an octagon pattern generated according to an embodiment of the present invention.

도 9를 참조하면, 블록 생성부(120)는 이미지 획득부(110)가 획득한 이미지에서 팔각형 모양으로 이미지의 일부를 크롭하여 블록을 생성할 수 있다. 블록 생성부(120)는 실시예에 따라 팔각형 모양의 블록의 각 변에 외곽선을 형성할 수 있다. Referring to FIG. 9 , the block generation unit 120 may generate a block by cropping a part of an image in an octagonal shape from an image acquired by the image acquisition unit 110 . The block generator 120 may form outlines on each side of the octagonal block according to an embodiment.

타일 생성부(130)는 제1 블록(41)을 기준으로, 제1 블록(41)의 적어도 어느 한 변에 제2 블록(42)의 변이 접하도록 배치할 수 있다. 이때 타일 생성부(130)는 제1 블록(41)에 접하는 제2 블록(42)들이 서로 겹치는 부분이 없도록 배치할 수 있다. 블록이 팔각형일 때 제1 블록(41)의 각 변 마다 제2 블록(42)이 접하도록 배치하되 겹치는 부분이 발생하지 않도록 배치하는 경우, 도 9와 같이 제1 블록(41)의 네 변에만 제2 블록(42)이 접하도록 배치할 수 있다. 실시예에 따라, 타일 생성부(130)는 제1 블록(41)에 접하는 제2 블록(42)들이 서로 겹치는 부분이 없도록 배치하였을 때 빈 공간이 발생하면 상기 빈 공간을 소정의 색으로 채울 수 있다. 도 9의 경우는 타일 생성부(130)가 빈 공간을 검정색으로 채운 예시이다. The tile generation unit 130 may arrange a side of the second block 42 to be in contact with at least one side of the first block 41 based on the first block 41 . In this case, the tile generation unit 130 may arrange the second blocks 42 that are in contact with the first block 41 so that they do not overlap each other. When the block is an octagon, the second block 42 is arranged so that each side of the first block 41 is in contact with each other, but when arranged so that overlapping parts do not occur, as shown in FIG. 9, only the four sides of the first block 41 It may be arranged so that the second block 42 is in contact with it. Depending on the embodiment, the tile creation unit 130 may fill the empty space with a predetermined color when an empty space occurs when the second blocks 42 in contact with the first block 41 are arranged so as not to overlap each other. there is. 9 is an example in which the tile creation unit 130 fills the empty space with black.

타일 생성부(130)는 제1 블록(41) 및 제2 블록(42)의 각각을 포함하는 최소 넓이의 제1 사각형(41)을 생성할 수 있다. 이때 타일 생성부(130)는 제1 사각형 중 서로 겹치는 부분이 발생하는 블록들을 하나의 그룹으로 지정할 수 있다. 도 9의 경우, 제1 블록(41)에 접하는 제2 블록(42)에 대해 형성된 제1 사각형에서 서로 겹치는 부분이 발생하지 않으므로, 타일 생성부(130)는 제1 블록(41) 만을 포함하여 하나의 그룹으로 지정할 수 있다.The tile generator 130 may generate a first rectangle 41 having a minimum width including each of the first block 41 and the second block 42 . In this case, the tile generator 130 may designate blocks in which overlapping portions of the first rectangle occur as one group. In the case of FIG. 9 , since overlapping portions do not occur in the first rectangle formed for the second block 42 adjacent to the first block 41, the tile generator 130 includes only the first block 41. Can be assigned as a group.

타일 생성부(130)는 제1 블록(41)에 대해 생성된 제1 사각형 및 상기 그룹에 포함된 블록의 중점(30)을 모두 포함하는 최소 넓이의 제2 사각형(42)으로 잘라내어 타일을 생성할 수 있다.The tile generator 130 cuts out the first rectangle 41 of the first block 41 and the second rectangle 42 of the minimum width including both the midpoints 30 of the blocks included in the group to generate a tile. can do.

공간 적용부(140)는 타일 생성부(130)가 생성한 타일을 상, 하, 좌, 우로 연결하여 옥타곤 패턴의 패턴지를 생성할 수 있다. The space application unit 140 may create pattern paper of an octagon pattern by connecting the tiles generated by the tile generation unit 130 up, down, left, and right.

도 10은 본 발명의 일 실시예에 따라 생성된 패턴지를 가상 공간에 적용한 예시도이다. 10 is an exemplary view of applying a pattern paper generated according to an embodiment of the present invention to a virtual space.

도 10을 참조하면, 공간 적용부(140)는 타일 생성부(130)가 생성한 일 단위의 타일을 상, 하, 좌, 우로 반복 연결함으로써 상기 패턴이 연결된 패턴지를 생성하여 벽지 또는 바닥재의 디자인으로 가상 공간에 적용할 수 있다. Referring to FIG. 10 , the space application unit 140 repeatedly connects one unit of tiles generated by the tile generation unit 130 up, down, left, and right to generate pattern paper to which the pattern is connected to design wallpaper or flooring. can be applied to the virtual space.

도 11은 본 발명의 일 실시예에 따른 패턴 생성 방법의 동작 흐름도이다. 도 11에 따른 패턴 생성 방법의 각 단계는 도 1을 통해 설명된 패턴 생성 장치(100)에 의해 수행될 수 있으며, 각 단계를 설명하면 다음과 같다.11 is an operation flowchart of a pattern generating method according to an embodiment of the present invention. Each step of the pattern generating method according to FIG. 11 may be performed by the pattern generating device 100 described with reference to FIG. 1 , and each step is described as follows.

S1010 단계에서, 이미지 획득부(110)는 패턴화할 대상이 되는 이미지를 획득할 수 있다. In step S1010, the image acquisition unit 110 may acquire an image to be patterned.

S1020 단계에서, 블록 생성부(120)는 이미지의 일부를 다각형 모양으로 크롭하여 블록을 생성할 수 있다.In step S1020, the block generation unit 120 may generate a block by cropping a part of the image into a polygonal shape.

S1030 단계에서, 타일 생성부(130)는 제1 블록의 변 중 적어도 하나와 제2 블록의 변이 서로 접하도록 배치하고 배치된 블록을 소정의 규칙에 따라 기 설정된 모양으로 잘라내어 타일을 생성할 수 있다. In step S1030, the tile generator 130 may generate tiles by placing at least one of the sides of the first block and a side of the second block in contact with each other and cutting the arranged block into a predetermined shape according to a predetermined rule. .

S1040 단계에서, 적용부(140)는 타일을 연결하여 생성한 패턴지를 가상 공간에 적용할 수 있다. In step S1040, the application unit 140 may apply the pattern paper generated by connecting the tiles to the virtual space.

한편, 도 11에서 각 단계의 주체인 구성 요소들이 해당 단계를 실시하기 위한 동작은 도 1 내지 도 10과 함께 설명하였으므로 중복된 설명은 생략한다.Meanwhile, in FIG. 11 , since the operation for performing the corresponding step by the components that are the subject of each step has been described together with FIGS. 1 to 10 , duplicated description will be omitted.

상술한 실시예들에 의하면, 이미지의 일부를 크롭하여 생성된 다각형을 다양한 실시예의 규칙을 기초로 배열함에 따라, 타일의 어느 일 변과 그 반대편의 변을 마주하게 되면 분리된 블록의 모양이 연속하여 이어지는 스타일의 패턴지를 자동으로 생성할 수 있다.According to the above-described embodiments, as the polygons generated by cropping a part of an image are arranged based on the rules of various embodiments, when one side of a tile and the opposite side of the tile face each other, the shape of the separated block is continuous. By doing so, it is possible to automatically generate the following style of pattern paper.

상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.The above-described embodiments of the present invention may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로프로세서 등에 의해 구현될 수 있다.In the case of hardware implementation, the method according to the embodiments of the present invention includes one or more ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices) , Field Programmable Gate Arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드 등이 기록된 컴퓨터 프로그램은 컴퓨터 판독 가능 기록 매체 또는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 프로세서 내부 또는 외부에 위치하며, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, the method according to the embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. A computer program in which software codes and the like are recorded may be stored in a computer readable recording medium or a memory unit and driven by a processor. The memory unit is located inside or outside the processor, and can exchange data with the processor by various means known in the art.

또한 본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.In addition, combinations of each block of the block diagram and each step of the flowchart attached to the present invention may be performed by computer program instructions. Since these computer program instructions may be loaded into an encoding processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, the instructions executed by the encoding processor of the computer or other programmable data processing equipment are each block or block diagram of the block diagram. Each step in the flow chart creates means for performing the functions described. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means for performing the functions described in each block of the block diagram or each step of the flow chart. The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. It is also possible that the instructions performing the processing equipment provide steps for executing the functions described in each block of the block diagram and each step of the flowchart.

더불어 각 블록 또는 각 단계는 특정된 논리적 기능을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment or piece of code that contains one or more executable instructions for executing a specified logical function. It should also be noted that in some alternative embodiments it is possible for the functions recited in blocks or steps to occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order depending on their function.

이와 같이, 본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적이며 한정적이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허 청구범위에 의하여 나타내어지며, 특허 청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art to which the present invention pertains will be able to understand that the present invention may be embodied in other specific forms without changing its technical spirit or essential features. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The scope of the present invention is indicated by the following patent claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

Claims (10)

이미지를 획득하는 이미지 획득부;
상기 이미지의 일부를 소정의 다각형 모양으로 크롭하여 블록을 생성하는 블록 생성부;
제1 블록의 변 중 적어도 하나와 제2 블록의 변이 접하도록 배치하고 배치된 블록을 기 설정된 모양으로 잘라내어 타일을 생성하는 타일 생성부; 및
상기 타일을 연결하여 생성한 패턴지를 가상 공간에 적용하는 공간 적용부를 포함하는,
패턴 생성 장치.
an image acquiring unit acquiring an image;
a block generating unit generating a block by cropping a portion of the image into a predetermined polygonal shape;
a tile generation unit for generating tiles by arranging at least one of the sides of the first block and the side of the second block to be in contact with each other and cutting the arranged block into a predetermined shape; and
A space application unit for applying the pattern paper generated by connecting the tiles to a virtual space,
pattern generator.
제1항에 있어서,
상기 타일 생성부는,
상기 제1 블록에 접하는 제2 블록들이 서로 겹치는 부분이 없도록 배치하는,
패턴 생성 장치.
According to claim 1,
The tile generator,
Arranged so that the second blocks in contact with the first block do not overlap each other,
pattern generator.
제2항에 있어서,
상기 타일 생성부는,
상기 제1 블록에 접하는 제2 블록들이 서로 겹치는 부분이 없도록 배치하였을 때, 빈 공간이 발생하면 상기 빈 공간을 소정의 색으로 채우는,
패턴 생성 장치.
According to claim 2,
The tile generator,
When the second blocks in contact with the first block are arranged so that they do not overlap each other, filling the empty space with a predetermined color when an empty space occurs,
pattern generator.
제2항에 있어서,
상기 타일 생성부는,
상기 다각형의 종류에 따라 상기 제1 블록에 대해 상기 제2 블록이 배치되어야 하는 기 설정된 위치에 기초하여, 상기 제1 블록 및 상기 제2 블록을 배치하는,
패턴 생성 장치.
According to claim 2,
The tile generator,
arranging the first block and the second block based on a preset location where the second block should be placed with respect to the first block according to the type of the polygon;
pattern generator.
제1항에 있어서,
상기 타일 생성부는,
상기 제1 블록 및 상기 제2 블록의 각각을 포함하는 최소 넓이의 제1 사각형을 생성하였을 때, 상기 제1 블록을 기준으로 상기 제1 사각형이 서로 겹치는 부분이 발생하는 블록들을 하나의 그룹으로 지정하여, 상기 제1 블록에 대해 생성된 제1 사격형 및 상기 그룹에 포함된 블록의 중점을 모두 포함하는 최소 넓이의 제2 사각형으로 잘라내어 상기 타일을 생성하는,
패턴 생성 장치.
According to claim 1,
The tile generator,
When a first rectangle having a minimum width including each of the first block and the second block is generated, blocks in which the overlapping portion of the first rectangle occurs based on the first block are designated as one group. to generate the tile by cutting into a second rectangle having a minimum width including both the first square shape generated for the first block and the midpoints of the blocks included in the group,
pattern generator.
제1항에 있어서,
상기 타일 생성부는,
상기 타일의 제1 변 및 상기 제1 변의 반대편인 제3 변을 마주하면 잘려진 블록의 부분이 본래 블록의 모양대로 이어지는 패턴으로 상기 타일을 생성하는,
패턴 생성 장치.
According to claim 1,
The tile generator,
When the first side of the tile and the third side opposite to the first side are faced, the tile is generated in a pattern in which a portion of the block that is cut continues in the shape of the original block.
pattern generator.
제6항에 있어서,
상기 타일 생성부는,
상기 제1 변과 상기 제3 변을 접하면 마주하는 블록끼리 상기 이미지 중 동일한 부분에서 크롭된 블록을 배치하여 상기 타일을 생성하는,
패턴 생성 장치.
According to claim 6,
The tile generator,
generating the tile by arranging blocks cropped from the same part of the image between blocks facing each other when the first side and the third side are in contact;
pattern generator.
패턴 생성 장치가 수행하는 패턴 생성 방법에 있어서,
이미지를 획득하는 단계;
상기 이미지의 일부를 소정의 다각형 모양으로 크롭하여 블록을 생성하는 단계;
제1 블록의 변 중 적어도 하나와 제2 블록의 변이 접하도록 배치하고 배치된 블록을 기 설정된 모양으로 잘라내어 타일을 생성하는 단계; 및
상기 타일을 연결하여 생성한 패턴지를 가상 공간에 적용하는 단계를 포함하는,
패턴 생성 방법.
In the pattern generating method performed by the pattern generating device,
acquiring an image;
generating a block by cropping a portion of the image into a predetermined polygonal shape;
generating a tile by arranging at least one of the sides of the first block and a side of the second block to be in contact with each other and cutting the arranged block into a predetermined shape; and
Including the step of applying the pattern paper generated by connecting the tiles to a virtual space,
How to create a pattern.
제8항의 방법을 프로세서가 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록매체.
A computer-readable recording medium on which a computer program including instructions for causing a processor to perform the method of claim 8 is recorded.
제8항의 방법을 프로세서가 수행하도록 하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium for causing a processor to perform the method of claim 8.
KR1020210072757A 2021-06-04 2021-06-04 Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block KR20220164238A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210072757A KR20220164238A (en) 2021-06-04 2021-06-04 Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210072757A KR20220164238A (en) 2021-06-04 2021-06-04 Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block

Publications (1)

Publication Number Publication Date
KR20220164238A true KR20220164238A (en) 2022-12-13

Family

ID=84439059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210072757A KR20220164238A (en) 2021-06-04 2021-06-04 Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block

Country Status (1)

Country Link
KR (1) KR20220164238A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038920A1 (en) * 2022-08-16 2024-02-22 주식회사 어반베이스 Image block-based figure pattern generating apparatus, method, computer-readable recording medium, and computer program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140146685A (en) 2013-06-17 2014-12-29 주식회사 이노넥스트 Information service system for interior of wallpaper, and method for simulation interior of wallpaper

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140146685A (en) 2013-06-17 2014-12-29 주식회사 이노넥스트 Information service system for interior of wallpaper, and method for simulation interior of wallpaper

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024038920A1 (en) * 2022-08-16 2024-02-22 주식회사 어반베이스 Image block-based figure pattern generating apparatus, method, computer-readable recording medium, and computer program

Similar Documents

Publication Publication Date Title
US20230071026A1 (en) Generating three-dimensional virtual scene
EP3371782B1 (en) Technique for extruding a 3d object into a plane
US9734264B2 (en) Fabricating three-dimensional objects with embossing
CN106663330A (en) Systems and methods for mass distribution of 3-dimensional reconstruction over network
CN108837510B (en) Information display method and device, storage medium and electronic device
US10762682B2 (en) Skinning weights and underlying object suppression of three-dimensional images
US10453253B2 (en) Virtual asset map and index generation systems and methods
JP2009116856A (en) Image processing unit, and image processing method
CN106991205B (en) Method for displaying components of a digitally modeled object
KR20180132049A (en) Image processing method and apparatus
KR20220164238A (en) Apparatus, method, computer-readable storage medium and computer program for generating pattern of polygon based on image block
US20130016098A1 (en) Method for creating a 3-dimensional model from a 2-dimensional source image
CN113963095B (en) Urban three-dimensional map video stream encryption method and system based on artificial intelligence
KR20220154525A (en) Apparatus, method, computer-readable storage medium and computer program for generating pattern of square based on image block
KR20220164237A (en) Apparatus, method, computer-readable storage medium and computer program for generating pattern of connection and rotation based on image block
KR20220154508A (en) Apparatus, method, computer-readable storage medium and computer program for generating pattern of connecting edge part based on image block
JP6376591B2 (en) Data output device, data output method, and three-dimensional object manufacturing system
WO2023005934A1 (en) Data processing method and system, and electronic device
CN112560126B (en) Data processing method, system and storage medium for 3D printing
CN115761166A (en) Map construction method based on vector tiles and application thereof
CN111626803A (en) Method and device for customizing article virtualization and storage medium thereof
US20160070822A1 (en) Method, Apparatus and Computer Program Code for Design and Visualization of a Physical Object
KR20140077749A (en) Method for generating terrain and apparatus using the method
Li et al. Creating Games with Unity, Substance Painter, & Maya: Models, Textures, Animation, & Code
Bazzurri et al. Optimization Techniques for Photogrammetry Applied to Cultural Heritage and the Action of Transformation Groups

Legal Events

Date Code Title Description
E902 Notification of reason for refusal