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

영상 처리 장치 및 방법 Download PDF

Info

Publication number
KR102137263B1
KR102137263B1 KR1020140019763A KR20140019763A KR102137263B1 KR 102137263 B1 KR102137263 B1 KR 102137263B1 KR 1020140019763 A KR1020140019763 A KR 1020140019763A KR 20140019763 A KR20140019763 A KR 20140019763A KR 102137263 B1 KR102137263 B1 KR 102137263B1
Authority
KR
South Korea
Prior art keywords
visibility
vpl
point
probability
model
Prior art date
Application number
KR1020140019763A
Other languages
English (en)
Other versions
KR20150098458A (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 KR1020140019763A priority Critical patent/KR102137263B1/ko
Priority to US14/623,954 priority patent/US10157494B2/en
Publication of KR20150098458A publication Critical patent/KR20150098458A/ko
Application granted granted Critical
Publication of KR102137263B1 publication Critical patent/KR102137263B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Abstract

영상 처리 장치는, 3D 모델에 샘플링 되는 복수 개의 VPL(Virtual Point Light)에 대하여, 렌더링 하는 시점에 연관되는 스크린 신 내에 포함되는 적어도 하나의 제1 VPL과, 상기 스크린 신에 포함되지 않는 적어도 하나의 제2 VPL에 대하여, 다른 방법으로 가시성을 계산할 수 있다. 예시적으로, 상기 적어도 하나의 제1 VPL에 대해서는, 상기 제1 VPL을 포함는 제1 영역과 상기 제1 포인트 사이의 가시성을 확률적으로 계산한 제1 확률을 계산할 수 있다.

Description

영상 처리 장치 및 방법{IMAGE PROCESSING APPARATUS AND METHOD}
3D (3-Dimensional) 모델에 대한 전역 조명 기반 렌더링(Global illumination-based rendering)에 연관되며, 보다 특정하게는 래디오서티(Radiosity) 기법과 같은 간접 조명(Indirect illumination)을 반영하여 3D 모델을 렌더링하는 과정에서의 가시성(Visibility) 판단 방법에 연관된다.
3D 게임, 가상현실(Virtual reality) 애니메이션, 영화 등 다양한 분야에서, 3D 모델에 대한 실시간 렌더링(Real-time rendering)에 대한 관심이 높아지고 있다.
이러한 3D 렌더링 기법 중, 전역 조명을 고려한 래디오서티 기법은, 3D 모델 내에 존재하는 직접 광원(direct light source)에 의한 직접 조명뿐만 아니라, 상기 직접 조명이 오브젝트에 의해 반사된 반사광이나 난반사 현상 등에 의한 간접조명까지 고려하여 렌더링 품질을 향상시키는 렌더링 방법이다.
이 경우, 3D 모델 내의 임의의 위치에 간접 조명 효과를 대표하는 VPL들을 위치시키는 VPL 샘플링(sampling)을 수행하고, 이러한 VPL들이 오브젝트의 포인트들의 칼라 값에 영향을 미치는 부분을 렌더링에 반영한다.
한편, 종전에는 VPL이 특정 포인트 또는 픽셀에 영향을 미칠 수 있는 지를 판단하기 위해, 가시성 테스트(Visibility test)가 요구되었는데, 이러한 가시성 테스트가 연산 양을 매우 크게 요구하였다.
일측에 따르면, 3D 모델에 샘플링된 제1 VPL(Virtual Point Light)을 포함는 제1 영역과 렌더링할 제1 포인트 사이의 가시성을 확률적으로 계산한 제1 확률을 계산하는 가시성 확률 분포 계산부; 및 상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하여, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링하는 렌더부를 포함하는 영상 처리 장치가 제공된다.
일실시예에 따르면, 상기 가시성 확률 분포 계산부는, 상기 제1 영역에 복수 개의 제2 포인트를 샘플링하는 포인트 샘플링부; 상기 복수 개의 제2 포인트에 대해, 상기 제1 포인트와의 가시성을 테스트 하는 가시성 테스트부; 및 상기 복수 개의 제2 포인트 중 상기 가시성 테스트 결과 가시성이 있는 포인트의 비율을 이용하여 상기 제1 확률을 계산하는 가시성 확률 맵 생성부를 포함할 수 있다.
이 경우, 상기 가시성 테스트부는, 상기 렌더링에 연관되는 시점으로부터, 상기 3D 모델을 디퍼드 렌더링(Differed rendering)한 결과 중 깊이 맵을 이용하여 상기 가시성을 테스트할 수 있다.
일실시예에 따르면, 상기 가시성 확률 분포 계산부는, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신을 복수 개의 영역으로 분할하는 - 상기 제1 영역은 상기 복수 개의 영역에 포함됨 - 영역 설정부를 포함할 수 있다.
이 경우, 상기 영역 설정부는, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 제1 임계치 이하인 영역만 상기 복수 개의 영역으로 분할할 수 있다.
또한, 상기 가시성 확률 분포 계산부는, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 상기 제1 임계치를 초과하는 영역에 대해서는 상기 제1 확률을 0으로 처리할 수 있다.
한편, 일실시예에 따르면, 상기 제1 VPL은 상기 3D 모델에 샘플링된 복수 개의 VPL 중, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신 내에 포함되는 VPL 중 적어도 하나일 수 있다.
이 실시예에서, 상기 영상 처리 장치는, 상기 복수 개의 VPL 중, 상기 스크린 신 내에 포함되는 VPL과 상기 스크린 신 내에 포함되지 않는 VPL을 구분하여 분류하는 VPL 필터부를 더 포함할 수도 있다.
일실시예에 따르면, 상기 영상 처리 장치는, 상기 복수 개의 VPL 중 상기 스크린 신 내에 포함되지 않는 적어도 하나의 제2 VPL에 대해서는 섀도우 맵을 구하고, 상기 섀도우 맵을 이용하여 상기 적어도 하나의 제2 VPL과 상기 제1 포인트 사이의 가시성을 계산하는, 섀도우 맵 기반 가시성 계산부를 더 포함할 수도 있다.
한편, 일실시예에 따르면, 상기 영상 처리 장치는, 상기 3D 모델에 포함되는 오브젝트 포인트의 텍스처 및 상기 3D 모델에 빛을 제공하는 직접 광의 밝기 중 적어도 하나를 고려하여, 중요도 기반의 적응적 VPL 샘플링을 수행하여 상기 3D 모델에 복수 개의 VPL을 샘플링 하는 VPL 샘플링부를 더 포함한다.
일실시예에 따르면, 상기 렌더부는, 상기 제1 VPL에 대하여 설정된 제1 반경 이내에 상기 제1 포인트가 위치하는 경우에, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링할 수 있다.
이 경우, 상기 제1 반경은, 상기 제1 VPL 샘플링에 연관되는 직접 광의 밝기, 상기 제1 VPL 위치의 반사도, 및 상기 VPL 위치의 오브젝트 텍스처 중 적어도 하나에 의하여 적응적으로 설정될 수 있다.
다른 일측에 따르면, 제1 포인트를 렌더링하는 데에 연관되는 시점으로부터 3D 모델을 렌더링 한 스크린 신을, 복수 개의 영역으로 분할하는 영역 설정부; 상기 복수 개의 영역 중 제1 영역에, 복수 개의 제2 포인트를 샘플링 하는 포인트 샘플링부; 상기 제1 포인트와, 상기 복수 개의 제2 포인트의 가시성을 테스트 하는 가시성 테스트부; 및 상기 복수 개의 제2 포인트 중 상기 제1 포인트와 사이에 가시성이 있는 것의 비율을 이용하여 상기 제1 영역과 상기 제1 포인트 사이의 가시성 확률인 제1 확률을 계산하는 가시성 확률 맵 생성부를 포함하는 영상 처리 장치가 제공된다.
일실시예에 따르면, 상기 영상 처리 장치는, 상기 3D 모델에 샘플링된 적어도 하나의 VPL 중 상기 제1 영역에 포함되는 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링 하는 경우, 상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하는 렌더부를 더 포함할 수 있다.
또 다른 일측에 따르면, 영상 처리 장치가 3D 모델에 포함되는 제1 포인트의 칼라 값을 렌더링하는 영상 처리 방법에 있어서, 상기 3D 모델에 샘플링된 제1 VPL(Virtual Point Light)을 포함는 제1 영역과 상기 제1 포인트 사이의 가시성을 확률적으로 계산한 제1 확률을 계산하는 가시성 확률 분포 계산 단계; 및 상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하여, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링하는 렌더링 단계를 포함하는 영상 처리 방법이 제공된다.
일실시예에 따르면, 상기 가시성 확률 분포 계산 단계는, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신을, 복수 개의 영역으로 분할하는 영역 설정 단계; 상기 복수 개의 영역 중 제1 영역에, 복수 개의 제2 포인트를 샘플링 하는 포인트 샘플링 단계; 상기 제1 포인트와, 상기 복수 개의 제2 포인트의 가시성을 테스트 하는 가시성 테스트 단계; 및 상기 복수 개의 제2 포인트 중 상기 제1 포인트와 사이에 가시성이 있는 것의 비율을 이용하여 상기 제1 영역과 상기 제1 포인트 사이의 가시성 확률인 제1 확률을 계산하는 가시성 확률 계산 단계를 포함할 수 있다.
이 경우, 상기 제1 VPL은 상기 3D 모델에 샘플링된 복수 개의 VPL 중, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신 내에 포함되는 VPL 중 적어도 하나일 수 있다.
일실시예에 따르면, 상기 영상 처리 방법은, 상기 복수 개의 VPL 중, 상기 스크린 신 내에 포함되는 VPL과 상기 스크린 신 내에 포함되지 않는 VPL을 구분하여 분류하는 VPL 필터링 단계를 더 포함할 수도 있다.
또한, 일실시예에 따르면, 상기 영상 처리 방법은, 상기 복수 개의 VPL 중 상기 스크린 신 내에 포함되지 않는 적어도 하나의 제2 VPL에 대해서는 섀도우 맵을 구하고, 상기 섀도우 맵을 이용하여 상기 적어도 하나의 제2 VPL과 상기 제1 포인트 사이의 가시성을 계산하는, 섀도우 맵 기반 가시성 계산 단계를 더 포함할 수도 있다.
도 1은 일실시예에 따른 영상 처리 장치를 도시한 블록도이다.
도 2는 일실시예에 따른 가시성 확률 분포 계산부의 예시적 세부 구성을 도시한 블록도이다.
도 3은 다른 일실시예에 따른 영상 처리 장치를 도시한 블록도이다.
도 4는 일실시예에 따라 직접 광 시점으로부터 예시적 3D 모델 위에 VPL이 샘플링된 결과를 도시하는 사시도이다.
도 5는 도 4에서 도시된 3D 모델을 카메라 시점에서 렌더링 한 스크린 신을 도시한다.
도 6은 일실시예에 따라 도 5의 카메라 시점에서 디퍼드 렌더링을 수행한 결과를 설명하기 위한 개념도이다.
도 7은 일실시예에 따라 특정 픽셀에 대해 가시성 확률 분포가 계산을 위한 영역들이 설정되고, 포인트가 샘플링 되는 과정을 설명하기 위한 도면이다.
도 8은 일실시예에 따라 특정 픽셀에 대해 샘플링된 포인트의 가시성을 테스트 하는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 가시성 확률 분포 계산에 의해 생성되는, 예시적인 가시성 확률 분포 맵을 도시한다.
도 10은 일실시예에 따른 렌더링 과정을 도시한다.
도 11은 일실시예에 따른 영상 처리 방법을 도시하는 흐름도이다.
도 12는 일실시예에 따른 VPL 샘플링 과정을 도시하는 세부 흐름도이다.
도 13은 일실시예에 따른 가시성 확률 분포 계산 과정을 도시하는 세부 흐름도이다.
이하에서, 일부 실시예들를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 영상 처리 장치(100)를 도시한 블록도이다.
영상 처리 장치(100)는, 예시적으로 그러나 한정되지 않게, 래디오서티(Radiosity) 기법에 따른 전역 조명 효과를 렌더링에 반영한다.
예시적으로, 영상 처리 장치(100)는, 직접 광이 3D 모델에서 반사되거나, 회절되는 등의 자연 현상을 대표하는 가상의 포인트 광원(Virtual Point Light, VPL)을 렌더링에 반영할 수 있다.
이러한 VPL은 3D 모델 위에 또는 3D 공간에 배치(명세서 전반적으로 이러한 VPL의 배치를 '샘플링'이라 할 수 있음)될 수 있다. 그리고, 이러한 VPL에 의한 3D 모델 상의 오브젝트의 칼라 값 및/또는 밝기 변화가 렌더링에 반영될 수 있다.
3D 모델에 복수 개의 VPL들이 샘플링 되었다고 가정한다. 그러면, 렌더링 할 제1 포인트의 칼라 값의 계산을 위해서는, 직접 광에 의한 제1 포인트 칼라 값과 간접 광인 상기 VPL들에 의한 상기 제1 포인트의 칼라 값이 모두 고려된다.
이 중, 상기 VPL들 중 어느 하나인 제1 VPL에 의한 상기 제1 포인트의 칼라 값 섀이딩은 다음과 같이 계산될 수 있다.
Figure 112014016822873-pat00001
상기 수학식에서
Figure 112014016822873-pat00002
은 제1 VPL에 의해 제1 포인트의 칼라 값이 계산된 결과이다. 보다 구체적으로는, 제1 VPL에 의한 제1 포인트의 칼라 값이다. 제1 포인트에 N 개의 VPL들이 영향을 준다면, 이러한 식으로 계산되는 C 값들을 모두 더 하면 제1 포인트의 최종 칼라 값이 렌더링 된다.
상기 수학식 1을 참고하면, 제1 포인트의 위치인
Figure 112014016822873-pat00003
에서 제1 VPL의 위치인
Figure 112014016822873-pat00004
으로의 방향 벡터 d 1 과, 제1 포인트의 노말(normal) 벡터
Figure 112014016822873-pat00005
의 내적(dot product)이 구해진다. 여기서 방향 벡터 d 1 은 아래 수학식 2와 같다.
Figure 112014016822873-pat00006
또한, 수학식 1을 참고하면, 제1 VPL의 위치인
Figure 112014016822873-pat00007
에서 제1 포인트의 위치인
Figure 112014016822873-pat00008
로의 방향 벡터 d 2 와, 제1 VPL의 노말 벡터
Figure 112014016822873-pat00009
의 내적이 구해진다. 여기서 방향 벡터 d 2 는 아래 수학식 3과 같다.
Figure 112014016822873-pat00010
그리고 수학식 1에서
Figure 112014016822873-pat00011
은 제1 포인트의 텍스처에 따른 칼라 값이고,
Figure 112014016822873-pat00012
은 샘플링된 제1 VPL의 칼라 값이다.
이렇게 제1 VPL에 의한 제1 포인트의 칼라 값이 C1이고, N 개의 VPL들이 제1 포인트에 영향을 미치는 경우, 모든 VPL들에 의한 제1 포인트의 최종 칼라 값 C는 아래 수학식과 같이 계산될 수 있다.
Figure 112014016822873-pat00013
한편, 수학식 1의 마지막에 포함된
Figure 112014016822873-pat00014
은, 제1 VPL과 제1 포인트 사이의 가시성(Visibility)으로서, 종래에는 이를 0 또는 1로 취급하였다.
이러한 가시성은 종래의 방법에서 VPL 시점에서 3D 모델에 대한 섀도우 맵(Shadow map)들을 계산한 다음 가시성이 있는 부분은 1로 취급하고, 가시성이 없는 부분은 0으로 취급하였다. 그러나, 이러한 섀도우 맵을 모든 VPL에 대해 계산하는 것은 연산 오버헤드가 매우 크다.
또한, 알려진 스플래팅(Splatting) 방식에서는, 섀도우 맵을 계산하지 않고, VPL 주변의 일정한 반경 내의 픽셀들에는 해당 VPL에 의한 가시성을 1로 취급하고, 그 반경 밖의 픽셀들에는 해당 VPL에 의한 가시성을 0으로 취급하는 식으로 단순화 한다. 그러나, 이러한 단순화는 정확도가 떨어질 수 있다.
따라서, VPL과 포인트 사이의 가시성을 보다 정교하게 계산하면서도, 연산 오버헤드는 최소화 할 수 있는 실시예들이 제공된다.
일실시예에 따르면, 영상 처리 장치(100)에 포함되는 가시성 확률 분포 계산부(110)는, 제1 포인트 주변을 복수 개의 영역으로 구분하여, 각 영역에 대한 가시성 확률을 계산한다.
예시적으로, 3D 모델에 샘플링 되어 있는 제1 VPL을 포함는 제1 영역을 가정한다. 가시성 확률 분포 계산부(110)는, 상기 제1 영역이 상기 제1 포인트에서 가시할(Visible) 확률을 계산하여 제1 확률로 저장한다. 이 제1 확률은 상기 제1 영역에 포함되는 픽셀들 및/또는 VPL들에 대해, 상기 제1 포인트와의 사이의 가시성을 대표하는 값이 된다.
이러한 확률 계산을 상기 제1 영역 외의 다른 복수 개의 영역, 예시적으로 렌더링 할 스크린 신(Screen scene) 전체를 커버하는 영역에 대해 계산하면 가시성 확률 분포 맵이 생성될 수 있다.
렌더부(120)는 VPL들에 의한 제1 포인트의 섀이딩을 처리 한다. 이러한 섀이딩 처리는 상기 VPL들에 의한 제1 포인트의 칼라 값을 계산하여 중첩(superposition)하는 것이다.
이 경우, 렌더부(120)는 상기 제1 영역에 대해 계산된 가시성 확률인 상기 제1 확률을, 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영한다. 예시적으로, 상기 제1 확률을, 상기 수학식 1에서의
Figure 112014016822873-pat00015
에 대입하여 C1을 계산한다.
종래의 경우, 섀도우 맵 기반에서 제1 VPL와 제1 포인트의 가시성이 정확히 0 또는 1 중 어느 하나로 결정되거나, 또는 스플래팅 방법에 의해 제1 VPL로부터 일정 반경 내에 제1 VPL이 위치한다면 상기 가시성을 1로 하는 등의 획일적인 처리가 되었다.
그러나, 상기 실시예에서는, 섀도우 맵을 VPL 마다 계산하는 반사 섀도우 맵(Reflective shadow map) 계산이 생략되면서도, 가시성을 0 또는 1로 획일적으로 처리함으로써 발생하는 부정확성이 개선된다.
이를 테면, 상기 제1 확률은 0 이상 1 이하의 임의의 실수 일 수 있다.
제1 영역을 대표하는 가시성인 제1 확률을 계산하는 과정 및 이러한 확률들을 복수 개의 영역들에 대해 계산한 가시성 확률 맵 생성에 관해서는 도 2, 및 도 7 내지 도 9를 참조하여 보다 상세히 후술한다.
그리고, 가시성 확률 맵을 이용하여 포인트에 대한 칼라 값을 섀이딩 하는 내용은 도 10을 참조하여 보다 상세히 후술한다.
도 2는 일실시예에 따른 가시성 확률 분포 계산부(110)의 예시적 세부 구성을 도시한 블록도이다.
영역 설정부(210)는 제1 포인트를 렌더링하는 데에 연관되는 시점으로부터 3D 모델을 렌더링 한 스크린 신을, 복수 개의 영역으로 분할한다. 이러한 분할은, 예시적으로 균등한 넓이의 분할일 수 있고, 랜덤한 영역 분할일 수도 있으며, 제1 포인트 주변에서는 작고 세밀하게 분할하고 제1 포인트와 먼 곳에서는 크고 대략적으로 분할하는 식의 적응적 분할일 수도 있다.
이렇게 분할된 복수 개의 영역들에 대해 이하에서 가시성 확률이 각각 계산된다.
예시적으로 상기 복수 개의 영역 중 임의의 하나인 제1 영역에 대한 가시성 확률인 제1 확률이 계산되는 과정은 아래와 같다.
일실시예에 따르면, 포인트 샘플링부(220)는 상기 제1 영역에, 무작위로 복수 개의 제2 포인트를 샘플링 한다. 이 경우, 복수 개의 제2 포인트는 제1 영역 내의 임의의 개수, 이를테면 10 개 포인트를 무작위 추출하는 것일 수 있다. 다만, 이러한 샘플링은 특정한 예시적 실시예에 국한되지 않으며, 제1 영역으로부터 복수 개의 포인트를 추출하는 어떠한 예라도 가능하다. 제2 포인트 샘플링에 대해서는 도 7을 참조하여 설명한다.
그리고, 가시성 테스트부(230)는 상기 제1 포인트와, 상기 복수 개의 제2 포인트 각각의 가시성을 테스트 한다. 이러한 테스트에는, 예시적으로 스크린 신에서 디퍼드 렌더링(Differed rendering) 된 결과인 깊이 맵(Depth map)이 이용될 수 있다. 깊이 맵을 이용하면 가시성 테스트가 가능하며, 이러한 과정은 도 8을 참조하여 상세히 설명한다.
이 경우, 상기 포인트 샘플링부(220)에 의해 샘플링된 제2 포인트의 개수에 대한 가시성이 있는 포인트의 개수의 비율이 상기 제1 영역의 가시성 확률인 제1 확률로 결정될 수 있다. 예시적으로, 상기 샘플링된 제2 포인트의 개수가 10이고, 10개의 제2 포인트 각각에 대해 가시성 테스트를 한 결과 실제 가시성이 1인 제2 포인트는 2개, 가시성이 0인 포인트가 8개라면, 상기 제1 확률은 0.2로 결정될 수 있다.
참고로, 이렇게 제1 영역과 제1 포인트 사이의 가시성이 0.2로 결정되면, 이후 렌더링 과정에서 상기 제1 영역에 포함된 제1 VPL과 상기 제1 포인트의 가시성도 0.2로 결정되는 것이다.
이러한 과정을 상기 제1 영역뿐만 아니라, 영역 분할된 전체 신에 대해 적용하여 계산하면 가시성 확률 맵이 생성되며, 이는 도 9를 참조하여 설명된다.
한편, 상기 영역 설정부(210)는 제1 포인트에 대해 영역을 분할하는 경우, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 제1 임계치 이하인 영역만 상기 복수 개의 영역으로 분할할 수 있다. 예를 들어, 제1 포인트로부터의 거리가 1000픽셀 이하인 영역만 복수 개의 영역들로 분할할 수 있고, 나머지는 영역 분할을 하지 않을 수도 있다.
이렇게 영역 분할이 되지 않은 부분은, 제1 포인트와 거리가 먼 부분이므로, 간접 조명 효과가 미미하거나, 및/또는 가시성이 0일 확률이 높다고 간주될 수 있다. 따라서, 일실시예에 따르면, 상기 가시성 확률 분포 계산부(110)는, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 상기 제1 임계치를 초과하는 영역에 대해서는 가시성을 0으로 처리할 수 있다.
도 3은 다른 일실시예에 따른 영상 처리 장치(300)를 도시한 블록도이다.
예시적인 영상 처리 장치(300)에 포함되는 VPL 샘플링부(310)는 3D 모델에 적어도 하나의 VPL을 샘플링 할 수 있다.
일반적으로 VPL의 개수를 많이 설정할수록, 렌더링 품질을 향상되나, 연산양이 크게 증가하여 렌더링 속도는 낮아질 수 있다. 따라서, 일실시예에 따르면, VPL 샘플링부(310)는 신(Scene)의 복잡도에 따라 적응적으로 VPL을 샘플링 할 수 있다. 이를테면, 복잡도가 높은 부분에는 VPL을 많이 샘플링하고, 복잡도가 낮은 부분에서는 VPL을 적게 샘플링하는 방식이다.
또한, 렌더링할 카메라 시점에서 가시성이 있는 부분에는 VPL을 많이 샘플링하고, 렌더링할 카메라 시점에서 가시성이 없는 부분에는 VPL을 적게 샘플링하는 것도 가능하다.
나아가, 3D 모델의 텍스처를 고려해서, 반사도가 높을수록 및/또는 칼라가 밝을수록 VPL을 많이 샘플링할 수도 있다.
이러한 일련의 예시들을 중요도 기반의 적응적 VPL 샘플링(adaptive VPL-sampling based on importance)이라고 할 수 있다.
그리고, 일실시예에 따르면, 영상 처리 장치(300)는 VPL 필터부(320)를 포함할 수 있다.
일실시예에 따르면, VPL 필터부(320)는 렌더링 할 카메라 시점에서 3D 모델을 렌더링 한 스크린 신(Screen scene) 스페이스 내에 있는 제1 VPL들과, 스크린 신 스페이스 외부에 있는 제2 VPL들을 구분한다.
예시적인 실시예에 따르면, 영상 처리 장치(300)의 가시성 확률 분포 계산부(330)은 상기 제1 VPL들에 대해서, 도 1 내지 도 2를 참조하여 설명한 실시예들에 의해 가시성 확률 분포를 계산할 수 있다.
그리고, 섀도우 맵 기반 가시성 계산부(340)는 상기 제2 VPL들에 대해 각각 반사 섀도우 맵(Reflective shadow map)을 생성하고, 이를 통해 각 포인트들과의 가시성을 정확하게 계산할 수 있다. 예시적으로, 섀도우 맵 기반의 가시성 계산은 제2 VPL 전체가 아니라, 그 중에서도 밝기가 큰 일부의 제2 VPL들에 대해서만 수행될 수도 있다.
렌더부(350)은, 상기 제1 VPL들에 대해서는 제1 포인트와의 가시성을 계산하는 경우 상기 가시성 확률 분포 계산부(330)의 계산 결과를 이용하고, 상기 제2 VPL들에 대해서는 제1 포인트와의 가시성을 계산하는 경우에 상기 섀도우 맵 기반 가시성 계산부(340)의 계산 결과를 이용할 수 있다.
이러한 과정이, 실시예들에 따라 제1 포인트에 대해 래디오서티 렌더링을 수행하는 과정으로 이해될 수 있다.
이하에서는, 상기 실시예들이 수행되는 과정을 보다 상세히 설명한다.
도 4는 일실시예에 따라 직접 광 시점으로부터 예시적 3D 모델(400) 위에 VPL이 샘플링된 결과를 도시하는 사시도이다.
3D 모델(400) 내에 복수 개의 VPL들이 샘플링되었다. 이러한 VPL들의 샘플링은 도 3을 참조하여 상술한 바와 같이, VPL 샘플링부(310)가 중요도 기반의 적응적 VPL 샘플링(adaptive VPL-sampling based on importance)을 수행하는 것일 수 있다.
이를테면, 오브젝트(401) 및 오브젝트(402)에는 VPL들이 상대적으로 많이 샘플링되고, 그 외의 영역에서는 VPL이 적게 샘플링될 수 있다. 도 4의 도시된 예에서도, 영역(410)에는 적은 수의 VPL들(411 및 412)이 샘플링되었다. 그리고 영역(420)에는 VPL들(421 및 422)을 포함하여 상대적으로 많은 수의 VPL들이 샘플링되었다.
그러면, 3D 모델(400)에 대한 스크린 신(Screen scene) 렌더링이 수행되며, 그 결과가 도 5와 같다.
도 5는 도 4에서 도시된 3D 모델을 카메라 시점에서 렌더링 한 스크린 신(500)을 도시한다. 여기서 카메라 시점(Camera view)은, 영상 렌더링을 수행할 시점(Point of view from which an image would be rendered)일 수 있다.
도 5에 도시된 바와 같이, 카메라 시점에서 렌더링 한 스크린 신(500)에는 도 4에서 샘플링 된 VPL들 중 일부인 제1 VPL들만 포함되며, 다른 일부인 제2 VPL들은 포함되지 않았다. 제1 VPL들에는 예시적으로 VPL들(411 및 412)가 포함된다. 그리고, 제2 VPL들에는 예시적으로 도 4의 VPL(413)이 포함된다.
일실시예에 따르면, 도 3에서 설명한 바와 같이 VPL 필터부(320)는 이렇게 VPL들 중 스크린 신(500)에 포함되는 것과 그렇지 않은 것을 구분하여 분류할 수 있다.
그리고 상기한 바와 같이, 제1 VPL들에 대해서는 가시성 확률 분포 계산에 의해 가시성이 판단될 수 있고, 제2 VPL들 중 적어도 일부에 대해서는 반사 섀도우 맵이 계산되어 이 섀도우 맵에 의해 가시성이 판단될 수 있다.
제1 VPL들에 대한 가시성 판단을 위해 스크린 신(500)을 디퍼드 렌더링(Differed rendering)한 결과가 도 6에 제시된다.
도 6은 일실시예에 따라 도 5의 카메라 시점에서 디퍼드 렌더링을 수행한 결과를 설명하기 위한 개념도이다.
스크린 신(400)을 디퍼드 렌더링 하면, 깊이 맵(610), 칼라 맵(620), 노말 맵(Normal map)(630) 및 포지션 맵(640)이 생성될 수 있다. 포지션 맵(640)은 X-Y 좌표와 깊이 맵(610)에 의해 간접적으로 생성될 수도 있다.
그러면, 추후 설명할 가시성 테스트를 위해 깊이 맵(610)이 이용될 수 있고, 렌더부(120)의 영상 렌더링 과정에서 칼라 맵(620), 노말 맵(630) 등이 이용될 수 있다.
이러한 디퍼드 렌더링은 래디오서티 기법을 위한 간접 조명 렌더링의 예시적 일부 과정일 수 있으며, 다른 렌더링 기법에 의해 얼마든지 대체될 수 있다. 따라서, 예시적으로 제시되는 일부 실시예에만 국한되어 이해되어서는 안 된다.
도 7은 일실시예에 따라 특정 픽셀에 대해 가시성 확률 분포가 계산을 위한 영역들이 설정되고, 포인트가 샘플링 되는 과정을 설명하기 위한 도면이다.
제1 포인트(701)에 대한 가시성 확률 분포 계산을 위해, 도 2의 영역 설정부(210)는 스크린 신 내에 복수 개의 영역들을 설정할 수 있다. 복수 개의 영역들이 도 7에 점선으로 표시 되었다.
상술한 바와 같이, VPL로부터의 섀도우 맵을 일일이 계산하여 가시성을 0 또는 1로 정확히 판단하는 경우 결과의 정확성은 높으나, 섀도우 맵 계산 및 가시성 판단 과정을 위한 연산 오버헤드가 너무 컸다.
또한, VPL 주변의 일정 반경 내에는 가시성을 1로 두고, 나머지는 0으로 두는 경우, 연산양은 크게 줄어드나, 정확성이 낮았다.
따라서, 일실시예에 따르면, 도 7에 도시된 바와 같이 복수 개의 영역들을 설정하고, 각 영역 마다 해당 영역에 적용될 (제1 포인트 701과의) 가시성 확률을 계산한다.
예시적으로 제1 영역(702)에 대해 가시성 확률을 계산하는 과정은 아래와 같다.
먼저, 제1 영역(702) 내에 미리 지정된 복수 개의 제2 포인트들(711 및 712 등)을 샘플링한다. 상기한 바와 같이, 이러한 샘플링은 무작위적으로 이루어질 수 있으나, 이에 한정되지는 않는다.
샘플링되는 제2 포인트들의 개수도 무작위적일 수 있다. 또한, 일실시예에서는 제1 포인트(701)에 가까울수록 정확성을 높이기 위해 한 영역 내에 많은 수의 제2 포인트들이 샘플링 되고, 제1 포인트(701)로부터 멀수록 빠른 연산을 위해 한 영역 내에 적은 수의 제2 포인트들이 샘플링될 수도 있다.
한편, 이렇게 샘플링 된 제2 포인트들에 대해서는 도 6의 깊이 맵(610)을 이용하는 등의 방법을 이용하여, 실제 제1 포인트(701)과의 가시성이 테스트 된다.
도 8은 일실시예에 따라 특정 픽셀에 대해 샘플링된 포인트의 가시성을 테스트 하는 과정을 설명하기 위한 도면이다.
제1 포인트(810)에 대해, 제2 포인트들(820, 830, 840 및 850)의 가시성이 테스트 되고 있다. 깊이 맵(610)을 이용하면, 깊이인 Z 축 값의 변화에 따라, 제2 포인트 중 가시성이 1인 포인트들(820 및 830)과 제2 포인트 중 가시성이 0인 포인트들(840 및 850)이 결정된다.
그러면, 전체 제2 포인트들의 개수에 대비한, 가시성이 1인 포인트들의 개수의 비율로, 제1 영역 전체에 대한 가시성 확률이 결정될 수 있다. 예시적으로, 샘플링 된 제2 포인트가 10개인데, 이 중 4 개의 가시성이 1이고, 나머지 6개의 가시성은 0이라면, 해당 영역 전체에 대한 가시성은 0.4로 결정될 수 있다. 분할된 영역 별로 일정한 가시성 확률이 적용되기 때문에, 전체 영역에 대한 확률을 조합하면 가시성 확률 분포 맵(Probability Distribution map of Visibility)이 생성되는 것으로 이해할 수 있다.
도 9는 일실시예에 따른 가시성 확률 분포 계산에 의해 생성되는, 예시적인 가시성 확률 분포 맵을 도시한다.
도 7 내지 도 8에서 설명한 실시예들에 의해, 전체 신에 대한 가시성 확률 분포가 계산되어, 도시된 바와 같이 가시성 확률 분포 맵(900)이 생성되었다.
영역(920)의 가시성이 0이므로, 영역(920)에 포함된 VPL들은 맵(900)에 연관되는 제1 포인트에 전혀 영향을 줄 수 없다.
그리고, 영역(930)의 가시성은 0.1이므로, 영역(930)에 VPL이 포함되어 있다면, 이 VPL은 상기 제1 포인트에 가시성 0.1의 영향을 미친다. 마찬가지로, 영역(940)의 가시성은 0.4이므로, 영역(940)에 VPL이 포함되어 있다면, 이 VPL은 상기 제1 포인트에 가시성 0.4의 영향을 미친다.
제1 포인트가 포함된 영역(910)에서는 가시성이 1이므로, 이 부분에 포함된 VPL들은 제1 포인트에 대해 가시성 1의 영향을 미친다.
가시성이 제1 포인트의 칼라 값에 영향을 미치는 과정은 수학식 1을 참조하여 상술한 바와 같다.
도 10은 일실시예에 따른 렌더링 과정을 도시한다.
제1 포인트(1010)에 대해, 세 개의 VPL들(1020, 1030 및 1040)이 영향을 주고 있는 것을 가정하여 설명한다.
상기한 바와 같이, 일실시예에 따르면, VPL들(1020, 1030 및 1040)은 각각, 샘플링에 연관되는 직접 광의 밝기, 샘플링 된 위치, 노말 방향, 텍스처, 칼라 값, 반사도 등 중 적어도 하나에 의해 다르게 설정될 수 있는 반경('영향 반경' 또는 '제1 반경'이라고 할 수도 있음)들을 가질 수 있다.
제1 포인트(1010)가 제1 VPL의 영향 반경 내에 포함되는 것이면, 상기 제1 VPL은 제1 포인트(1010)에 영향을 주는 것으로 계산될 수 있다.
렌더링에 있어서, 제1 포인트(1010)는 VPL(1020)으로부터 VPL(1020)의 영향 반경 r1 내에 있고, VPL(1040)으로부터 VPL(1040)의 영향 반경 r2 내에 있고, 또한 VPL(1030)으로부터 VPL(1030)의 영향 반경 r3 내에 있다.
따라서, VPL(1020)과 제1 포인트(1010)에 대하여, 상기 수학식 1에 의해 계산되는 칼라 값이 제1 포인트(1010)의 칼라 값으로 더해 진다.
예시적으로 도 9에서 도시된 가시성 확률 분포 맵(900)이 제1 포인트(1010)에 대응하는 것이고, VPL(1020)이 맵(900)의 영역(920)에 포함되는 위치에 있다고 하면, 가시성이 0이 된다. 따라서, VPL(1020)은 제1 포인트(1010)의 칼라 값에 영향을 주지 못한다.
참고로, VPL(1020)의 영향 반경 r1 내에 있는 제1 포인트(1010)와 VPL(1020)의 가시성이 0이 되는 것도 가능함은 물론이다. VPL(1020)의 영향 반경 r1은 VPL(1020)의 위치, 노말 방향, 텍스처, 칼라 값, 반사도 등을 고려하여 결정되는 것이지만, 제1 포인트(1010)에 대한 가시성 확률 맵(900)은 구체적인 3D 모델의 기하학적 구조를 고려하여 계산되는 것이기 때문이다.
마찬가지로, VPL(1040)과 제1 포인트(1010)에 대하여, 상기 수학식 1에 의해 계산되는 칼라 값이 제1 포인트(1010)의 칼라 값으로 더해 진다.
위의 예에서, VPL(1040)이 맵(900)의 영역(940)에 포함되는 위치에 있다고 하면, 가시성이 0.4가 된다. 따라서, 수학식 1에 따라 가시성 0.4가 반영된 칼라 값이 제1 포인트(1040)의 칼라 값에 더해진다.
또한, VPL(1030)과 제1 포인트(1010)에 대하여, 상기 수학식 1에 의해 계산되는 칼라 값이 제1 포인트(1010)의 칼라 값으로 더해 진다.
위의 예에서, VPL(1030)이 맵(900)의 영역(930)에 포함되는 위치에 있다고 하면, 가시성이 0.1가 된다. 따라서, 수학식 1에 따라 가시성 0.1가 반영된 칼라 값이 제1 포인트(1040)의 칼라 값에 더해진다.
이러한 과정에 의해 제1 포인트(1010)의 칼라 값이 계산된다. 물론, 스크린 신 외부에 있는 적어도 하나의 제2 VPL들에 대해서는 직접 섀도우 맵에 의한 가시성 테스트와, 이에 따른 별도의 칼라 섀이딩이 수행될 수 있으며, 직접 광(Direct light)에 의한 섀이딩도 제1 포인트(1010)의 칼라 값에 반영 됨은 물론이다.
도 11은 일실시예에 따른 영상 처리 방법을 도시하는 흐름도이다.
단계(1110)에서 렌더링 할 3D 모델과 직접 조명이 입력 된다. 이 경우, 렌더링 할 카메라 시점도 설정될 수 있다.
일실시예에 따르면, 단계(1120)에서, 도 3의 VPL 샘플링부(310)가 3D 모델에 적어도 하나의 VPL을 샘플링 할 수 있다. 예시적으로, 이러한 VPL 샘플링이 중요도 기반의 적응적 VPL 샘플링(adaptive VPL-sampling based on importance)일 수 있다. 단계(1120)에 대해서는 도 12를 참조하여 보다 상세히 후술한다.
그리고, 일실시예에 따르면, 단계(1130)에서, VPL 필터부(320)가 스크린 신(Screen scene) 스페이스 내에 있는 제1 VPL들과, 스크린 신 스페이스 외부에 있는 제2 VPL들을 구분한다. 이러한 VPL들의 프리-필터링(Pre-filtering)에 의해 섀도우 맵 기반 렌더링과 가시성 확률 분포 맵에 의한 렌더링이 병행하여 수행될 수 있다.
단계(1140)에서 렌더링할 스크린 신 내의 VPL로 구분되는 제1 VPL들에 대해서는, 픽셀들과의 사이에 가시성 확률 분포에 따른 가시성 판단이 수행된다(단계 1150). 가시성 확률 분포에 따른 가시성 판단은 도 13을 참조하여 보다 상세히 후술한다.
그리고, 스크린 신 외부의 VPL이라고 판단되는 제2 VPL들에 대해서는, 섀도우 맵 기반의 가시성 계산이 수행된다(단계 1160).
단계(1170)에서, 제1 포인트가 영향 반경 내에 있게 되는 VPL들에 대해, 가시성 확률 분포 맵과 수학식 1을 이용한 칼라 섀이딩이 수행되고, 제2 VPL들에 대해서는 섀도우 맵 기반의 가시성과 수학식 1을 이용한 칼라 섀이딩이 수행된다. 그리고, 직접 광에 의한 렌더링도 수행되어, 제1 포인트에 대한 칼라 값 결정이 수행된다. 이러한 전체 과정이 렌더링으로 표현될 수 있으며, 상세한 내용은 도 10을 참조하여 상술한 바와 같다.
도 12는 일실시예에 따른 VPL 샘플링 과정(1120)을 도시하는 세부 흐름도이다.
단계(1210)에서는, 직접 조명 시점에서 반사 섀도우 맵(Reflective shadow map)이 생성된다. 그리고, 단계(1220)에서 중요도 기반의 적응적 VPL 샘플링이 수행된다.
도 3을 참조하여 상술한 바와 같이, 일실시예에 따르면, 단계(1220)에서의 중요도 기반의 적응적 VPL 샘플링 과정에서는, 의 신(Scene)의 복잡도에 따라 적응적으로 VPL을 샘플링 할 수 있다. 이를테면, 복잡도가 높은 부분에는 VPL을 많이 샘플링하고, 복잡도가 낮은 부분에서는 VPL을 적게 샘플링하는 방식이다.
또한, 렌더링할 카메라 시점에서 가시성이 있는 부분에는 VPL을 많이 샘플링하고, 렌더링할 카메라 시점에서 가시성이 없는 부분에는 VPL을 적게 샘플링하는 것도 가능하다.
나아가, 3D 모델의 텍스처를 고려해서, 반사도가 높을수록 및/또는 칼라가 밝을수록 VPL을 많이 샘플링할 수도 있다.
도 13은 일실시예에 따른 가시성 확률 분포 계산 과정(1150)을 도시하는 세부 흐름도이다.
도 7을 함께 참조하면, 단계(1310)에서, 제1 포인트(701)에 대한 가시성 확률 분포 계산을 위해, 스크린 신 내에 N 개(N은 자연수)의 영역들이 설정될 수 있다.
그리고, 단계(1320) 내지 단계(1360)의 반복(Iteration) 과정을 통해, N 개의 영역 각각에 대해 가시성 확률이 계산된다.
단계(1330)에서는 i 번째 영역 내에 k 개(k는 자연수)의 제2 포인트가 샘플링된다. 도 7에서 도시된 바와 같이, 이러한 샘플링은 무작위적으로 이루어질 수 있으나, 이에 한정되지는 않는다. 상기 샘플링되는 제2 포인트들의 개수인 k는 무작위적일 수 있다. 또한, 일실시예에서는 제1 포인트(701)에 가까울수록 정확성을 높이기 위해 k가 크게 설정되고, 제1 포인트(701)로부터 멀수록 빠른 연산을 위해 k가 작게 설정되는 것도 가능하다. 도 7에 도시된 예에서는 k가 10이였다.
단계(1340)에서는 제1 포인트(810)에 대해, 샘플링된 k 개의 제2 포인트들의 가시성이 계산된다. 이러한 가시성 계산은 디퍼드 렌더링 결과에 따른 깊이 맵을 이용한 가시성 테스트일 수 있다. 이러한 가시성 테스트에 관한 내용은 도 8을 참조하여 상술한 바와 같다.
이러한 과정이, i 번째 영역에 대해 수행되는 것이 반복되어, N 개 영역들 전체에 대해 수행되면 제1 포인트에 대한 가시성 확률 분포 계산이 완료된다. 그리고, 도 11의 단계(1170)에서 렌더링이 수행되며, 상세한 내용은 상술 하였다.
이상의 실시예들에 의해, 섀도우 맵 계산 및 가시성 테스트를 위한 연산 오버헤드는 최소화 되면서, 단순한 스플래팅 렌더링에 대비하여 가시성의 정확성은 크게 향상된 래디오서티 랜더링이 가능하다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 3D 모델에 샘플링된 제1 VPL(Virtual Point Light)을 포함하는 제1 영역과 렌더링할 제1 포인트 사이의 가시성을 확률적으로 계산한 제1 확률을 계산하는 가시성 확률 분포 계산부; 및
    상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하여, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링하는 렌더부
    를 포함하고,
    상기 가시성 확률 분포 계산부는,
    상기 제1 영역에 복수 개의 제2 포인트를 샘플링하는 포인트 샘플링부;
    상기 복수 개의 제2 포인트에 대해, 상기 제1 포인트와의 가시성을 테스트하는 가시성 테스트부; 및
    상기 복수 개의 제2 포인트 중 가시성 테스트 결과 가시성이 있는 포인트의 비율을 이용하여 상기 제1 확률을 계산하는 가시성 확률 맵 생성부
    를 포함하는 영상 처리 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 가시성 테스트부는, 상기 렌더링에 연관되는 시점으로부터, 상기 3D 모델을 디퍼드 렌더링(Differed rendering)한 결과 중 깊이 맵을 이용하여 상기 가시성을 테스트 하는 영상 처리 장치.
  4. 제1항에 있어서,
    상기 가시성 확률 분포 계산부는,
    상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신을 복수 개의 영역으로 분할하는 - 상기 제1 영역은 상기 복수 개의 영역에 포함됨 - 영역 설정부
    를 포함하는 영상 처리 장치.
  5. 제4항에 있어서,
    상기 영역 설정부는, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 제1 임계치 이하인 영역만 상기 복수 개의 영역으로 분할하는 영상 처리 장치.
  6. 제5항에 있어서,
    상기 가시성 확률 분포 계산부는, 상기 스크린 신에서 상기 제1 포인트로부터의 거리가 상기 제1 임계치를 초과하는 영역에 대해서는 상기 제1 확률을 0으로 처리하는 영상 처리 장치.
  7. 제1항에 있어서,
    상기 제1 VPL은 상기 3D 모델에 샘플링된 복수 개의 VPL 중, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신 내에 포함되는 VPL 중 적어도 하나인 영상 처리 장치.
  8. 제7항에 있어서,
    상기 복수 개의 VPL 중, 상기 스크린 신 내에 포함되는 VPL과 상기 스크린 신 내에 포함되지 않는 VPL을 구분하여 분류하는 VPL 필터부
    를 더 포함하는 영상 처리 장치.
  9. 제7항에 있어서,
    상기 복수 개의 VPL 중 상기 스크린 신 내에 포함되지 않는 적어도 하나의 제2 VPL에 대해서는 섀도우 맵을 구하고, 상기 섀도우 맵을 이용하여 상기 적어도 하나의 제2 VPL과 상기 제1 포인트 사이의 가시성을 계산하는, 섀도우 맵 기반 가시성 계산부
    를 더 포함하는 영상 처리 장치.
  10. 제1항에 있어서,
    상기 3D 모델에 포함되는 오브젝트 포인트의 텍스처 및 상기 3D 모델에 빛을 제공하는 직접 광의 밝기 중 적어도 하나를 고려하여, 중요도 기반의 적응적 VPL 샘플링을 수행하여 상기 3D 모델에 복수 개의 VPL을 샘플링 하는 VPL 샘플링부
    를 더 포함하는 영상 처리 장치.
  11. 제1항에 있어서,
    상기 렌더부는, 상기 제1 VPL에 대하여 설정된 제1 반경 이내에 상기 제1 포인트가 위치하는 경우에, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링하는 영상 처리 장치.
  12. 제11항에 있어서,
    상기 제1 반경은, 상기 제1 VPL의 샘플링에 연관되는 직접 광의 밝기, 상기 제1 VPL의 위치의 반사도, 및 상기 위치의 오브젝트 텍스처 중 적어도 하나에 의하여 적응적으로 설정되는 영상 처리 장치.
  13. 제1 포인트를 렌더링하는 데에 연관되는 시점으로부터 3D 모델을 렌더링 한 스크린 신을, 복수 개의 영역으로 분할하는 영역 설정부;
    상기 복수 개의 영역 중 제1 영역에, 복수 개의 제2 포인트를 샘플링 하는 포인트 샘플링부;
    상기 제1 포인트와, 상기 복수 개의 제2 포인트의 가시성을 테스트 하는 가시성 테스트부; 및
    상기 복수 개의 제2 포인트 중 상기 제1 포인트와의 사이에 가시성이 있는 것의 비율을 이용하여 상기 제1 영역과 상기 제1 포인트 사이의 가시성 확률인 제1 확률을 계산하는 가시성 확률 맵 생성부
    를 포함하는 영상 처리 장치.
  14. 제13항에 있어서,
    상기 3D 모델에 샘플링된 적어도 하나의 VPL 중 상기 제1 영역에 포함되는 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링 하는 경우, 상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하는 렌더부
    를 더 포함하는 영상 처리 장치.
  15. 영상 처리 장치가 3D 모델에 포함되는 제1 포인트의 칼라 값을 렌더링하는 영상 처리 방법에 있어서,
    상기 3D 모델에 샘플링된 제1 VPL(Virtual Point Light)을 포함하는 제1 영역과 상기 제1 포인트 사이의 가시성을 확률적으로 계산한 제1 확률을 계산하는 가시성 확률 분포 계산 단계; 및
    상기 제1 확률을 상기 제1 포인트에 대한 상기 제1 VPL의 가시성으로 반영하여, 상기 제1 VPL에 의한 상기 제1 포인트의 칼라 값을 렌더링하는 렌더링 단계
    를 포함하고,
    상기 가시성 확률 분포 계산 단계는,
    상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신을, 복수 개의 영역으로 분할하는 영역 설정 단계;
    상기 복수 개의 영역 중 제1 영역에, 복수 개의 제2 포인트를 샘플링 하는 포인트 샘플링 단계;
    상기 제1 포인트와, 상기 복수 개의 제2 포인트의 가시성을 테스트하는 가시성 테스트 단계; 및
    상기 복수 개의 제2 포인트 중 상기 제1 포인트와의 사이에 가시성이 있는 것의 비율을 이용하여 상기 제1 영역과 상기 제1 포인트 사이의 가시성 확률인 제1 확률을 계산하는 가시성 확률 계산 단계
    를 포함하는 영상 처리 방법.
  16. 삭제
  17. 제15항에 있어서,
    상기 제1 VPL은 상기 3D 모델에 샘플링된 복수 개의 VPL 중, 상기 렌더링에 연관되는 시점으로부터 상기 3D 모델을 렌더링 한 스크린 신 내에 포함되는 VPL 중 적어도 하나인 영상 처리 방법.
  18. 제17항에 있어서,
    상기 복수 개의 VPL 중, 상기 스크린 신 내에 포함되는 VPL과 상기 스크린 신 내에 포함되지 않는 VPL을 구분하여 분류하는 VPL 필터링 단계
    를 더 포함하는 영상 처리 방법.
  19. 제17항에 있어서,
    상기 복수 개의 VPL 중 상기 스크린 신 내에 포함되지 않는 적어도 하나의 제2 VPL에 대해서는 섀도우 맵을 구하고, 상기 섀도우 맵을 이용하여 상기 적어도 하나의 제2 VPL과 상기 제1 포인트 사이의 가시성을 계산하는, 섀도우 맵 기반 가시성 계산 단계
    를 더 포함하는 영상 처리 방법.
  20. 제15항 및 제17항 내지 제19항 중 어느 한 항의 영상 처리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
KR1020140019763A 2014-02-20 2014-02-20 영상 처리 장치 및 방법 KR102137263B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140019763A KR102137263B1 (ko) 2014-02-20 2014-02-20 영상 처리 장치 및 방법
US14/623,954 US10157494B2 (en) 2014-02-20 2015-02-17 Apparatus and method for processing virtual point lights in an image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140019763A KR102137263B1 (ko) 2014-02-20 2014-02-20 영상 처리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20150098458A KR20150098458A (ko) 2015-08-28
KR102137263B1 true KR102137263B1 (ko) 2020-08-26

Family

ID=53798562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140019763A KR102137263B1 (ko) 2014-02-20 2014-02-20 영상 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US10157494B2 (ko)
KR (1) KR102137263B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049491B1 (en) * 2012-09-18 2018-08-14 Confetti Interactive Inc. Dynamic global illumination system
US9412034B1 (en) * 2015-01-29 2016-08-09 Qualcomm Incorporated Occlusion handling for computer vision
CN109544671B (zh) * 2018-11-12 2022-07-19 浙江大学 一种基于屏幕空间的视频在三维场景中投影映射方法
KR20210030147A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 3d 렌더링 방법 및 장치
CN111080762B (zh) * 2019-12-26 2024-02-23 北京像素软件科技股份有限公司 虚拟模型渲染方法及装置
CN111540018B (zh) * 2020-04-27 2023-06-30 深圳市瑞立视多媒体科技有限公司 相机对称布局模式的得分计算方法及相关设备
CN113457161B (zh) * 2021-07-16 2024-02-13 深圳市腾讯网络信息技术有限公司 画面展示方法、信息生成方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110012901A1 (en) * 2009-06-29 2011-01-20 Anton Kaplanyan Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760024B1 (en) * 2000-07-19 2004-07-06 Pixar Method and apparatus for rendering shadows
JP4672037B2 (ja) 2002-11-12 2011-04-20 株式会社バンダイナムコゲームス 立体視用印刷物の製造方法、立体視用印刷物
KR101598374B1 (ko) * 2009-09-21 2016-02-29 삼성전자주식회사 영상 처리 장치 및 방법
KR101601687B1 (ko) 2009-09-22 2016-03-09 삼성전자주식회사 영상 처리 장치 및 방법
KR101585998B1 (ko) * 2009-11-10 2016-01-15 삼성전자주식회사 영상 처리 장치 및 방법
KR20120007398A (ko) 2010-07-14 2012-01-20 삼성전자주식회사 영상 처리 장치 및 방법
KR20120062542A (ko) 2010-12-06 2012-06-14 삼성전자주식회사 영상 처리 장치 및 방법
KR101845225B1 (ko) 2011-06-30 2018-04-04 삼성전자주식회사 영상 처리 장치 및 방법
US9478065B2 (en) * 2013-03-14 2016-10-25 Robert Bosch Gmbh System and method for remote generation of indirect illumination sources in three-dimensional graphics
CN104239844A (zh) * 2013-06-18 2014-12-24 华硕电脑股份有限公司 图像识别系统及图像识别方法
TWI497450B (zh) * 2013-10-28 2015-08-21 Univ Ming Chuan 視訊物件追蹤方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110012901A1 (en) * 2009-06-29 2011-01-20 Anton Kaplanyan Method, computer graphics image rendering system and computer-readable data storage medium for computing of indirect illumination in a computer graphics image of a scene

Also Published As

Publication number Publication date
KR20150098458A (ko) 2015-08-28
US10157494B2 (en) 2018-12-18
US20150235410A1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
KR102137263B1 (ko) 영상 처리 장치 및 방법
KR102223064B1 (ko) 영상 처리 장치 및 방법
EP3035292B1 (en) 3d rendering method and apparatus
US20190172183A1 (en) Denoising Filter
US9990762B2 (en) Image processing apparatus and method
US10176627B2 (en) Tree-based graphics primitive rendering
EP2927877B1 (en) Method and apparatus for rendering same regions of multi frames
US9684991B2 (en) Image processing apparatus and method using photon mapping and ray tracing and increasing a rate of photon mapping
KR102558737B1 (ko) 3d 렌더링 방법 및 장치
KR20170034727A (ko) 그림자 정보 저장 방법 및 장치, 3d 렌더링 방법 및 장치
TWI769138B (zh) 圖形處理之方法、流水線電路以及計算機程序
US11869172B2 (en) Kernel reshaping-powered splatting-based efficient image space lens blur
US10776996B2 (en) Method and apparatus for processing image
KR102281180B1 (ko) 영상 처리 장치 및 방법
Zhdanov et al. The backward photon mapping for the realistic image rendering
KR101871222B1 (ko) 영상 처리 장치 및 방법
KR102211142B1 (ko) 영상 처리 장치 및 방법
US9715758B2 (en) Image processing apparatus and method using virtual point light (VPL) information
CN115619924A (zh) 用于光估计的方法与装置
KR101906142B1 (ko) 영상 처리 장치 및 방법
KR20140109185A (ko) 영상 처리 장치 및 방법
US10891772B2 (en) Rendering apparatus, rendering method and recording medium

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