KR101601687B1 - Image processing apparatus and method - Google Patents
Image processing apparatus and method Download PDFInfo
- Publication number
- KR101601687B1 KR101601687B1 KR1020090089809A KR20090089809A KR101601687B1 KR 101601687 B1 KR101601687 B1 KR 101601687B1 KR 1020090089809 A KR1020090089809 A KR 1020090089809A KR 20090089809 A KR20090089809 A KR 20090089809A KR 101601687 B1 KR101601687 B1 KR 101601687B1
- Authority
- KR
- South Korea
- Prior art keywords
- model
- vpl
- mesh
- sampling
- image processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/55—Radiosity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Abstract
영상 처리 장치가 제공된다. 상기 영상 처리 장치는, 3D 모델의 오브젝트의 형상 정보를 나타내는 메쉬를, 상기 3D 모델을 렌더링하고자 하는 제1 시점의 평면에 프로젝션 하여, 프로젝션 된 면적을 계산하는 제1 계산부 및 상기 프로젝션 된 면적에 기초하여 상기 메쉬에 대한 샘플링 포인트를, 적응적으로 할당하는 샘플링부를 포함한다.An image processing apparatus is provided. The image processing apparatus includes a first calculation section for calculating a projected area by projecting a mesh representing shape information of an object of a 3D model onto a plane of a first viewpoint at which the 3D model is to be rendered, And a sampling unit for adaptively allocating sampling points for the mesh based on the sampling points.
전역 조명, 렌더링, 포인트 샘플링, 섀도우 맵, rendering, radiosity, shadow map Global lighting, rendering, point sampling, shadow map, rendering, radiosity, shadow map
Description
3D 모델로 구성된 오브젝트에 대한 전역 조명(Global illumination) 렌더링에 연관되며, 보다 특정하게는 Radiosity 기법에서의 섀도우 맵 작성 등에 이용되는 오브젝트 샘플링에 연관된다.Is associated with global illumination rendering of an object composed of a 3D model, and more particularly relates to object sampling used for creating a shadow map in the Radiosity technique.
하드웨어 및 소프트웨어의 발전에 따라, 3-Dimensional (3D) 게임, 가상현실(virtual world) 애니메이션, 영화 등 다양한 분야에서, 3D 모델에 대한 실시간 렌더링(real-time rendering)에 대한 관심이 높아지고 있다.
통상적으로 렌더링 품질을 높이기 위해서는, 연산양이 커지는데, 영상 처리를 위해 허용되는 하드웨어의 사양을 높이는 데에는 한계가 있기 때문에, 동일한 품질을 유지하면서도 연산양을 줄이는 연산 효율성의 개선의 문제는 영상 처리 분야의 큰 목표가 되었다.
3D 모델을 렌더링하는 데에 있어서, 전역 조명(Global illumination)은 직접 조명(direct illumination)에 의한 칼라 값 형성과 간접 조명(indirect illumination)에 의한 칼라 값을 함께 고려하는 것이다.
여기서, 간접 조명에는, 이를테면 오브젝트 표면에서 빛의 반사(reflection), 굴절(refraction), 투과(transmission), 빛의 난반사(scattered reflection), 등이 모델링될 수 있다.
이를테면, Radiosity 기법에 의한 렌더링에서는, 이러한 간접조명을 모델링하기 위해 3D 모델 내의 특정 위치에 VPL(Virtual Point Light)를 위치시키고, VPL의 시점(point of view)으로부터의 오브젝트 형상에 대한 섀도우 맵(Shadow map)을 작성하는 과정이 요구된다.
이러한 VPL 시점에서 오브젝트 형상에 대한 섀도우 맵 작성을 위해, 또는 다른 렌더링 방법에서 포인트 샘플링을 하는 경우에, 카메라 뷰의 위치나 방향을 고려하지 않고 상기 오브젝트에 대한 포인트 샘플링이 이루어진다면, 연산의 효율성이 낮아지게 된다.With the development of hardware and software, there is increasing interest in real-time rendering of 3D models in various fields such as 3-dimensional (3D) games, virtual world animation, and movies.
Generally, in order to increase the rendering quality, the amount of computation increases. However, since there is a limit to increase the specification of the hardware allowed for the image processing, the problem of improvement in the computational efficiency, which reduces the amount of computation while maintaining the same quality, Which became a big target of.
In rendering a 3D model, global illumination is to consider both color values by direct illumination and color values by indirect illumination.
Here, indirect illumination can be modeled, such as light reflections, refractions, transmissions, scattered reflections, etc., at the object surface.
For example, in the rendering based on the Radiosity technique, a VPL (Virtual Point Light) is positioned at a specific position in the 3D model to model the indirect illumination, and a shadow map (Shadow) for the object shape from the point of view of the VPL map) is required.
If point sampling is performed for the object without considering the position or orientation of the camera view, such as when creating a shadow map for an object shape at this VPL point, or when performing point sampling in another rendering method, .
3D 모델을 렌더링 하고자 하는 카메라 뷰의 위치와 방향을 고려하지 않고 오브젝트를 샘플링 하여 렌더링 과정에 활용하는 경우, 렌더링 품질에 대비한 연산양의 낭비가 있으므로, 이러한 연산의 낭비를 크게 감소시켜, 품질을 유지하면서 렌더링 처리 속도를 향상시키는 영상 처리 장치 및 방법이 제공된다.
카메라 뷰에서 가까운 부분, 중요한 방향의 오브젝트에 대한 연산을 위해 연산양을 집중하여, 앨리어싱을 최소화하는 영상 처리 장치 및 방법이 제공된다.When the object is sampled and used in the rendering process without considering the position and direction of the camera view to which the 3D model is to be rendered, there is a waste of the calculation amount in comparison with the rendering quality. And an image processing apparatus and method for improving rendering processing speed are provided.
There is provided an image processing apparatus and method for minimizing aliasing by concentrating the amount of computation for an object in a part close to or in the direction of a camera view.
본 발명의 일측에 따르면, 3D 모델의 오브젝트의 형상 정보를 나타내는 메쉬를, 상기 3D 모델을 렌더링하고자 하는 제1 시점의 평면에 프로젝션 하여, 프로젝션 된 면적을 계산하는 제1 계산부 및 상기 프로젝션 된 면적에 기초하여 상기 메쉬에 대한 샘플링 포인트를, 적응적으로 할당하는 샘플링부를 포함하는 영상 처리 장치가 제공된다.
여기서, 상기 샘플링부는, 상기 프로젝션 된 면적에 비례한 개수의 샘플링 포인트를 상기 메쉬에 할당할 수 있다.
한편, 상기 제1 계산부는, 상기 메쉬 정보를 임시로 저장하는 메모리, 및 상기 메모리 상에 저장된 메쉬를, 상기 3D 모델을 렌더링 하고자 하는 제1 시점의 평면에 프로젝션 한 면적을 계산하는 계산 모듈을 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 영상 처리 장치는, 상기 메쉬에 적응적으로 할당된 샘플링 포인트를, 이용하여, 상기 3D 모델 내에 배치된 VPL로부터의 섀도우 맵을 작성하는 제2 계산부를 더 포함한다.
또한, 상기 영상 처리 장치는 상기 섀도우 맵을 이용하여, 래이디오시티(Radiosity) 기법에 의해, 상기 3D 모델을 상기 제1 시점에서 렌더링 하는, 렌더링부를 더 포함할 수 있다.
본 발명의 다른 일측에 따르면, 3D 모델을 구성하는 복수 개의 형상 정보 메쉬 중, 상기 3D 모델을 렌더링 하고자 하는 제1 시점 영상의 각 픽셀에 대응하는 상기 3D 모델의 적어도 하나의 메쉬를 탐색하는 샘플링부, 및 상기 적어도 하나의 메쉬의 각각에 대하여, 상기 3D 모델 내에 배치된 적어도 하나의 VPL 각각에 대한 섀도우 맵을 계산하는 섀도우 맵 계산부를 포함하는 영상 처리 장치가 제공된다.
여기서, 상기 샘플링부는, 상기 제1 시점에서 상기 3D 모델에 대한 깊이 영상을 작성하는 깊이 영상 작성부, 및 상기 깊이 영상을 이용하여, 상기 제1 시점 영상의 각 픽셀에 대응하는 상기 3D 모델의 적어도 하나의 메쉬를 탐색하는 탐색부를 포함할 수 있다.
한편, 상기 영상 처리 장치는 상기 섀도우 맵을 이용하여, 래이디오시티 기법에 의해, 상기 3D 모델을 상기 제1 시점에서 렌더링 하는, 렌더링부를 더 포함할 수 있다.
본 발명의 또 다른 일측에 따르면, 3D 모델의 렌더링을 위해, 상기 3D 모델 내의 제1 포인트에 VPL을 배치하는 VPL 배치부, 및 상기 제1 포인트 주변 영역의 오브젝트 칼라 값을 고려하여 상기 VPL의 라이트 칼라를 결정하는 VPL 칼라 결정부를 포함하는, 영상 처리 장치가 제공된다.
여기서 상기 VPL 칼라 결정부는, 상기 제1 포인트 주변에 제1 직경을 갖는 원을 설정하고, 상기 원 내의 오브젝트 칼라 값의 평균을 구하여, 상기 VPL의 라이트 칼라 값으로 결정한다.
본 발명의 또 다른 일측에 따르면, 3D 모델의 오브젝트의 형상 정보를 나타내는 메쉬를, 상기 3D 모델을 렌더링하고자 하는 제1 시점의 평면에 프로젝션 하여, 프로젝션 된 면적을 계산하는 단계, 및 상기 프로젝션 된 면적에 기초하여 상기 메쉬에 대한 샘플링 포인트를, 적응적으로 할당하는 샘플링 단계를 포함하는 영상 처리 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 3D 모델을 구성하는 복수 개의 형상 정보 메쉬 중, 상기 3D 모델을 렌더링 하고자 하는 제1 시점 영상의 각 픽셀에 대응하는 상기 3D 모델의 적어도 하나의 메쉬를 탐색하는 샘플링 단계, 및 상기 적어도 하나의 메쉬의 각각에 대하여, 상기 3D 모델 내에 배치된 적어도 하나의 VPL 각각에 대한 섀도우 맵을 계산하는 섀도우 맵 계산 단계를 포함하는 영상 처리 방법이 제공된다.
본 발명의 또 다른 일측에 따르면, 3D 모델의 렌더링을 위해, 상기 3D 모델 내의 제1 포인트에 VPL을 배치하는 VPL 배치 단계, 및 상기 제1 포인트 주변 영역의 오브젝트 칼라 값을 고려하여 상기 VPL의 라이트 칼라를 결정하는 VPL 칼라 결정 단계를 포함하는, 영상 처리 방법이 제공된다.According to an aspect of the present invention, there is provided a method of calculating a projected area, comprising: a first calculation unit for projecting a mesh representing shape information of an object of a 3D model onto a plane of a first viewpoint at which the 3D model is to be rendered, And a sampling unit for adaptively assigning sampling points for the mesh based on the sampling points of the mesh.
Here, the sampling unit may allocate a sampling point proportional to the projected area to the mesh.
The first calculation unit may include a memory for temporarily storing the mesh information and a calculation module for calculating an area of the mesh stored on the memory on the plane of the first viewpoint at which the 3D model is to be rendered can do.
According to an embodiment of the present invention, the image processing apparatus further includes a second calculation section for creating a shadow map from the VPL disposed in the 3D model using the sampling point adaptively allocated to the mesh do.
The image processing apparatus may further include a rendering unit rendering the 3D model at the first viewpoint by a radiosity technique using the shadow map.
According to another aspect of the present invention, there is provided a 3D mesh modeling apparatus comprising: a sampling unit for searching at least one mesh of the 3D model corresponding to each pixel of a first viewpoint image to be rendered of the 3D model, And a shadow map computation unit for computing, for each of the at least one mesh, a shadow map for each of at least one VPL placed in the 3D model.
Here, the sampling unit may include: a depth image creating unit that creates a depth image of the 3D model at the first viewpoint; and a depth image creating unit that creates a depth image of the 3D model corresponding to each pixel of the first viewpoint image, And a search unit for searching for one mesh.
The image processing apparatus may further include a rendering unit that renders the 3D model at the first viewpoint by using a shadow map, using the shadow map.
According to another aspect of the present invention, there is provided a method for rendering a 3D model, the method comprising: a VPL arrangement unit for arranging a VPL at a first point in the 3D model, And a VPL color determining unit for determining a color.
The VPL color determining unit sets a circle having a first diameter around the first point and determines an average of object color values in the circle as a light color value of the VPL.
According to another aspect of the present invention, there is provided a method for projecting a 3D model, comprising the steps of: projecting a mesh representing shape information of an object of a 3D model onto a plane of a first viewpoint at which the 3D model is to be rendered, And a sampling step of adaptively allocating a sampling point for the mesh based on the sampling point of the mesh.
According to still another aspect of the present invention, there is provided a method for generating a 3D model, the method comprising the steps of: sampling at least one mesh of the 3D model corresponding to each pixel of a first viewpoint image to be rendered, And for each of the at least one mesh, a shadow map calculation step for calculating a shadow map for each of the at least one VPL placed in the 3D model.
According to another aspect of the present invention, there is provided a method for rendering a 3D model, the method comprising: a VPL arrangement step of arranging a VPL at a first point in the 3D model; And a VPL color determination step of determining a color.
카메라 뷰에서 중요한 부분에 연산양이 집중되므로, 종래의 영상 처리 방법에 비해 렌더링 품질은 유지하면서 렌더링 처리 속도가 크게 향상된다.
따라서 실시간 렌더링에 유리한 측면이 있다.
또한, 동일한 연산양을 가정하는 경우, 카메라 뷰에서 중요한 부분, 이를테면, 영상이 렌더링되는 경우 에러가 발견되기 쉬운 부분에서 앨리어싱을 감소시킬 수 있으므로, 렌더링 품질이 개선된다..Since the amount of computation is concentrated on an important part in the camera view, the rendering processing speed is greatly improved while maintaining the rendering quality as compared with the conventional image processing method.
Therefore, there is an advantageous aspect in real-time rendering.
Also, assuming the same amount of computation, aliasing can be reduced in an important part of the camera view, such as where the error is likely to be found when the image is rendered, thereby improving rendering quality.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치(100)를 도시한다.
영상 처리 장치(100)는 렌더링 연산의 효율을 높이기 위해, 3D 모델을 렌더링 하고자 하는 카메라 뷰의 위치 및/또는 방향을 고려하여, 적응적으로(adaptively) 오브젝트를 샘플링 한다.
제1 계산부(110)는 3D 모델의 오브젝트의 각 메쉬를 메모리(111)에 임시 저장한다.
그리고, 계산 모듈(112)는 메모리(111)에 저장된 복수 개의 메쉬들 각각에 대하여, 상기 3D 모델을 렌더링 하고자 하는 카메라 뷰에 위치한 가상의 평면으로 프로젝션을 수행한다.
이렇게 프로젝션 되는 경우, 카메라 뷰의 시야각의 중심에 얼마나 가까운 방향에 존재하는 메쉬인지, 그리고 카메라 뷰로부터 얼마나 가까운 거리에 있는 메쉬인지에 따라, 메쉬가 프로젝션된 면적에 차이가 날 것이다.
기본 메쉬 크기는 대부분 동일하기 때문에, 카메라 뷰의 정면에 있을수록 메쉬가 프로젝션 된 면적이 클 것이고, 반대로 카메라 시야각에서 멀어지는 방향에 있을수록 메쉬가 프로젝션 된 면적이 작을 것이다.
또한, 카메라 뷰로부터 가까운 메쉬이면 프로젝션 된 면적이 클 것이고, 반대로 멀리 있을수록 프로젝션된 면적이 작을 것이다.
계산 모듈(112)은 이렇게 메쉬들이 프로젝션된 면적을 계산하며, 이러한 메쉬들의 면적은 샘플링부(120)에 제공된다.
그리고, 샘플링부(120)는 각각의 메쉬들이 프로젝션 된 면적을 비교하여, 카메라 뷰에서 보다 가깝고, 시야각의 중심에 보다 가까운 방향에 있는, 메쉬들, 즉 렌더링에 중요한 메쉬들을 찾는다.
그리고, 이러한 메쉬들에 대해서는, 높은 밀도로 샘플링을 수행하며, 이를테면 메쉬 하나에 두 개의 샘플링 포인트를 할당할 수도 있다.
또한, 샘플링부(120)는 카메라 뷰에서 멀리 있을수록 샘플링 밀도를 낮추어, 이를테면, 메쉬 두 개 내지 세 개에 하나의 샘플링 포인트를 할당할 수도 있다.
한편, 샘플링부(120)는 카메라 뷰의 시야각 내에 있는 메쉬들에 대해서는 샘플링 밀도를 상대적으로 높여서, 많은 개수의 샘플링 포인트를 할당하고, 반대로 시야각 바깥에 있는 메쉬들에 대해서는, 샘플링 밀도를 낮추어서, 이를테면, 메쉬 네 개 내지 다섯 개에 하나의 샘플링 포인트를 할당할 수도 있다.
그러면, 제2 계산부(130)는 도시된 샘플링 포인트들 각각에 대해 섀도우 맵을 작성한다. 섀도우 맵 작성 시에 고려되어야 할 샘플링 포인트 전체의 수가 줄어들어, 연산양을 줄이는 효과를 기대할 수 있다.
영상 처리 장치(100)의 보다 상세한 동작은 도 4 내지 도 6을 참조하여 보다 상세히 후술한다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치(200)를 도시한다.
영상 처리 장치(200)는 섀도우 맵 작성에 있어서, 카메라 뷰에 중요한 포인트들을 지정하여, 상기 지정된 포인트들에 대해서 VPL의 섀도우 맵을 작성함으로써, 앨리어싱을 줄이고, 연산 효율을 높인다.
샘플링부(210)는 카메라 뷰에서 렌더링 하고자 하는 영상의 각 픽셀을 참고하여, 3D 모델의 오브젝트 중, 섀도우 맵이 계산되어야 할 포인트들을 샘플링 한다.
먼저, 카메라 뷰 깊이 영상 작성부(221)는, 카메라 뷰에서 바라본 깊이 영상을 생성한다.
그러면, 메쉬 탐색부(222)가 상기 깊이 영상을 이용하여, 렌더링 하고자 하는 영상의 각 픽셀에 대응하는 메쉬들을 탐색한다.
상기 메쉬 탐색부(222)의 동작에 의해, 효율적인 섀도우 맵 작성을 위해 고려되어야 할 포인트가 결정된다.
섀도우 맵 계산부(220)는, 이렇게 결정된 포인트들에 대해서, VPL로부터의 거리를 계산하는 방법으로, 상기 VPL의 섀도우 맵을 작성한다.
그러면, 렌더링부(230)는 이러한 섀도우 맵을 이용하여, Radiosity 방법 등에 의해 영상을 렌더링하게 된다.
영상 처리 장치(200)의 보다 상세한 동작은 도 7 내지 도 8을 참조하여 후술한다.
도3은 본 발명의 일 실시예에 따른 영상 처리 장치(300)를 도시한다.
영상 처리 장치(300)는 3D 모델 위에 배치되는 VPL에 대해, 상기 VPL의 칼라 값을 결정한다.
먼저, VPL 배치부(310)는 소정의 알고리즘을 통해 상기 3D 모델의 오브젝트 위에 복수 개의 VPL들을 배치한다.
그리고, VPL 칼라 결정부(320)는, 상기 복수 개의 VPL들의 각각에 일정한 반경을 갖는 범위를 설정한다.
각 범위의 반경은 서로 다르게 설정될 수도 있고, 동일하게 설정될 수도 있으며, 이는 VPL의 성격, 오브젝트의 특성 등에 의해 조정될 수 있다.
그리고 VPL 칼라 결정부(320)는, 상기 각 VPL들에 대해, 설정된 범위 내의 오브젝트 칼라 값들의 통계적 평균으로 해당 VPL의 칼라 값을 결정한다.
영상 처리 장치(300)의 동작은 도 9 내지 도 10을 참조하여 보다 상세히 후술한다.
도 4는 본 발명의 일 실시예에 따라 샘플링 되는 오브젝트(400)의 형상 정보를 도시한다.
3D 모델링 결과 각 오브젝트의 형상 정보는 메쉬(mesh) 기반 또는 포인트(point) 기반으로 저장된다.
그리고, 많은 경우들에 있어서, 메쉬 기반의 형상(geometry) 정보 저장 방법이 활용된다.
오브젝트(400) 또한, 메쉬 기반으로 형상 정보가 저장된 경우이다.
메쉬(410)는 오브젝트의 물리적인 위치를 표현하는 기본 단위이다. 3D 모델을 렌더링 하는 경우, 이러한 개별 메쉬들을 카메라-뷰(camera-view)에서 바라보았을 때의 칼라 값이 계산된다.
3D 렌더링에 있어서, 카메라 뷰의 픽셀 값 결정은, 광원(light)으로부터 출발한 빛이 오브젝트에 반사되어 카메라 뷰의 픽셀들에 들어오는 결과를 계산하는 과정이다.
이러한 렌더링 과정에서, 직접 조명(direct illumination)에 의한 칼라 값뿐만 아니라, 간접 조명(indirect illumination), 이를테면 반사광, 난반사 등의 물리적 현상을 고려할 필요가 있다.
상기 간접 조명을, 3D 오브젝트 위에 배치된 가상의 광원(VPL; Virtual Point Light)으로 모델링하여, 각 오브젝트에 대한 섀도우 맵을 계산하고, 이 섀도우 맵들을 이용하여 카메라 뷰에서의 픽셀 값을 보다 정밀하게 계산하는 방법이 Radiosity 방법이다.
이러한 과정에서, VPL의 개수를 많이 배치시킬수록, 렌더링된 영상의 품질은 높아질 수 있으나, 연산양이 크게 증가한다.
도 5는 도 4의 오브젝트(400)를 카메라 뷰(501)에 관계 없이 샘플링한 모습을 도시한다.
예시적으로, 오브젝트(400)의 각 메쉬들(511, 512, 513, 514, 521, 및 531 등) 마다 한 개의 포인트 샘플링이 이루어진 결과가 도시되어 있다.
즉, 오브젝트(400)의 전체 영역에 걸쳐, 균일한 샘플링이 이루어졌다.
그리고, VPL(502)의 시야각 θ2 내의 메쉬들에 대해 섀도우 맵이 작성되고, 또한 VPL(503)의 시야각 θ3 내의 메쉬들에 대해서도 섀도우 맵이 작성되었다. 이러한 섀도우 맵들은, 각각 VPL(502) 또는 VPL(503)으로부터 도시된 샘플링 포인트까지의 거리를 나타내는 깊이 영상(depth image)으로 볼 수 있다.
그러나, 카메라 뷰(501)의 시야각 θ1 내에 있지 않은 메쉬(521) 및 메쉬(531) 등의 경우, VPL(502)의 섀도우 맵 또는 VPL(503)의 섀도우 맵 계산에 활용되지만, 결국 카메라 뷰(501)에서의 영상 렌더링에 기여하지 않는다.
즉, 메쉬(521) 및 메쉬(531) 등과 같이, θ1 범위 밖의 메쉬들을 샘플링하고, 이들에 대한 섀도우 맵을 작성하는 것은, 연산의 비효율성을 야기한다.
따라서, 카메라 뷰(501)의 시야각 θ1 내에 있는 메쉬들(511 내지 514), 특히 카메라 뷰(501)에서 가까운 메쉬(511) 및 메쉬(512)에 대해서는 다른 메쉬들과 샘플링을 달리 할 필요가 있다.
이러한 과정이 도 6을 참조하여 후술된다.
도 6은 본 발명의 일 실시예에 따라 도 4의 오브젝트(400)를 샘플링한 결과를 도시한다.
상기한 바와 같이, 불필요한 섀도우 맵 계산을 최소화하고, 연산 자원을 카메라 뷰(501)에서 민감한 부분, 이를테면 카메라 뷰(501)와 가까운 부분의 오브젝트의 샘플링과 섀도우 맵 작성에 집중할 수 있다.
렌더링을 수행할 3D 모델이 제공되고, 카메라 뷰(501)의 위치 및 방향이 지정되면, 도 1의 제1 계산부(110)는 도 4의 오브젝트(400)의 각 메쉬를 메모리(111)에 임시 저장한다.
그리고, 계산 모듈(112)는 메모리(111)에 저장된 복수 개의 메쉬들 각각에 대하여, 카메라 뷰(501)에 위치한 가상의 평면으로 프로젝션을 수행한다.
이렇게 프로젝션 되는 경우, 카메라 뷰(501)의 시야각 θ1의 중심에 얼마나 가까운 방향에 존재하는 메쉬인지, 그리고 카메라 뷰(501)로부터 얼마나 가까운 거리에 있는 메쉬인지에 따라, 메쉬가 프로젝션된 면적에 차이가 날 것이다.
기본 메쉬 크기는 대부분 동일하기 때문에, 카메라 뷰(501)의 정면에 있을수록 메쉬가 프로젝션 된 면적이 클것이고, 반대로 시야각 θ1에서 멀어지는 방향에 있을수록 메쉬가 프로젝션 된 면적이 작을 것이다.
또한, 카메라 뷰(501)로부터 가까운 메쉬이면 프로젝션 된 면적이 클 것이고, 반대로 멀리 있을수록 프로젝션된 면적이 작을 것이다.
계산 모듈(112)은 이렇게 메쉬들이 프로젝션된 면적을 계산하며, 이러한 메쉬들의 면적은 샘플링부(120)에 제공된다.
그리고, 샘플링부(120)는 각각의 메쉬들이 프로젝션 된 면적을 비교하여, 카메라 뷰(501)에서 보다 가깝고, 시야각의 중심에 보다 가까운 방향에 있는, 메쉬들, 즉 렌더링에 중요한 메쉬들을 찾는다.
그리고, 이러한 메쉬들에 대해서는, 높은 밀도로 샘플링을 수행하며, 이를테면 메쉬 하나에 두 개의 샘플링 포인트를 할당할 수도 있다.
포인트(611) 및 포인트(612)는 이렇게 높은 밀도로 샘플링 된 오브젝트의 형상 정보를 대표한다.
그리고, 샘플링부(120)는 카메라 뷰(501)에서 멀리 있을수록 샘플링 밀도를 낮추어, 이를테면, 메쉬 두 개 내지 세 개에 하나의 샘플링 포인트를 할당할 수도 있다.
포인트(613) 및 포인트(614)는 이렇게 낮은 밀도로 샘플링 된 오브젝트의 형상 정보를 대표한다.
한편, 샘플링부(120)는 카메라 뷰(501)의 시야각 θ1의 내에 있는 메쉬들에 대해서는 샘플링 밀도를 상대적으로 높여서, 많은 개수의 샘플링 포인트를 할당하고, 반대로 시야각 θ1의 바깥에 있는 메쉬들에 대해서는, 샘플링 밀도를 낮추어서, 이를테면, 메쉬 네 개 내지 다섯 개에 하나의 샘플링 포인트를 할당할 수도 있다.
포인트(621) 및 포인트(631)는 이렇게 낮은 밀도로 샘플링 된 오브젝트의 형상 정보를 대표한다.
그러면, 제2 계산부(130)는 도시된 샘플링 포인트들 각각에 대해 섀도우 맵을 작성한다. 섀도우 맵 작성 시에 고려되어야 할 샘플링 포인트 전체의 수가 줄어들어, 연산양을 줄이는 효과를 기대할 수 있다.
또한, 전체의 샘플링 포인트 수는 큰 차이가 없더라도, 카메라 뷰(501)에서 중요한 부분에 대해서는 높은 밀도의 섀도우 맵을 작성하기 때문에, 추후에 렌더링부(140)에 의해 Radiosity 방법 등을 사용한 영상 렌더링이 수행되는 과정에서 렌더링 품질이 높아지는 효과를 기대할 수 있다.
이를 테면, 카메라 뷰(501)에서 보다 해상도 높은 영상을 렌더링 하는 경우, 앨리어싱을 감소시킬 수 있다.
도 7은 오브젝트(703)에 대하여 VPL(702)의 섀도우 맵(720)이 작성된 경우, 카메라 뷰(701)의 위치나 방향에 따라 앨리어싱이 발생되는 모습을 도시한다.
섀도우 맵(720) 작성을 위한 오브젝트(703)의 샘플링이, VPL(702) 기준으로 균일하게 이루어 지는 경우, 섀도우 맵(720)은 전체 오브젝트에 대한 고른 깊이 값을 가질 수 있다.
그러나, 도 5 내지 도 6의 실시예에서와 같이, 카메라 뷰(701)의 기준에서는, 카메라 뷰(701)로부터 가깝고, 또한 카메라 뷰(701)의 시야각의 중심에 가까운 방향에 있는 오브젝트 및 오브젝트의 메쉬들이 중요하다.
카메라 뷰(701)에서 영상(710)을 렌더링 하는 경우, 어차피 렌더링 되지 않을 부분의 오브젝트들에 대해서는 VPL(702)의 섀도우 맵이 계산되더라도, 연산의 낭비를 초래하기 때문이다.
이를 테면, 카메라 뷰(701)에서의 영상(710)의 픽셀(711)의 칼라 값을 계산하는 과정에서, 픽셀(711)에 대응하는 오브젝트 부분은, 포인트(712)이다.
이 경우, 포인트(712)와 VPL(702) 사이의 섀도우 테스트를 수행하여, VPL(702)가 포인트(712)의 칼라 값에 영향을 주는지의 여부를 판단해야 한다.
그런데, 포인트(712)를 향한 방향에 있는 섀도우 맵(720)의 픽셀(721)의 경우, 정확히 포인트(712)를 향하지 않고, 그보다 왼쪽을 향하는 샘플링 포인트의 깊이 값(732)을 가지고 있다.
즉, 포인트(712)를 향한 VPL(702) 입장에서의 실제 깊이 값(actual depth value)은, VPL(702)와 포인트(722) 사이의 거리인데, 이는 섀도우 맵(720)의 픽셀(721)의 샘플링 포인트 깊이 값(732)과 다르다. 이 경우는, 오브젝트 아이디 자체가 다른 경우이므로, 그 오차가 매우 크다.
이러한 문제로 인해, 렌더링 된 영상의 앨리어싱 문제가 야기된다.
즉, 포인트(712)는 실제로 VPL(702)에 대해서는 섀도우 상태에 있으므로, 카메라 뷰(701)에서 렌더링 한 영상(710)의 픽셀(711) 칼라 값 계산에 VPL(702)의 칼라 값이 영향을 주지 않아야 한다.
그러나, 상술한 바와 같이 픽셀(721)의 깊이 값(732)을 통해 잘못된 섀도우 테스트가 수행됨으로써, 픽셀(711)의 칼라 값 계산에 VPL(702)의 칼라 값이 영향을 주는 결과가 되었다.
이러한 문제는 섀도우 맵(720)의 해상도를 높여주는 등의 방법에 의해 해결될 수도 있으나, 이는 불필요한 연산양의 증가로 인해 바람직하지 않다.
따라서, 본 발명의 일 실시예에 따르면, 섀도우 맵 작성을 위한 오브젝트 샘플링을 카메라 뷰(701)을 고려하여 적응적으로(adaptively) 수행하여, 연산 효율을 높이고, 앨리어싱 문제를 해결한다.
도 8은 본 발명의 일 실시예에 따라 도 7의 오브젝트(703)에 대한 VPL(702)의 섀도우 맵(810)이 작성된 결과를 도시한다.
도 2의 샘플링부(210)은 카메라 뷰(701)에서 렌더링 하고자 하는 영상(710)의 각 픽셀을 참고하여, 오브젝트(703) 중, 섀도우 맵이 계산되어야 할 포인트들을 샘플링 한다.
구체적으로, 카메라 뷰 깊이 영상 작성부(221)는, 카메라 뷰(701)에서 바라본 깊이 영상을 생성한다.
이러한 깊이 영상의 생성으로 인해, 어떤 오브젝트가 렌더링 하고자 하는 카메라 뷰(701)에 가까이 있으며, 오브젝트 중에서도 어떤 부분의 포인트가 중요한 지가 판단될 수 있다.
이 경우, 메쉬 탐색부(222)는 상기 깊이 영상을 이용하여, 렌더링 하고자 하는 영상(710)의 각 픽셀에 대응하는 메쉬들을 탐색한다.
상기 메쉬 탐색부(222)의 동작에 의해, 섀도우 맵(810) 작성을 위해 고려되어야 할 포인트, 이를테면 포인트(712)가 결정된다.
섀도우 맵 계산부(220)는, 이렇게 결정된 포인트들, 이를테면 포인트(712)를 향한 방향에 대하여, VPL(702)로부터 오브젝트(703)의 포인트(812)까지의 거리 d2를 측정하게 된다.
이러한 방법에 의해 섀도우 맵(810)이 작성되는 경우, 영상(710)의 렌더링을 위한 최적의 샘플링이 되므로, 연산양이 크게 줄어들면서도, 앨리어싱은 줄일 수 있다.
도 7의 예와 비교하면, 픽셀(711)의 칼라 값 계산에 VPL(702)의 칼라 값이 영향을 주는 지를 판단하는 섀도우 테스트에 있어서, 도 7의 예에서는 포인트(712)가 섀도우가 아닌 것으로 되었다.
그러나, 도 8의 예에서는, d1이 d2보다 크므로, 포인트(712)가 섀도우로 판단된다.
렌더링부(230)는 이러한 섀도우 맵(810)을 이용하여, Radiosity 방법 등에 의해 영상(710)을 렌더링하게 된다.
도 9는 오브젝트(900) 위에 VPL들이 배치되는 경우, VPL들의 칼라 값을 계산하는 과정을 도시한다.
Radiosity 등의 Global illumination을 고려한 렌더링 방법에 있어서, 오브젝트(900) 위에 복수 개의 VPL(910 내지 930 등)이 배치될 수 있다.
배치된 VPL들(910 내지 930) 등의 경우, 가상의 포인트 라이트의 칼라 값은, 상기 VPL을 모델링하게 된 소스 라이트(실제 광원일 수도 있고, 또 다른 VPL일 수도 있다)의 칼라 값, 오브젝트(900) 중 상기 VPL이 배치된 부분의 칼라 값, 텍스처 상태 등에 기초하여 결정된다.
그런데, 오브젝트(900) 위에 오브젝트(900)의 전체 칼라와는 다른 칼라를 갖는 가는 선(901)이 존재한다고 가정하면, VPL(910)이나 VPL(930) 등 다른 VPL들과는 달리, VPL(920)의 칼라 값은 상기 가는 선(901)의 칼라 값의 영향을 크게 받는다.
이를 테면, 오브젝트(900)의 전체 칼라가 녹색이어서, VPL(910), VPL(930) 및 대부분의 VPL들의 칼라도 녹색인데, 상기 가는 선(901)의 칼라가 적색이어서, 우연히 가는 선(901) 위에 배치된 VPL(920)의 경우, 칼라가 적색으로 결정되는 문제가 있다.
이러한 것은, 전체 렌더링에 있어서, 허용할 수 있는 범위 내의 오차일 수도 있으나, 카메라 뷰에 따라서는, Critical한 문제가 될 수도 있다.
따라서, 이러한 부분에 있어서, 특정 VPL(920)이 우연히 주변 칼라와는 상이한 spot 등의 outlier 부분에 배치되는 경우, VPL 칼라 값이 왜곡될 수 있다.
따라서 본 발명의 일실시예에 따르면, 이러한 왜곡을 최소화 하여, 실제 간접 조명을 충실히 표현할 수 있는 VPL 칼라 값을 제공한다.
도 10은 본 발명의 일 실시예에 따라 도 9의 오브젝트(900) 위에 배치된 VPL들의 칼라 값을 계산하는 모습을 도시한다.
본 발명의 일 실시예에 따르면, 도 3의 VPL 배치부(310)는 소정의 알고리즘을 통해 오브젝트(900) 위에 복수 개의 VPL들(910 내지 930 등)을 배치한다.
그리고, VPL 칼라 결정부(320)는, 상기 복수 개의 VPL들(910 내지 930 등)의 각각에 일정한 반경 R을 갖는 범위를 설정한다.
이를 테면, VPL(910)에는 범위(1010)가, VPL(920)에는 범위(1020)가, 그리고 VPL(930)에는 범위(1030)가 설정되었다. 다른 VPL들도 마찬가지이다.
각 범위의 반경 R은 서로 다르게 설정될 수도 있고, 동일하게 설정될 수도 있으며, 이는 VPL의 성격, 오브젝트의 특성 등에 의해 조정될 수 있다.
그리고 VPL 칼라 결정부(320)는, 범위(1010) 내의 오브젝트 칼라 값들의 통계적 평균으로 VPL(910)의 칼라 값을 결정하고, 범위(1020) 내의 오브젝트 칼라 값들의 통계적 평균으로 VPL(920)의 칼라 값을 결정하고, 범위(1030) 내의 오브젝트 칼라 값들의 통계적 평균으로 VPL(930)의 칼라 값을 결정한다.
물론, 통계적 평균이 아닌, 다른 방법에 의해 칼라 값을 결정할 수도 있으나, 분명한 점은, 본 실시예에 따를 때, 도 9의 예와는 달리, VPL(910), VPL(920), VPL(930) 등의 칼라 값들이 전체적으로 유사해지고, 또한 실제 간접 조명을 더 잘 반영할 수 있다는 점이다.
도 11은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
단계(S1110)에서, 3D 모델의 오브젝트의 각 메쉬가 메모리에 임시 저장된다.
그리고, 단계(S1120)에서, 상기 메모리에 저장된 복수 개의 메쉬들 각각에 대하여, 상기 3D 모델을 렌더링 하고자 하는 카메라 뷰에 위치한 가상의 평면으로의 프로젝션이 수행된다.
이 경우, 카메라 뷰의 정면에 있을수록 메쉬가 프로젝션 된 면적이 클것이고, 반대로 카메라 시야각에서 멀어지는 방향에 있을수록 메쉬가 프로젝션 된 면적이 작을 것이다.
또한, 카메라 뷰로부터 가까운 메쉬이면 프로젝션 된 면적이 클 것이고, 반대로 멀리 있을수록 프로젝션된 면적이 작을 것이다.
단계(S1130)에서, 상기 메쉬들이 프로젝션된 면적이 계산된다.
그리고, 단계(S1140)에서, 3D 모델의 오브젝트 위에 샘플링 포인트가 적응적으로 할당된다.
구체적인 내용은 도 4 내지 도 6을 참조하여 상술한 바와 같다.
그리고 단계(S1150)에서 적응적으로 샘플링 된 포인트들에 대해, 3D 모델의 각 VPL들의 섀도우 맵들이 계산된다.
그리고, 단계(S1160)에서 Radiosity 방법 등에 의해, 영상이 렌더링 된다.
도 12은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
단계(S1210)에서 3D 모델을 렌더링 하고자 하는 카메라 뷰에서 카메라 뷰 깊이 영상이 생성된다.
이렇게 깊이 영상이 생성되면, 단계(S1220)에서, 렌더링 하고자 하는 영상의 각 픽셀에 대응하는 메쉬들이 탐색된다.
이러한 과정을 통해, 3D 모델의 오브젝트의 전체 부분 중에서, 효율적인 섀도우 맵 작성을 위해 고려되어야 할 포인트가 결정된다.
그리고 단계(S1230)에서, 이렇게 결정된 포인트들에 대해서, VPL로부터의 거리를 계산하는 방법으로, 상기 VPL의 섀도우 맵이 작성된다.
그러면, 이러한 섀도우 맵을 이용하여, 단계(S1240)에서 Radiosity 방법 등에 의해 상기 카메라 뷰에서의 영상이 렌더링 된다.
이상의 단계들에 대한 내용은 도 7 내지 도 8을 참조하여 상술한 바와 같다.
도 13은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
단계(S1310)에서, 3D 모델의 오브젝트 위에 복수 개의 VPL들이 배치된다.
그리고, 단계(S1320)에서, 상기 복수 개의 VPL들의 각각에 일정한 반경을 갖는 범위가 설정되며, 각 VPL들에 대해, 설정된 범위 내의 오브젝트 칼라 값들의 통계적 평균으로 해당 VPL의 칼라 값이 결정된다.
상기 각 범위의 반경은 서로 다르게 설정될 수도 있고, 동일하게 설정될 수도 있으며, 이는 VPL의 성격, 오브젝트의 특성 등에 의해 조정될 수 있다.
그러면, 단계(S1330)에서 상기 결정된 VPL 칼라 값에, 실제 광원의 특성이나 배치, 오브젝트의 텍스처 상태 등을 고려하여, 최종적인 VPL 칼라 값이 결정된다.
이러한 과정은, 도 9 내지 도 10을 참조하여 상술한 바와 같다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.
FIG. 1 shows an
The
The
The
When projected in this way, the projected area of the mesh will vary depending on how close to the center of the viewing angle of the camera view is the mesh present and how close to the camera the view is.
Since the basic mesh sizes are mostly the same, the projected area of the mesh will be larger at the front of the camera view. Conversely, the farther away from the camera viewing angle, the smaller the projected area of the mesh.
In addition, the projected area will be large if the mesh is close to the camera view, and vice versa.
The
Then, the
And, for such meshes, sampling is performed at a high density, for example, two sampling points may be assigned to one mesh.
In addition, the
On the other hand, the
Then, the
A more detailed operation of the
FIG. 2 illustrates an
In the shadow map creation, the
The
First, the camera view depth
Then, the
By the operation of the
The shadow
Then, the
A more detailed operation of the
FIG. 3 illustrates an
The
First, the
Then, the VPL
The radius of each range may be set differently or may be set the same, which may be adjusted by the nature of the VPL, the characteristics of the object, and so on.
Then, the VPL
The operation of the
FIG. 4 illustrates shape information of an
As a result of 3D modeling, the shape information of each object is stored based on a mesh or a point.
In many cases, a mesh-based geometry information storage method is utilized.
The
The
In 3D rendering, the determination of the pixel value of the camera view is the process of calculating the result of the light originating from the light being reflected on the object and entering the pixels of the camera view.
In such a rendering process, it is necessary to consider not only color values by direct illumination but also physical phenomena such as indirect illumination, such as reflected light and diffuse reflection.
The indirect illumination is modeled by a virtual light source (VPL) disposed on the 3D object, a shadow map is calculated for each object, and the pixel values in the camera view are precisely calculated using the shadow maps The method to calculate is the Radiosity method.
In this process, the higher the number of VPLs, the higher the quality of the rendered image, but the greater the amount of computation.
FIG. 5 shows a state in which the
Illustratively, the result of one point sampling for each of the
That is, uniform sampling was performed over the entire area of the
A shadow map is created for the meshes within the viewing angle? 2 of the
However, in the case of the
That is, sampling the meshes outside the &thetas; 1 range, such as the
Hence it is necessary to sample
This process will be described later with reference to FIG.
Figure 6 shows the result of sampling the
As described above, unnecessary shadow map calculations can be minimized, and the computation resources can be concentrated on the sensitive portion, such as the sampling of the object near the
The 3D model to be rendered is provided and when the position and direction of the
The
When projecting in this way, there is a difference in the projected area of the mesh depending on how close to the center of the viewing angle &thetas; 1 of the
Since the basic mesh size is mostly the same, the area of the projection of the mesh will be larger at the front of the
In addition, the projected area will be large if the mesh is close to the
The
The
And, for such meshes, sampling is performed at a high density, for example, two sampling points may be assigned to one mesh.
The
On the other hand, the
Then, the
In addition, even if there is no large difference in the total number of sampling points, since a shadow map of a high density is formed in an important part in the
For example, when rendering a higher resolution image in the
7 shows a state in which aliasing occurs according to the position and direction of the
If the sampling of the
5 to 6, in the reference of the
This is because, when rendering the
For example, in the process of calculating the color value of the
In this case, a shadow test between
By the way, in the case of the
That is, the actual depth value at entry of
This problem introduces a problem of aliasing of the rendered image.
That is, since the
However, as described above, a false shadow test is performed through the
This problem may be solved by a method such as increasing the resolution of the
Therefore, according to the embodiment of the present invention, object sampling for creating a shadow map is adaptively performed in consideration of the
Figure 8 shows the result of creating a
The
Specifically, the camera view depth
Due to the generation of such a depth image, it can be determined which object is close to the
In this case, the
The operation of the
The shadow
When the
7, in the shadow test for determining whether the color value of the
However, in the example of Fig. 8, since d1 is larger than d2, the
The
9 shows a process of calculating the color values of VPLs when the VPLs are placed on the
In the rendering method considering global illumination such as Radiosity, a plurality of VPLs (910 to 930, etc.) may be disposed on the
In the case of the placed
However, unlike other VPLs such as
For example, the overall color of the
This may be an error within an allowable range in the entire rendering, but it may be a critical problem depending on the camera view.
Thus, in this portion, if a
Therefore, according to an embodiment of the present invention, the distortion is minimized to provide a VPL color value capable of faithfully expressing actual indirect illumination.
FIG. 10 illustrates a manner of calculating the color values of VPLs placed on the
According to an embodiment of the present invention, the
Then, the VPL
For example, the
The radius R of each range may be set differently or may be set the same, which may be adjusted by the nature of the VPL, the characteristics of the object, and so on.
The VPL
Of course, the color values may be determined by other methods than the statistical averages. Obviously, according to the present embodiment, unlike the example of FIG. 9, the
11 illustrates an image processing method according to an embodiment of the present invention.
In step S1110, each mesh of objects of the 3D model is temporarily stored in the memory.
In step S1120, for each of the plurality of meshes stored in the memory, projection to a virtual plane located in a camera view for rendering the 3D model is performed.
In this case, the larger the projection area of the mesh is at the front of the camera view, and the smaller the projected area of the mesh is at the farther away from the camera viewing angle.
In addition, the projected area will be large if the mesh is close to the camera view, and vice versa.
In step S1130, the projected area of the meshes is calculated.
Then, in step S1140, the sampling point is adaptively allocated on the object of the 3D model.
The details are as described above with reference to Figs.
Then, for the adaptively sampled points in step S1150, the shadow maps of each VPL of the 3D model are calculated.
In step S1160, the image is rendered by the Radiosity method or the like.
12 illustrates an image processing method according to an embodiment of the present invention.
In step S1210, a camera view depth image is generated in the camera view in which the 3D model is to be rendered.
When the depth image is generated, in step S1220, meshes corresponding to each pixel of the image to be rendered are searched.
Through this process, among the whole parts of the object of the 3D model, the points to be considered for efficient shadow map creation are determined.
Then, in step S1230, for the determined points, a shadow map of the VPL is created by calculating the distance from the VPL.
Then, using the shadow map, the image in the camera view is rendered by the Radiosity method or the like in step S1240.
The contents of the above steps are as described above with reference to Figs.
13 illustrates an image processing method according to an embodiment of the present invention.
In step S1310, a plurality of VPLs are placed on the object of the 3D model.
In step S1320, a range having a predetermined radius is set in each of the plurality of VPLs, and a color value of the corresponding VPL is determined as a statistical average of object color values within the set range for each VPL.
The radii of the respective ranges may be set differently or may be set to be the same, which may be adjusted by the nature of the VPL, the characteristics of the objects, and the like.
Then, in step S1330, the final VPL color value is determined in consideration of the characteristics of the actual light source, the layout, the texture state of the object, and the like in the determined VPL color value.
This process is as described above with reference to Figs. 9 to 10.
The method according to an embodiment of the present invention can be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. This is possible.
Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
도 1은 본 발명의 일 실시예에 따른 영상 처리 장치를 도시한다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치를 도시한다.
도3은 본 발명의 일 실시예에 따른 영상 처리 장치를 도시한다.
도 4는 본 발명의 일 실시예에 따라 샘플링 되는 오브젝트의 형상 정보를 도시한다.
도 5는 도 4의 오브젝트를 카메라 뷰에 관계 없이 샘플링한 모습을 도시한다.
도 6은 본 발명의 일 실시예에 따라 도 4의 오브젝트를 샘플링한 결과를 도시한다.
도 7은 오브젝트에 대하여 VPL의 섀도우 맵이 작성된 경우, 카메라 뷰의 위치나 방향에 따라 앨리어싱이 발생되는 모습을 도시한다.
도 8은 본 발명의 일 실시예에 따라 도 7의 오브젝트에 대한 VPL의 섀도우 맵이 작성된 결과를 도시한다.
도 9는 오브젝트 위에 VPL이 배치되는 경우, VPL의 칼라 값을 계산하는 과정을 도시한다.
도 10은 본 발명의 일 실시예에 따라 도 9의 오브젝트 위에 배치된 VPL의 칼라 값을 계산하는 모습을 도시한다.
도 11은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
도 12은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.
도 13은 본 발명의 일 실시예에 따른 영상 처리 방법을 도시한다.FIG. 1 illustrates an image processing apparatus according to an embodiment of the present invention.
FIG. 2 illustrates an image processing apparatus according to an embodiment of the present invention.
FIG. 3 illustrates an image processing apparatus according to an embodiment of the present invention.
FIG. 4 illustrates shape information of an object to be sampled according to an embodiment of the present invention.
FIG. 5 shows the object of FIG. 4 sampled regardless of the camera view.
FIG. 6 shows a result of sampling the object of FIG. 4 according to an embodiment of the present invention.
FIG. 7 shows how aliasing occurs according to the position and direction of the camera view when a shadow map of VPL is created for an object.
Figure 8 shows the result of creating a shadow map of the VPL for the object of Figure 7 in accordance with one embodiment of the present invention.
9 shows a process of calculating the color value of the VPL when the VPL is placed on the object.
FIG. 10 illustrates a manner of calculating a color value of a VPL disposed on the object of FIG. 9 according to an embodiment of the present invention.
11 illustrates an image processing method according to an embodiment of the present invention.
12 illustrates an image processing method according to an embodiment of the present invention.
13 illustrates an image processing method according to an embodiment of the present invention.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090089809A KR101601687B1 (en) | 2009-09-22 | 2009-09-22 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090089809A KR101601687B1 (en) | 2009-09-22 | 2009-09-22 | Image processing apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110032366A KR20110032366A (en) | 2011-03-30 |
KR101601687B1 true KR101601687B1 (en) | 2016-03-09 |
Family
ID=43937119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090089809A KR101601687B1 (en) | 2009-09-22 | 2009-09-22 | Image processing apparatus and method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101601687B1 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101845225B1 (en) | 2011-06-30 | 2018-04-04 | 삼성전자주식회사 | Image processing apparatus and method |
KR102137263B1 (en) | 2014-02-20 | 2020-08-26 | 삼성전자주식회사 | Image processing apparatus and method |
KR102306774B1 (en) * | 2014-05-09 | 2021-09-30 | 삼성전자주식회사 | Method and apparatus for processing image |
US10593113B2 (en) | 2014-07-08 | 2020-03-17 | Samsung Electronics Co., Ltd. | Device and method to display object with visual effect |
KR102235679B1 (en) * | 2014-07-08 | 2021-04-05 | 삼성전자주식회사 | Device and method to display object with visual effect |
GB2543562B (en) * | 2015-10-23 | 2020-02-05 | Geomerics Ltd | Graphics processing |
CN106023287B (en) * | 2016-05-31 | 2019-06-18 | 中国科学院计算技术研究所 | A kind of the interactive three-dimensional animation synthesizing method and system of data-driven |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234473A (en) | 2007-03-22 | 2008-10-02 | Canon Inc | Image processor and its control method |
JP2009086856A (en) | 2007-09-28 | 2009-04-23 | Konami Digital Entertainment:Kk | Image generation device, image generation method and program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100382366B1 (en) * | 2001-05-23 | 2003-05-09 | 학교법인 포항공과대학교 | Apparatuses and methods for estimating illumination radiance ratio and performing Augmented Reality using the estimated illumination radiance radio |
US6704025B1 (en) * | 2001-08-31 | 2004-03-09 | Nvidia Corporation | System and method for dual-depth shadow-mapping |
-
2009
- 2009-09-22 KR KR1020090089809A patent/KR101601687B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008234473A (en) | 2007-03-22 | 2008-10-02 | Canon Inc | Image processor and its control method |
JP2009086856A (en) | 2007-09-28 | 2009-04-23 | Konami Digital Entertainment:Kk | Image generation device, image generation method and program |
Also Published As
Publication number | Publication date |
---|---|
KR20110032366A (en) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101601687B1 (en) | Image processing apparatus and method | |
US11587282B2 (en) | Hybrid hierarchy of bounding and grid structures for ray tracing | |
US11682159B2 (en) | Systems and methods for soft shadowing in 3-D rendering casting multiple rays from ray origins | |
JP7421585B2 (en) | Method for determining differential data for rays of a ray bundle and graphics processing unit | |
TWI303039B (en) | Methods, computing apparatus and computing system for ray tracing , and machine-accessible medium for application in ray tracing | |
KR101511281B1 (en) | Apparatus and method for enhancing ray tracing speed | |
KR101697238B1 (en) | Image processing apparatus and method | |
JP6985804B2 (en) | Importance sampling to determine the optical map | |
KR102604737B1 (en) | METHOD AND APPARATUS for generating acceleration structure | |
US20150235410A1 (en) | Image processing apparatus and method | |
KR20150039496A (en) | Method and Apparatus for tracing ray using result of previous rendering | |
KR101585998B1 (en) | Image processing apparatus and method | |
KR102211142B1 (en) | Image processing apparatus and method | |
US20170109462A1 (en) | System and a method for determining approximate set of visible objects in beam tracing | |
US9715758B2 (en) | Image processing apparatus and method using virtual point light (VPL) information | |
US20150146877A1 (en) | System and a method for determining approximate set of visible objects in beam tracing | |
EP2879409A1 (en) | A system and a method for determining approximate set of visible objects in beam tracing | |
WO2024026203A1 (en) | Bounding volume hierarchy (bvh) widening based on node compressibility | |
KR101630181B1 (en) | Image processing apparatus and method | |
WO2023250250A1 (en) | Accelerated bounding volume hierarchy (bvh) traversal for shadow rays |
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: 20190221 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200225 Year of fee payment: 5 |