KR101705072B1 - 영상 처리 장치 및 방법 - Google Patents
영상 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR101705072B1 KR101705072B1 KR1020100093642A KR20100093642A KR101705072B1 KR 101705072 B1 KR101705072 B1 KR 101705072B1 KR 1020100093642 A KR1020100093642 A KR 1020100093642A KR 20100093642 A KR20100093642 A KR 20100093642A KR 101705072 B1 KR101705072 B1 KR 101705072B1
- Authority
- KR
- South Korea
- Prior art keywords
- primitive
- light
- plane
- inspection
- ray
- 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
- G06T15/06—Ray-tracing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
영상 처리 장치가 제공된다. 상기 영상 처리 장치는 래이 트래이싱 기법의 렌더링을 위해 교차점 검사를 수행한다. 상기 영상 처리 장치는 제1 연산부 및 제2 연산부를 포함할 수 있다. 이 경우, 상기 제1 연산부는, 광선이 프리미티브가 속한 평면을 교차하는지 여부를 판단하는 광선-평면 검사 및 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행한다. 그리고 상기 제2 연산부는 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산한다.
Description
광선 추적 기법이라고도 하는 래이 트래이싱(Ray tracing) 기법의 영상 렌더링에 있어서, 광선(Ray)와 프리미티브(Primitive) 간의 교차검사(Intersection Test)를 수행하는 영상 처리 장치 및 방법에 연관된다.
3D 렌더링(3-Dimensional Rendering)은 3차원 객체(object) 데이터를 주어진 카메라 시점(View point)에서 보이는 영상으로 합성(synthesis)해주는 영상 처리이다.
렌더링 방법은 3차원 객체를 화면에 투영(projection) 하면서 영상을 생성하는 래스터화(rasterization) 방법과 카메라 시점에서 영상의 각 픽셀을 향한 광선을 따라 입사하는 빛의 경로를 추적하여 영상을 생성하는 래이 트래이싱(ray tracing) 등이 있다.
이 중 래이 트래이싱은 빛의 물리적 성질(반사, 굴절, 투과 등)을 렌더링 결과에 반영하므로 고품질 영상을 생성할 수 있다는 장점이 있으나, 상대적으로 연산량이 방대하여 고속으로 렌더링 하는 데에 어려움이 있다.
래이 트래이싱의 성능에 있어서 연산량이 많이 요구되는 요소는 렌더링 대상이 되는 신 오브젝트(scene object)들을 공간적으로 분할한 가속 구조 (Acceleration Structure, 이하에서는 'AS'라고도 한다)의 생성 및 탐색(Traversal, 이하에서는 'TRV'라고도 한다)과, 광선과 프리미티브 사이의 교차 검사 (Intersection Test, 이하에서는 'IST'라고도 한다)이다.
광선과 프리미티브 사이의 교차검사(IST) 과정에서 유휴 리소스(idle resource)를 최소화하여 저전력(low power)으로 래이 트래이싱 렌더링을 수행하는 영상 처리 장치 및 방법이 제공된다.
불필요한 외부 메모리 액세스를 방지하여 메모리 대역폭을 낮추어 빠른 래이 트래이싱 렌더링을 수행하는 영상 처리 장치 및 방법이 제공된다.
본 발명의 일측에 따르면, 래이 트래이싱 기법의 렌더링을 위해 교차점 검사를 수행하는 영상 처리 장치에 있어서, 광선이 프리미티브가 속한 평면을 교차하는지 여부를 판단하는 광선-평면 검사 및 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행하는 제1 연산부, 및 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는 제2 연산부를 포함하는, 영상 처리 장치가 제공된다.
여기서, 상기 제1 연산부는, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행할 수 있다.
또한, 상기 제2 연산부는, 상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 경우, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산할 수 있다.
본 발명의 일실시예에 따르면, 상기 영상 처리 장치는, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 지의 여부 및 상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 지의 여부 중 적어도 하나의 판단을 수행하는 판단부를 더 포함한다.
한편, 상기 제1 연산부는, 상기 광선-평면 검사 및 상기 무게중심 검사를 수행할 수 있는 단위 연산 모듈을 복수 개 포함할 수 있다.
이 경우, 상기 복수 개의 단위 연산 모듈의 각각은, 서로 다른 광선에 대해 상기 광선-평면 검사 및 상기 무게중심 검사 중 적어도 하나를 병렬적으로 처리할 수 있다.
한편, 상기 영상 처리 장치는, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 무게중심 검사를 위해 요구되는 상기 프리미티브 데이터를 읽어 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행한다.
본 발명의 다른 일측에 따르면, 래이 트래이싱 기법의 렌더링을 위해 교차점 검사를 수행하는 영상 처리 방법에 있어서, 광선이 프리미티브가 속한 평면을 교차하는지 여부를 판단하는 광선-평면 검사 단계, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사 단계, 및 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는 히트 포인트 계산 단계를 포함하는, 영상 처리 방법이 제공된다.
이 경우, 상기 무게중심 검사 단계는, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 것으로 판단되는 경우, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단할 수 있다.
그리고, 상기 히트 포인트 계산 단계는, 상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 것으로 판단되는 경우, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산할 수 있다.
본 발명의 일실시예에 따르면, 상기 광선-평면 검사 단계 및 상기 무게중심 검사 단계는 영상 처리 장치의 제1 연산부가 수행하고, 상기 히트 포인트 계산 단계는 상기 영상 처리 장치의 제2 연산부가 수행한다.
상기 광선-평면 검사 단계 및 상기 무게중심 검사 단계 중 적어도 하나는, 서로 다른 광선에 대해 병렬적으로 수행될 수 있다.
한편, 상기 영상 처리 방법은, 상기 광선-평면 검사 단계 수행 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 무게중심 검사 단계 수행에 앞서, 상기 무게중심 검사를 위해 요구되는 상기 프리미티브 데이터를 읽는 프리미티브 데이터 패치 단계를 더 포함할 수도 있다.
광선과 프리미티브 사이의 교차검사(IST) 과정에서 유휴 리소스(idle resource)를 최소화하여 저전력(low power)으로 래이 트래이싱 렌더링을 수행할 수 있다.
불필요한 외부 메모리 액세스를 방지하여 메모리 대역폭을 낮추어 빠른 래이 트래이싱 렌더링을 수행할 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 처리 장치를 도시한다.
도 2는 본 발명의 일실시예에 따른 영상 처리 장치를 포함하는 전체 래이 트래이싱 과정을 도시하는 개념적 블록도이다.
도 3은 본 발명의 일실시예에 따른 영상 처리 장치의 제1 연산부가 수행하는 광선-평면 검사를 설명하기 위한 개념도이다.
도 4는 본 발명의 일실시예에 따른 영상 처리 장치의 제1 연산부가 수행하는 무게중심 검사(Barycentric test)를 설명하기 위한 개념도이다.
도 5는 본 발명의 일실시예에 따른 영상 처리 장치의 제2 연산부가 수행하는 히트 포인트 계산을 설명하기 위한 개념도이다.
도 6은 본 발명의 일실시예에 따른 영상 처리 장치를 종래의 교차 검사부(IST module)와 비교하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 영상 처리 방법을 도시하는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 영상 처리 장치를 포함하는 전체 래이 트래이싱 과정을 도시하는 개념적 블록도이다.
도 3은 본 발명의 일실시예에 따른 영상 처리 장치의 제1 연산부가 수행하는 광선-평면 검사를 설명하기 위한 개념도이다.
도 4는 본 발명의 일실시예에 따른 영상 처리 장치의 제1 연산부가 수행하는 무게중심 검사(Barycentric test)를 설명하기 위한 개념도이다.
도 5는 본 발명의 일실시예에 따른 영상 처리 장치의 제2 연산부가 수행하는 히트 포인트 계산을 설명하기 위한 개념도이다.
도 6은 본 발명의 일실시예에 따른 영상 처리 장치를 종래의 교차 검사부(IST module)와 비교하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 영상 처리 방법을 도시하는 흐름도이다.
이하에서, 본 발명의 일부 실시예를, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 영상 처리 장치(100)를 도시한다.
래이 트래이싱 과정에서, 영상 처리 장치(100)는 공간 가속 구조(AS)의 프리미티브 데이터를 이용하여, 생성된 광선(ray)이 어느 프리미티브와 교차하는지, 그리고 교차점인 히트 포인트는 어디인지를 판단한다.
본 발명의 일실시예에 따르면, 영상 처리 장치(100)는 제1 연산부(110), 판단부(120) 및 제2 연산부(130)를 포함한다.
상기 제1 연산부는, 래이 트래이싱을 위해 생성된 광선이 프리미티브가 속한 평면과 교차하는지의 여부를 판단하는 광선-평면 검사(ray-plane test), 및 상기 광선이 상기 프리미티브와 교차하는지의 여부를 판단하는 무게중심 검사(Barycentric test)를 수행한다.
본 발명의 일실시예에 따르면, 상기 제1 연산부(110)는 상기 광선-평면 검사에 요구되는 데이터만 읽어서 상기 광선-평면 검사를 수행한다.
그리고, 상기 제1 연산부(110)는, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차한다고 판단되는 경우에만, 상기 무게중심 검사를 위한 데이터를 추가로 읽어서, 상기 무게중심 검사를 수행한다.
따라서, 영상 처리 장치(100)는 상기 프리미티브의 전체 데이터를 미리 패치(fetch)하거나 읽지(read) 않고, 무게중심 검사를 할 필요가 없는 광선과 프리미티브 조합에서는, 무게중심 검사를 위한 데이터 패치나 읽기를 생략한다.
이러한 결과, 동일한 정도의 캐시 히트를 위해 프리미티브 데이터를 캐시하는 캐시 메모리의 크기를 줄일 수 있으며, 프리미티브 데이터 패치를 위한 메모리 대역폭을 줄일 수 있다.
한편, 상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는지의 여부는 판단부(120)가 판단한다.
또한 판단부(120)는, 상기 무게중심 검사의 결과, 상기 광선이 상기 프리미티브를 교차하는지의 여부도 판단한다.
그리고, 제2 연산부(130)는, 상기 판단부(120)가 상기 무게중심 검사의 결과, 상기 광선이 상기 프리미티브를 교차한다고 판단하면, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산한다.
한편, 제1 연산부(130)는, 하나의 광선과 하나의 프리미티브에 사이에 상기 광선-평면 검사 및 상기 무게중심 검사를 순차적으로 및/또는 동시에 수행할 수 있는 단위 연산 모듈(111)를 복수 개 포함할 수 있다.
이러한 단위 연산 모듈(111)들은 서로 병렬적인 토폴로지(topology)를 갖는다.
그리고, 이러한 복수 개의 단위 연산 모듈들은, 서로 다른 광선의 각각과 하나의 프리미티브와, 병렬적으로, 상기 광선-평면 검사 및/또는 상기 무게중심 검사를 수행할 수 있다.
또한, 상기 복수 개의 단위 연산 모듈들은, 하나의 광선에 대해 서로 다른 프리미티브들 각각과, 병렬적으로, 광선-평면 검사 및/또는 상기 무게중심 검사를 수행할 수도 있다.
물론, 이러한 복수 개의 단위 연산 모듈들은, 서로 다른 광선들과 서로 다른 프리미티브들 각각에 대해, 병렬적으로, 광선-평면 검사 및/또는 상기 무게중심 검사를 수행할 수도 있다.
본 발명의 일실시예에 따르면, 하나의 단위 연산 모듈(111) 내의 곱셈기(MUL)들은, 상기 광선-평면 검사 및 상기 무게중심 검사의 모두를 위해 이용될 수 있다.
또한, 단위 연산 모듈(111) 내의 일부 곱셈기(MUL)들은 상기 광선-평면 검사 및 상기 무게중심 검사의 모두에 이용되고, 나머지 일부 곱셈기(MUL)들은 상기 광선-평면 검사 또는 상기 무게중심 검사 중 어느 하나를 위해 이용될 수 있다.
일부의 곱셈기(MUL)들을 상기 광선-평면 검사 및 상기 무게중심 검사의 모두를 위해 함께 활용함으로써, 곱셈기(MUL)의 수를 줄일 수 있어서, 전체 회로 면적(size)은 크게 감소된다.
한편, 본 발명의 일실시예에 따르면, 제2 연산부(130) 내의 나눗셈기(DIV) 및 곱셈기(MUL)들은 상기 히트 포인트 계산에 이용된다.
나눗셈기(DIV)의 경우 곱셈기(MUL)에 비해 면적이 커서, 회로 제작 비용 중 상대적으로 큰 비율을 차지하는데, 본 발명의 실시예들에 따르면, 교차검사(IST)를 위한 나눗셈기(DIV)의 수가 크게 줄어들어, 회로 제작 비용이 크게 감소되며, 유휴 리소스(idle resource)를 줄일 수 있다.
여기서, 유휴 리소스를 줄인다는 말은 다음과 같이 이해될 수 있다.
통상적으로, 래이 트래이싱 과정에서 생성된 광선과 프리미티브, 이를테면 삼각형과의 교차검사(IST)는 개념상 세 개의 단계로 나눌 수 있다.
하나는 광선과 프리미티브가 속한 평면이 교차하는지의 여부를 판단하는 광선-평면 검사 단계이고, 다른 하나는 상기 광선과 상기 프리미티브가 교차하는지의 여부를 판단하는 무게중심 검사 단계이며, 나머지 하나는 상기 광선과 상기 프리미티브가 교차하는 히트 포인트를 계산하는 단계이다.
이러한 세 단계는 순차적으로 또는 동시에 이루어지나, 앞의 단계의 검사(test of previous step)의 검사를 통과하지 않으면 뒤의 단계의 검사는 할 필요가 없는 관계에 있다.
종래에는 광선과 프리미티브의 교차검사(IST)를 수행하는 단위 모듈 각각에 상기 광선-평면 검사, 상기 무게중심 검사 및 상기 히트 포인트 계산의 각각을 수행할 수 있는 전체 연산유닛(ALU), 이를테면 곱셈기(MUL)들과 나눗셈기(DIV)를 구비하였다.
그런데, 통계적으로 볼 때, 하나의 광선에 대해 하나의 프리미티브와의 교차검사(IST) 과정 중, 광선-평면 검사를 통과하지 못해서, 무게중심 검사나 히트 포인트 계산은 수행할 필요가 없는 경우가 많고, 또한 광선-평면 검사를 통과하더라도 무게중심 검사를 통과하지 못하여 실제 히트 포인트 계산은 수행할 필요가 없는 경우도 많다.
따라서, 상기한 종래의 교차검사(IST) 모듈의 구성에 따르면, 불필요하게 무게중심 검사나 히트 포인트 계산을 위해 연산유닛을 많이 구비하는 것이 되어, 유휴 리소스의 비율이 높다.
본 발명의 일실시예에 따르면, 곱셈기(MUL)들만 요구되는 광선-평면 검사 및 무게중심 검사는 제1 연산부(110)가 수행하고, 곱셈기(MUL)들 및 나눗셈기(DIV)가 함께 요구되는 히트 포인트 계산은 제2 연산부(130)가 수행한다.
본 발명의 일실시예에 따르면, 제1 연산부(110)가 광선과 프리미티브 사이의 광선-평면 검사를 수행하면, 판단부(120)가 광선과 프리미티브 쌍이 광선-평면 검사를 통과하는지를 판단하고, 통과한 경우에만 상기 제1 연산부(110)가 상기 광선과 프리미티브 쌍에 대하여 무게중심 검사를 수행한다.
그러면 판단부(120)는 상기 광선과 프리미티브 쌍이 상기 무게중심 검사도 통과하는지를 판단하고, 통과한 경우에만 제2 연산부(130)가 상기 광선과 프리미티브가 교차하는 히트 포인트 계산을 수행한다.
이러한 본원의 실시예에 따르면, 유휴 리소스를 최소화하고, 회로 면적을 줄일 수 있으며, 메모리 대역폭을 크게 감소시킬 수 있다.
도 2는 본 발명의 일실시예에 따른 영상 처리 장치(100)를 포함하는 전체 래이 트래이싱 과정을 도시하는 개념적 블록도(200)이다.
래이 트래이싱의 전처리(pre processing) 과정으로서, 공간 가속 구조(AS)의 생성(210)이 수행되면, 생성된 공간 가속 구조(AS) 및 각 프리미티브 데이터가 DRAM과 같은 외부 메모리에 저장된다.
그리고, 광선이 생성되면(220), 상기 광선에 대하여 상기 공간 가속 구조(AS) 내의 어느 리프 노드(leaf node)에 연관되는지 탐색(TRV)가 수행된다(230).
이 과정에서 공간 가속 구조(AS)중 적어도 일부가 AS 캐시(202)에 패치(fetch)되어 활용된다.
그러면, 영상 처리 장치(100)는 특정 리프 노드 내의 복수 개의 프리미티브, 이를테면 삼각형들에 대해 상기 광선과의 교차 검사(IST)를 수행한다.
이 경우에, 프리미티브 캐시(204)에 교차 검사(IST) 대상이 되는 프리미티브 데이터가 패치되어 활용된다.
본 발명의 일실시예에 따르면, 상기 광선과 특정 프리미티브 간의 교차 검사(IST)가 수행되는 경우에도 상기 특정 프리미티브의 데이터가 한번에 모두 패치되지 않고, 단계별로 나누어 패치될 수 있다.
이를 테면, 영상 처리 장치(100)의 제1 연산부(110)가 광선-평면 검사를 수행하는 단계에서는 상기 광선-평면 검사를 위해 요구되는 부분의 데이터만 미리 패치되고, 이러한 광선-평면 검사를 통과해서 상기 제1 연산부(110)가 무게중심 검사를 수행하는 단계에서야 상기 무게중심 검사를 위한 부분의 데이터가 마저 패치 된다.
따라서, 무게중심 검사까지 가지 않는 경우에는, 프리미티브 데이터의 패치 양이 줄어드는 것이다.
한편, 현재 검사의 대상이 되는 프리미티브가 광선-평면 검사 및 무게중심 검사 중 어느 하나를 통과하지 못한 경우에는, 영상 처리 장치(100)가 공간 가속 구조(AS) 내에서 상기 프리미티브와 동일한 리프 노드에 속하는 다른 프리미티브에 대해 회귀적으로 교차 검사(IST)를 수행한다.
그리고, 상기 리프 노드 내의 모든 프리미티브가 광선-평면 검사 및 무게중심 검사 중 어느 하나를 통과하지 못한 경우에는, 다른 리프 노드의 탐색(TRV)이 수행되며, 새로 탐색된 상기 다른 리프 노드 내의 프리미티브들에 대하여 상기 과정과 동일하게 영상 처리 장치(100)가 교차 검사(IST)를 수행한다.
만약 광선-평면 검사 및 무게중심 검사 모두를 통과하는 프리미티브가 발견되면, 영상 처리 장치(100)의 제2 연산부(130)가 히트 포인트 계산을 수행되며, 그러면 상기 히트 포인트에 대해 칼라 값의 섀이딩(shading)(240)이 수행된다.
도 3은 본 발명의 일실시예에 따른 영상 처리 장치의 제1 연산부(110)가 수행하는 광선-평면 검사를 설명하기 위한 개념도(300)이다.
어느 하나의 광선과 프리미티브 사이의 교차 검사(IST)는 다음과 같은 수학식에 의해 수행될 수 있다.
[수학식 1]
O + t·D = A + u·( B - A ) + v·( C - A )
여기서, O 는 광선의 원점(origin) 이고, D는 방향 벡터이다. 그리고 A, B 및 C는 각각 삼각형의 세 꼭지점들이다.
상기 수학식 1의 해(solution)를 구하는 과정은, 광선의 파라미터(ray parameter)인 상기 t와 무게중심 좌표인 u, v를 구하는 것으로 귀결된다.
그리고, 상기 수학식 1은 행렬(matrix)을 이용하여 다음과 같이 다시 쓸 수 있다.
[수학식 2]
그리고, 상기 수학식 2는 다시 아래와 같이 되어, 상기 수학식 1의 해인 t, u, v를 각각 구할 수 있게 된다.
[수학식 3]
상기 광선-평면 검사는 이렇게 구해진 t에 대해서, 아래 수학식을 이용하여 수행된다.
[수학식 4]
tmin ≤ t ≤ tmax
영상 처리 장치(100)의 판단부(120)는 가속 구조(AS)의 경계 박스(302) 내에 포함된 평면 1(310)에 대하여, 상기 수학식 4가 만족되는지의 여부를 판단한다.
상기 수학식 4가 만족된다면, 상기 평면 1(310)은 광선(301)과 교차하는 것이므로 상기 평면 1(310)에 포함되는 프리미티브는 광선-평면 검사를 통과한 것이다.
여기서 tmin(303)과 tmax(304)는 각각, 공간 가속 구조(AS)의 경계(302)에 해당하는 광선 파라미터(ray parameter)의 최소값 및 최대값이다.
한편, 어떤 프리미티브가 이러한 광선-평면 검사를 통과하지 못하는 경우, 상기 프리미티브를 포함하는 평면 2(320)는 상기 수학식 4를 만족시키지 않는다. 그리고 이 경우에는 상기 프리미티브에 대한 교차 검사(IST)는 그대로 종료된다.
판단부(120)는 이러한 방식에 의해 광선-평면 검사를 수행하며, 상기 광선-평면 검사를 통과한 프리미티브에 대해서만 제1 연산부(110)가 무게중심 검사를 수행한다. 무게중심 검사 과정은 도 4를 참조하여 보다 상세히 후술한다.
도 4는 본 발명의 일실시예에 따른 영상 처리 장치(100)의 제1 연산부(110)가 수행하는 무게중심 검사(Barycentric test)를 설명하기 위한 개념도(400)이다.
무게중심 검사는, 상기 수학식 3에 의해 결정된 무게중심 좌표(u, v)를 이용하여, 광선과 평면의 교점이, 프리미티브(이를테면 삼각형)의 내부에 속하는지의 여부, 즉 상기 광선이 상기 프리미티브와 교차하는지의 여부를 판단하는 것이다.
이러한 무게중심 검사는 다음 수학식을 이용하여 수행된다.
[수학식 5]
u ≥ 0
[수학식 6]
v ≥ 0
[수학식 7]
(u+v) ≤ 1
상기 수학식 5 내지 7이 모두 만족되면, 상기 광선은 상기 프리미티브와 교차하는 것이 되어, 무게중심 검사를 통과한 것이 된다. 물론 이러한 판단은 판단부(120)가 할 수 있다.
도 4에서, 삼각형 1(410)은 광선(401)에 대해서 수학식 5 내지 7을 모두 만족하여 무게중심 검사를 통과하고, 삼각형 2(420)는 상기 수학식 5 내지 7 중 적어도 하나를 만족하지 않아서 무게중심 검사를 통과하지 못하였다.
그리고, 무게중심 검사를 통과한 경우에, 영상 처리 장치(100)의 제2 연산부(130)는 상기 프리미티브 내의 어느 포인트에서 상기 광선이 교차하는지, 히트 포인트 계산을 수행한다.
도 5는 본 발명의 일실시예에 따른 영상 처리 장치(100)의 제2 연산부(130)가 수행하는 히트 포인트 계산을 설명하기 위한 개념도(500)이다.
제2 연산부(130)는 광선(501)과 삼각형(510) 사이의 정확한 히트 포인트를 계산하여, 라인 파라미터 t와 무게중심 좌표 u 및 v를 확정하게 된다.
도 6은 본 발명의 일실시예에 따른 영상 처리 장치(100)를 종래의 교차 검사 모듈(IST module)(600)과 비교하기 위한 도면이다.
종래의 교차 검사 모듈(600)의 경우, 각 단위 모듈들 각각에 광선-평면 검사를 위한 부분(610), 무게중심 검사를 위한 부분(620) 및 히트 포인트 계산을 위한 부분(630)이 포함되어 있으며, 상기 단위 모듈이 복수 개 구비되는 구조이다.
따라서, 광선의 교차 검사(IST) 과정에서, 광선-평면 검사를 통과하지 못하거나, 또는 무게중심 검사를 통과하지 못하는 경우에, 부분(620) 및/또는 부분(630)이 유휴 상태(idle state)에 있게 되어 리소스 낭비가 있었다.
그러나, 도 1에서 도시된 바와 같이, 본 발명의 일실시예에 따른 영상 처리 장치(100)는 부분(610) 및 부분(620)을 통합하여 제1 연산부(110)가 광선-평면 검사 및 무게중심 검사를 순차적으로 수행하고, 제2 연산부(130)가 히트 포인트 계산을 수행한다.
그리고, 히트 포인트 계산까지 수행되는 케이스가 많지 않기 때문에, 제2 연산부(130)는 제1 연산부(110) 내의 단위 연산 모듈(111)에 비해 적은 개수가 영상 처리 장치(100)에 포함된다.
도 7은 본 발명의 일실시예에 따른 영상 처리 방법을 도시하는 흐름도이다.
단계(710)에서, 삼각형인 프리미티브의 데이터 중, 상기 삼각형을 포함하는 평면 정보에 대응하는 평면 데이터가 영상 처리 장치(100)의 제1 연산부(110)에 의해 읽힌다.
그리고, 단계(720)에서, 제1 연산부(110)는 상기 평면에 대해 광선-평면 검사를 수행한다. 광선-평면 검사에 관한 보다 상세한 내용은 도 1 및 도 3을 참조하여 상술한 바와 같다.
그러면, 단계(730)에서, 판단부(120)가 상기 프리미티브가 광선-평면 검사를 통과했는지의 여부를 판단한다.
통과한 경우에는, 단계(740)에서 제1 연산부(110)가 상기 프리미티브의 데이터 중 삼각형 정보에 대응하는 삼각형 데이터를 읽고, 단계(750)에서 제1 연산부(110)가 무게중심 검사를 수행한다. 무게중심 검사에 관한 보다 상세한 내용은 도 3 내지 도 4를 참조하여 상술한 바와 같다.
그러면, 단계(760)에서, 판단부(120)는 상기 프리미티브가 무게중심 검사를 통과했는지의 여부를 판단한다.
통과한 경우에는, 단계(770)에서, 제2 연산부(130)가 히트 포인트를 계산하며, 이 경우 리턴 트루(return true)가 되고(780), 상기 프리미티브에 대한 교차 검사(IST)를 위한 영상 처리 방법이 종료된다.
한편, 단계(730) 또는 단계(760)에서 판단부(120)가 검사를 통과하지 못한 것으로 판단한 경우에는, 해당 프리미티브에 대해서는 교차 검사(IST)가 중단되며, 리터 미스(return miss)를 수행하고 교차 검사가 종료된다.
그러면, 다른 프리미티브에 대한 교차 검사가 수행될 것이다.
본 발명의 일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 영상 처리 장치
110: 제1 연산부
111: 단위 연산 모듈
120: 판단부
130: 제2 연산부
110: 제1 연산부
111: 단위 연산 모듈
120: 판단부
130: 제2 연산부
Claims (14)
- 래이 트래이싱 기법의 렌더링을 위해 교차점 검사를 수행하는 영상 처리 장치에 있어서,
광선이 프리미티브가 속한 평면을 교차하는지 여부를 판단하는 광선-평면 검사 및 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행하는 제1 연산부; 및
상기 광선-평면 검사 및 상기 무게중심 검사를 통과한 경우, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는 제2 연산부
를 포함하며,
상기 제1 연산부는 상기 광선-평면 검사 및 상기 무게중심 검사를 수행하는 단위 연산 모듈을 복수 개 포함하고,
상기 제2 연산부는 상기 제1 연산부에 포함되는 상기 단위 연산 모듈에 비해 적인 개수인, 영상 처리 장치. - 제1항에 있어서,
상기 제1 연산부는,
상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행하는, 영상 처리 장치. - 제1항에 있어서,
상기 제2 연산부는,
상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 경우, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는, 영상 처리 장치. - 제1항에 있어서,
상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 지의 여부 및 상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 지의 여부 중 적어도 하나의 판단을 수행하는 판단부
를 더 포함하는, 영상 처리 장치. - 삭제
- 제1항에 있어서,
상기 복수 개의 단위 연산 모듈의 각각은,
서로 다른 광선에 대해 상기 광선-평면 검사 및 상기 무게중심 검사 중 적어도 하나를 병렬적으로 처리할 수 있는, 영상 처리 장치. - 제1항에 있어서,
상기 영상 처리 장치는,
상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 무게중심 검사를 위해 요구되는 상기 프리미티브 데이터를 읽어 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사를 수행하는, 영상 처리 장치. - 래이 트래이싱 기법의 렌더링을 위해 교차점 검사를 수행하는 영상 처리 방법에 있어서,
영상 처리 장치의 제1 연산부가, 광선이 프리미티브가 속한 평면을 교차하는지 여부를 판단하는 광선-평면 검사 단계;
상기 제1 연산부가, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는 무게중심 검사 단계; 및
상기 영상 처리 장치의 제2 연산부가, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는 히트 포인트 계산 단계
를 포함하며,
상기 제1 연산부는 상기 광선-평면 검사 및 상기 무게중심 검사를 수행하는 단위 연산 모듈을 복수 개 포함하고,
상기 제2 연산부는 상기 제1 연산부에 포함되는 상기 단위 연산 모듈에 비해 적은 개수이며,
상기 히트 포인트 계산 단계는, 상기 광선-평면 검사 및 상기 무게중심 검사를 통과한 경우 수행되는, 영상 처리 방법. - 제8항에 있어서,
상기 무게중심 검사 단계는,
상기 광선-평면 검사 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 것으로 판단되는 경우, 상기 광선이 상기 프리미티브를 교차하는지 여부를 판단하는, 영상 처리 방법. - 제8항에 있어서,
상기 히트 포인트 계산 단계는,
상기 무게중심 검사 결과, 상기 광선이 상기 프리미티브를 교차하는 것으로 판단되는 경우, 상기 광선이 상기 프리미티브와 교차하는 히트 포인트를 계산하는, 영상 처리 방법. - 삭제
- 제8항에 있어서,
상기 광선-평면 검사 단계 및 상기 무게중심 검사 단계 중 적어도 하나는, 서로 다른 광선에 대해 병렬적으로 수행되는, 영상 처리 방법. - 제8항에 있어서,
상기 광선-평면 검사 단계 수행 결과, 상기 광선이 상기 프리미티브가 속한 평면을 교차하는 경우, 상기 무게중심 검사 단계 수행에 앞서, 상기 무게중심 검사를 위해 요구되는 상기 프리미티브 데이터를 읽는 프리미티브 데이터 패치 단계
를 더 포함하는, 영상 처리 방법. - 제8항 내지 제10항, 제12항 및 제13항 중 어느 한 항의 영상 처리 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093642A KR101705072B1 (ko) | 2010-09-28 | 2010-09-28 | 영상 처리 장치 및 방법 |
US13/067,515 US8963920B2 (en) | 2010-09-28 | 2011-06-06 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100093642A KR101705072B1 (ko) | 2010-09-28 | 2010-09-28 | 영상 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120032159A KR20120032159A (ko) | 2012-04-05 |
KR101705072B1 true KR101705072B1 (ko) | 2017-02-09 |
Family
ID=45870175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100093642A KR101705072B1 (ko) | 2010-09-28 | 2010-09-28 | 영상 처리 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8963920B2 (ko) |
KR (1) | KR101705072B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102072515B1 (ko) | 2012-10-16 | 2020-02-03 | 삼성전자주식회사 | 영상 처리 장치 및 방법 |
US9519992B2 (en) | 2013-08-12 | 2016-12-13 | Samsung Electronics Co., Ltd. | Apparatus and method for processing image |
US9842424B2 (en) * | 2014-02-10 | 2017-12-12 | Pixar | Volume rendering using adaptive buckets |
KR102365112B1 (ko) | 2015-03-25 | 2022-02-18 | 삼성전자주식회사 | 레이 트레이싱 장치 및 방법 |
KR102467031B1 (ko) * | 2015-08-31 | 2022-11-14 | 삼성전자주식회사 | 가속 구조를 생성 및 탐색하는 방법 |
US10332303B2 (en) | 2016-04-26 | 2019-06-25 | Imagination Technologies Limited | Dedicated ray memory for ray tracing in graphics systems |
US10706609B1 (en) * | 2018-12-13 | 2020-07-07 | Advanced Micro Devices, Inc. | Efficient data path for ray triangle intersection |
US11450057B2 (en) * | 2020-06-15 | 2022-09-20 | Nvidia Corporation | Hardware acceleration for ray tracing primitives that share vertices |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003263649A (ja) | 2002-03-07 | 2003-09-19 | Denso Corp | 画像生成装置及びプログラム |
US20090167763A1 (en) * | 2000-06-19 | 2009-07-02 | Carsten Waechter | Quasi-monte carlo light transport simulation by efficient ray tracing |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06274648A (ja) * | 1993-03-22 | 1994-09-30 | N T T Data Tsushin Kk | 画像生成装置 |
GB9424273D0 (en) * | 1994-12-01 | 1995-01-18 | Wrigley Adrian M T | Improvements in and relating to image constrcution |
US8188997B2 (en) * | 2000-06-19 | 2012-05-29 | Mental Images Gmbh | Accelerated ray tracing using shallow bounding volume hierarchies |
US8411088B2 (en) * | 2000-06-19 | 2013-04-02 | Nvidia Corporation | Accelerated ray tracing |
DE10239672B4 (de) * | 2002-08-26 | 2005-08-11 | Universität des Saarlandes | Verfahren und Vorrichtung zur Erzeugung einer zweidimensionalen Abbildung einer dreidimensionalen Struktur |
WO2004053741A1 (ja) * | 2002-12-06 | 2004-06-24 | Riken | 三角形と線分の交点計算方法とそのプログラム |
US7830379B2 (en) * | 2006-09-19 | 2010-11-09 | Caustic Graphics, Inc. | Architectures for parallelized intersection testing and shading for ray-tracing rendering |
KR100889602B1 (ko) | 2006-12-05 | 2009-03-20 | 한국전자통신연구원 | 광선 추적을 위한 광선-삼각형 충돌 처리 방법 및 장치 |
KR100924122B1 (ko) | 2007-12-17 | 2009-10-29 | 한국전자통신연구원 | 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법 |
EP3385913B1 (en) * | 2008-09-22 | 2020-04-01 | Imagination Technologies Limited | Systems and methods for a ray tracing shader api |
US8441482B2 (en) * | 2009-09-21 | 2013-05-14 | Caustic Graphics, Inc. | Systems and methods for self-intersection avoidance in ray tracing |
-
2010
- 2010-09-28 KR KR1020100093642A patent/KR101705072B1/ko active IP Right Grant
-
2011
- 2011-06-06 US US13/067,515 patent/US8963920B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090167763A1 (en) * | 2000-06-19 | 2009-07-02 | Carsten Waechter | Quasi-monte carlo light transport simulation by efficient ray tracing |
JP2003263649A (ja) | 2002-03-07 | 2003-09-19 | Denso Corp | 画像生成装置及びプログラム |
Non-Patent Citations (1)
Title |
---|
나재호 외 2명, ‘대화형 광선 추적법을 위한 그림자 컬링 알고리즘’, 한국게임학회 논문지 제9권 제6호, 2009.12., pp179-189 |
Also Published As
Publication number | Publication date |
---|---|
US20120075287A1 (en) | 2012-03-29 |
US8963920B2 (en) | 2015-02-24 |
KR20120032159A (ko) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101705072B1 (ko) | 영상 처리 장치 및 방법 | |
KR101705581B1 (ko) | 데이터 처리 장치 및 방법 | |
US8390618B2 (en) | Technique for improving ray tracing performance | |
US11107266B2 (en) | Method and apparatus for the proper ordering and enumeration of multiple successive ray-surface intersections within a ray tracing architecture | |
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
US9576389B2 (en) | Method and apparatus for generating acceleration structure in ray tracing system | |
EP2869273B1 (en) | Ray tracing method and apparatus | |
US20190318526A1 (en) | Systems and Methods for Rendering Optical Distortion Effects | |
US20170091898A1 (en) | Apparatus for and method of traversing tree | |
US11315303B2 (en) | Graphics processing | |
KR20230027083A (ko) | 광선 추적을 위한 초기 컬링 | |
US20150235410A1 (en) | Image processing apparatus and method | |
US10559125B2 (en) | System and method of constructing bounding volume hierarchy tree | |
KR20150039496A (ko) | 이전 렌더링의 결과를 이용하여 광선을 추적하는 방법 및 장치 | |
US20220392145A1 (en) | Graphics processing | |
CN117726732A (zh) | 减少包围体层次结构中的假阳性光线遍历 | |
KR101585998B1 (ko) | 영상 처리 장치 및 방법 | |
US10026214B2 (en) | Ray tracing apparatus and method | |
US10115224B2 (en) | Method and apparatus generating acceleration structure | |
US20170109462A1 (en) | System and a method for determining approximate set of visible objects in beam tracing | |
US20150146877A1 (en) | System and a method for determining approximate set of visible objects in beam tracing | |
CN117726496A (zh) | 使用光线剪裁减少假阳性光线遍历 | |
US20150186288A1 (en) | Apparatus and method of operating cache memory | |
US10339694B2 (en) | Ray tracing apparatus and method | |
Yuan et al. | Tile pair-based adaptive multi-rate stereo shading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200120 Year of fee payment: 4 |