KR102316438B1 - 3차원 데이터 처리 방법 - Google Patents

3차원 데이터 처리 방법 Download PDF

Info

Publication number
KR102316438B1
KR102316438B1 KR1020170078696A KR20170078696A KR102316438B1 KR 102316438 B1 KR102316438 B1 KR 102316438B1 KR 1020170078696 A KR1020170078696 A KR 1020170078696A KR 20170078696 A KR20170078696 A KR 20170078696A KR 102316438 B1 KR102316438 B1 KR 102316438B1
Authority
KR
South Korea
Prior art keywords
data
voxel
rendering
mesh
vertex
Prior art date
Application number
KR1020170078696A
Other languages
English (en)
Other versions
KR20180138458A (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 KR1020170078696A priority Critical patent/KR102316438B1/ko
Publication of KR20180138458A publication Critical patent/KR20180138458A/ko
Priority to KR1020210125610A priority patent/KR102413146B1/ko
Application granted granted Critical
Publication of KR102316438B1 publication Critical patent/KR102316438B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 3차원 데이터 처리 방법에 관한 것이다. 이러한 본 발명의 실시예에 의하면 3차원 모델에 대한 복셀 데이터에 대해 주변 폐색을 반영하여 3차원 메시 데이터로 변환하고, 렌더링을 할 때는 이미 주변 폐색이 반영된 3차원 메시 데이터를 렌더링한다. 따라서, 렌더링을 할 때에 프레임마다 주변 폐색을 수행하는 종래 기술과 비교할 때에 연산량이 감소되고, 렌더링의 소요시간이 종래 기술에 비하여 감소되기 때문에, 저사양의 하드웨어에서도 실시간 렌더링을 구현할 수 있는 효과가 있다.

Description

3차원 데이터 처리 방법{METHOD FOR PROCESSING 3-D DATA}
본 발명은 3차원 데이터 처리 방법에 관한 것으로, 더욱 상세하게는 3차원 모델에 대한 복셀(voxel) 데이터에 대해 주변 폐색(ambient occlusion)을 반영하여 렌더링하는 방법에 관한 것이다.
주지하고 있는 바와 같이, 컴퓨터 그래픽스 분야에서 사실적인 영상을 렌더링하는 것이 매우 중요하며, 이를 위한 기술 중의 하나로서 전역 조명(global illumination)을 고려한 렌더링 기법이 있다.
이러한 전역 조명을 고려한 렌더링 기법은 3차원 모델 내에 존재하는 직접 광원(direct light source)에 의한 직접 조명뿐만 아니라, 직접 조명이 오브젝트에 의해 반사된 반사광이나 난반사 현상 등에 의한 간접조명까지 고려하여 렌더링 품질을 향상시키는 렌더링 방법이다.
그러나 전역 조명을 고려한 렌더링 기법은 물리적 연산이 복잡하고 방대하여 많은 자원을 소모하기 때문에 실시간 렌더링이 어렵다는 단점이 있다.
한편, 전역 조명의 모든 효과를 낼 수는 없지만 전역 조명보다 더 빠르게 음영을 생성할 수 있는 조명 알고리즘으로서, 주변 폐색(ambient occlusion)이 주목 받고 있다.
이러한 주변 폐색을 이용하는 렌더링 방법에 의하면, 3차원 모델에 대한 복수의 복셀 데이터를 획득하고, 획득된 복셀 데이터를 파싱한 후에 3차원 메시 형태로 삼각화하여 3차원 메시 데이터로 변환한다. 그리고 렌더링을 할 때에 변환된 3차원 메시 데이터에 대해 주변 폐색을 수행하여 렌더링을 한다. 여기서, 메시의 각 정점에서 조명과 시점 방향으로 폐색이 있는지를 파악하여 그 횟수를 계수하고, 계수된 폐색 회수에 따라 밝기를 조정하는 알고리즘을 주변 폐색이라 한다.
그런데, 렌더링은 매 프레임마다 수행하는 것이기에 주변 폐색을 이용하는 렌더링 방법은 매 프레임마다 주변 폐색이 함께 수행되며, 렌더링을 할 때에 매 프레임마다 수행되는 주변 폐색에 의해 여전히 연산량이 매우 많고, 이로 인하여 렌더링의 소요시간을 단축하는데 한계가 있다.
대한민국 등록특허공보 제10-1208826호, 등록일자 2012년 11월 29일.
본 발명의 실시예에 의하면, 3차원 모델에 대한 복셀 데이터에 대해 주변 폐색을 반영하여 3차원 메시 데이터로 변환한 후에 주변 폐색이 반영된 3차원 메시 데이터를 렌더링하는 3차원 데이터 처리 방법을 제공한다.
본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 관점에 따른 3차원 데이터 처리 방법은, 3차원 모델에 대한 복수의 복셀(voxel) 데이터를 획득하는 단계와, 상기 복수의 복셀 데이터를 복셀별 주변 폐색(ambient occlusion)에 대응하는 텍스처 정보를 포함하는 3차원 메시 데이터로 변환하는 단계와, 상기 텍스처 정보를 반영하여 상기 3차원 메시 데이터를 렌더링하는 단계를 포함할 수 있다.
본 발명의 실시예에 의하면, 3차원 모델에 대한 복셀 데이터에 대해 주변 폐색을 반영하여 3차원 메시 데이터로 변환하고, 렌더링을 할 때는 이미 주변 폐색이 반영된 3차원 메시 데이터를 렌더링한다.
이러한 본 발명의 실시예와 종래 기술을 비교하여 보면, 종래 기술에서는 렌더링을 할 때에 주변 폐색 알고리즘을 수행하였지만, 본 발명의 실시예에 의하면 복셀 데이터를 3차원 메시 데이터로 변환할 때에 주변 폐색이 반영되게 한다. 즉, 종래 기술에 의하면 렌더링을 할 때마다 매번 주변 폐색 알고리즘을 수행하였으나, 본 발명의 실시예에 의하면 렌더링을 할 때에 주변 폐색 알고리즘을 수행하지 않는다. 그러므로, 렌더링을 할 때에 매우 많은 연산량이 필요한 주변 폐색 알고리즘을 수행하지 않기 때문에 렌더링의 소요시간이 대폭 단축된다.
따라서, 렌더링을 할 때에 프레임마다 주변 폐색을 수행하는 종래 기술과 비교할 때에 연산량이 감소되고, 렌더링의 소요시간이 종래 기술에 비하여 감소되기 때문에, 저사양의 하드웨어에서도 실시간(real-time) 렌더링을 구현할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법을 수행할 수 있는 3차원 데이터 처리 장치의 블록 구성도이다.
도 2는 본 발명의 일 실시예에 따른 3차원 데이터 처리 장치에 의해 수행되는 3차원 데이터 처리 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법에 의해 처리할 수 있는 3차원 모델에 대한 복셀 데이터의 예시도이다.
도 4는 본 발명의 일 실시예에 따라 3차원 메시 데이터를 복수의 텍스처 좌표를 지원하는 파일 포맷으로 변환할 때에 칼라 픽셀 영역의 예시도이다.
도 5는 본 발명의 일 실시예에 따라 3차원 메시 데이터를 단일의 텍스처 좌표를 지원하는 파일 포맷으로 변환할 때에 칼라 픽셀 영역의 예시도이다.
도 6은 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법에 의해 정점 간소화를 수행한 결과를 나타낸 예시도이다.
도 7은 종래 기술과 본 발명의 일 실시예에 따른 렌더링 결과를 비교하기 위한 것으로서, 도 7a는 주변 폐색이 반영되지 않은 렌더링 결과이고, 도 7b는 종래 기술에 따른 주변 폐색이 반영된 렌더링 결과이며, 도 7c는 본 발명의 일 실시예에 따른 주변 폐색이 반영된 렌더링 결과이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법을 수행할 수 있는 3차원 데이터 처리 장치의 블록 구성도이다.
이에 나타낸 바와 같이 본 발명의 일 실시예에 따른 3차원 데이터 처리 장치(100)는 데이터 획득부(110), 데이터 변환부(120), 렌더링부(130) 및 데이터 저장부(140)를 포함한다.
이러한 3차원 데이터 처리 장치(100)는 컴퓨터 그래픽스에 관련된 연산을 처리할 수 있는 CPU(Central Processing Unit)나 GPU(Graphics Processing Unit) 등과 같은 프로세서로 구현할 수 있다. 이 경우에, 데이터 저장부(140)는 CPU나 GPU의 내부 메모리로 구현하거나 3차원 데이터 처리 장치(100)의 외부에 별도로 마련한 메모리로 구현할 수 있고, 3차원 데이터 처리 장치(100)의 외부에 별도로 마련되는 데이터 저장부(140)는 컴퓨터로 읽을 수 있는 기록매체를 포함할 수 있다.
데이터 획득부(110)는 3차원 영상(101)으로 렌더링하고자 하는 3차원 모델에 대한 복수의 복셀 데이터를 획득한다. 예를 들어, 육면체 형태의 복셀 데이터를 획득할 수 있다. 여기서, 복셀 데이터는 데이터 저장부(140)에 미리 저장될 수 있고, 데이터 획득부(110)는 데이터 저장부(140)로부터 복수의 복셀 데이터를 로드할 수 있다. 또는, 데이터 획득부(110)는 입력 인터페이스(도시 생략됨)를 포함할 수 있으며, 이러한 입력 인터페이스를 통해 외부로부터 복셀 데이터가 입력될 수도 있다.
데이터 변환부(120)는 데이터 획득부(110)에 의해 획득된 복수의 복셀 데이터를 복셀별 주변 폐색(ambient occlusion)에 대응하는 텍스처 정보를 포함하는 3차원 메시 데이터로 변환한다. 예를 들어, 데이터 변환부(120)는 복수의 복셀 데이터를 삼각형이나 사각형 또는 육각형 등의 형태로 다각화하는 변환을 수행할 수 있다.
여기서, 데이터 변환부(120)는 복셀 데이터를 파싱한 후에 3차원 메시 형태로 변환하고, 복셀별 각 정점에 대해 인접한 복셀과의 기하학적 관계 정보를 파악하며, 파악된 기하학적 관계 정보를 변환된 데이터의 텍스처 정보에 포함시켜 3차원 메시 데이터를 생성한 후에 데이터 저장부(140)에 저장할 수 있다. 이때, 각 정점에 연결된 복셀의 에지(edge) 개수를 기하학적 관계 정보로서 계수할 수 있다.
그리고, 데이터 변환부(120)는 3차원 메시 데이터를 복수의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, FBX, LWO 등)으로 생성하여 데이터 저장부(140)에 저장할 수 있다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀이 저장될 수 있고, 인접된 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨을 나타내는 Y개의 픽셀이 저장될 수 있다.
또는, 데이터 변환부(120)는 3차원 메시 데이터를 단일의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, OBJ 등)으로 생성하여 데이터 저장부(140)에 저장할 수 있다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀이 그대로 저장되지 않고, 인접된 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨이 X개의 픽셀에 각각 반영되어 X×Y개의 픽셀이 저장될 수 있다.
렌더링부(130)는 텍스처 정보를 반영하여 3차원 메시 데이터를 3차원 모델에 대응하는 3차원 영상(101)으로 렌더링한다. 여기서, 텍스처 정보는 데이터 변환부(120)가 복셀별 주변 폐색에 대응하게 생성하였기 때문에 렌더링부(130)에 의해 렌더링된 3차원 영상(101)에는 주변 폐색이 반영되어 있다. 이때, 렌더링부(130)는 텍스처 정보로서 포함되어 있는 각 정점별 인접 복셀과의 기하학적 관계 정보, 예컨대 각 정점에 연결된 복셀의 에지 개수가 많을수록 밝기 레벨을 더 어둡게 표현할 수 있다.
데이터 저장부(140)에는 3차원 영상(101)으로 렌더링하고자 하는 3차원 모델에 대한 복수의 복셀 데이터가 미리 저장될 수 있고, 데이터 변환부(120)에 의해 복수의 복셀 데이터를 변환하여 생성된 3차원 메시 데이터가 저장될 수 있다.
도 2는 본 발명의 일 실시예에 따른 3차원 데이터 처리 장치에 의해 수행되는 3차원 데이터 처리 방법을 설명하기 위한 흐름도이다.
이에 나타낸 바와 같이 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법은, 3차원 영상으로 렌더링하고자 하는 3차원 모델에 대한 복수의 복셀 데이터를 획득하는 단계(S210)를 포함한다. 예를 들어, 육면체 형태의 복셀 데이터를 획득할 수 있다.
그리고, 복셀 데이터를 파싱한 후에 3차원 메시 형태로 변환하는 단계(S220)를 더 포함한다. 3차원 메시는 그래픽 기반으로 객체를 3차원으로 표현하기 위해 사용되는 점, 선, 면과 같은 데이터의 묶음을 의미한다. 예를 들어, 이러한 3차원 메시는 3개의 정점이 모여서 만들어진 삼각형을 포함하고, 이 삼각형들이 모여서 하나의 완전한 메시가 완성된다. 이처럼, 3차원 메시 형태로 변환할 때에 삼각형 형태로 삼각화를 변환을 수행하지 않고, 사각형이나 육각형 등의 다각형 형태로 다각화하는 변환을 수행할 수도 있다.
이어서, 복셀별로 각 정점에 대해 인접한 복셀과의 기하학적 관계 정보를 파악하는 단계(S230)를 더 포함한다. 여기서, 각 정점에 연결된 모든 복셀의 에지(edge) 개수를 기하학적 관계 정보로서 계수할 수 있다.
그리고, 각 정점별로 파악된 인접한 복셀과의 기하학적 관계 정보를 3차원 메시 형태로 변환된 데이터의 텍스처 정보에 포함시켜 3차원 메시 데이터를 생성 및 저장하는 단계(S240)를 더 포함한다. 여기서, 생성 및 저장된 3차원 메시 데이터의 텍스처 정보에는 복셀별 주변 폐색이 반영된 상태이다.
3차원 메시 데이터는 복수의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, FBX, LWO 등)으로 생성 및 저장할 수 있다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀이 저장될 수 있고, 인접한 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨을 나타내는 Y개의 픽셀이 저장될 수 있다.
또는, 3차원 메시 데이터는 단일의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, OBJ 등)으로 생성 및 저장할 수 있다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀이 그대로 저장되지 않고, 인접된 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨이 X개의 픽셀에 각각 반영되어 X×Y개의 픽셀이 저장될 수 있다.
다음으로, 복셀별 주변 폐색이 반영된 텍스처 정보를 반영하여 3차원 메시 데이터를 3차원 모델에 대응하는 3차원 영상으로 렌더링하는 단계(S250)를 더 포함한다. 여기서, 텍스처 정보는 복셀별 주변 폐색에 대응하게 생성하였기 때문에 렌더링된 3차원 영상에는 주변 폐색이 반영되어 있다. 이때, 각 정점에 대해 인접한 복셀과의 기하학적 관계 정보로서 포함되어 있는 에지 개수가 많을수록 밝기 레벨이 더 어둡게 표현되어 3차원 영상이 렌더링된다. 이처럼, 단계 S210 내지 단계 S250에 의해 3차원 모델에 대응하는 3차원 영상이 렌더링되는 과정(S200)이 모두 수행되었다.
이하, 도 1 내지 도 7를 참조하여 본 발명의 일 실시예에 따른 3차원 데이터 처리 장치에 의해 수행되는 3차원 데이터 처리 방법에 대해 더 자세히 살펴보기로 한다.
먼저, 3차원 데이터 처리 장치(100)의 데이터 획득부(110)는 3차원 영상(101)으로 렌더링하고자 하는 3차원 모델에 대한 복수의 복셀 데이터를 획득한다(S210). 도 3은 데이터 획득부(110)에 의해 획득될 수 있는 3차원 모델에 대한 복셀 데이터의 예시도이다. 이처럼, 육면체 형태의 복셀 데이터를 획득할 수 있다. 여기서, 복셀 데이터가 데이터 저장부(140)에 미리 저장된 경우에 데이터 획득부(110)는 데이터 저장부(140)로부터 복수의 복셀 데이터를 로드할 수 있다. 또는, 데이터 획득부(110)에 포함된 입력 인터페이스를 통해 복셀 데이터가 외부로부터 입력될 수도 있다.
그러면, 3차원 데이터 처리 장치(100)의 데이터 변환부(120)는 데이터 획득부(110)에 의해 획득된 복셀 데이터를 파싱한 후에 3차원 메시 형태로 변환하는 과정을 수행한다(S220). 이처럼, 복셀 데이터를 3차원 메시 형태로 변경하는 과정은 많은 연산량이 필요하기 때문에 연산에 따른 소요시간이 오래 걸린다. 만약에, 렌더링을 할 때에 3차원 메시 형태로 변환하면 많은 연산량으로 인하여 오랜 시간이 소요되어 실시간 렌더링이 불가능하다고 할 수 있다. 이에, 렌더링을 하기 전에 미리 복셀 데이터를 3차원 메시 형태로 변환하는 과정을 수행하는 것이다. 여기서, 3차원 메시는 그래픽 기반으로 객체를 3차원으로 표현하기 위해 사용되는 점, 선, 면과 같은 데이터의 묶음을 의미한다. 예를 들어, 3차원 메시는 3개의 정점이 모여서 만들어진 삼각형을 포함할 수 있고, 이 삼각형들이 모여서 하나의 완전한 메시가 완성될 수 있다. 이처럼, 3차원 메시 형태로 변환할 때에 삼각형 형태로 삼각화를 변환을 수행하지 않고, 사각형이나 육각형 등의 다각형 형태로 다각화하는 변환을 수행할 수도 있다.
이어서, 데이터 변환부(120)는 복셀별로 각 정점에 대해 인접한 모든 복셀과의 기하학적 관계 정보를 파악한다(S230). 여기서, 데이터 변환부(120)는 각 정점에 연결된 모든 복셀의 에지(edge) 개수를 기하학적 관계 정보로서 계수할 수 있다. 도 3의 3차원 모델에 대한 복셀 데이터의 예시도를 참조하면, 복셀(300)에 포함된 각 정점에 연결된 모든 복셀의 에지 개수를 계수할 수 있다. 예를 들어, 정점(301)은 에지 개수가 6개로 계수되고, 정점(302)는 에지 개수가 6개로 계수되며, 정점(303)은 에지 개수가 3개로 계수되고, 정점(304)는 6개로 계수되며, 정점(305)는 에지 개수가 6개로 계수되고, 정점(306)은 에지 개수가 4개로 계수된다.
그리고, 데이터 변환부(120)는 각 정점에 대해 파악된 인접한 복셀과의 기하학적 관계 정보를 3차원 메시 형태로 변환된 데이터의 텍스처 정보에 포함시켜 3차원 메시 데이터를 생성하며, 생성된 3차원 메시 데이터를 3차원 데이터 처리 장치(100)의 데이터 저장부(140)에 저장한다. 여기서, 데이터 저장부(140)에 저장된 3차원 메시 데이터의 텍스처 정보에는 복셀별 주변 폐색이 반영된 상태이다. 이는 텍스처 정보에 포함된 각 정점에 대한 인접한 복셀과의 기하학적 관계 정보가 복셀별 주변 폐색에 대응하는 정보이기 때문이며, 아래에서 부연 설명하기로 한다.
여기서, 데이터 변환부(120)는 3차원 메시 데이터를 복수의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, FBX, LWO 등)으로 생성 및 저장하거나 단일의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷(예컨대, OBJ 등)으로 생성 및 저장할 수 있다. 이는 현존하는 3차원 모델 파일 포맷과의 호환성을 위한 것이며, 호환성을 고려하지 않은 경우라면 렌더링 과정에서 이용할 수 있도록 사전에 약속된 경우라면 어떠한 포맷이라도 무방하다.
도 4는 본 발명의 일 실시예에 따라 3차원 메시 데이터를 복수의 텍스처 좌표를 지원하는 파일 포맷(예컨대, FBX, LWO 등)으로 변환할 때에 칼라 픽셀 영역의 예시도이다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀(CX1, CX2, …)이 저장될 수 있고, 각 정점에 인접한 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨을 나타내는 Y개의 픽셀(CY1, CY2, CY3, CY4)이 저장될 수 있다. 도 4는 총 4가지의 밝기 레벨 중에서 에지 개수에 따라 어느 한 레벨의 밝기 레벨을 지정하는 실시예를 나타내었다.
도 5는 본 발명의 일 실시예에 따라 3차원 메시 데이터를 단일의 텍스처 좌표를 지원하는 파일 포맷(예컨대, OBJ 등)으로 변환할 때에 칼라 픽셀 영역의 예시도이다. 이 경우에, 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에는 X개의 계조에 따른 칼라를 나타내는 X개의 픽셀이 그대로 저장되지 않고, 각 정점에 인접한 모든 복셀의 에지 개수에 따른 Y개의 밝기 레벨이 X개의 픽셀에 각각 반영되어 X×Y개의 픽셀(CX1Y1, CX1Y2, CX1Y3, CX1Y4, CX2Y1, CX2Y2, CX2Y3, CX2Y4, …)이 저장될 수 있다. 도 4는 총 4가지의 밝기 레벨 중에서 에지 개수에 따라 어느 한 레벨의 밝기 레벨을 지정하는 실시예를 나타내었다.
한편, 데이터 변환부(120)는 단계 S230에서 계수된 에지 개수가 많을수록 단계 S240에서 밝기 레벨을 더 어둡게 지정한다. 도 3에 예시된 복셀 데이터(300)의 정점들 중에서 에지 개수가 6개로 계수된 것은 정점(301)과 정점(302)과 정점(304) 및 정점(305)이며, 에지 개수가 4개로 계수된 것은 정점(306)이고, 에지 개수가 3개로 계수된 것은 정점(303)이다. 여기서, 정점(303)과 정점(306) 및 정점(302)의 에지 개수를 비교하여 보면, 정점(303) < 정점(306) < 정점(302)의 순서로 배열된다. 그리고, 정점(302)는 다른 정점들과 비교할 때에 상대적으로 가장 오목한 곳에 위치하며, 그 만큼 조명 환경에서 주변 복셀에 의해 음영이 발생할 가능성이 높다. 반면에, 정점(303)은 다른 정점들과 비교할 때에 상대적으로 가장 볼록한 곳에 위치하며, 그 만큼 조명 환경에서 주변 복셀에 의해 음영이 발생할 가능성이 낮다. 또, 정점(306)은 조명 환경에서 주변 복셀에 의해 음영이 발생할 가능성이 정점(302)의 음영 발생 가능성과 정점(303)의 음영 발생 가능성의 사이값이라고 볼 수 있다. 그러므로, 각 정점에 대해 인접한 모든 복셀의 에지 개수가 많을수록 밝기 레벨을 더 어둡게 지정하면 복셀별 주변 폐색에 대응하는 밝기 레벨이 지정된다. 즉, 정점(303) < 정점(306) < 정점(302)의 순서로 밝기 레벨이 더 어둡게 지정된다. 한편, 종래 기술에 따른 주변 폐색 조명 알고리즘에 따라 3차원 메시의 각 정점(301 내지 306)에서 조명과 시점 방향으로 폐색이 있는지를 파악하여 그 횟수를 계수하면 본 발명의 일 실시예에 따라 계수된 복셀의 에지 개수와 유사한 패턴을 가지는 것을 알 수 있다.
또한, 데이터 변환부(120)는 단계 S240에서 3차원 메시 데이터를 생성할 때에 정점 간소화를 수행하여 3차원 메시 데이터에 포함되는 정점의 개수를 줄일 수 있다. 도 6은 본 발명의 일 실시예에 따른 3차원 데이터 처리 방법에 의해 정점 간소화를 수행한 결과를 나타낸 예시도이다. 3차원 모델(401)의 경우에는 총 4개의 복셀로 이루어지는데, 단계 S230에서 각 정점에 대해 연결된 복셀의 에지 개수를 계수하면 나란히 배열된 다수의 정점에서 에지 개수의 결과가 동일하게 계수되는 결과가 나온다. 이 경우에는, 주변 폐색을 수행할 필요가 없는 동일한 면이라고 유추할 수 있으며, 중간에 위치하는 정점들을 제거하는 간소화를 수행하여 1개의 복셀로 이루어진 3차원 모델(402)로 변환할 수 있다.
다음으로, 3차원 데이터 처리 장치(100)의 렌더링부(130)는 복셀별 주변 폐색이 반영된 텍스처 정보를 반영하여 3차원 메시 데이터를 3차원 모델에 대응하는 3차원 영상(101)으로 렌더링 한다(S250). 여기서, 단계 S240에서 텍스처 정보를 생성할 때에 복셀별 주변 폐색에 대응하게 생성하였기 때문에 렌더링된 3차원 영상(101)에는 주변 폐색이 반영되어 있다. 이때, 3차원 모델에 대한 복셀의 각 정점에 대해 인접한 복셀과의 기하학적 관계 정보로서 포함되어 있는 복셀의 에지 개수가 많을수록 밝기 레벨이 더 어둡게 표현되어 3차원 영상(101)이 렌더링된다.
도 7은 종래 기술과 본 발명의 일 실시예에 따른 렌더링 결과를 비교하기 위한 것으로서, 도 7a는 주변 폐색이 반영되지 않은 렌더링 결과이고, 도 7b는 종래 기술에 따른 주변 폐색이 반영된 렌더링 결과이며, 도 7c는 본 발명의 일 실시예에 따른 주변 폐색이 반영된 렌더링 결과이다. 도 7a 내지 도 7c의 렌더링은 프로세서로서 퀄컴 스냅드래곤 821 MSM8996 Pro가 탑재된 구글 픽셀폰이 이용되었다.
도 7a는 3차원 모델에 대해 주변 폐색 알고리즘을 수행하지 않았을 때의 렌더링 결과이다. 3차원 영상의 렌더링을 완료하기까지 12ms가 소요된 것으로 측정되었다.
도 7b는 종래 기술에 따라 렌더링을 할 때에 주변 폐색 알고리즘을 수행하였을 때의 렌더링 결과이며, 매 프레임마다 주변 폐색의 조명 알고리즘을 수행한 경우이다. 이러한 종래 기술에 의하면, 3차원 영상의 렌더링을 완료하기까지 45ms가 소요된 것으로 측정되었다.
도 7a의 렌더링 결과와 도 7b의 렌더링 결과를 비교하여 보면, 주변 폐색 알고리즘을 수행하는 데에 33ms만큼 시간이 소요된 것을 알 수 있다.
도 7c는 본 발명의 일 실시예에 따라 종래 기술과는 달리 렌더링을 할 때에 주변 폐색 알고리즘을 수행하지 않고 3차원 모델에 대한 복셀 데이터를 3차원 메시 데이터로 변환할 때에 미리 주변 폐색이 반영되게 한 렌더링 결과이다. 즉, 렌더링을 할 때에 매우 많은 연산량이 필요한 주변 폐색 알고리즘을 수행하지 않으므로 렌더링의 소요시간이 대폭 단축된다. 도 7c에 나타낸 바와 같은 3차원 영상의 렌더링을 완료하기까지 12ms가 소요된 것으로 측정되었다.
도 7a의 렌더링 결과와 도 7c의 렌더링 결과를 비교하여 보면, 모두 렌더링을 할 때에 주변 폐색 알고리즘을 수행하지 않기 때문에 소요시간의 변화가 없음을 알 수 있다.
또, 도 7b의 렌더링 결과와 도 7c의 렌더링 결과를 비교하여 보면, 매우 유사한 렌더링 결과를 가지는 반면에, 3차원 영상의 렌더링을 완료하기까지 종래 기술보다 본 발명의 일 실시예에 의한 소요시간이 33ms만큼 단축된 것을 알 수 있다.
지금까지 설명한 바와 같이, 본 발명의 실시예에 의하면, 3차원 모델에 대한 복셀 데이터에 대해 주변 폐색을 반영하여 3차원 메시 데이터로 변환하고, 렌더링을 할 때는 이미 주변 폐색이 반영된 3차원 메시 데이터를 렌더링한다.
따라서, 렌더링을 할 때에 프레임마다 주변 폐색을 수행하는 종래 기술과 비교할 때에 연산량이 감소되고, 렌더링의 소요시간이 종래 기술에 비하여 감소되기 때문에, 저사양의 하드웨어에서도 실시간(real-time) 렌더링을 구현할 수 있다.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예에 따르면, 3차원 모델에 대한 복셀 데이터에 대해 주변 폐색을 반영하여 3차원 메시 데이터로 변환하고, 렌더링을 할 때는 이미 주변 폐색이 반영된 3차원 메시 데이터를 렌더링한다.
이러한 본 발명은 3차원 모델의 사실적인 영상을 렌더링하는 각종 컴퓨터 그래픽스 분야에 널이 이용할 수 있다.
100 : 3차원 데이터 처리 장치 110 : 데이터 획득부
120 : 데이터 변환부 130 : 렌더링부
140 : 데이터 저장부

Claims (7)

  1. 3차원 모델에 대한 복수의 복셀(voxel) 데이터를 획득하는 단계와,
    상기 복수의 복셀 데이터를 복셀별 주변 폐색(ambient occlusion)에 대응하는 텍스처 정보를 포함하는 3차원 메시 데이터로 변환하는 단계와,
    상기 복셀별 주변 폐색이 기 반영된 상기 3차원 메시 데이터를 3차원 영상으로 렌더링하는 단계를 포함하고,
    상기 렌더링하는 단계에서는 상기 3차원 영상의 매 프레임마다 상기 복셀별 주변 폐색을 위한 알고리즘을 수행하지 않는
    3차원 데이터 처리 방법.
  2. 제 1 항에 있어서,
    상기 텍스처 정보는, 복셀별 각 정점에 대해 인접한 복셀과의 기하학적 관계 정보를 포함하는
    3차원 데이터 처리 방법.
  3. 제 2 항에 있어서,
    상기 3차원 메시 데이터로 변환하는 단계는,
    상기 복셀 데이터를 파싱한 후에 3차원 메시 형태로 변환하는 단계와,
    상기 복셀별 각 정점에 대해 인접 복셀과의 기하학적 관계 정보를 파악하는 단계와,
    상기 파악된 기하학적 관계 정보를 상기 변환된 3차원 메시 데이터의 상기 텍스처 정보에 포함시켜 상기 3차원 메시 데이터를 생성하는 단계를 포함하는
    3차원 데이터 처리 방법.
  4. 제 3 항에 있어서,
    상기 기하학적 관계 정보는, 상기 각 정점에 연결된 인접의 에지(edge) 개수를 계수하는
    3차원 데이터 처리 방법.
  5. 제 4 항에 있어서,
    상기 3차원 메시 데이터는 복수의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷을 가지며,
    상기 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에, X개의 계조에 따른 칼라를 나타내는 X개의 픽셀과 상기 에지 개수에 따른 Y개의 밝기 레벨을 나타내는 Y개의 픽셀이 저장된
    3차원 데이터 처리 방법.
  6. 제 4 항에 있어서,
    상기 3차원 메시 데이터는 단일의 텍스처 좌표를 지원하는 3차원 모델 파일 포맷을 가지며,
    상기 3차원 모델에 대한 칼라 정보를 지정하는 칼라 픽셀 영역에, X개의 계조에 따른 칼라에 상기 에지 개수에 따른 Y개의 밝기 레벨이 반영된 X×Y개의 픽셀이 저장된
    3차원 데이터 처리 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 계수된 상기 에지 개수가 많을수록 상기 밝기 레벨이 더 어둡게 지정되는
    3차원 데이터 처리 방법.
KR1020170078696A 2017-06-21 2017-06-21 3차원 데이터 처리 방법 KR102316438B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170078696A KR102316438B1 (ko) 2017-06-21 2017-06-21 3차원 데이터 처리 방법
KR1020210125610A KR102413146B1 (ko) 2017-06-21 2021-09-23 3차원 데이터 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170078696A KR102316438B1 (ko) 2017-06-21 2017-06-21 3차원 데이터 처리 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210125610A Division KR102413146B1 (ko) 2017-06-21 2021-09-23 3차원 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20180138458A KR20180138458A (ko) 2018-12-31
KR102316438B1 true KR102316438B1 (ko) 2021-10-22

Family

ID=64959557

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170078696A KR102316438B1 (ko) 2017-06-21 2017-06-21 3차원 데이터 처리 방법
KR1020210125610A KR102413146B1 (ko) 2017-06-21 2021-09-23 3차원 데이터 처리 방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210125610A KR102413146B1 (ko) 2017-06-21 2021-09-23 3차원 데이터 처리 방법

Country Status (1)

Country Link
KR (2) KR102316438B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112734896B (zh) * 2021-01-08 2024-04-26 网易(杭州)网络有限公司 环境遮蔽渲染方法、装置、存储介质及电子设备
CN117351130A (zh) * 2023-10-26 2024-01-05 广东工业大学 一种面向智能车间三维场景的真实感实时渲染方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208826B1 (ko) * 2012-07-09 2012-12-06 인하대학교 산학협력단 깊이 텍스처의 등고선을 기반으로 한 실시간 다각형 앰비언트 오클루전 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152015A (ja) * 2002-10-30 2004-05-27 Digital Fashion Ltd 画像処理装置、画像処理プログラム、そのプログラムを記録する記録媒体、画像処理方法、シェーディング情報取得装置及びデータ構造

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101208826B1 (ko) * 2012-07-09 2012-12-06 인하대학교 산학협력단 깊이 텍스처의 등고선을 기반으로 한 실시간 다각형 앰비언트 오클루전 방법

Also Published As

Publication number Publication date
KR20210123243A (ko) 2021-10-13
KR20180138458A (ko) 2018-12-31
KR102413146B1 (ko) 2022-06-24

Similar Documents

Publication Publication Date Title
CN111369655B (zh) 渲染方法、装置和终端设备
CN106683199B (zh) 3d图形渲染方法和设备
US8896602B2 (en) Apparatus and method for finding visible points in a point cloud
KR101559637B1 (ko) 테셀레이션 시간이 테셀레이션의 양에 따라 선형적으로 증가하는 테셀레이터
US8217962B2 (en) Single-pass bounding box calculation
KR102413146B1 (ko) 3차원 데이터 처리 방법
JP2014507723A5 (ko)
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
JP2017521766A (ja) 3dモデルのレンダリング方法および装置ならびに端末デバイス
KR101635334B1 (ko) 대칭적 에지 스플릿팅에 의한 표면 테셀레이션
US8294713B1 (en) Method and apparatus for illuminating objects in 3-D computer graphics
US20230230311A1 (en) Rendering Method and Apparatus, and Device
US20230033319A1 (en) Method, apparatus and device for processing shadow texture, computer-readable storage medium, and program product
US20160093088A1 (en) Graphics processing systems
US11120611B2 (en) Using bounding volume representations for raytracing dynamic units within a virtual space
KR102250254B1 (ko) 영상 처리 방법 및 장치
KR20150060026A (ko) 이전 커맨드 정보를 이용하여 현재 커맨드를 처리하는 방법 및 장치.
EP3343516A1 (en) Method and device for applying an effect of an augmented or mixed reality application
CN112819940B (zh) 渲染方法、装置和电子设备
US9858709B2 (en) Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system
WO2022134125A1 (zh) 一种图形处理方法、装置及电子设备
US10297067B2 (en) Apparatus and method of rendering frame by adjusting processing sequence of draw commands
US10026216B2 (en) Graphics data processing method and apparatus
JP2006113909A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
KR20230162006A (ko) 두 레벨 비닝을 통한 포스트 깊이 가시성 수집

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant