KR20230130507A - 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법 - Google Patents

노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법 Download PDF

Info

Publication number
KR20230130507A
KR20230130507A KR1020220072660A KR20220072660A KR20230130507A KR 20230130507 A KR20230130507 A KR 20230130507A KR 1020220072660 A KR1020220072660 A KR 1020220072660A KR 20220072660 A KR20220072660 A KR 20220072660A KR 20230130507 A KR20230130507 A KR 20230130507A
Authority
KR
South Korea
Prior art keywords
map
electronic device
normal map
normal
channel
Prior art date
Application number
KR1020220072660A
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 KR1020220072660A priority Critical patent/KR20230130507A/ko
Publication of KR20230130507A publication Critical patent/KR20230130507A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Navigation (AREA)

Abstract

적어도 하나의 객체의 표면 지점 별 법선 방향이 반영된 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법이 개시된다. 본 제어 방법은, 노멀 맵 중 제1 방향에 매칭되는 제1 채널 노멀 맵을 식별하는 단계, 식별된 제1 채널 노멀 맵에 포함되는 복수의 픽셀을 제1 방향에 따라 순서대로 나열된 복수의 열로 구분하는 단계, 복수의 열의 순서에 따라 동일한 행에 위치하는 픽셀들의 값이 순차적으로 누적된 제1 맵을 생성하는 단계를 포함한다.

Description

노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법 { CONTROL METHOD OF ELECTRONIC APPARATUS FOR CONVERTING NORMAL MAP TO HEIGHT MAP }
본 개시는 적어도 하나의 객체를 3D 이미지 데이터로 구현하기 위한 전자 장치의 제어 방법에 관한 것으로, 보다 상세하게는, 객체의 법선 방향에 대한 정보를 포함하는 노멀 맵을 하이트 맵으로 변환하여 실제 지오메트리의 형태를 디테일하게 모델링할 수 있는 전자 장치의 제어 방법에 관한 것이다.
3D 지오메트리의 디테일을 올릴 수 있는 가장 보편적인 방법은 노멀 맵(Normal Map)이다.
일 예로, 일정 거리만큼 이격된 복수의 조명등을 통해 구현되는 조명 패턴(ex. Paul Debevec 등이 고안한 라이트 스테이지)을 활용하여 객체를 스캔할 경우 포토그래머트리 스캔보다 수십 배 이상 정밀하게 스캔할 수 있다.
다만, 이러한 스캔의 결과물은 노멀 맵으로 출력된다. 여기서, 라이트 스테이지 스캔과 병행되는 포토그래머트리 스캔에서 얻어지는 지오메트리 데이터에 해당 노멀맵이 입혀질 수 있으며, 그 결과 지오메트리보다 더 디테일한 렌더링은 가능하나, 지오메트리 데이터 자체의 디테일을 향상시킬 수는 없다.
지오메트리 데이터의 디테일을 올리기 위해서는, 라이트 스테이지 등을 통해 만들어진 노멀맵을 하이트 맵(Height map)으로 변환한 뒤 하이트 맵을 이용하여 지오메트리에 displacement를 적용해야 하는데, 현재까지 노멀맵을 하이트 맵으로 제대로 변환해 주는 툴이 없다.
본 개시는 노멀 맵을 하이트 맵으로 변환함으로써 지오메트리 데이터의 디테일을 향상시키는 전자 장치의 제어 방법을 제공한다.
본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 개시의 일 실시 예에 따라 적어도 하나의 객체의 표면 지점 별 법선 방향이 반영된 노멀 맵(Normal Map)을 하이트 맵(Height Map)으로 변환하는 전자 장치의 제어 방법은, 상기 노멀 맵 중 제1 방향에 매칭되는 제1 채널 노멀 맵을 식별하는 단계, 상기 식별된 제1 채널 노멀 맵에 포함되는 복수의 픽셀을 상기 제1 방향에 따라 순서대로 나열된 복수의 열(column)로 구분하는 단계, 상기 복수의 열의 순서에 따라 동일한 행에 위치하는 픽셀들의 값이 순차적으로 누적된 제1 맵을 생성하는 단계를 포함한다.
상기 제1 맵을 생성하는 단계는, 전체 픽셀 값이 모두 0이 되도록 제1 맵을 최초 설정하는 단계, 상기 제1 채널 노멀 맵의 제1 열에 해당하는 각 픽셀의 값을 바탕으로 상기 제1 맵의 제1 열을 업데이트하는 단계, 상기 제1 맵의 제1 열에 해당하는 각 픽셀의 값에 상기 제1 채널 노멀 맵의 제2 열에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 상기 제1 맵의 제2 열을 업데이트하는 단계, 상기 제1 맵의 제2 열에 해당하는 각 픽셀의 값에 상기 제1 채널 노멀 맵의 제3 열에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 상기 제1 맵의 제3 열을 업데이트하는 단계를 포함할 수 있다.
그리고, 상기 전자 장치의 제어 방법은, 상기 제1 맵에 포함되는 전체 픽셀의 값을 정규화하여 하이트 맵을 획득할 수 있다.
이때, 상기 전자 장치의 제어 방법은, 상기 획득된 하이트 맵을 바탕으로 지오메트리 데이터에 대한 변위 매핑(Displacement Mapping)을 수행할 수 있다.
한편, 상기 전자 장치의 제어 방법은, 상기 노멀 맵 중 상기 제1 방향에 직교하는 제2 방향에 매칭되는 제2 채널 노멀 맵을 식별하는 단계, 상기 식별된 제2 채널 노멀 맵에 포함되는 복수의 픽셀을 상기 제2 방향에 따라 순차적으로 나열된 복수의 행(row)으로 구분하는 단계, 상기 복수의 행의 순서에 따라 동일한 열에 위치하는 픽셀들의 값이 순차적으로 누적된 제2 맵을 생성하는 단계를 더 포함할 수 있다.
이 경우, 상기 제2 맵을 생성하는 단계는, 전체 픽셀 값이 모두 0이 되도록 제2 맵을 최초 설정하는 단계, 상기 제2 채널 노멀 맵의 제1 행에 해당하는 각 픽셀의 값을 바탕으로 상기 제2 맵의 제1 행을 업데이트하는 단계, 상기 제2 맵의 제1 행에 해당하는 각 픽셀의 값에 상기 제1 채널 노멀 맵의 제2 행에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 상기 제2 맵의 제2 행을 업데이트하는 단계, 상기 제2 맵의 제2 행에 해당하는 각 픽셀의 값에 상기 제2 채널 노멀 맵의 제3 행에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 상기 제2 맵의 제3 행을 업데이트하는 단계를 포함할 수 있다.
그리고, 상기 전자 장치의 제어 방법은, 상기 제1 맵의 픽셀 값과 상기 제2 맵의 픽셀 값에 대한 위치 별 평균 값을 바탕으로 제3 맵을 획득하는 단계, 상기 제3 맵에 포함되는 전체 픽셀의 값을 정규화하여 하이트 맵을 획득하는 단계를 포함할 수도 있다.
본 개시에 따른 전자 장치의 제어 방법은, 실제 지오메트리의 형태를 담은 지오메트리 이미지 데이터를 변위 매핑하기 위한 하이트 맵을 노멀 맵으로부터 획득할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 흐름도,
도 3은 본 개시의 일 실시 예에 따라 활용되는 제1 채널의 노멀 맵을 설명하기 위한 도면,
도 4a는 본 개시의 일 실시 예에 따른 전자 장치가 제1 채널의 노멀 맵을 바탕으로 제1 맵을 획득하는 동작을 설명하기 위한 도면,
도 4b는 본 개시의 일 실시 예에 따른 전자 장치가 제1 채널의 노멀 맵을 바탕으로 제1 맵을 획득하는 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 도면,
도 6a는 본 개시의 일 실시 예에 따른 전자 장치가 제2 채널의 노멀 맵을 바탕으로 제2 맵을 획득하는 동작을 설명하기 위한 도면,
도 6b는 본 개시의 일 실시 예에 따른 전자 장치가 제2 채널의 노멀 맵을 바탕으로 제2 맵을 획득하는 동작을 설명하기 위한 도면,
도 7은 본 개시의 일 실시 예에 따라 제1 맵 및 제2 맵 중 적어도 하나를 바탕으로 획득될 수 있는 하이트 맵의 예시를 도시한 도면,
도 8은 본 개시의 일 실시 예에 따라 하이트 맵을 바탕으로 생성된 실제 형태에 매칭되는 3D 이미지 데이터의 예시를 도시한 도면, 그리고
도 9는 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도이다.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 설명하기 위한 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.
전자 장치(100)는 데스크탑 PC, 노트북 PC, 태블릿 PC, 스마트폰, PDA 등 다양한 단말 기기에 해당할 수 있다. 일 예로, 전자 장치(100)는 적어도 하나의 컴퓨터 프로그램을 실행함으로써 후술할 동작들(도 2)을 수행할 수 있다.
또한, 전자 장치(100)는 적어도 하나의 컴퓨터로 구성된 서버로 구현될 수도 있다. 이 경우, 전자 장치(100)는 다양한 사용자 단말(ex. 데스크탑 PC, 노트북 PC 등)과 통신을 수행할 수 있다. 구체적으로, 전자 장치(100)는 적어도 하나의 웹 페이지 또는 애플리케이션을 통해 사용자 단말과 연동되어 후술할 제어 방법을 수행할 수도 있다.
메모리(110)는 전자 장치(100)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(100)의 구성요소와 관련된 적어도 하나의 인스트럭션 또는 데이터를 저장하기 위한 구성이다.
메모리(110)는 ROM, 플래시 메모리 등의 비휘발성 메모리를 포함할 수 있으며, DRAM 등으로 구성된 휘발성 메모리를 포함할 수 있다. 또한, 메모리(110)는 하드 디스크, SSD(Solid state drive) 등을 포함할 수도 있다.
메모리(110)는 적어도 하나의 객체의 표면 지점 별 법선 방향이 반영된 노멀 맵(Normal Map)을 포함할 수 있다.
노멀 맵은 서로 다른 방향의 조명 패턴들이 규칙성에 따라 제공되는 환경에서 촬영된 복수의 이미지를 바탕으로 획득된 것일 수 있다.
일 예로, 노멀 맵은 x축 방향의 표면 별 법선 방향을 나타내기 위한 x채널 이미지, y축 방향의 표면 별 법선 방향을 나타내기 위한 y채널 이미지, z축 방향의 표면 별 법선 방향을 나타내기 위한 z채널 이미지를 각각 포함할 수 있다.
상술한 노멀 맵을 구성하는 각 픽셀 별 법선 방향은 탄젠트 공간 내 파라미터로 변환되어 표현될 수도 있다.
노멀 맵은, 객체를 중심으로 일 방향(ex. x, y, 또는 z)에 따라 조명등의 밝기가 점차 달라지는 조명 환경 내에서 각각 촬영된 이미지에 따라 획득될 수 있다. 예시적으로, Paul Debevec 등의 라이트 스테이지가 활용될 수 있으나, 이에 한정되지 않는다.
프로세서(120)는 전자 장치(100)를 전반적으로 제어하기 위한 구성이다. 구체적으로, 프로세서(120)는 메모리(110)와 연결되는 한편 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 본 개시의 다양한 실시 예들에 따른 동작을 수행할 수 있다.
프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 인공지능 전용 프로세서는, 특정 인공지능 모델의 훈련 내지는 이용에 특화된 하드웨어 구조로 설계될 수 있다.
이하 도면들을 통해 본 개시에 따른 전자 장치의 제어 방법을 보다 상세하게 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 동작을 설명하기 위한 흐름도이다.
도 2를 참조하면, 전자 장치(100)는 노멀 맵 중 제1 방향에 매칭되는 제1 채널 노멀 맵을 식별할 수 있다(S210).
일 예로, 제1 방향은 x방향에 해당할 수 있으며, 제1 채널 노멀 맵은 x축 방향의 법선 방향을 나타내는 이미지(ex. Red 값 이미지에 대응됨)에 해당할 수 있다.
관련하여, 도 3을 참조하면, 전자 장치(100)는 메모리(110)에 저장된 노멀 맵(310)으로부터 제1 채널 노멀 맵(311)을 획득할 수 있다. 이때, 제1 채널 노멀 맵(311)은 x축 방향의 법선 방향을 나타내는 Red 값 이미지가 그레이 스케일로 변환된 것일 수 있으나, 이에 한정되지 않는다.
그리고, 전자 장치(100)는 제1 채널 노멀 맵에 포함되는 복수의 픽셀을 상기 제1 방향에 따라 순서대로 나열된 복수의 열(column)로 구분할 수 있다(S220).
관련하여, 도 4a를 참조하면, 제1 채널 노멀 맵(311)은 좌측부터 복수의 열(311-1, 2, 3, …)로 구분될 수 있다. 다만, 만약 제1 채널의 좌측 방향이 -x 방향인 경우, 좌측이 아닌 우측에 위치하는 열부터 순차적으로 넘버링 될 수도 있다.
도 4a의 우측을 참조하면, 전체 픽셀 값이 0으로 설정된 이미지는 제1 맵(411)의 초기 단계로 정의될 수 있으며, 제1 맵(411)은 제1 채널 노멀 맵(311)의 픽셀 값들을 바탕으로 재구성될 수 있다.
구체적으로, 전자 장치(100)는 상술한 제1 채널 노멀 맵(311) 내 복수의 열의 순서에 따라 동일한 행에 위치하는 픽셀들의 값이 순차적으로 누적된 제1 맵을 생성할 수 있다(S230).
도 4b를 참조하면, 먼저 전자 장치(100)는 제1 채널 노멀 맵(311)의 제1 열(311-1)에 해당하는 각 픽셀의 값을 바탕으로 제1 맵(411)의 제1 열을 업데이트할 수 있다. 그 결과, 제1 맵(411)의 제1 열의 값이 모두 제1 채널 노멀 맵(311)의 제1 열의 값과 동일해질 수 있다.
다음으로, 전자 장치(100)는 (업데이트된) 제1 맵(411)의 제1 열에 해당하는 각 픽셀의 값에 제1 채널 노멀 맵(311)의 제2 열(311-2)에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 제1 맵(411)의 제2 열을 업데이트할 수 있다. 즉, 행마다 제1 채널 노멀 맵(311)의 제1 열(311-1) 내지 제2 열(311-2)의 픽셀 값이 더해진 값이 제1 맵(411)의 제2 열의 픽셀 값이 된다.
다음으로, 전자 장치(100)는 (업데이트된) 제1 맵(411)의 제2 열에 해당하는 각 픽셀의 값에 제1 채널 노멀 맵(311)의 제3 열(311-3)에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 제1 맵(411)의 제3 열을 업데이트할 수 있다. 즉, 행마다 제1 채널 노멀 맵(311)의 제1 열(311-1) 내지 제3 열(311-3)의 픽셀 값이 더해진 값이 제1 맵(411)의 제3 열의 픽셀 값이 된다.
계속해서, 전자 장치(100)는 순차적으로 제1 채널 노멀 맵(311)의 각 열의 픽셀 값을 누적해가면서 제1 맵(411)의 각 열을 순차적으로 업데이트할 수 있다. 이러한 과정은, 제1 맵(411)의 마지막 열에 대해서까지 진행될 수 있다.
상술한 과정에 따라 제1 맵(411)이 완성되면, 전자 장치(100)는 제1 맵(411)에 포함되는 전체 픽셀의 값을 정규화하여 하이트 맵(Height Map)을 획득할 수 있다.
여기서, 하이트 맵은 적어도 하나의 객체의 표면 별 높이를 나타내는 이미지/맵에 해당하며, 바닥에서의 변위 또는 높이로 해석되는 하나 이상의 채널로 구성될 수 있다.
정규화 과정의 일 예로, 전자 장치(100)는 제1 맵(411)에서 가장 밝은(: 값이 큰) 픽셀의 값이 1이 되고 가장 어두운(: 값이 작은) 픽셀의 값이 0이 되도록 밝기 영역을 조절할 수 있다. 그 결과, 하이트 맵(ex. 도 7)이 획득될 수 있다.
한편, 일 실시 예로, 전자 장치(100)는 상술한 노멀 맵(310)의 제2 채널 노멀 맵을 활용하여 하이트 맵을 획득할 수도 있다.
도 5를 참조하면, 전자 장치(100)는 노멀 맵 중 제2 방향에 매칭되는 제2 채널 노멀 맵을 식별할 수 있다(S510). 여기서, 제2 방향은 상술한 제1 방향에 직교할 수 있다.
일 예로, 제2 방향은 y방향에 해당할 수 있으며, 제2 채널 노멀 맵은 y축 방향의 법선 방향을 나타내는 이미지(ex. Green 값 이미지에 대응됨)에 해당할 수 있다.
관련하여, 전자 장치(100)는 메모리(110)에 저장된 노멀 맵(310)으로부터 제2 채널 노멀 맵을 획득할 수 있다. 이때, 제2 채널 노멀 맵은 y축 방향의 법선 방향을 나타내는 Green 값 이미지가 그레이 스케일로 변환된 것일 수 있으나, 이에 한정되지 않는다.
그리고, 전자 장치(100)는 제2 채널 노멀 맵에 포함되는 복수의 픽셀을 상기 제2 방향에 따라 순서대로 나열된 복수의 행(row)으로 구분할 수 있다(S520).
관련하여, 도 6a를 참조하면, 제2 채널 노멀 맵(312)은 위로부터 복수의 행(312-1, 2, 3, …)으로 구분될 수 있다. 다만, 만약 제2 채널의 위쪽 방향이 -y 방향인 경우, 위가 아닌 아래에 위치하는 행으로부터 순차적으로 넘버링 될 수도 있다.
도 6a의 우측을 참조하면, 전체 픽셀 값이 0으로 설정된 이미지는 제2 맵(412)의 초기 단계로 정의될 수 있으며, 제2 맵(412)은 제2 채널 노멀 맵(312)의 픽셀 값들을 바탕으로 재구성될 수 있다.
구체적으로, 전자 장치(100)는 상술한 제2 채널 노멀 맵(312) 내 복수의 열의 순서에 따라 동일한 행에 위치하는 픽셀들의 값이 순차적으로 누적된 제2 맵을 생성할 수 있다(S530).
도 6b를 참조하면, 먼저 전자 장치(100)는 제2 채널 노멀 맵(312)의 제1 행(312-1)에 해당하는 각 픽셀의 값을 바탕으로 제2 맵(412)의 제1 행을 업데이트할 수 있다. 그 결과, 제2 맵(412)의 제1 행의 값이 모두 제2 채널 노멀 맵(312)의 제1 행의 값과 동일해질 수 있다.
다음으로, 전자 장치(100)는 (업데이트된) 제2 맵(412)의 제1 행에 해당하는 각 픽셀의 값에 제2 채널 노멀 맵(312)의 제2 행(312-2)에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 제2 맵(412)의 제2 행을 업데이트할 수 있다. 즉, 열마다 제1 채널 노멀 맵(312)의 제1 행(312-1) 내지 제2 행(312-2)의 픽셀 값이 더해진 값이 제2 맵(412)의 제2 행의 픽셀 값이 된다.
다음으로, 전자 장치(100)는 (업데이트된) 제2 맵(412)의 제2 행에 해당하는 각 픽셀의 값에 제2 채널 노멀 맵(312)의 제3 행(312-3)에 해당하는 각 픽셀의 값이 더해진 값을 바탕으로, 제2 맵(412)의 제3 행을 업데이트할 수 있다. 즉, 열마다 제2 채널 노멀 맵(312)의 제1 행(312-1) 내지 제3 행(312-3)의 픽셀 값이 더해진 값이 제2 맵(412)의 제3 행의 픽셀 값이 된다.
계속해서, 전자 장치(100)는 순차적으로 제2 채널 노멀 맵(312)의 각 행의 픽셀 값을 누적해가면서 제2 맵(412)의 각 행을 순차적으로 업데이트할 수 있다. 이러한 과정은, 제2 맵(412)의 마지막 행에 대해서까지 진행될 수 있다.
상술한 과정에 따라 제2 맵(412)이 완성되면, 전자 장치(100)는 제2 맵(412)에 포함되는 전체 픽셀의 값을 정규화하여 하이트 맵(ex. 도 7)을 획득할 수 있다.
한편, 일 실시 예로, 도 7의 하이트 맵은 도 2의 과정을 통해 획득된 제1 맵(411)과 도 5의 과정을 통해 획득된 제2 맵(412)이 모두 활용된 결과일 수 있다.
구체적으로, 전자 장치(100)는 제1 맵의 픽셀 값과 제2 맵의 픽셀 값에 대한 위치 별 평균 값을 바탕으로 제3 맵을 획득할 수 있다.
다른 예로, 전자 장치(100)는 제1 맵과 제2 맵 각각의 픽셀 값들의 표준 편차를 바탕으로 제3 맵을 획득할 수도 있다. 예를 들어, 제1 맵과 제2 맵 중 픽셀 값들의 표준 편차가 더 큰 맵이 제3 맵으로 선택될 수 있다. 또는, 제1 맵과 제2 맵의 표준 편차의 비에 따라 제1 맵과 제2 맵 각각의 픽셀 값이 반영될 수도 있다. 예를 들어, 제1 맵의 표준 편차와 제2 맵의 표준 편차의 비가 7:3인 경우, 각 픽셀의 위치 별로 제1 맵의 픽셀 값에 0.7이 적용된 값과 제2 맵의 픽셀 값에 0.3이 적용된 값이 더해진 결과, 제3 맵이 생성될 수 있다.
그리고, 전자 장치(100)는 제3 맵에 포함되는 전체 픽셀의 값을 정규화하여 하이트 맵을 획득할 수 있다.
상술한 실시 예들 중 적어도 하나에 따라 하이트 맵이 획득되면, 전자 장치(100)는 하이트 맵을 바탕으로 지오메트리 데이터에 대한 변위 매핑(Displacement Mapping)을 수행할 수 있다.
변위 매핑은 하이트 맵에 따라 객체의 각 표면 지점의 위치를 변경하기 위한 동작에 해당한다.
도 8은 본 개시의 일 실시 예에 따라 하이트 맵을 바탕으로 변위 매핑을 통해 생성된 실제 형태에 매칭되는 3D 이미지 데이터의 예시를 도시한 도면이다.
이렇듯, 변환된 하이트 맵을 바탕으로 지오메트리 데이터에 대한 변위 매핑이 수행된 경우, 노멀 맵과는 달리 실제 형태가 반영된 3D 이미지 데이터가 구현될 수 있다.
한편, 도 9는 본 개시의 다양한 실시 예에 따른 전자 장치의 상세한 구성을 설명하기 위한 블록도이다.
도 9를 참조하면, 전자 장치(100)는 메모리(110) 및 프로세서(120) 외에 통신부(130), 사용자 입력부(140), 디스플레이(150) 등을 더 포함할 수 있다.
통신부(130)는 다양한 유무선 통신방식으로 적어도 하나의 외부 장치와 통신을 수행하기 위한 회로, 모듈, 칩 등을 포함할 수 있다.
통신부(130)는 다양한 네트워크를 통해 외부 장치들과 연결될 수 있다.
네트워크는 영역 또는 규모에 따라 개인 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 광역 통신망(WAN; Wide Area Network) 등일 수 있으며, 네트워크의 개방성에 따라 인트라넷(Intranet), 엑스트라넷(Extranet), 또는 인터넷(Internet) 등일 수 있다.
통신부(130)는 LTE(long-term evolution), LTE-A(LTE Advance), 5G(5th Generation) 이동통신, CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), GSM(Global System for Mobile Communications), DMA(Time Division Multiple Access), WiFi(Wi-Fi), WiFi Direct, Bluetooth, NFC(near field communication), Zigbee 등 다양한 무선 통신 방식을 통해 외부 장치들과 연결될 수 있다.
또한, 통신부(130)는 이더넷(Ethernet), 광 네트워크(optical network), USB(Universal Serial Bus), 선더볼트(ThunderBolt) 등의 유선 통신 방식을 통해 외부 장치들과 연결될 수도 있다.
사용자 입력부(140)는 다양한 명령 또는 정보를 사용자로부터 입력 받기 위한 구성이다. 사용자 입력부(140)는 적어도 하나의 버튼, 터치 패드, 터치 스크린, 마이크, 카메라, 센서 등으로 구현될 수 있다. 또한, 전자 장치(100)는 마우스, 키보드 등으로 구성된 별도의 사용자 입력 장치와 연결될 수도 있다.
전자 장치(100)는 사용자 입력부(140)를 통해 수신되는 사용자 입력을 바탕으로, 적어도 하나의 객체에 대한 노멀 맵을 하이트 맵으로 변환할 수 있다. 또한, 전자 장치(100)는 사용자 입력부(150)를 통해 수신되는 사용자 입력을 바탕으로 하이트 맵을 활용한 지오메트리 데이터의 변위 매핑을 수행할 수 있다.
디스플레이(150)는 다양한 정보를 시각적으로 출력하기 위한 구성이다.
디스플레이(150)는 LCD(Liquid Crystal Display), PDP(Plasma Display Panel), OLED(Organic Light Emitting Diodes), TOLED(Transparent OLED), Micro LED 등으로 구현될 수 있으나, 이에 한정되는 것은 아니고 이밖에 종래 알려진 다양한 형태의 디스플레이를 포함할 수 있다. 디스플레이(150)는, 사용자의 터치 조작을 감지할 수 있는 터치스크린 형태로 구현될 수 있으며, 접히거나 구부러질 수 있는 플렉서블 디스플레이로 구현될 수도 있다.
일 예로, 전자 장치(100)는 디스플레이(150)를 통해 적어도 하나의 객체에 대한 3차원의 이미지를 표시할 수 있다. 본 이미지는 하이트 맵을 바탕으로 변위 매핑된 지오메트리 데이터에 해당할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 서로 저촉되지 않는 한 둘 이상이 결합되어 구현될 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 상술한 특정 기기들이 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (1)

  1. 적어도 하나의 객체의 표면 지점 별 법선 방향이 반영된 노멀 맵(Normal Map)을 하이트 맵(Height Map)으로 변환하는 전자 장치의 제어 방법에 있어서,
    상기 노멀 맵 중 제1 방향에 매칭되는 제1 채널 노멀 맵을 식별하는 단계;
    상기 식별된 제1 채널 노멀 맵에 포함되는 복수의 픽셀을 상기 제1 방향에 따라 순서대로 나열된 복수의 열(column)로 구분하는 단계; 및
    상기 복수의 열의 순서에 따라 동일한 행에 위치하는 픽셀들의 값이 순차적으로 누적된 제1 맵을 생성하는 단계;를 포함하는, 전자 장치의 제어 방법.
KR1020220072660A 2022-03-03 2022-06-15 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법 KR20230130507A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220072660A KR20230130507A (ko) 2022-03-03 2022-06-15 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220027641A KR102440840B1 (ko) 2022-03-03 2022-03-03 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법
KR1020220072660A KR20230130507A (ko) 2022-03-03 2022-06-15 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220027641A Division KR102440840B1 (ko) 2022-03-03 2022-03-03 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Publications (1)

Publication Number Publication Date
KR20230130507A true KR20230130507A (ko) 2023-09-12

Family

ID=83281371

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020220027641A KR102440840B1 (ko) 2022-03-03 2022-03-03 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법
KR1020220072659A KR20230130506A (ko) 2022-03-03 2022-06-15 서로 직교하는 방향들에 매칭되는 채널 노멀 맵들을 바탕으로 하이트 맵을 획득하는 전자 장치의 제어 방법
KR1020220072660A KR20230130507A (ko) 2022-03-03 2022-06-15 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020220027641A KR102440840B1 (ko) 2022-03-03 2022-03-03 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법
KR1020220072659A KR20230130506A (ko) 2022-03-03 2022-06-15 서로 직교하는 방향들에 매칭되는 채널 노멀 맵들을 바탕으로 하이트 맵을 획득하는 전자 장치의 제어 방법

Country Status (2)

Country Link
KR (3) KR102440840B1 (ko)
WO (1) WO2023167391A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102440840B1 (ko) * 2022-03-03 2022-09-06 (주)이브이알스튜디오 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134101A (ja) * 2009-12-24 2011-07-07 Sony Computer Entertainment Inc 画像処理装置、画像データ生成装置、画像処理方法、画像データ生成方法、および画像ファイルのデータ構造
GB201114591D0 (en) * 2011-08-23 2011-10-05 Tomtom Int Bv Methods of and apparatus for displaying map information
JP6971585B2 (ja) * 2017-02-21 2021-11-24 キヤノン株式会社 画像処理装置および画像処理方法
KR102103727B1 (ko) * 2018-09-03 2020-04-24 네이버 주식회사 스킴―픽셀cnn을 이용한 이미지 자동 생성 방법 및 이미지 자동 생성 장치
KR102440840B1 (ko) * 2022-03-03 2022-09-06 (주)이브이알스튜디오 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법

Also Published As

Publication number Publication date
KR102440840B1 (ko) 2022-09-06
WO2023167391A1 (ko) 2023-09-07
KR20230130506A (ko) 2023-09-12

Similar Documents

Publication Publication Date Title
CN110024020A (zh) 显示装置、校准装置及其校准方法
KR102048885B1 (ko) 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법
JP6138880B2 (ja) 材料のcg表現のシェーディング
KR20160130629A (ko) 양안 시차 영상에 대한 렌더링 방법 및 장치
KR20230130507A (ko) 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법
US20210241478A1 (en) Deep Photometric Learning (DPL) Systems, Apparatus and Methods
KR20200139941A (ko) 광학적 지문 인식을 위한 디스플레이 패널의 광원 설정 방법 및 이를 이용한 광학적 지문 인식 방법
US20230033319A1 (en) Method, apparatus and device for processing shadow texture, computer-readable storage medium, and program product
JP2021108155A (ja) 画像内のキーポイント位置の認識方法、装置、電子機器及び媒体
KR102486770B1 (ko) 건물 정보를 기초로 가상 객체를 자동으로 생성하는 전자 장치의 제어 방법
WO2022134168A1 (zh) 红外触控扫描方法、装置及存储介质
US20130322761A1 (en) System and Method to Determine Feature Candidate Pixels of an Image
CN113851090B (zh) 显示装置及其控制方法、相关设备
KR102495234B1 (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
KR102529176B1 (ko) 건물에 해당하는 가상 객체의 디테일 베리에이션을 수행하는 전자 장치의 제어 방법
CN108334162B (zh) 一种电子设备的显示处理方法及电子设备
CN113808246B (zh) 一种贴图的生成方法、装置、计算机设备及计算机可读存储介质
KR20170085388A (ko) 디스플레이 컨트롤러, 그리고 이를 포함하는 어플리케이션 프로세서
CN113436668B (zh) 一种多内存芯片的产品信息辨别方法及装置
US10817021B2 (en) Deformation controllable display based display method and display apparatus, and user equipment
JP7045103B1 (ja) データ拡張装置、データ拡張システム、及びデータ拡張プログラム
JP2018136693A (ja) 画像処理装置および画像処理方法
US10380463B2 (en) Image processing device, setting support method, and non-transitory computer-readable media
CN114038440B (zh) 显示装置及其控制方法
KR20200094638A (ko) 이미지 데이터 처리 방법 및 장치