KR20200046538A - 3차원 컬러 블록 생성 방법 및 시스템 - Google Patents

3차원 컬러 블록 생성 방법 및 시스템 Download PDF

Info

Publication number
KR20200046538A
KR20200046538A KR1020180127848A KR20180127848A KR20200046538A KR 20200046538 A KR20200046538 A KR 20200046538A KR 1020180127848 A KR1020180127848 A KR 1020180127848A KR 20180127848 A KR20180127848 A KR 20180127848A KR 20200046538 A KR20200046538 A KR 20200046538A
Authority
KR
South Korea
Prior art keywords
color
image
block
unit
generating
Prior art date
Application number
KR1020180127848A
Other languages
English (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 KR1020180127848A priority Critical patent/KR20200046538A/ko
Publication of KR20200046538A publication Critical patent/KR20200046538A/ko

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
    • G06T17/205Re-meshing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • 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/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

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

Abstract

본 발명은 3차원 컬러 블록 생성 방법 및 시스템에 관한 것으로서, 실시예들은 사용자 단말에서 인식한 2차원 이미지를 표현하는 3차원 컬러 블록을 생성하는 방법에 관한 것이다. 본 발명의 일실시예에 따른 3차원 컬러 블록 생성 방법은, 사용자 단말로부터 2차원 이미지를 전송받는 동작, 상기 2차원 이미지에 대응하는 메쉬(mesh) 내부가 채워진 솔리드 메쉬 데이터인 3차원 이미지를 생성하는 동작, 상기 3차원 이미지를 표현하는 단위 블록의 조합으로 구성된 3차원 조립 블록을 생성하는 동작, 상기 2차원 이미지의 색상을 이용하여 상기 3차원 이미지에 색상을 래핑하여 3차원 컬러 이미지를 생성하는 동작 및 상기 단위 블록의 색상을 상기 단위 블록이 위치한 상기 3차원 컬러 이미지의 색상으로 결정하여, 3차원 컬러 블록을 생성하는 동작을 포함할 수 있다.

Description

3차원 컬러 블록 생성 방법 및 시스템{METHOD AND SYSTEM FOR GENERATING 3 DIMENSION COLOR BLOCK}
아래 실시예들은 3차원 컬러 블록 생성 방법, 이를 수행하는 서버 및 사용자 단말에 관한 것이다. 구체적으로, 사용자 단말에서 인식한 2차원 이미지를 표현하는 3차원 컬러 블록을 생성하는 방법에 관한 것이다.
최근 들어, 영상 분야의 비약적인 발전으로 인해 다양한 영상 기술이 개발 및 응용되고 있으며, 특히, 컴퓨터 또는 사용자 단말을 통해 가상 현실 또는 증강 현실 영상을 재생하고 관람하는 기술이 등장하고 있다.
여기에서, 가상 현실(Virtual Reality: VR)이라 함은 실제 현실은 아니지만 사용자가 현실과 같은 환경을 3차원적인 시각(Sight)을 통해 경험할 수 있는 시뮬레이션 기술을 의미하며, 증강 현실(Augmented Reality: AR)이라 함은 사용자가 눈으로 보는 현실세계에 증강 현실 컨텐츠(또는 가상의 오브젝트(Object))를 겹쳐 보여주는 시뮬레이션 기술을 의미한다. 증강 현실은, 현실세계에 실시간으로 부가정보를 갖는 증강 현실 컨텐츠를 합쳐 하나의 영상으로 보여주는 특징으로 인해 흔히 혼합 현실(Mixed Reality: MR)이라고도 불리운다.
앞서 설명한 가상 현실과 증강 현실은 서로 비슷한 듯 하지만 그 주체가 허상이냐 실상이냐에 따라 명확히 구분될 수 있다.
컴퓨터 격투 게임을 예로 들어 양자를 비교 설명하면, 가상 현실 게임은 나를 대신하는 캐릭터가 가상의 공간에서 가상의 적과 대결하지만, 증강 현실 게임은 현실의 내가 현실의 공간에서 가상의 적과 대결을 벌이는 형태가 된다. 그에 따라, 증강 현실 기술을 이용할 경우 현실에 실제로 존재하지 않는 가상 캐릭터 등이 화면상으로는 실제로 존재하는 것처럼 보여질 수 있다.
따라서, 이러한 증강 현실 기술은 가상의 환경만으로 구성된 가상 현실 기술과는 달리, 실제 환경과 증강 현실 컨텐츠가 혼합된 영상이 사용자에게 제공되는 것이므로, 사용자로서는 증강 현실 컨텐츠를 실제 환경과 함께 볼 수 있어 가상의 환경만으로 구성된 가상 현실과 비교할 때 보다 나은 현실감과 부가 정보가 제공된다는 장점이 존재하고 있다.
과거 또는 현재의 증강 현실은, 카메라로부터 촬영되는 영상으로부터 실제 영상과 함께 증강 현실 마커를 감지하되, 상기 감지된 마커에 대응되는 증강 현실 컨텐츠를 상기 실제 영상에 합성하여 출력하는 방법으로 실현되고 있다.
사용자는 이러한 증강 현실 기술을 통해, 다양한 증강 현실 컨텐츠를 경험할 수 있게 되었다. 일례로, 사용자는 사용자가 촬영한 건물 영상에 대해, 해당 건물에 입주해 있는 음식점 또는 카페들의 정보를 건물 영상들과 함께 제공받기도 하며, 사용자가 촬영한 캐릭터 영상에 대해, 해당 캐릭터로 게임을 즐길 수 있는 증강 현실 컨텐츠를 제공받을 수 있었다.
다만, 과거 또는 현재의 증강 현실 컨텐츠는 가상의 컨텐츠로, 사용자는 사용자 단말의 어플리케이션을 통해 증강 현실 컨텐츠를 보거나 체험할 수 밖에 없었다. 가상 컨텐츠로 제공되는 증강 현실 컨텐츠는, 사용자가 실제로 만지고, 체험하는 실제 컨텐츠에 비해, 사용자의 흥미를 이끌어내는데 한계가 있었다.
따라서, 최근 사용자의 액션에 따라 생성되는 증강 현실 컨텐츠를 가상의 컨텐츠 뿐만 아니라, 사용자가 실제로 만지고 체험할 수 있는 실제 컨텐츠로 제공하고자 하는 다양한 시도가 이뤄지고 있으며, 사용자의 다양한 니즈를 충족시키기 위해 증강 현실 컨텐츠를 실제 컨텐츠로 생성하여 제공하기 위한 연구와 기술 개발이 활발히 이뤄지고 있다.
일 측에 따른 서버에 의해 수행되는 3차원 컬러 블록 생성 방법에 있어서, 사용자 단말로부터 2차원 이미지를 전송받는 동작; 상기 2차원 이미지에 대응하는, 메쉬(mesh) 내부가 채워진 솔리드 메쉬 데이터인 3차원 이미지를 생성하는 동작; 상기 3차원 이미지를 표현하는 단위 블록의 조합으로 구성된 3차원 조립 블록을 생성하는 동작; 상기 2차원 이미지의 색상을 이용하여 상기 3차원 이미지에 색상을 래핑하여 3차원 컬러 이미지를 생성하는 동작; 및 상기 단위 블록의 색상을 상기 단위 블록이 위치한 상기 3차원 컬러 이미지의 색상으로 결정하여, 3차원 컬러 블록을 생성하는 동작을 포함하는 3차원 컬러 블록 생성 방법을 제공한다.
상기 3차원 컬러 이미지 생성 동작은 상기 2차원 이미지의 색상을 인식하는 동작; 및 상기 2차원 이미지의 윤곽선 내부의 색상만 인식하도록 상기 2차원 이미지의 색상을 보정하는 동작을 포함한다.
상기 2차원 이미지 색상 보정 동작은 상기 2차원 이미지의 윤곽선 외부의 색상을 제거하거나, 상기 2차원 이미지의 윤곽선 내부의 색상을 변경한다.
상기 3차원 컬러 이미지 생성 동작은 상기 3차원 이미지의 제 1 영역을 상기 제 1 영역에 대응되는 상기 2차원 이미지의 제 2 영역의 색상으로 래핑하거나, 상기 3차원 이미지의 제 1 영역을 상기 2차원 이미지의 상기 제 2 영역에 대응되는 제 3 영역의 색상으로 래핑한다.
상기 3차원 컬러 블록 생성 동작은 상기 단위 블록에 상기 단위 블록이 위치한 상기 3차원 컬러 이미지의 색상을 맵핑하는 동작; 및 상기 맵핑된 색상이 다수의 색상들로 구성된 경우, 상기 맵핑된 색상들 중 하나를 상기 단위 블록의 색상으로 결정하는 동작을 포함한다.
상기 단위 블록 색상 결정 동작은 상기 맵핑된 색상들 중에 가장 많은 영역을 차지하는 색상을 상기 단위 블록의 색상으로 결정하거나, 상기 맵핑된 색상들의 중간 값의 색상을 상기 단위 블록의 색상으로 결정한다.
상기 3차원 컬러 블록 생성 동작은 상기 3차원 조립 블록의 내부에 위치한 단위 블록들의 색상을 동일한 색상으로 결정하는 동작을 포함한다.
상기 3차원 컬러 블록 생성 방법은 상기 단위 블록의 조합 정보 및 색상 정보를 포함하는 3차원 컬러 블록 정보를 생성하는 동작을 포함한다.
상기 단위 블록의 조합 정보는 상기 3차원 조립 블록을 구성하는 상기 단위 블록의 개수, 모양, 적층 구조, 적층 위치, 하이어러키 구조 중 적어도 하나를 포함한다.
상기 3차원 이미지 생성 동작은 상기 2차원 이미지의 마커 또는 윤곽선을 인식하는 동작; 상기 2차원 이미지의 마커 또는 윤곽선을 이용하여 메쉬(mesh) 데이터를 데이터베이스에서 로딩하는 동작; 상기 메쉬 데이터의 기하 형상 오류 검사를 수행하는 동작; 및 상기 오류 검사에서 검출된 오류를 수정하여 상기 솔리드 메쉬 데이터를 생성하는 동작을 포함한다.
도 1은 일 실시예에 따른 3차원 컬러 블록 생성 시스템의 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 사용자 단말의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 서버의 구성을 도시한 도면이다.
도 4는 일 실시예에 따른 3차원 컬러 블록 생성 방법을 나타낸 흐름도이다.
도 5는 일 실시예에 따른 2차원 이미지를 표현하는 3차원 조립 블록의 생성 방법을 나타내는 흐름도이다.
도 6은 일 실시예에 따른 2차원 이미지 및 이를 표현하는 3차원 조립 블록의 예시를 도시한 도면이다
도 7은 일 실시예에 따른 단위 블록의 색상 정보 생성 방법을 나타낸 흐름도이다.
도 8은 일 실시예에 따른 3차원 컬러 이미지 생성 과정의 예시를 도시한 도면이다.
도 9는 일 실시예에 따른 단위 블록의 컬러 결정 과정의 예시를 도시한 도면이다.
도 10은 일 실시예에 따른 3차원 컬러 블록의 예시를 도시한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다.
각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다. 아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 동작, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 3차원 블록 생성 시스템(10)의 구성을 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 3차원 블록 생성 시스템(10)은 서버(100), 사용자 단말(200)을 포함하여 구성될 수 있다.
3차원 블록 생성 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크(미도시)를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.
서버(100)는 사용자 단말(200)로부터 전송받은 2차원 이미지를 이용하여, 3차원 이미지를 생성할 수 있다. 서버(100)는 2차원 이미지 내의 마커 또는 윤곽선을 인식하여, 2차원 이미지에 해당하는 3차원 이미지를 생성할 수 있다.
일례로, 앵그리버드 캐릭터의 2차원 이미지를 사용자 단말(200)로부터 전송받은 경우, 서버(100)는 전송받은 앵그리버드 캐릭터 이미지 내의 마커 또는 윤곽선을 인식하여, 앵그리버드 캐릭터의 3차원 이미지를 생성하는 것이다.
서버(100)는 3차원 이미지를 표현하는 3차원 조립 블록을 생성할 수 있다. 일 실시예에 따른 3차원 조립 블록은 3차원 이미지를 정육면체, 직육면체, 원형 블록과 같은 단위 블록들의 조합으로 표현한 것으로, 본 명세서에서는 레고 블록과 같이 하나의 구성 단위 블록을 ‘단위 블록’으로, 단위 블록들을 조립하여 만들어진 블록 모형을 ‘3차원 조립 블록’으로 설명하도록 한다.
서버(100)는 3차원 이미지를 표현하도록 일정 개수, 모형의 단위 블록들을 생성하고, 단위 블록들이 조합하여 3차원 조립 블록을 생성할 수 있다. 서버(100)는 단위 블록의 조합 정보를 생성할 수 있다.
일례로, 서버(100)는 앵그리버드 캐릭터의 3차원 이미지를 표현하도록 여러단위 블록들을 생성하고, 단위 블록들을 조합하여 3차원 조립 블록을 생성할 수 있다.
서버(100)는 2차원 이미지에 칠해진 색상을 인식하고, 인식된 2차원 이미지의 색상을 이용하여, 단위 블록의 색상을 결정할 수 있다. 서버(100)는 단위 블록의 색상 정보를 생성할 수 있다.
일례로, 서버(100)는 앵그리버드 캐릭터의 2차원 컬러 이미지의 색상을 인식하여, 앵그리버드 캐릭터의 3차원 컬러 이미지를 생성한 후, 3차원 컬러 이미지의 색상과의 맵핑을 통해 단위 블록의 색상을 결정한다. 이에 따라, 서버(100)는 앵그리버드 캐릭터의 3차원 컬러 블록을 생성할 수 있다.
일 실시예에 3차원 컬러 블록 정보는 단위 블록의 조합 정보 및 색상 정보를 포함한다.
서버(100)는 생성된 3차원 이미지 및 3차원 컬러 블록의 정보를 사용자 단말(200)에 전송할 수 있다.
서버(100)의 구성 및 기능에 대해서는 도 3 이하에서 자세히 설명하도록 한다.
사용자 단말(200)은 사용자 단말(200)에 구비된 카메라를 통해 실제 공간에 대한 영상을 포함하는 2차원 이미지를 인식할 수 있으며, 인식된 2차원 이미지를 서버(100)에 전송할 수 있다. 여기서 인식된 2차원 이미지는 색상이 포함된 컬러 2차원 이미지 정보일 수 있다.
사용자 단말(200)은 서버(100)로부터 전송받은 3차원 이미지를 이용하여, 다양한 증강 현실 컨텐츠를 생성하여 사용자에게 출력할 수 있다.
사용자 단말(200)은 서버(100)로부터 전송받은 3차원 컬러 블록 정보에 포함된 단위 블록의 조합 정보 및 색상 정보를 이용하여, 3차원 컬러 블록을 시각화하여 사용자에게 출력할 수 있다.
사용자 단말(200)의 구성 및 기능에 대해서는 도 2 이하에서 자세히 설명하도록 한다.
도 2는 일 실시예에 따른 사용자 단말(200)의 구성을 도시한 도면이다.
도 2를 참조하면, 일 실시예에 따른 사용자 단말(200)은, 제어부(210), 카메라부(220), 마커인식부(230), 이미지 처리부(240) 및 디스플레이부(250)를 포함하여 구성될 수 있다.
다만, 이하에서 언급되는 사용자 단말(200)은 도 2에 도시된 구성 요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.
사용자 단말(200)은 예를 들어, '증강 현실 어플리케이션(Application)' 또는 ‘증강 현실 프로그램’이 실행되는 모바일 클라이언트가 될 수 있으며, 일례로, WCDMA, LTE와 같은 이동 통신망을 이용하는 통상의 스마트폰, 스마트패드, VR(Virtual Reality), AR(Augmented Reality) 장치, PC(Personal Computer), 노트북 컴퓨터, 태블릿 PC(Tablet Personal Computer), 단말 장치, 휴대폰, 이동 단말, 모바일 단말, 터미널(Terminal)를 포함하는 개념으로 해석될 수 있다.
이 때, 증강 현실 어플리케이션 또는 증강 현실 프로그램은, 증강 현실 서비스의 운영자가 다양한 증강 현실 서비스의 제공을 목적으로 하여 배포하는 것으로서, 예를 들어, 통상의 앱 스토어 서버(도면 미도시)를 통해 배포할 수 있다. 어플리케이션 또는 프로그램은 모바일 OS제조사에서 제공하는 개발 언어를 이용하여 해당 모바일 기기에서만 동작되는 응용 프로그램을 말한다. 어플리케이션 또는 프로그램의 경우, 장치가 제공하는 하드웨어적 기능을 지원 받아 다양한 기능의 구현이 가능하다.
다만, 사용자 단말(200)은 반드시 모바일 클라이언트로 구성될 필요는 없으며, 카메라 및 디스플레이를 구비한 일반적인 PC(Personal Computer) 또는 이와 동등한 컴퓨팅 수단이면 어느 것이나 이용될 수 있다.
카메라부(220)는 실제 공간에 대한 영상을 포함하는 2차원 이미지를 인식할 수 있다. 카메라부(220)는 모노 카메라를 포함하는 통상적인 카메라일 수 있으며, 증강 현실 컨텐츠(또는 증강 현실 컨텐츠)를 구현하기 위한 2차원 이미지를 촬영하기 위해 현재까지 개발되었거나 앞으로 개발될 다양한 영상 촬영 기능을 갖는 장치를 포함하는 개념으로 해석될 수 있다.
사용자 단말(200)은 마커 인식부(230) 및 이미지 처리부(240)를 포함하여 이루어질 수 있으며, 마커 인식부(230)는 카메라부(220)를 통해 입력된 2차원 이미지로부터 마커를 인식하는 기능을 수행할 수 있으며, 보다 구체적으로 카메라부(220)에 의해 입력된 2차원 이미지 내 픽셀 데이터 정보를 기반으로 마커 정보를 인식할 수 있다.
이미지 처리부(240)는 서버(100)에서 전송받은 3차원 이미지 및 3차원 컬러 블록 정보를 시각화 컨텐츠로 변환할 수 있다. 구체적으로, 이미지 처리부(240)는 3차원 이미지를 다양한 증강 현실 컨텐츠로 변환하거나, 3차원 컬러 블록 정보에 포함된 단위 블록의 조합 정보 및 색상 정보를 이용하여 3차원 컬러 블록을 사용자에게 출력할 수 있는 영상으로 변환할 수 있다.
증강 현실 인터페이스 및 그와 관련된 정보(예를 들어, 실제 공간에 대한 영상 및/또는 증강 현실 컨텐츠 등)를 표시하거나, UI(User Interface) 또는 GUI(Graphic User Interface) 등을 디스플레이(또는 표시)하는 디스플레이부(250)를 장치의 내부 또는 외부에 포함할 수 있다.
디스플레이부(250)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중 적어도 어느 하나로 구현될 수도 있으며, 구현 형태에 따라 디스플레이부가 2개 이상 존재할 수도 있다. 예를 들어, 단말(200)에는 외부 디스플레이부와 내부 디스플레이부가 동시에 구비될 수도 있다.
또한, 사용자 단말(200)는 제어부(210)를 더 포함할 수 있으며, 제어부(210)는 각종 데이터 또는 신호에 대한 처리를 수행하거나 혹은 데이터 또는 신호를 기반으로 증강 현실 인터페이스 및/또는 컨텐츠에 대한 제어를 수행할 수 있다.
제어부(210)는 카메라부(220)를 통해 입력된 2차원 이미지의 픽셀 데이터 정보를 추출할 수 있으며, 앞서 언급한 카메라부(220), 마커 인식부(230), 이미지 처리부(240) 및 디스플레이부(250) 각각이 올바르게 동작을 수행할 수 있도록 이들 각각에 대한 제어를 수행할 수 있다.
또한, 사용자 단말(200)는 네트워크부(미도시)를 더 포함할 수 있으며, 제어부(210)는 네트워트부(미도시)를 제어하여, 카메라부(220)에서 인식한 2차원 이미지 및 마커 인식부(230)에서 인식한 2차원 이미지의 마커를 서버(100)에 전송할 수 있다. 그리고, 제어부(210)는 네트워트부(미도시)를 제어하여, 서버(100)에서 3차원 이미지 및 3차원 컬러 블록 정보를 전송받을 수 있다.
제어부(210)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.
필요한 경우 사용자 단말(200)은 메모리부(미도시)를 더 포함할 수 있으며, 제어부(210)는 데이터 또는 신호를 메모리부(미도시)에 저장할 수도 있으며, 메모리부(미도시)는 제어부(210)에 연결되어 오퍼레이팅 시스템(operating system), 어플리케이션, 및 일반 파일(general files)들 또한 저장할 수 있다.
일실시예에 따라 디스플레이부(250)를 비롯한 다양한 장치를 포함하는 사용자 단말(200)은, 사용자에게 다양한 시청각 자극을 제공하기 위한 다양한 입출력부를 추가적으로 더 포함할 수도 있다.
보다 구체적으로, 사용자 단말(200)은 사용자 입력부(예를 들어, 카메라, 키보드, 마우스, 조이스틱, 터치 센서 등)와 같은 일반적/표준적인 영상, 신호 입력 장치를 내부 또는 외부에 포함할 수 있으며, 그 외에도 입력 장치인, 자이로 변화, 가속도 변화 등을 이용하여 사용자가 모션으로서 소정의 신호를 물리적으로 입력할 수 있는 물리 기반 센서 등을 포함하거나 혹은 유/무선 기술을 통해 연결 또는 결합될 수 있다.
아울러, 디스플레이부(250)의 경우, 서버(100)에서 전송받은 3차원 이미지를 이용하여 생성된 다양한 증강 현실 컨텐츠를 시각화하여 사용자에게 제공할 수 있으며, 서버(100)에서 전송받은 3차원 컬러 블록에 대한 영상을 사용자에게 출력할 수 있다.
그 뿐만 아니라, 디스플레이부(250)는 사용자에게 입체감 있는 증강 현실 컨텐츠를 제공하되 현실감 있는 시청각 자극을 제공할 수 있도록, 현재 개발되었거나 향후 개발될 다양한 출력장치(예를 들어, 디스플레이 장치, 음향 장치 등)를 더 포함하고 있을 수 있다.
사용자 단말(200)은 증강 현실 어플리케이션 또는 증강 현실 프로그램의 구동에 의해 적어도 하나 이상의 외부 장치와의 연동 없이 증강 현실 기능을 실행할 수 있으며, 도 2에 도시되어 있지는 않으나, 통상의 유무선 네트워크를 통해 증강 현실 서버 등과 연동하여 일부 기능을 서버와의 연동을 통해 제공하는 것도 가능하다. 예를 들어, 증강 현실에 사용되는 다양한 증강 현실 컨텐츠는 종류 및 내용에 따라 큰 데이터량을 가지거나 실시간으로 변경될 수 있는데, 이러한 경우에는 증강 현실 컨텐츠에 관한 정보를 네트워크를 통해 증강 현실 서버로부터 제공받도록 할 수도 있다.
도 3은 일 실시예에 따른 서버(100)의 구성을 도시한 도면이다.
도 3을 참조하면, 일 실시예에 따른 서버(100)는 2차원 이미지를 이용하여 3차원 컬러 블록을 생성하도록 구성되며, 제어부(110), 3차원 이미지 생성부(120), 3차원 조립 블록 생성부(130), 3차원 컬러 블록 생성부(140) 및 데이터베이스부(150)를 포함하여 구성될 수 있다.
다만, 이하에서 언급되는 서버(100)는 도 3에 도시된 구성 요소들 중 적어도 하나를 포함하나, 반드시 이에 한정되는 것은 아니다.
서버(100)의 각각 구성(110, 120, 130, 140, 150)들은 적어도 하나의 프로세서에 의해 동작할 수 있으며, 하나의 프로세서에 의해 적어도 하나의 구성(110, 120, 130, 140, 150)들이 동작할 수 있다.
서버(100)의 하드웨어 구성은 다양하게 구현될 수 있다. 3차원 이미지 생성부(120)와 3차원 조립 블록 생성부(130)를 통합하거나, 3차원 조립 블록 생성부(130)와 3차원 컬러 블록 생성부(140)를 통합하여 하드웨어를 구성할 수 있다. 이와 같이, 서버(100)의 하드웨어 구성은 본 명세서의 기재에 한정되지 아니하며, 다양한 방법과 조합으로 구현될 수 있다.
제어부(110)는 서버(100)의 제어 유닛(Control Unit)으로, 3차원 이미지 생성부(120), 3차원 조립 블록 생성부(130), 3차원 컬러 블록 생성부(140) 및 데이터베이스부(150)를 제어하여, 사용자 단말(200)이 인식하여 전송한 2차원 이미지를 이용하여, 3차원 이미지 및 3차원 이미지를 표현하는 3차원 컬러 블록을 생성한다.
3차원 이미지 생성부(120)는 사용자 단말(200)에서 전송된 2차원 이미지에서 2차원 이미지 내 마커 또는 윤곽선을 인식한다.
그리고, 3차원 이미지 생성부(120)는 인식한 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다.
그리고, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터에 대해 다양한 오류 검사를 수행하고, 찾은 오류를 수정하여 솔리드 메쉬 데이터를 생성한다.
3차원 조립 블록 생성부(130)는 3차원 이미지 생성부(120)에서 생성된 3차원 이미지 즉, 솔리드 메쉬 데이터를 이용하여 일정 개수, 모형의 단위 블록을 생성하고, 생성된 단위 블록을 조합하여 2차원 이미지를 표현하는 3차원 조립 블록을 생성한다.
그리고, 3차원 조립 블록 생성부(130)는 생성된 3차원 조립 블록을 구성하는적어도 하나의 단위 블록의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 단위 블록의 조합 정보를 생성한다.
3차원 컬러 블록 생성부(140)는 2차원 이미지에 칠해진 색상을 인식하고, 2차원 이미지의 윤곽선 내외부를 판정하여, 윤곽선 내부에 칠해진 색상만을 인식할 수 있도록, 인식된 2차원 이미지의 색상을 보정한다.
그리고, 3차원 컬러 블록 생성부(140)는 보정된 2차원 이미지의 색상을 3차원 이미지에 래핑한다.
그리고, 3차원 컬러 블록 생성부(140)는 3차원 컬러 이미지를 이용하여, 3차원 조립 블록 생성부(140)에서 생성한 단위 블록의 색상을 결정한다.
데이터베이스부(150)는 3차원 조립 블록 생성부(130)에서 생성된 단위 블록의 조합 정보, 3차원 컬럭 블록 생성부(140)에서 생성된 단위 블록의 색상 정보를 저장한다. 즉, 데이터베이스부(150)는 단위 블록의 조합 정보 및 색상 정보를 포함하는 3차원 컬러 블록 정보를 저장하는 것이다.
그리고, 데이터베이스부(150)는 2차원 이미지의 각 마커의 고유 인식 정보 및/또는 이에 대응하는 3차원 이미지에 대한 정보를 저장한다.
도 4는 일 실시예에 따른 3차원 컬러 블록 생성 방법을 나타낸 흐름도이다.
도 4를 참조하면, 일 실시예에 따른 3차원 컬러 블록 생성 방법은 3차원 이미지 생성 동작(401), 3차원 조립 블록 생성 동작(403), 단위 블록의 색상 정보 생성 동작(405)을 포함하여 이루어질 수 있다.
우선, 3차원 이미지 생성 동작(401)으로, 3차원 이미지 생성부(120)는 사용자 단말(200)에서 전송된 2차원 이미지에서 2차원 이미지의 마커 또는 윤곽선을 인식한다. 그리고, 3차원 이미지 생성부(120)는 인식한 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다. 또한, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터에 대해 다양한 오류 검사를 수행하고, 찾은 오류를 수정하여 솔리드 메쉬 데이터를 생성한다.
그리고, 3차원 조립 블록 생성 동작(403)으로, 3차원 조립 블록 생성부(130)는 3차원 이미지 생성부(120)에서 생성된 3차원 이미지 즉, 솔리드 메쉬 데이터를 이용하여 일정 개수, 모형의 단위 블록들을 생성하고, 단위 블록들이 조합하여 3차원 조립 블록을 생성한다. 그리고, 3차원 조립 블록 생성부(130)는 생성된 3차원 블록에 대한 조립 블록들의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 조합 정보를 생성한다.
3차원 이미지 생성 동작(401)과 조립 블록 정보 생성 동작(403)에 대해서는 이하 도 5 및 도 6에서 자세히 후술하도록 한다.
그리고, 단위 블록의 색상 정보 생성 동작(405)으로, 3차원 컬러 블록 생성부(140)는 2차원 이미지에 칠해진 색상을 인식하고, 2차원 이미지의 윤곽선 내외부를 판정하여, 윤곽선 내부에 칠해진 색상만을 인식할 수 있도록, 인식된 2차원 이미지의 색상을 보정한다. 그리고, 3차원 컬러 블록 생성부(140)는 보정된 2차원 이미지의 색상을 3차원 이미지에 래핑한다. 그리고, 3차원 컬러 블록 생성부(140)는 3차원 컬러 이미지를 이용하여, 3차원 조립 블록 생성부(140)에서 생성한 단위 블록의 색상을 결정한다.
단위 블록의 색상 정보 생성 동작(405)에 대해서는 이하 도 7 및 도 8에서 자세히 후술하도록 한다.
도 5는 일 실시예에 따른 2차원 이미지를 표현하는 3차원 조립 블록의 생성 방법을 나타낸 흐름도이다.
도 5를 참조하면, 일 실시예에 따른 2차원 이미지에 대응하는 3차원 이미지의 생성 방법은 2차원 이미지 내 마커 또는 윤곽선 인식 동작(501), 3차원 메쉬 데이터 로딩 동작(503), 3차원 메쉬 데이터 오류 검사 동작(505), 솔리드 메쉬 데이터 생성 동작(507), 3차원 조립 블록 생성 동작(509)을 포함하여 이루어질 수 있다.
우선, 2차원 이미지 내 마커 또는 윤곽선 인식 동작(501)으로, 3차원 이미지 생성부(120)는 사용자 단말(200)에서 촬영되어 전송된 캐릭터, 랜드마크 건물, 자동차 등의 2차원 이미지 내에서 마커 또는 윤곽선을 인식한다.
마커는 2차원 이미지가 어떤 캐릭터, 랜드마크 건물, 자동차에 대한 이미지인지를 나타내는 정보로, 일 실시예에 따른 마커는 알파벳, 숫자, 선 굵기, 색상 등으로 2차원 이미지의 정보를 나타낼 수 있는 다양한 방식으로 구현될 수 있다.
3차원 이미지 생성부(120)는 2차원 이미지 내에서 기입된 마커를 인식하거나, 2차원 이미지 내에서 2차원 이미지의 정보를 확인할 수 있는 윤곽선을 인식하는 것이다.
다른 실시예로, 2차원 이미지 내 마커 또는 윤곽선을 인식하는 주체가 사용자 단말(200)일 수 있다. 이 경우, 사용자 단말(200)은 2차원 이미지 내 마커 또는 윤곽선을 인식하여, 서버(100)에 전송할 수 있다.
그리고, 3차원 메쉬 데이터 로딩 동작(503)으로, 3차원 이미지 생성부(120)는 인식된 2차원 이미지의 마커 또는 윤곽선을 이용하여, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(105)로부터 불러온다.
3차원 메쉬(mesh) 데이터는 3차원 컴퓨터 그래픽스에서 그물망 형태로 만들어진 구조물 또는 그 형태로, 3차원 이미지의 원본 데이터(raw data)를 의미한다.
3차원 이미지 생성부(120)는 2차원 이미지의 마커 또는 윤곽선를 이용하여 2차원 이미지가 어떤 이미지인지 인식한 후, 2차원 이미지에 해당하는 3차원 메쉬 데이터를 데이터베이스부(105)에서 로딩하는 것이다.
그리고, 3차원 메쉬 데이터 오류 검사 동작(505)으로, 3차원 이미지 생성부(120)는 3차원 메쉬 데이터의 기하 형상(토폴로지)에 대한 오류 검사를 수행한다.
3차원 이미지 생성부(120)는 3차원 메쉬 데이터를 블록으로 변환하기 위한 임시 데이터인 솔리드 메쉬 데이터를 생성하기 위하여, 3차원 메쉬 데이터의 오류 검사를 진행하는 것으로, 메쉬의 벌어짐, 떨어짐, 노말 벡터의 불균일, 교차겹침 등을 찾아내는 것이다.
그리고, 솔리드 메쉬 데이터 생성 동작(507)으로, 3차원 이미지 생성부(120)는기하 형상(토폴로지) 오류 검사에서 찾은 오류들을 수정하여, 솔리드 메쉬 데이터를 생성한다.
솔리드 메쉬 데이터는 메쉬의 내부와 외부를 구분할수 있도록 내부가 꽉 채워진 닫힌 메쉬 데이터를 의미하는 것으로, 본 명세서에서 3차원 이미지는 3차원 이미지 생성부(120)에서 생성된 솔리드 메쉬 데이터를 의미할 수 있다.
3차원 이미지 생성부(120)는 오류 검사를 통해 찾은 오류들을 수정하는데, 일례로, 겹침 메쉬의 재생성, 벌어진 곳 정점 추가, 역전된 노말벡터 수정, 내외부 혼재 메쉬 재배열의 절차를 수행할 수 있다.
그리고, 3차원 조립 블록 생성 동작(509)으로, 3차원 조립 블록 생성부(130)는 3차원 이미지 생성부(120)에서 생성된 3차원 이미지 즉, 솔리드 메쉬 데이터를 이용하여 3차원 조립 블록을 생성한다.
3차원 조립 블록 생성부(130)는 솔리드 메쉬 데이터를 표현하도록 일정 개수, 모형의 단위 블록들을 생성하고, 단위 블록들이 조합하여 3차원 조립 블록을 생성할 수 있다.
3차원 조립 블록 생성부(130)는 다양한 방법, 알고리즘을 이용하여, 솔리드 메쉬 데이터를 표현하는 단위 블록들을 생성할 수 있다.
일례로, 3차원 조립 블록 생성부(130)는 솔리드 메쉬 데이터의 면적을 계산하여 해당 면적을 커버하는 단위 블록의 개수, 모형을 결정할 수 있다. 또는, 3차원 조립 블록 생성부(130)는 솔리드 메쉬 데이터를 일정 단위 영역으로 분할하여, 분할된 단위 영역을 커버하는 단위 블록들을 결정할 수 있다. 이에 따라 결정된 단위 블록들을 조합하여, 3차원 조립 블록을 생성할 수 있다.
3차원 조립 블록 생성부(130)은 위의 예시에 한정되지 아니하며, 다양한 방법, 알고리즘을 이용하여, 단위 블록을 생성하고, 생성된 단위 블록을 조합하여 3차원 조립 블록을 생성할 수 있다.
3차원 조립 블록 생성부(130)는 생성된 3차원 조립 블록을 구성하는 적어도 하나의 단위 블록에 대한 조합 정보를 생성한다. 전술한 바와 같이, 단위 블록의 조합 정보는 3차원 조립 블록이 만들어질 수 있는 단위 블록의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 정보를 일컫는 것으로, 단위 블록의 하이어러키 구조를 포함할 수 있다.
3차원 조립 블록 생성부(130)는 생성된 단위 블록의 조합 정보를 데이터베이스부(150)에 저장할 수 있다.
도 6은 일 실시예에 따른 2차원 이미지 및 이를 표현하는 3차원 조립 블록의 예시를 도시한 도면이다
도 (a)는 사용자 단말(200)이 인식하여 서버(100)에 전송한 2차원 이미지의 예시인 앵그리버드 캐릭터의 2차원 이미지를 도시한 도면이고, 도 (b)는 서버(100)가 2차원 이미지를 이용하여 생성한 3차원 이미지의 예시인 앵그리버드 캐릭터의 3차원 이미지를 도시한 도면이며, 도 (c)는 서버(100)가 3차원 이미지를 이용하여 생성한 3차원 조립 블록의 예시인 앵그리버드 캐릭터의 3차원 조립 블록을 도시한 도면이다.
전술한 바와 같이, 3차원 이미지 생성부(120)는 도 (a)의 앵그리버드 2차원 이미지의 마커 또는 윤곽선을 인식하고, 2차원 이미지에 대응되는 3차원 메쉬 데이터를 데이터베이스부(150)에서 로딩한다. 그리고, 3차원 이미지 생성부(120)는 로딩된 3차원 메쉬 데이터의 다양한 오류 검사를 통해 도 (b)의 앵그리버드 3차원 이미지 즉, 솔리드 메쉬 데이터를 생성한다.
서버(100)는 3차원 이미지 생성부(120)에서 생성한 도 (b)의 앵그리버드 3차원 이미지를 사용자 단말(200)에 전송할 수 있으며, 사용자 단말(200)은 앵그리버드 3차원 이미지를 이용하여 사용자에게 다양한 증강 현실 컨텐츠를 제공할 수 있는 것이다.
3차원 조립 블록 생성부(130)는 도 (b)의 앵그리버드 캐릭터 3차원 이미지 즉, 솔리드 메쉬 데이터를 표현하도록 일정 개수, 모형의 단위 블록들을 생성하고, 생성된 단위 블록들을 조합하여, 도 (c)의 앵그리버드 3차원 조립 블록을 생성한다. 그리고, 3차원 조립 블록 생성부(130)는 생성된 도 (c)의 앵그리버드 3차원 조립 블록에 대한 적어도 하나의 단위 블록의 개수, 모양, 적층 구조, 적층 위치 등을 포함하는 조합 정보를 생성한다.
도 7은 일 실시예에 따른 단위 블록의 색상 정보 생성 방법을 나타낸 흐름도이다.
도 7을 참조하면, 단위 블록의 색상 정보 생성 방법은 2차원 이미지 컬러 인식 동작(701), 컬러 보정 동작(703), 컬러 래핑 동작(705), 단위 블록의 컬러 결정 동작(707)을 포함하여 이루어질 수 있다.
우선, 2차원 이미지 컬러 인식 동작(701)으로, 3차원 컬러 블록 생성부(140)는 2차원 이미지에 칠해진 색상을 인식한다. 2차원 이미지는 색상을 포함하는 2차원 컬러 이미지일 수 있으며, 3차원 컬러 블록 생성부(140)는 2차원 이미지의 윤곽선 내부에 칠해진 색상을 판별하여, 해당 색상이 어떤 색상인지 인식하는 것이다.
그리고, 컬러 보정 동작(703)으로, 3차원 컬러 블록 생성부(140)는 2차원 이미지의 윤곽선 내외부를 판정하여, 윤곽선 내부에 칠해진 색상만을 획득할 수 있도록, 인식된 2차원 이미지의 색상을 보정한다.
일례로, 2차원 이미지의 윤곽석 외부에 색상이 칠해진 경우, 3차원 컬러 블록 생성부(140)는 외부에 칠해진 색상을 삭제할 수 있으며, 윤곽선 내부의 일 영역에 색상이 칠해져 있지 않거나 주변 영역과 다른 색상이 칠해져 있는 경우, 3차원 컬러 블록 생성부(140)는 주변 영역의 색상을 참고하여 해당 영역에 색상을 추가할 수 있다. 또한, 3차원 컬러 블록 생성부(140)는 인식한 2차원 이미지의 색상을 주변의 광원, 밝기 세기, 음영 여부를 반영하여, 색상을 보정할 수 있다.
그리고, 컬러 래핑 동작(705)으로, 3차원 컬러 블록 생성부(140)는 보정된 2차원 이미지의 색상을 3차원 이미지에 래핑한다.
3차원 컬러 블록 생성부(140)는 보정된 2차원 이미지의 색상을 이용하여, 3차원 이미지의 표면에 색상을 입히는 것으로, 표면에 색상이 칠해진 3차원 컬러 이미지를 생성하는 것이다.
다만, 2차원 이미지의 색상으로 래핑되지 않은 3차원 이미지의 후면 영역의 경우, 3차원 컬러 블록 생성부(140)는 2차원 이미지의 다른 영역의 색상을 이용하여, 3차원 이미지의 후면 영역에 색상을 입힐 수 있다.
일례로, 3차원 컬러 블록 생성부(140)는 후면 영역을 후면 영역에 대응하는 전면 영역의 2차원 이미지의 색상으로 래핑할 수 있으며, 이미지 구성 상 동일한 영역(일례로, 동일한 몸통 영역, 동일한 팔 영역 등)의 2차원 이미지의 색상으로 래핑할 수 있다.
도 8은 일 실시예에 따른 3차원 컬러 이미지 생성 과정의 예시를 도시한 도면이다.
도 (a)는 앵그리버드 캐릭터의 2차원 컬러 이미지를 도시한 도면이며, 도 (b)는 앵그리버드 캐릭터의 보정된 2차원 컬러 이미지를 도시한 도면이며, 도 (c)는 앵그리버드 캐릭터의 3차원 컬러 이미지를 도시한 도면이다.
그리고, 단위 블록의 컬러 결정 동작(707)으로, 3차원 컬러 블록 생성부(140)는 3차원 컬러 이미지를 이용하여, 3차원 조립 블록 생성부(140)에서 생성한 단위 블록의 색상을 결정한다. 3차원 컬러 블록 생성부(140)는 3차원 컬러 이미지에 래핑된 색상을 이용하여, 단위 블록의 색상을 결정하는 것이다.
구체적으로, 3차원 컬러 블록 생성부(140)는 단위 블록이 위치하는 3차원 컬러 이미지 영역의 색상을 해당 단위 블록의 색상으로 맵핑할 수 있다. 3차원 컬러 블록 생성부(140)는 단위 블록이 위치하는 3차원 컬러 이미지의 영역을 확인한 후, 해당 3차원 컬러 이미지의 영역에 랩핑된 색상을, 해당 단위 블록의 색상으로 맵핑하는 것이다.
그리고, 3차원 컬러 블록 생성부(140)는 단위 블록에 맵핑된 색상을 이용하여, 단위 블록의 색상을 결정한다.
단위 블록에 맵핑된 색상은 여러 색상으로 구성될 수 있다. 특히, 3차원 컬러 이미지의 경계선에 위치한 단위 블록에는 여러 색상들이 맵핑될 수 있다. 이 경우, 3차원 컬러 블록 생성부(140)는 단위 블록에 맵핑된 여러 색상 중 하나의 색상을 선정하여, 단위 블록의 색상으로 결정할 수 있다.
3차원 컬러 블록 생성부(140)는 다양한 방법을 이용하여, 단위 블록에 맵핑된 여러 색상 중 하나의 색상을 선정하여, 단위 블록의 색상으로 결정할 수 있다.
일례로, 3차원 컬러 블록 생성부(140)는 단위 블록에 맵핑된 색상 중에 가장 많은 영역을 차지하는 색상을 해당 단위 블록의 색상으로 결정할 수 있다. 또는, 3차원 컬러 블록 생성부(140)는 단위 블록에 맵핑된 색상들의 중간 값의 색상을 해당 단위 블록의 색상으로 결정할 수 있다.
도 9는 일 실시예에 따른 단위 블록의 컬러 결정 과정의 예시를 도시한 도면으로, 도 (a)는 단위 블록에 맵핑된 색상들의 중간 값의 색상을 해당 단위 블록의 색상으로 결정하는 예시를 도시한 도면이며, 도 (b)는 단위 블록에 맵핑된 색상 중에 가장 많은 영역을 차지하는 색상을 해당 단위 블록의 색상으로 결정하는 예시를 도시한 도면이다.
그리고, 3차원 컬러 블록 생성부(140)는 3차원 조립 블록의 내부에 있어, 외부에서 보이지 않은 단위 블록들에는 동일한 하나의 색상을 설정할 수 있다.
그리고, 3차원 컬러 블록 생성부(140)는 단위 블록의 색상에 대한 정보를 생성하여, 데이터베이스부(150)에 저장할 수 있으며, 제어부(110)는 3차원 조립 블록 생성부(130)에서 생성된 단위 블록의 조합 정보 및 3차원 컬러 블록 생성부(140)에서 생성된 단위 블록의 색상 정보를 포함하는 3차원 컬러 블록 정보를 생성하여, 데이터베이스부(150)에 저장할 수 있다.
도 10은 일 실시예에 따른 3차원 컬러 블록의 예시를 도시한 도면이다.
도 10은 3차원 조립 블록 생성부(130)에서 생성된 3차원 블록의 예시인 앵그리버드 캐릭터의 3차원 블록을 도시한 도면으로, 도 (a)는 앵그리버드 캐릭터의 3차원 블록의 측면도를 도시한 도면이며, 도 (b)는 앵그리버드 캐릭터의 3차원 블록의 평면도를 도시한 도면이다.
이상에서 설명된 실시예들은 하드웨어 구성 요소, 소프트웨어 구성 요소, 및/또는 하드웨어 구성 요소 및 소프트웨어 구성 요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성 요소는, 예를 들어, 프로세서, 콘트롤러, 중앙 처리 장치(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)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성 요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
본 발명은 3차원 컬러 블록 생성 방법 및 시스템에 관한 것으로서, 블록을 생성하는 다양한 방법 및 시스템에 적용하는 것이 가능하다.

Claims (10)

  1. 서버에 의해 수행되는 3차원 컬러 블록 생성 방법에 있어서,
    사용자 단말로부터 2차원 이미지를 전송받는 동작;
    상기 2차원 이미지에 대응하는, 메쉬(mesh) 내부가 채워진 솔리드 메쉬 데이터인 3차원 이미지를 생성하는 동작;
    상기 3차원 이미지를 표현하는 단위 블록의 조합으로 구성된 3차원 조립 블록을 생성하는 동작;
    상기 2차원 이미지의 색상을 이용하여 상기 3차원 이미지에 색상을 래핑하여 3차원 컬러 이미지를 생성하는 동작; 및
    상기 단위 블록의 색상을 상기 단위 블록이 위치한 상기 3차원 컬러 이미지의 색상으로 결정하여, 3차원 컬러 블록을 생성하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
  2. 제 1 항에 있어서,
    상기 3차원 컬러 이미지 생성 동작은
    상기 2차원 이미지의 색상을 인식하는 동작; 및
    상기 2차원 이미지의 윤곽선 내부의 색상만 인식하도록 상기 2차원 이미지의 색상을 보정하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
  3. 제 2 항에 있어서,
    상기 2차원 이미지 색상 보정 동작은
    상기 2차원 이미지의 윤곽선 외부의 색상을 제거하거나,
    상기 2차원 이미지의 윤곽선 내부의 색상을 변경하는, 3차원 컬러 블록 생성 방법.
  4. 제 1 항에 있어서,
    상기 3차원 컬러 이미지 생성 동작은
    상기 3차원 이미지의 제 1 영역을 상기 제 1 영역에 대응되는 상기 2차원 이미지의 제 2 영역의 색상으로 래핑하거나,
    상기 3차원 이미지의 제 1 영역을 상기 2차원 이미지의 상기 제 2 영역에 대응되는 제 3 영역의 색상으로 래핑하는, 3차원 컬러 블록 생성 방법.
  5. 제 1 항에 있어서,
    상기 3차원 컬러 블록 생성 동작은
    상기 단위 블록에 상기 단위 블록이 위치한 상기 3차원 컬러 이미지의 색상을 맵핑하는 동작; 및
    상기 맵핑된 색상이 다수의 색상들로 구성된 경우, 상기 맵핑된 색상들 중 하나를 상기 단위 블록의 색상으로 결정하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
  6. 제 5 항에 있어서,
    상기 단위 블록 색상 결정 동작은
    상기 맵핑된 색상들 중에 가장 많은 영역을 차지하는 색상을 상기 단위 블록의 색상으로 결정하거나, 상기 맵핑된 색상들의 중간 값의 색상을 상기 단위 블록의 색상으로 결정하는, 3차원 컬러 블록 생성 방법.
  7. 제 5 항에 있어서,
    상기 3차원 컬러 블록 생성 동작은
    상기 3차원 조립 블록의 내부에 위치한 단위 블록들의 색상을 동일한 색상으로 결정하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
  8. 제 1 항에 있어서,
    상기 단위 블록의 조합 정보 및 색상 정보를 포함하는 3차원 컬러 블록 정보를 생성하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
  9. 제 8 항에 있어서,
    상기 단위 블록의 조합 정보는
    상기 3차원 조립 블록을 구성하는 상기 단위 블록의 개수, 모양, 적층 구조, 적층 위치, 하이어러키 구조 중 적어도 하나를 포함하는, 3차원 컬러 블록 생성 방법.
  10. 제 1항에 있어서,
    상기 3차원 이미지 생성 동작은
    상기 2차원 이미지의 마커 또는 윤곽선을 인식하는 동작;
    상기 2차원 이미지의 마커 또는 윤곽선을 이용하여 메쉬(mesh) 데이터를 데이터베이스에서 로딩하는 동작;
    상기 메쉬 데이터의 기하 형상 오류 검사를 수행하는 동작; 및
    상기 오류 검사에서 검출된 오류를 수정하여 상기 솔리드 메쉬 데이터를 생성하는 동작을 포함하는, 3차원 컬러 블록 생성 방법.
KR1020180127848A 2018-10-25 2018-10-25 3차원 컬러 블록 생성 방법 및 시스템 KR20200046538A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180127848A KR20200046538A (ko) 2018-10-25 2018-10-25 3차원 컬러 블록 생성 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180127848A KR20200046538A (ko) 2018-10-25 2018-10-25 3차원 컬러 블록 생성 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20200046538A true KR20200046538A (ko) 2020-05-07

Family

ID=70733360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180127848A KR20200046538A (ko) 2018-10-25 2018-10-25 3차원 컬러 블록 생성 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20200046538A (ko)

Similar Documents

Publication Publication Date Title
Hilfert et al. Low-cost virtual reality environment for engineering and construction
CN107852573B (zh) 混合现实社交交互
KR20210047278A (ko) Ar 장면 이미지 처리 방법, 장치, 전자 기기 및 저장 매체
US9613463B2 (en) Augmented reality extrapolation techniques
US9020241B2 (en) Image providing device, image providing method, and image providing program for providing past-experience images
JP7008730B2 (ja) 画像に挿入される画像コンテンツについての影生成
US9164723B2 (en) Virtual lens-rendering for augmented reality lens
US20170154468A1 (en) Method and electronic apparatus for constructing virtual reality scene model
US20150356770A1 (en) Street view map display method and system
US20140267270A1 (en) Shadow rendering in a 3d scene based on physical light sources
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
GB2481366A (en) 3D interactive display and pointer control
JP2020514909A (ja) 多ソース仮想コンテンツ合成を伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
KR20170086077A (ko) 증강 현실 장면에서의 드로잉을 위한 깊이 정보의 사용
US20210142575A1 (en) Methods and systems for reprojection in augmented-reality displays
US20190130599A1 (en) Systems and methods for determining when to provide eye contact from an avatar to a user viewing a virtual environment
CN105611267B (zh) 现实世界和虚拟世界图像基于深度和色度信息的合并
CN109448050B (zh) 一种目标点的位置的确定方法及终端
JP2023514796A (ja) 物理物体による拡張現実内の仮想物体のオクルージョン
KR20140000170A (ko) 관여 매질에 의해 수광된 광의 양을 추정하기 위한 방법 및 대응하는 장치
CN110313021B (zh) 增强现实提供方法、装置以及计算机可读记录介质
KR20200030326A (ko) 단말의 싱글 카메라를 이용한 혼합 현실 제작 방법, 장치 및 컴퓨터 프로그램
WO2012063911A1 (ja) 3dコンテンツ表示装置、および3dコンテンツ表示方法
US20200134779A1 (en) Method and system for providing at least a portion of content having six degrees of freedom motion
US20190130631A1 (en) Systems and methods for determining how to render a virtual object based on one or more conditions

Legal Events

Date Code Title Description
E601 Decision to refuse application