KR20110124865A - 영상 처리 장치 및 방법 - Google Patents

영상 처리 장치 및 방법 Download PDF

Info

Publication number
KR20110124865A
KR20110124865A KR1020100044292A KR20100044292A KR20110124865A KR 20110124865 A KR20110124865 A KR 20110124865A KR 1020100044292 A KR1020100044292 A KR 1020100044292A KR 20100044292 A KR20100044292 A KR 20100044292A KR 20110124865 A KR20110124865 A KR 20110124865A
Authority
KR
South Korea
Prior art keywords
point
color
rendering
model
images
Prior art date
Application number
KR1020100044292A
Other languages
English (en)
Other versions
KR101630181B1 (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 KR1020100044292A priority Critical patent/KR101630181B1/ko
Publication of KR20110124865A publication Critical patent/KR20110124865A/ko
Application granted granted Critical
Publication of KR101630181B1 publication Critical patent/KR101630181B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

영상 처리 장치 및 방법이 제공된다.
상기 영상 처리 장치는 3D 모델을 제1 시점으로부터 렌더링 하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는 제1 연산부, 상기 제1 오브젝트의 시점으로부터, 제1 방향으로 멀티 레이어 렌더링을 수행하여, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성하는 제2 연산부 및 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여, 상기 제1 포인트의 칼라 값을 업데이트 하는 제3 연산부를 포함한다.

Description

영상 처리 장치 및 방법{IMAGE PROCESSING APPARATUS AND METHOD}
3D 모델로 구성된 오브젝트(object)에 대한 렌더링(rendering)에 연관되며, 보다 특정하게는 동적 신(dynamic scene)에 대한 실시간 래이 트레이싱(real-time ray tracing)에 연관된다.
3D (3-Dimensional) 모델을 렌더링 하는 기법 중 래이 트레이싱(ray tracing)은, 카메라 뷰(camera view)에서의 전체 신(scene)에 대응하는 래이들의 충돌 체크를 통해 빛의 진행 방향을 역으로 추적하는 방법이다.
이러한 래이 트레이싱은 반사 오브젝트(reflective object), 이를테면 유리나 매끄러운 금속 면 등을 잘 표현할 수 있으므로 렌더링 된 영상의 품질이 높다. 그러나, 래이의 반사 경로나 투과 경로를 추적하기 위한 충돌 체크에서 많은 연산이 요구되므로, 래이 트레이싱 기법에 의해 3D 모델을 렌더링 하기 위해서는 높은 하드웨어 성능이 필요하다.
특히, 3D 게임이나 가상 현실(virtual reality), 또는 가상 세계(virtual world) 등의 응용을 위해 동적 신(dynamic scene)을 실시간 렌더링 하는 경우, 실시간 래이 트레이싱을 위해 처리되는 연산량이 매우 커서, 통상적인 하드웨어 성능으로는 실시간 래이 트레이싱이 매우 어렵다.
본 발명의 일측에 따르면, 3D 모델을 제1 시점으로부터 렌더링 하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는 제1 연산부, 상기 제1 오브젝트의 시점으로부터, 제1 방향으로 멀티 레이어 렌더링을 수행하여, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성하는 제2 연산부 및 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여, 상기 제1 포인트의 칼라 값을 업데이트 하는 제3 연산부를 포함하는 영상 처리 장치가 제공된다.
상기 연산부는, 라스터라이재이션 기법 및 래디오시티 기법 중 적어도 하나를 이용하여 상기 제1 포인트의 칼라 값을 계산할 수 있다.
상기 제1 오브젝트는, 상기 3D 모델 내의 복수 개의 오브젝트 중 선택되는 반사 오브젝트(Reflective object)일 수 있다.
상기 반사 오브젝트는 상기 제1 연산부에 의해 계산된 상기 제1 포인트의 칼라 값을 이용하여 결정될 수 있다.
상기 제2 연산부는, 상기 제1 오브젝트를 포함하는 가상의 다각형을 설정하고, 상기 가상의 다각형의 각 면에 대해 상기 멀티 레이어 렌더링을 수행할 수 있다.
상기 제2 연산부는, 상기 제1 오브젝트의 시점으로부터 포인트 단위로 진행하는 세컨더리 래이 및 상기 복수 개의 깊이 영상 간의 충돌 지점을 탐색할 수 있다.
상기 가상의 다각형은 육면체(rectangular)일 수 있다.
상기 제3 연산부는, 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여 결정되는 상기 제1 포인트에 대응하는 세컨더리 래이의 충돌 포인트 정보를 이용하여, 상기 제1 연산부에 의해 계산된 상기 제1 포인트의 칼라 값을 업데이트할 수 있다.
본 발명의 다른 일측에 따르면, 3D 모델을 제1 시점으로부터 렌더링하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는 단계, 상기 제1 오브젝트의 시점으로부터, 제1 방향으로 멀티 레이어 렌더링을 수행하여, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성하는 단계 및 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여, 상기 제1 포인트의 칼라 값을 업데이트하는 단계를 포함하는 영상 처리 방법이 제공된다.
3D 렌더링을 수행하는 경우, 연산 양이 감소되어 렌더링 속도가 향상된다.
또한 3D 렌더링 연산 효율을 높이기 때문에, 동일한 품질의 영상을 얻기 위해 요구되는 자원(resource)을 줄일 수 있다. 로우-엔드(low-end) 장치에서도 실시간 렌더링을 가능하게 한다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치에 의해 렌더링 되는 예시적 3D 모델을 도시한다.
도 3은 도 2의 3D 모델을 라이트 뷰에서 내려다 본 모습을 도시하는 평면도이다.
도 4는 도 2의 3D 모델을 카메라 뷰에서 바라본 모습을 도시하는 정면도이다.
도 5는 본 발명의 일 실시예에 따라, 반사 오브젝트에 가상의 다각형을 씌운 모습을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시예에 따라 상기 도 5의 다각형 내부로부터 다각형 외부의 칼라 및 깊이 영상을 생성하는 과정을 설명하기 위한 개념도이다.
도 7은 본 발명의 일 실시예에 따라, 도 6의 3D 모델에서 생성된 복수 개의 레이어에 대한 칼라 및 깊이 영상을 도시한다.
도 8은 본 발명의 일 실시예에 따라, 세컨더리 레이의 충돌 포인트를 탐색하기 위해 세컨더리 레이의 진행 궤적을 칼라 영상에 프로젝션한 모습을 도시한다.
도 9는 도 8의 실시예에서, 세컨더리 레이가 충돌하는 레이어에서의 깊이 영상과 세컨더리 레이의 깊이 값을 비교한 그래프이다.
도 10은 도 8의 실시예에서, 세컨더리 레이가 충돌하지 않는 레이어에서의 깊이 영상과 세컨더리 레이의 깊이 값을 비교한 그래프이다.
도 11은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치(100)를 도시한다.
상기 영상 처리 장치(100)는 제1 연산부(110), 제2 연산부(120), 제3 연산부(130) 및 렌더링부(140)를 포함한다.
상기 제1 연산부(110)는 3D 모델을 렌더링하여, 프라이머리(primary) 래이 트레이싱 영상(image)를 생성한다.
상기 프라이머리 래이 트레이싱 영상을 생성하기 위한 실시예가 하기의 다른 도면을 참조하여 상세하게 기술된다.
상기 제2 연산부(120)는 상기 3D 모델 내의 오브젝트의 시점으로부터 특정 방향으로의 멀티 레이어 렌더링을 수행하여 복수 개의 칼라 영상 및 복수 개의 깊이 영상을 생성한다.
상기 제2 연산부(120)는 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여 세컨더리(secondary) 렌더링을 수행하여, 상기 오브젝트의 칼라 값을 업데이트하기 위한 세컨더리(secondary) 래이 트레이싱 영상을 획득한다.
상기 세컨더리 래이 트레이싱 영상을 생성하기 위한 실시예가 하기의 다른 도면을 참조하여 상세하게 기술된다.
상기 제3 연산부(130)는 상기 세컨더리 래이 트레이싱 영상을 이용하여, 상기 프라이머리 래이 트레이싱 영상 내의 포인트들의 칼라 값을 업데이트한다. 이는 프라이머리 래이를 이용하여 계산된 3D 모델 내의 오브젝트의 칼라 값들이 세컨더리 래이에 대한 추가적 래이 트레이싱 결과를 이용하여 업데이트되는 것이다.
상기 제3 연산부(130)는 상기와 같은 업데이트를 통해, 상기 프라이머리 래이 트레이싱 영상 및 상기 세컨더리 래이 트레이싱 영상이 통합된 상기 3D 모델의 렌더링된 영상을 생성한다.
상기 업데이트의 결과로, 상기 3D 모델 내의 포인트의 칼라가 변경될 수 있다. 상기 제3 연산부(130)는 상기 변경된 칼라를 다시 반영하기 위해 상기의 세컨더리 래이 트레이싱 영상 획득 및 업데이트 작업을 재귀적(recursive)으로 다시 수행할지 여부를 결정할 수 있다.
상기 업데이트에 대한 실시예가 하기의 다른 도면을 참조하여 상세하게 기술된다.
상기 제1 연산부(110), 제2 연산부(120) 및 제3 연산부(130)는 렌더링 작업에 필요한 연산을 수행하고, 상기 연산의 결과를 상기 렌더링부(140)에게 제공할 수 있다.
상기 렌더링부(140)는 상기 제공된 연산 결과를 사용하여 렌더링 작업을 수행할 수 있다.
상기 연산부 및 렌더링부(110, 120, 130 및 140)는 각각 별개의 프로세서(processor)일 수 있으며, 또는 한 프로세서 내의 코어(core)일 수 있다. 상기 프로세서 또는 코어는 범용 프로세서 또는 코어일 수 있으며, 상기 연산부 각각이 수행하는 연산을 위해 적합화된 전용의 프로세서 또는 코어일 수 있다.
또한, 상기 연산부 및 렌더링부(110, 120, 130 및 140)는 각각 하나의 컴퓨터 시스템 내에서 수행되는 프로세스(process), 쓰레드(thread) 또는 모듈(module)을 나타낸 것일 수 있다.
상기 프로세스, 쓰레드 또는 모듈은 시스템 내의 복수 개의 프로세서, 코어 상에서 동시 또는 순차적으로 실행될 수 있다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치에 의해 렌더링 되는 예시적 3D 모델을 카메라 뷰에서 바라본 모습을 도시한다.
상기 도 2에는 천장(201), 상기 천장 사이의 틈(202), 좌측 벽(203), 바닥(204) 및 우측 벽(205)이 도시되었고, 제1 오브젝트 (210), 제2 오브젝트(220) 및 제3 오브젝트(230)가 도시되었다.
상기 틈(202)을 통해, 광원이 투사된다.
상기 제1 오브젝트(210), 제2 오브젝트(220) 또는 제3 오브젝트(230)를 구성하는 포인트(즉, 픽셀)은 각각 칼라 값을 갖는다.
상기 칼라 값은 상기 오브젝트 고유의 칼라, 상기 광원의 칼라 및 그림자를 반영할 수 있다.
상기 오브젝트(210, 220 및 230)가 산란(diffuse), 반사(specular) 또는 광이 나는(glossy) 성질을 갖는 경우, 상기 오브젝트(210, 220 및 230)는 다른 오브젝트(210, 220 및 230) 또는 상기 오브젝트를 둘러싼 배경(201, 202, 203, 204 및 205)의 영상이 상기 오브젝트(210, 220 및 230)의 표면에 비춰지게 된다. 따라서, 상기 오브젝트의 포인트의 칼라 값은 이러한 현상을 반영하여야 한다.
도 3은 도 2의 3D 모델을 라이트 뷰에서 내려다 본 모습을 도시하는 평면도이다.
도 3은 카메라(310), 상기 카메라(310)의 시야각(311), 상기 제1 오브젝트(210), 상기 제2 오브젝트(220) 및 상기 제3 오브젝트(230)를 도시한다. 상기 라이트 뷰는 상기 틈(202)을 통해 상기 오브젝트(210, 220 및 230)를 내려다보는 시점을 의미한다. 따라서, 상기 틈(202)을 통해 볼 수 있는 영역은 실선으로, 그렇지 않은 영역은 점선으로 도시되었다.
도 4는 도 2의 3D 모델을 카메라 뷰에서 바라본 모습을 도시하는 정면도이다.
도 4는, 광원 (410) 및 상기 광원(410)의 투사각(411)을 도시하고, 상기 제1 오브젝트(210), 상기 제2 오브젝트(220) 및 상기 제3 오브젝트(230)를 도시한다.
상기 투사각(411)에 따라 상기 광원(410)의 빛은 상기 제1 오브젝트(210)의 일부와, 상기 제2 오브젝트(220) 및 상기 제3 오브젝트(230)에 직접적으로 미친다.
상기 제1 연산부(110)는 렌더링의 대상이 되는 상기 3D 모델을 상기 카메라(310)가 위치한 시점(camera position)으로부터 렌더링한다.
상기 렌더링의 결과로, 상기 3D 모델 내에 있는 상기 오브젝트(210, 220 및 230) 상의 포인트의 칼라 값이 계산된다. 상기 계산의 결과로, 프라이머리 래이 트레이싱 영상이 생성된다.
상기 렌더링은 라스터라이재이션(rasterization) 기법에 기반한 래이 트레이싱일 수 있다.
상기 라스터라이재이션 기법에 의해, 복수 개의 랜더 타겟(multiple render target)에 대한 라스터라이즈된 픽셀 칼라(rasterized pixel color), 보간된 위치(interpolated position), 보간된 법선(interpolated normal), 보간된 조도(interpolated radiance) 및 보간된 반사(reflectance)가 계산될 수 있다.
라스터라이재이션 기법에 기반한 렌더링이 사용된 경우, 상기 프라이머리 래이 트레이싱 영상의 래이 위치는 라스터라이재이션 기법에 의해 계산된 보간된 위치일 수 있다.
또한, 상기 프라이머리 래이 트레이싱 영상의 래이 방향은 하기의 수학식 1에 의해 계산될 수 있다.
Figure pat00001
여기서, C는 카메라 래이 벡터이고, N은 법선 벡터이며, dot는 두 벡터 간의 내적을 구하는 함수이다.
또한, 상기 프라이머리 래이 트레이싱 영상의 반사는 라스터라이재이션 기법에 의해 계산된 보간된 반사일 수 있다.
또한, 상기 프라이머리 래이 트레이싱 영상의 픽셀은 라스터라이재이션 기법에서의, 픽셀일 수 있다.
상기 렌더링은 레디오시티(radiosity) 기법에 기반한 래이 트레이싱일 수 있다.
상기 렌더링은 상기 라스터라이재이션 기법 및 상기 레디오시티 기법의 래이 트레이싱일 수 있다.
만약, 라스터라이재이션 및 레디오시티와 같은 복수 개의 기법이 각각 렌더링 방법으로서 사용되었다면, 상기 계산의 결과로, 제1 프라이머리 영상 및 제2 프라이머리 영상 등과 같은 복수 개의 프라이머리 영상이 생성된다.
상기 제2 연산부(120)는 상기 3D 모델 내의 각각의 오브젝트(210, 220 또는 230)의 시점으로부터 특정 방향으로의 멀티 레이어 렌더링을 수행한다.
따라서, 전채 신 중 일부에 대한 선택적 래이 트레이싱이 수행된다.
상기 제2 연산부(120)는 상기 각각의 오브젝트(210, 220 또는 230)에 대해 멀티 레이어 렌더링을 수행한다.
상기 멀티 레이어 렌더링은 상기 3D 모델 내의 복수 개의 오브젝트 중 산란 오브젝트, 반사하는 오브젝트 또는 광이 나는 오브젝트와 같은 반사(reflective object) 오브젝트에 대해서만 선택적으로 수행될 수 있다.
상기 멀티 미디어 렌더링은 상기 제1 연산부(110)에 의해 계산된 오브젝트의 포인트의 칼라 값에 따라 수행 여부가 결정될 수 있다.
상기 멀티 레이어 렌더링은 상기 표 1의 보간된 반사가 특정 임계치 이상인 포인트에 대해 수행될 수 있다.
상기 제2 연산부(120)는 상기 오브젝트(210, 220 또는 230)에 대한 상기 멀티 레이어 렌더링을 수행함에 있어, 가상의 다각형을 설정하여 상기 가상의 다각형의 각 면에 대해 멀티 레이어 렌더링을 수행할 수 있다.
따라서, 상기 제2 연산부(120)는 트라이앵글(triangle)의 수를 n이라 할 때, O(n log n)의 높은 연산량이 요구되는 전체 공간구조 대신, 스크린 스페이스에 기반한 레이 트레이싱을 수행한다.
또한, 광이 나는 오브젝트 및 소프트 쉐도우(soft shadow) 등에 대해서도 고정된 수의 래이가 사용될 수 있다.
상기 오브젝트는 상기 가상의 다각형의 내부에 위치하며, 상기 특정 방향은 상기 가상의 다각형의 각 면의 법선 방향이다.
도 5는 본 발명의 일 실시예에 따라, 반사 오브젝트에 가상의 다각형을 씌운 모습을 설명하기 위한 개념도이다.
도 5에서, 상기 제1 오브젝트(210)에는 다각형(410)이 씌워져 있다.
도시된 것처럼, 상기 가상의 다각형(410)은 육면체일 수 있다. 상기 육면체는 x 평면, y 평면 또는 z 평면에 수평한 면들로 구성될 수 있다.
상기 육면체의 각 면(411 등) 각각에 대한 멀티 레이어 렌더링이 수행된다.
이때, 상기 육면체는 상기 오브젝트와 동일한 x, y 및 z축 상의 길이를 가질 수 있다. 또한, 상기 육면체는 상기 오브젝트와 접하도록 상기 오브젝트의 넓이, 높이 및 깊이와 각각 같은 넓이, 높이 및 깊이를 가질 수 있다. 상기 육면체의 각 면은 상기 오브젝트와 한 점(point) 이상에서 접할 수 있다.
상기 멀티 레이어 렌더링은 상기 다각형의 내부로부터 다각형 외부의 영상을 렌더링하여, 깊이(depth) 값을 갖는 멀티 레이어 영상을 획득하는 것이다.
상기 레이어는 상기 3D 모델 내에서, 특정한 규칙에 따라 정해진 구간 별로 하나씩 생성될 수 있다.
예컨대, 상기 구간은 상기 3D 모델 내에서의 절대적 위치를 기준으로 분할될 수 있다. 또한, 상기 구간은 상기 다각형의 중심 또는 상기 다각형의 면으로부터의 거리를 기준으로 분할될 수 있다.
상기 구간이 거리를 기준으로 분할될 때, 상기 구간은 고정된 값의 길이를 갖도록 분할될 수 있고, 지수 함수와 같은 특정 수식에 따른 길이를 갖도록 분할될 수 있다.
상기 레이어는 3D 모델 내에서 상기 방향으로 래이를 진행하였을 때 충돌할 수 있는 오브젝트 별로 하나씩 생성될 수 있다. 예컨대, 상기 제2 오브젝트(220) 및 상기 제3 오브젝트(230) 각각의 칼라 및 깊이를 나타낼 수 있도록 각각의 오브젝트를 위한 레이어가 생성될 수 있다.
도 6은 본 발명의 일 실시예에 따라 상기 도 5의 다각형 내부로부터 다각형 외부의 칼라 및 깊이 생성하는 과정을 설명하기 위한 개념도이다.
상기 멀티 레이어 렌더링을 위한 가상의 카메라(610)는 상기 다각형(410)의 중심, 예컨대 육면체의 중심에 위치한다.
상기 가상의 카메라(610)는 상기 다각형(410)의 법선 방향으로 상기 다각형(410)의 일 면(411)에 대한 멀티 레이어 렌더링을 수행하여, 레이어(620)를 획득한다.
만약, 육면체가 아닌 더 많은 면을 갖는 다각형을 사용하는 상기의 투영 작업이 수행될 경우, 더 정확한 래이 트레이싱 결과가 산출될 수 있다.
도 7은 본 발명의 일 실시예에 따라, 도 6의 3D 모델에서 생성된 복수 개의 레이어에 대한 칼라 및 깊이 영상을 도시한다.
전술한 레이어 생성 방법을 통해, 상기 제2 오브젝트(220)의 존재를 반영하는 레이어 0이 획득되었고, 상기 제3 오브젝트(230)의 존재를 반영하는 레이어 1이 획득되었다.
상기 레이어 0은 칼라 영상(710) 및 깊이 영상(711)을 포함한다.
상기 제2 오브젝트는 단일 색이므로, 상기 칼라 영상(710) 중 제2 오브젝트(220)가 차지하는 영역은 상기 제2 오브젝트(220)의 칼라와 같은 값을 갖고, 그렇지 않은 영역은 투명(transparent)한 값을 갖는다.
또한, 상기 깊이 영상(711)은 상기 제2 오브젝트(220)가 구(sphere)의 형상인 것을 반영하여, 상기 제2 오브젝트(220)의 중심부에 해당하는 부분은 적은 값(상대적으로, 상기 가상의 카메라(610)에 가깝다.)을 갖고, 상기 제2 오브젝트(220)의 주변으로 갈수록 그에 해당하는 부분은 큰 값(상대적으로, 상기 가상의 카메라(610)에서 더 멀다.)을 갖는다.
상기 레이어 3은 칼라 영상(720) 및 깊이 영상(721)을 포함한다.
상기 제3 오브젝트(230)는 상기 제2 오브젝트(220) 보다 더 작기 때문에, 상기 제3 오브젝트(230)의 칼라 영상(720) 중 상기 제3 오브젝트(230)의 칼라를 갖는 부분은 상기 제2 오브젝트(220)의 칼라 영상(710)에 비해 더 적다.
상기 제3 오브젝트(230)는 상기 제2 오브젝트(220)보다 상기 제1 오브젝트에서 더 멀리 떨어져 있기 때문에 상기 제3 오브젝트(230)의 깊이 영상(721)에서 상기 제3 오브젝트(230)에 해당하는 부분의 깊이 값은 상기 제2 오브젝트(220)의 깊이 영상(711)에서 상기 제2 오브젝트(220)에 해당하는 부분보다 더 큰 값을 갖는다.
상기 제2 연산부(120)는 상기 수행의 결과로, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성한다.
상기와 같은 방법으로 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상이 생성되면, 상기 제2 연산부(120)는 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여 세컨더리(secondary) 렌더링을 수행한다.
상기 제2 연산부(120)는 상기 세컨더리(secondray) 렌더링을 통해 상기 오브젝트(210, 220 및 230)의 칼라 값을 업데이트하기 위한 세컨더리(secondary) 래이 트레이싱 영상을 획득한다.
상기 세컨더리 래이 트레이싱 영상을 획득하기 위해, 상기 제2 연산부(120)는 2D 영상 상에서 오브젝트의 포인트 단위로 세컨더리 레이를 진행시켜 상기 세컨더리 레이의 깊이 범위에 상기 복수 개의 깊이 영상 중 하나의 깊이 값이 포함되는지 체크한다.
상기 세컨더리 레이는 상기 카메라 래이가 반사 면(surface)에 반사된 반사 래이일 수 있다. 이때, 상기 카메라 레이 및 반사 면의 법선이 이루는 각과 상기 법선 및 상기 반사 래이가 이루는 각은 같다.
상기 체크는 상기 복수 개의 깊이 영상에 대해 상기 오브젝트와 가까운 순서로 수행될 수 있다.
만약 상기 세컨더리 래이의 깊이 범위에 상기 복수 개의 깊이 영상 중 하나의 깊이 값이 포함된다면, 상기 세컨더리 래이 및 상기 깊이 영상에 대응하는 오브젝트는 서로 충돌한다. 상기 제2 연산부(120)는 최초의 충돌 지점을 탐색 및 추산한다.
상기 제2 연산부(120)는 상기 깊이 영상의 최초 충돌 포인트에 대응하는 상기 칼라 영상의 포인트에서 그 지점의 칼라 값을 가져와 상기 세컨더리 래이의 칼라를 결정하기 위해 사용한다.
상기 세컨더리 레이의 특정 포인트의 칼라는 상기 충돌 포인트의 칼라, 상기 오브젝트의 포인트의 칼라 및 상기 오브젝트의 포인트의 반사도 등에 따라 결정될 수 있다.
상기 결정에 따라서, 상기 제2 연산부(120)는 래이 트레이싱 영상을 생성한다.
상기의 실시예에 따른 생성 방법은, 특히 스트리밍(streaming) 방식의 GPU(graphics processing unit)에게 비효율적인, 조건 분기 충돌 체크를 사용하지 않을 수 있다.
도 8은 본 발명의 일 실시예에 따라, 세컨더리 레이의 충돌 포인트를 탐색하기 위해 세컨더리 레이의 진행 궤적을 칼라 영상에 프로젝션한 모습을 도시한다.
도 8은 특정 레이어의 칼라 영상 및 깊이 영상에 기반하여 생성되는 2D 영상 공간(810) 및 상기 2D 영상 공간(810) 내에서의 오브젝트(820)를 도시하였고, 상기 2D 영상 공간(810) 내에서의 세컨더리 레이(830)의 진행 궤적을 도시하였다.
도시된 것처럼, 상기 세컨더리 레이(830)는 진행 중 상기 오브젝트(820)와 충돌한다. 따라서, 상기 충돌의 충돌 지점이 탐색 및 추산되어야 한다.
도 9는 도 8의 실시예에서, 세컨더리 레이가 충돌하는 레이어에서의 깊이 영상과 세컨더리 레이의 깊이 값을 비교한 그래프이다.
도 9는 세컨더리 레이(930)가 진행함에 따라, 특정 레이어 중 상기 세컨더리 레이(930)에 대응하는 부분에서의 깊이(910)를 도시한다.
도 9에서 x 축은 상기 세컨더리 레이(930)의 진행을 나타내며, y 축은 깊이를 나타낸다.
상기 세컨더리 레이(930)와 상기 레이어는 충돌하므로, 상기 세컨더리 레이(930)와 상기 깊이 곡선(910)은 적어도 하나의 충돌 지점(930)을 갖는다.
상기 적어도 하나의 충돌 지점(930) 중 업데이트의 대상이 되는 포인트와 가장 가까운 지점, 즉 x 값이 가장 적은 지점이 최초 충돌 포인트이다.
도 10은 도 8의 실시예에서, 세컨더리 레이가 충돌하지 않는 레이어에서의 깊이 영상과 세컨더리 레이의 깊이 값을 비교한 그래프이다.
도 10은 세컨더리 레이(1020)가 진행함에 따라, 상기 특정 레이어 중 상기 세컨더리 레이(1030)에 대응하는 부분에서의 깊이(1010)를 도시한다.
상기 세컨더리 래이(1020)와 상기 레이어는 충돌하지 않으므로, 상기 세컨더리 레이(1020)와 상기 깊이 곡선(1010)은 충돌 지점을 갖지 않는다.
상기와 같은 방법으로 세컨더리 래이 트레이싱 영상이 획득되면, 상기 제3 연산부(130)는 상기 세컨더리 래이 트레이싱 영상을 이용하여, 상기 프라이머리 레이 트레이싱 영상 내의 포인트들의 칼라 값을 업데이트한다. 이는 프라이머리 래이를 이용하여 계산된 3D 모델 내의 오브젝트의 칼라 값들이 세컨더리 래이에 대한 추가적 래이 트레이싱 결과를 이용하여 업데이트되는 것이다.
상기 제3 연산부(130)는 상기와 같은 업데이트를 통해, 상기 프라이머리 래이 트레이싱 영상 및 상기 세컨더리 래이 트레이싱 영상이 통합된 상기 3D 모델의 렌더링된 영상을 생성한다.
만약, 상기 프라이머리 래이 트레이싱 영상이 복수 개의 렌더링 기법을 통해 복수 개 생성되었다면, 상기 제3 연산부(130)는 상기 복수 개의 프라이머리 래이 트레이싱 영상 중 하나의 영상 내의 포인트들의 칼라 값들을 다른 프라이머리 래이 트레이싱 영상 및 세컨더리 래이 트레이싱 영상을 이용하여 업데이트한다.
상기 통합된 영상이 상기 3D 모델의 렌더링된 영상이 된다.
상기 제3 처리부(130)는 멀티플 바운스(multiple-bounce) 수행을 할 수 있다.
상기 통합의 결과로 상기 3D 모델 내의 포인트의 칼라가 변경될 수 있으며, 상기 3D 모델 내의 반사 오브젝트 등은 상기 변경된 칼라를 재 반영할 필요가 있다.
상기 재 반영을 위해 전술된 세컨더리 래이 트레이싱 영상의 획득 및 업데이트 작업이 재귀적(recursive)으로 반복 적용될 필요가 있다.
따라서, 상기 세컨더리 래이 트레이싱 영상의 생성 및 상기 세컨더리 래이 트레이싱 영상을 사용한 업데이트의 제1 반복(iteration)이 수행된 후, 상기 반복의 결과를 바탕으로 제2 및 제3 반복이 수행될 수 있다. 이때 상기 제2 및 제3 반복에서는 앞서 상기 제1 반복에서의 반사된 영상이 다시 반영될 수 있다.
상기 제3 연산부(140)는 미리 정해진 특정 횟수에 따라 상기 반복 수행의 여부를 결정할 수 있고, 상기 변경에 의한 포인트의 색상 변화 정도에 따라서 상기 반복 수행의 여부를 결정할 수 있다.
도 11은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
우선, 3D 모델에 대한 프라이머리 래이 트레이싱이 수행된다(S1110). 상기 래이 트레이싱은 라스터라이재이션 방법에 의한 것일 수 있다.
이후, 상기 3D 모델의 오브젝트에 가상의 다각형이 설정된다(S1120).
상기 오브젝트는 상기 3D 모델의 오브젝트 중 반사 오브젝트일 수 있다.
상기 가상의 다각형은 육면체일 수 있다.
이후, 상기 다각형의 내부로부터 상기 다각형의 각 면들의 방향으로의 멀티 레이어 렌더링이 수행된다(S1130).
상기 렌더링에 의한 깊이 영상을 사용하여, 세컨더리 레이 및 깊이 영상 간의 충돌 지점이 탐색된다(S1140).
상기 3D 모델 내의 오브젝트들의 각 포인트에 대해 상기 충돌 지점이 탐색되고, 상기 충돌 지점에서의 칼라 영상을 통해 상기 포인트의 칼라 값이 업데이트 된다.
상기 업데이트를 통해 세컨더리 래이 트레이싱이 완성된다(S1150).
상기 프라이머리 래이 트레이싱 및 상기 세컨더리 래이 트레이싱이 통합되어 렌더링 결과가 산출된다(1160).
상기의 렌더링 결과가 산출됨으로써, 상기 오브젝트(210, 220 및 230)를 포함한 상기 3D 모델 내의 포인트의 칼라가 변경된다.
상기와 같은 스크린 공간(screen space) 기반 레이 트레이싱 방식은 고화질 렌더링을 위해 필수적으로 요구되는 높은 복잡도의 지오메트리(geometry) 및 라이트(light) 환경 하에서 직접 및/또는 간접 조명을 효율적으로 실시간 렌더링할 수 있다.
상기 장치 및 방법은 레디오시티의 세컨드 바운스(second bounce) 처리에 이용될 수 있다.
상기 장치 및 방법은 포톤 매핑(photon mapping)의 포인트 디스트리뷰션(point distribution)에 이용될 수 있다.
상기 장치 및 방법은 산란 오브젝트, 또는 광택이 나는 오브젝트에 대해 광택 BRDF(glossy bidirectional reflectance distribution function)에 따라 가중치 부여된 샘플링(weighted sampling)을 사용함으로써 확장될 수 있다.
상기 장치 및 방법은 계층적 Z-버퍼(hierarchical Z-buffer)를 사용하면 픽셀 수의 log 스케일만큼의 체크를 요한다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 영상 처리 장치
110: 제1 연산부
120: 제2 연산부
130: 제3 연산부
140: 렌더링부

Claims (15)

  1. 3D 모델을 제1 시점으로부터 렌더링 하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는 제1 연산부;
    상기 제1 오브젝트의 시점으로부터, 제1 방향으로 멀티 레이어 렌더링을 수행하여, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성하는 제2 연산부; 및
    상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여, 상기 제1 포인트의 칼라 값을 업데이트 하는 제3 연산부
    를 포함하는 영상 처리 장치.
  2. 제1항에 있어서,
    상기 제1 연산부는,
    라스터라이재이션 기법 및 래디오시티 기법 중 적어도 하나를 이용하여 상기 제1 포인트의 칼라 값을 계산하는, 영상 처리 장치.
  3. 제1항에 있어서,
    상기 제1 오브젝트는, 상기 3D 모델 내의 복수 개의 오브젝트 중 선택되는 반사 오브젝트(Reflective object)인, 영상 처리 장치.
  4. 제3항에 있어서,
    상기 반사 오브젝트는 상기 제1 연산부에 의해 계산된 상기 제1 포인트의 칼라 값을 이용하여 결정되는, 영상 처리 장치.
  5. 제1항에 있어서,
    상기 제2 연산부는,
    상기 제1 오브젝트를 포함하는 가상의 다각형을 설정하고, 상기 가상의 다각형의 각 면에 대해 상기 멀티 레이어 렌더링을 수행하는, 영상 처리 장치.
  6. 제1항에 있어서,
    상기 제2 연산부는,
    상기 제1 오브젝트의 시점으로부터 포인트 단위로 진행하는 세컨더리 래이 및 상기 복수 개의 깊이 영상 간의 충돌 지점을 탐색하는, 영상 처리 장치.
  7. 제5항에 있어서,
    상기 가상의 다각형은 육면체(rectangular)인, 영상 처리 장치.
  8. 제1항에 있어서,
    상기 제3 연산부는,
    상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여 결정되는 상기 제1 포인트에 대응하는 세컨더리 래이의 충돌 포인트 정보를 이용하여, 상기 제1 연산부에 의해 계산된 상기 제1 포인트의 칼라 값을 업데이트 하는, 영상 처리 장치.
  9. 3D 모델을 제1 시점으로부터 렌더링하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는 단계;
    상기 제1 오브젝트의 시점으로부터, 제1 방향으로 멀티 레이어 렌더링을 수행하여, 복수 개의 칼라 영상 및 상기 복수 개의 칼라 영상의 각각에 대응하는 복수 개의 깊이 영상을 생성하는 단계; 및
    상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여, 상기 제1 포인트의 칼라 값을 업데이트하는 단계
    를 포함하는 영상 처리 방법.
  10. 제1항에 있어서,
    상기 제1 포인트의 칼라 값을 계산하는 단계는,
    라스터라이재이션 기법 및 래디오시티 기법 중 적어도 하나를 이용하여, 상기 3D 모델을 상기 제1 시점으로부터 렌더링하여, 상기 3D 모델 내의 제1 오브젝트 위의 제1 포인트의 칼라 값을 계산하는, 영상 처리 방법.
  11. 제9항에 있어서,
    상기 제1 오브젝트는, 상기 3D 모델 내의 복수 개의 오브젝트 중 선택되는 반사 오브젝트(Reflective object)인, 영상 처리 방법.
  12. 제9항에 있어서,
    상기 멀티 레이어 렌더링은, 상기 제1 오브젝트를 포함하는 가상의 다각형의 각 면에 대해 수행되는, 영상 처리 방법.
  13. 제9항에 있어서,
    상기 계산된 제1 포인트의 칼라 값은 상기 복수 개의 칼라 영상 및 상기 복수 개의 깊이 영상을 이용하여 결정되는 상기 제1 포인트에 대응하는 세컨더리 래이의 충돌 포인트 정보를 이용하여 업데이트되는, 영상 처리 방법.
  14. 제13항에 있어서,
    상기 충돌 포인트 정보는, 포인트 단위로 진행하는 세컨더리 래이 및 상기 복수 개의 깊이 영상 간의 충돌 지점을 탐색함으로써 결정되는, 영상 처리 방법.
  15. 제9항 내지 제14항 중 어느 한 항의 영상 처리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020100044292A 2010-05-12 2010-05-12 영상 처리 장치 및 방법 KR101630181B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100044292A KR101630181B1 (ko) 2010-05-12 2010-05-12 영상 처리 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100044292A KR101630181B1 (ko) 2010-05-12 2010-05-12 영상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20110124865A true KR20110124865A (ko) 2011-11-18
KR101630181B1 KR101630181B1 (ko) 2016-06-14

Family

ID=45394476

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100044292A KR101630181B1 (ko) 2010-05-12 2010-05-12 영상 처리 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101630181B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151483B1 (ko) * 1995-07-21 1998-10-15 배순훈 고속 레이 트레이싱 장치
KR100300969B1 (ko) * 1996-04-25 2001-10-22 윤종용 레이트레이싱에있어서교차테스트영역추출방법및이에적합한렌더링장치
KR100372901B1 (ko) * 2000-06-20 2003-02-19 김세현 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법
KR20070052822A (ko) * 2005-11-18 2007-05-23 (주)디지탈아이엔터테인먼트 프로그램 기반의 3차원 그래픽 처리용 가속방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0151483B1 (ko) * 1995-07-21 1998-10-15 배순훈 고속 레이 트레이싱 장치
KR100300969B1 (ko) * 1996-04-25 2001-10-22 윤종용 레이트레이싱에있어서교차테스트영역추출방법및이에적합한렌더링장치
KR100372901B1 (ko) * 2000-06-20 2003-02-19 김세현 지.에프-버퍼를 이용하여 광선추적법의 속도를 개선하는방법
KR20070052822A (ko) * 2005-11-18 2007-05-23 (주)디지탈아이엔터테인먼트 프로그램 기반의 3차원 그래픽 처리용 가속방법

Also Published As

Publication number Publication date
KR101630181B1 (ko) 2016-06-14

Similar Documents

Publication Publication Date Title
KR102223064B1 (ko) 영상 처리 장치 및 방법
CN108090947B (zh) 一种面向3d场景的光线追踪优化方法
US11302058B2 (en) System for non-planar specular reflections in hybrid ray tracing
JP7344267B2 (ja) 光マップを決定するための重要度サンプリング
US7940269B2 (en) Real-time rendering of light-scattering media
KR100849693B1 (ko) 정적 그림자 생성 방법 및 정적 그림자 생성 시스템
US20120249556A1 (en) Methods, systems, and computer readable media for fast geometric sound propagation using visibility computations
KR20150046643A (ko) 레이 트레이싱 시스템에서의 가속 구조 생성 장치 및 그 생성 방법
US8698799B2 (en) Method and apparatus for rendering graphics using soft occlusion
US10991147B1 (en) Creating coherent secondary rays for reflections in hybrid ray tracing
KR20120047778A (ko) 가상 환경에서 차폐의 추정 방법
US11341708B2 (en) Graphics processing
KR20110051315A (ko) 영상 처리 장치 및 방법
KR102211142B1 (ko) 영상 처리 장치 및 방법
US9715758B2 (en) Image processing apparatus and method using virtual point light (VPL) information
KR101630181B1 (ko) 영상 처리 장치 및 방법
KR20220139880A (ko) 배터리 전력공급형 컴퓨팅 디바이스들을 위한 실시간, 소프트웨어 기반 하이브리드 광선 트레이싱
Bürger et al. GPU Rendering of Secondary Effects.
CN110827389A (zh) 严密的光线三角形相交
Simonsson Multi-layered G-Buffers for Real-Time Reflections
Es Accelerated ray tracing using programmable graphics pipelines

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
FPAY Annual fee payment

Payment date: 20190520

Year of fee payment: 4