KR100949859B1 - 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법 - Google Patents

시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법 Download PDF

Info

Publication number
KR100949859B1
KR100949859B1 KR1020080076369A KR20080076369A KR100949859B1 KR 100949859 B1 KR100949859 B1 KR 100949859B1 KR 1020080076369 A KR1020080076369 A KR 1020080076369A KR 20080076369 A KR20080076369 A KR 20080076369A KR 100949859 B1 KR100949859 B1 KR 100949859B1
Authority
KR
South Korea
Prior art keywords
triangle
cell
rendering
point
ray
Prior art date
Application number
KR1020080076369A
Other languages
English (en)
Other versions
KR20100016757A (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 KR1020080076369A priority Critical patent/KR100949859B1/ko
Publication of KR20100016757A publication Critical patent/KR20100016757A/ko
Application granted granted Critical
Publication of KR100949859B1 publication Critical patent/KR100949859B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/06Ray-tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

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

Abstract

본 발명은, 큰 화면에서도 높은 화질과 빠른 속도를 보장할 수 있는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법에 관한 것으로써, 이전 프레임의 렌더링 결과와 현재 프레임의 렌더링 결과의 시간 연속성을 활용하여 빈 공간 탐색의 효율성을 극대화시켰으며, 삼각형 구조를 이용한 재투영 기법을 사용하여 시점의 변화에 따른 재투영으로 인해 생길 수 있는 홀을 배제하였고, 삼각형 구조의 특성으로 인해 야기되는 잘못된 절단면 생성을 새로운 삼각형들을 추가함으로써 문제를 해결하여, 어떠한 잘못된 결과 없이 시간 연속성의 특징을 가지는 가상내시경의 가시화 결과를 아주 큰 화면에서도 실시간으로 얻을 수 있는 장점을 가진다. 범용적으로 사용되고 있는 GPU를 사용하여 실험한 결과 512*512*512 크기의 데이터를 1024*1024 화면크기에서 렌더링할 경우 평균적으로 24장/초의 실시간 렌더링 속도를 얻을 수 있다.

Description

시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법{Method for accelerating realtime perspective volume rendering using temporal exploitation}
본 발명은 가상 내시경에서 사용되는 원근 투영 볼륨 렌더링을 가속화하는 방법에 관한 것으로, 더욱 상세하게는 이전 프레임의 가시화 결과를 재사용하여 현재 프레임의 가시화 속도를 가속시킴으로써 GPU(Graphic Processing Unit) 기반에서 실시간 가시화가 가능한 원근 투영 볼륨 렌더링을 가속화하는 방법에 관한 것이다.
일반적으로 3차원 영상 처리 시스템은 자동차, 선박 등 3차원적 형상을 가지는 구조물의 설계 및 시공 분야, 또는 의료 영상 기법 등 많은 응용분야가 있다. 특히, 3차원 영상 처리 시스템이 의료 영상 기법에 응용된 경우, 이를 「3차원 의료 영상 기법」이라 한다. 3차원 의료 영상 기법이란, 컴퓨터단층촬영기(Computed Topography: 이하 CT) 또는 자기공명장치(Magnetic Resonance Imaging: 이하 MRI)로부터 얻어지는 일련의 2차원 의료 영상으로부터 3차원 영상을 생성하는 것을 말한다.
일련의 2차원 이미지만을 통한 진단은 전체적인 입체감을 얻기가 힘들고 임의의 단면 등을 관찰하기 불가능한 단점이 있으나, 3차원 의료 영상 기법을 사용하면 환부에 대한 정확한 위치 판단이 가능하고 수술 방법을 보다 현실감 있게 예측할 수 있는 장점이 있다. 따라서 최근 3차원 의료 영상 기법이 많이 이용되고 있는 실정이다.
한편, 환자들의 내장 상태 등을 살피기 위한 내시경의 경우, 환자들의 불쾌감 및 이질감을 줄이기 위해 CT나 MRI로부터 수집된 일련의 2차원 영상 정보를 이용하여 실제 내시경과 유사한 영상을 생성하는 가상 내시경(virtual endoscopy) 기법이 이미 상용화되어 인체의 기관지, 혈관, 대장, 관절 등에서 유용하게 사용되고 있다. 즉, 가상 내시경 시스템은 환자에게 비침습적인 것으로서 고통 없이 장기의 내부를 볼 수 있도록 함으로써, 최근 들어 매우 유용하게 사용되고 있다.
또한, 실제 내시경에서는 카메라가 들어가는 방향으로만 장기 내부를 관찰할 수 있으나 가상 내시경은 사용자가 원하는 임의의 방향으로도 관찰이 가능하므로 진단에 매우 유용하다.
가상 내시경에서 사용되는 볼륨 렌더링 기술은 평행 투영 볼륨 렌더링(Orthogonal Volume Rendering)과 원근 투영 볼륨 렌더링(Perspective Volume Rendering)으로 나뉘어 질 수 있다. 그 중 원근 투영 볼륨 렌더링이 일반적이나, 평행 투영 볼륨 렌더링에 비해 많은 계산량이 요구되기 때문에 512장 이상의 데이터를 통상의 CPU(Central Processing Unit)만을 이용하여 실시간으로 가시화 하는 것은 불가능하다. 이러한 단점을 극복하기 위해, 효율적인 빈공간 탐색(empty space skipping), 광선 중단법(early ray termination), 시-공간 연속성(spatio-temporal exploitation) 등의 기법이 적용되었지만, 여전히 CPU 기반으로는 실시간 원근 투영 볼륨 렌더링에 근접하지 못하고 있다.
최근, GPU의 지속적인 발전으로 CPU에서는 개발이 어려웠던 점들이 상당 부분이 개선되어 많은 개발자들이 볼륨 렌더링에 GPU를 적용하고 있다. GPU의 경우 단순한 계산을 아주 빠르게 하는 특성이 있어, 비슷한 성질의 많은 계산량을 요구하는 볼륨 렌더링에 적합한 구조를 가진다. GPU 기반에서도 원근 투영 볼륨 렌더링은 상당히 많은 계산을 요구하기 때문에 다양한 방법의 가속화가 이루어져 왔다.
먼저, 추가적인 데이터 구조를 사용하여 빠른 시간 내로 첫 충돌지점(first hit point)을 찾아 빈 공간을 효율적으로 계산하여 가속화하는 방법이 있다. 이를 위해 추가적인 데이터 구조를 사용하여 전처리 시간(preprocessing time)에 빈 공간 정보를 미리 계산한 후 렌더링 시간 때 이 정보를 이용하여 빠르게 빈 공간을 탐색하는 방법이 제안되어 왔다. 하지만 이러한 방법은 추가적인 데이터 구조로 인한 GPU 메모리 낭비를 초래하며, 광선 변환 함수(Opacity transfer function)가 변화될 경우엔 적용이 불가능하거나 데이터 구조를 재계산하여 시간이 오래 걸리는 단점이 있다.
이러한 문제를 해결하기 위해 전처리 없이 가속화하는 기술이 개발되었다. 최근에 가장 활발하게 연구가 되고 있는 기술은 시-공간 연속성을 적용하여 이전 프레임의 결과물을 현재 프레임에 재사용하는 기술이다. 시간적 연속성이란 물체를 보는 시점의 위치가 연속적으로 변함을 의미한다. 시점이 연속적으로 변하게 되면 이전 프레임의 많은 부분에 현재 프레임에서도 보이게 되어 재사용률이 높아지게 된다. 공간적 연속성이란 물체의 모양이 공간적으로 연속적인 특성을 가짐을 말한다. 따라서 이전 프레임에서 찾은 물체의 모양을 재사용하여 현재 프레임의 모양을 예측하여 구성할 수 있게 된다.
하지만 기존 시-공간 연속성을 활용한 가속화 기법을 가상 내시경에 그대로 구현하게 되면 도 1과 도 2에 도시된 바와 같이 많은 홀(Hole)과 잘못된 빈 공간 탐색(Illegal starting position)으로 인한 오류가 발생하게 된다. 도 1에서 'Wrong starting position'은 '잘못된 삼각형에 의해 생기는 잘못된 빈 공간 탐색결과'이고, 'Hole'은 '이전 프레임의 정보 부족으로 인한 빈 공간'이고, 'First hit point of previous frame'은 '이전 프레임에서 탐색한 첫 광선 충돌 지점'이고, 'Point sprite'는 '기존 발명에서 재 투영을 위해 사용한 시점 방향과 수직인 사각형'이고, 'Real surface'는 '실제 그려져야 할 물체의 표면'이다. 또한, 도 2에서 'Hole'은 '이전 프레임의 정보 부족으로 인한 빈 공간'이고, 'A visible non-empty cell of Ft'은 '이전 프레임에서의 셀 기반 첫 광선 충돌지점'이고, 'Real surface'는 '실제 그려져야 할 물체의 표면'이다.
홀이란 이전 빈 공간 정보를 현재 시점을 기준으로 재투영하였을 때 이전 시점의 정보량 부족으로 인해 재투영한 결과가 없는 경우에 생기며, 잘못된 빈 공간 탐색의 경우는 시점 이동으로 인한 물체의 투영된 해상도가 커지거나 작아질 때 이전 프레임과 현재 프레임의 다른 화면 해상도로 인해 생기는 오류를 말한다. 이러한 문제는 가상 내시경에 평행 투영 렌더링 기법을 적용하는 경우에는 발생하지 않지만, 원근 투영 렌더링 기법에 적용하는 경우에는 발생하게 된다.
본 발명은 상기의 문제점들을 해결하기 위하여 창안된 것으로, 시간적 연속성을 적용하여 원근 투영 볼륨 렌더링을 가속화함에 있어서 추가적인 데이터 구조를 사용하지 않고도 홀과 잘못된 빈 공간 탐색의 문제를 해결할 수 있는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법을 제공함을 그 목적으로 한다.
상기의 목적을 달성하기 위하여, 본 발명에 의한 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법은, (a) 이전 프레임(Ft)의 첫 광선 충돌지점들을 삼각형 매쉬로 변환하는 단계; (b) 삼각형 매쉬를 구성하는 각 삼각형에 대하여, 각 삼각형이 실제 그려질 물체의 표면과 절단면을 생성하는 지 여부를 검사하는 단계; (c) 절단면을 생성한다면 해당하는 삼각형의 각 정점을 절단면을 생성하지 아니하는 위치로 옮겨 주변의 삼각형들과의 연결성을 유지하기 위한 새로운 삼각형들로 기존의 삼각형을 대체하는 단계; (d) 각 삼각형의 내부를 해당 삼각형을 구성하는 세 정점의 삼차원 보간된 결과로 채워 래스터화하여 재투영하는 단계; 및 (e) 재투영된 결과를 시작점들로 삼아 현재 프레임(Ft+1)의 첫 광선 충돌지점들을 탐색하는 단계를 포함하여 구성된다.
본 발명에 의하면, 시간적 연속성을 적용하여 원근 투영 볼륨 렌더링을 가속화할 때, 추가적인 데이터 구조를 사용하지 않고도 홀과 잘못된 빈 공간 탐색의 문제를 완전히 해결하면서도, 범용적으로 사용되고 있는 GPU를 사용할 때 512*512*512 크기의 데이터를 1024*1024 화면크기에서 렌더링할 경우 평균적으로 24장/초의 실시간 렌더링 속도를 얻을 수 있다.
도 3은 본 발명의 전체적인 흐름도이다. 도 3에서, 'Reprojection'은 '재투영하는 모든 과정을 포함한 부분'이고, 'Intersection test'는 '교차 검사'이고, 'Correction'은 '삼각형 정정'이고, 'Rasterization'은 '래스터화'이고, 'Reprojected first hit point'는 '삼각형 매쉬를 이용하여 재 투영된 영상'이고, 'Raycasting'은 '원근 투영 볼륨 렌더링'이고, 'A cell-based first hit points searching'은 '본 발명에서 제안한 셀 기반 첫 광선 충돌 지점 탐색'이고, 'GPU-based raycasting'은 'GPU 기반 원근 투영 볼륨 렌더링'이고, 'First hit point'는 '첫 광선 충돌 지점'이다.
도 3을 참조하면, 본 발명에 의한 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법은 시간적 연속성을 적용하기 위해서 이전 프레임(Ft)의 첫 광선 충돌지점(first hit points)을 이용한다. 첫 광선 충돌지점이란 도 4에서 표현하는 바와 같이 시점(View Point)에서 출발한 광선이 처음 의미 있는 물체를 만나는 지점을 의미한다. 이전 프레임(Ft)의 첫 광선 충돌지점을 현재 프레임(Ft+1)의 시점과 방향에 기준으로 재투영하게 되면, 이전 프레임(Ft)의 첫 광선 충돌 지점 중 많은 부분을 현재 프레임(Ft+1)의 시점에서 보이는 충돌 지점으로 재사용할 수 있게 되어 현재 프레임(Ft+1)의 첫 광선 충돌지점 탐색 시간을 줄일 수 있다. 도 3에서 붉은 색의 화살표(→)로 표시한 흐름은 시간적 연속성을 적용하지 않은 원근 투영 볼륨 렌더링 과정으로, 재투영 과정이 없기 때문에 매 프레임마다 첫 광선 충돌 지점을 찾아야 한다.
이전에 제안 되었었던 재투영 기법은 포인트 스프라이트(point sprite)기반 재투영 기법이나 셀(cell) 기반 투영 기법이 있는데, 이는 위에서 제기한 홀과 잘못된 빈 공간 탐색의 문제를 발생시킨다. 본 발명에서는 도 5에 예시적으로 도시된 바와 같은 첫 광선 충돌지점의 정점들을 이용하여, 도 6에서 표현하는 바와 같이 삼각형 매쉬를 구성하여 삼각형 내부를 채우면서 재투영하기 때문에 홀이 발생하지 않는다. 삼각형 매쉬 기반 재투영 기법은 [삼각형 매쉬 기반 재투영(Reprojection) 기법] 단락에서 자세하게 다루도록 한다. 하지만 삼각형 매쉬 기반 재투영 기법에서도 이전 재투영 기법에서 생기는 잘못된 재투영으로 인한 잘린 면은 도 7에 도시된 바와 같이 여전히 존재하게 된다. 도 7에서 'First hit point of Ft'은 '이전 프레임(Ft)에서의 첫 광선 충돌 지점'이고, 'Triangle'은 ' 삼각형'이고, 'Cell surface'는 '실제 물체의 표면을 가지는 셀의 표면'이고, 'Result of first hit points searching(in case A and C)'은 '점 A, C로 부터의 첫 광선 충돌 지점 탐색 결과'이고, 'Wrong result of first hit points searching(in case B)'은 '점 B로부터 시작한 잘못된 첫 광선 충돌 지점 탐색 결과'이다.
이를 해결하기 위해 재투영될 삼각형 매쉬의 각 삼각형과 실제 그려질 물체의 잘린 면 생성 여부 검사를 수행하고([절단면 검사 기법] 단락에서 구체적으로 다룬다), 검사를 통과하지 못한 삼각형에 한하여 삼각형 추가를 통해 잘린 면을 생성하지 않는 재투영 결과를 얻는다(검사를 통과하지 못한 삼각형에 대해 수행되는 삼각형 추가기법은 [삼각형 정정 기법] 단락에서 다룬다). 비록 이와 같은 삼각형 매쉬 기반 재 투영 기법이 많은 계산량을 요구하지만 홀과 잘못된 빈 공간 탐색결과를 해결 할 수 있어 정확한 재투영을 가능하게 해준다.
본 발명에서 제안하는 기법은 많은 삼각형을 래스터화(Rasterization) 해야 하고 단순하지만 많은 계산량을 요구한다. 먼저 래스터화의 경우, 현존하는 대부분의 범용 GPU에서 빠르게 처리가 가능하기 때문에 실시간 렌더링을 위한 과정에 병목현상(bottle neck)을 발생시키지 않는다. 하지만 이전 프레임의 첫 광선 충돌지점이 픽셀(Pixel) 형태로 저장이 되기 때문에 이를 삼각형 매쉬로 변환하기 위해서는 픽셀 형태의 자료구조를 정점(vertex) 형태의 자료구조로 자유롭게 변환 가능한 GPU의 기능이 지원되어야 한다. 또한 렌더링 파이프라인 중간에 삼각형을 추가하기 위해서도 GPU가 필요하다. 각 삼각형의 충돌 검사를 위해선 많은 조건 분기 문이 필요하게 되는데, GPU가 지원하는 효과적인 흐름 제어기법(dynamic flow control)을 적용하면 속도 저하 없이 구현이 가능하다. 이러한 모든 조건을 충족하는 GPU 모델은 쉐이더 모델 4.0(shader model 4.0)이상을 지원하는 GPU이며, 최근 출시되는 대부분의 GPU는 쉐이더 모델 4.0 이상을 지원하고 있기 때문에 본 발명의 효과적인 구현이 가능하다. 본 발명의 실험을 위해 사용된 GPU는 ATI 2900XT 1GB(radeon 2900XT 1GB)이며 512*512*512 이상의 데이터를 1024*1024 이미지 크기에서 평균 24 프레임/초 의 성능을 나타내었다. 이에 대한 설명은 [GPU기반 구현 기법]에서 다루도록 한다.
[삼각형 매쉬 기반 재 투영(Reprojection) 기법]
본 발명은 기본적으로 재투영을 활용한 원근 투영 렌더링 기법을 사용하는 것으로, 선행 발명들에서 문제가 되었던 홀을 피하기 위해서 삼각형 매쉬 기반의 재투영 기법을 사용한다. 도 6에 예시적으로 도시된 삼각형 매쉬는 도 5에 예시적으로 도시된 바와 같은 이전 프레임(Ft)의 첫 광선 충돌 점들을 기반으로 만들어진다.
도 8을 참조하여 설명하면, 프레임 Ft+1 에서는 이전 프레임인 Ft의 첫 광선 충돌 점들을 삼각형 매쉬로 변환하며, 이 과정은 GPU를 이용하면 쉽고 빠르게 구현이 가능하다. 만약 t가 0이라면 이전 프레임의 첫 광선 충돌 점들의 정보가 전무하므로 이미지 평면의 모든 점에서 첫 광선 충돌 점들을 탐색한다. 충돌 점들을 매쉬로 변환하는 과정은 [GPU기반 구현 기법] 단락에서 자세히 다루도록 한다.
충돌 점들을 재투영하기 위해선 매쉬에 속하는 모든 삼각형들을 래스터화하면 된다. 래스터화는 하나의 삼각형을 기본 단위로 한다. 래스터화 과정에 세 정점이 입력으로 들어오게 되면, 이들이 이루는 삼각형의 내부는 세 정점의 삼차원 보간(trilinear interpolation) 된 결과로 채워지게 된다. 각 정점은 첫 광선 충돌 지점이므로 래스터화된 결과는 곧 재투영된 결과이다.
각 삼각형을 래스터화하기 전에, 실제 그려질 물체의 표면과 각 삼각형이 절단면을 생성하는지에 대한 검사를 수행한다. 이 검사에 대한 자세한 설명은 [절단면 검사 기법]에서 다룬다. 만약 절단면을 생성한다면, 해당되는 삼각형의 각 정점들은 절단면을 생성하지 않는 위치로 옮겨지게 되고, 주변 삼각형과의 연결성을 유지하기 위해 다섯 개의 삼각형이 추가된다. 이때 추가되는 삼각형의 각 점은 두 개이며, 추가된 두 점을 이용하여 이전의 삼각형은 새로운 다섯 개의 삼각형으로 대체된다. [삼각형 정정 기법]에서 이에 대한 자세한 설명을 한다.
절단면 검사와 정정 과정을 지난 삼각형들이 모두 재투영되면, 이 결과를 시작점으로 삼아 현재 프레임(Ft+1)의 첫 광선 충돌 지점을 탐색한다. 이때 시점 변화에 따라 재투영된 결과가 없는 영역이 존재할 수 있는데, 이러한 경우는 이미지 평면으로부터 첫 광선 충돌 지점을 탐색한다. 시점 변화가 시간적으로 연속적인 성질을 가지게 되면, 재투영된 이전 프레임(Ft)의 첫 광선 충돌 점들이 현재 프레임(Ft+1)의 이미지 평면의 대부분의 영역을 차지하여 첫 광선 충돌 점들의 재사용률이 높다. 따라서, 본 발명과 같이 시간적 연속성을 적용한 원근 투영 볼륨 렌더링 기법이 매번 이미지 평면에서 첫 광선 충돌 지점 탐색을 해야 하는 일반적인 원 근 투영 볼륨 렌더링 기법에 비해 렌더링 속도가 향상된다.
정확한 절단면 검사 기법을 위해 본 발명에서는 다음과 같은 정의를 한다. 도 9와 같이 인접한 8개의 복셀(voxel)들로 이루어지는 직육면체를 셀(Cell)이라 정의한다. 셀의 각 8개의 복셀 값들의 최대값과 최소값 사이에 '불투명도 정의 함수'와 겹치는 부분이 있다면 해당되는 셀은 '찬 셀'이라 정의하고 그렇지 않은 경우엔 '빈 셀'이라 정의한다.
'불투명도 정의 함수'란 복셀의 음영을 결정하기 위한 함수이며, 그 입력을 복셀 값으로 하고 입력된 복셀 값의 음영 값을 출력으로 하는 함수이다. 본 발명에서 사용한 불투명도 정의 함수는 2차원 형태의 참조 테이블(lookup table) 형식을 가지며, 가로축은 복셀 값을, 세로축은 음영 값을 가진다. 따라서 이 테이블에 정의된 함수(주로 사다리꼴 형태를 가짐)와 복셀값이 겹치게 되면 음영 값이 0을 초과하여 의미 있는 물체임을 나타낸다.
셀의 종류는 전처리 단계에서 정해지는 것이 아닌, 매 프레임의 첫 광선 충돌지점을 탐색을 할 때 탐색 광선이 위치한 셀의 8개의 복셀 값을 참조함으로서 정해진다. 즉, 본 발명에서의 첫 광선 충돌지점은 셀 단위로 계산되며 삼각형 매쉬를 이루는 충돌 점들 역시 셀을 단위로 한다. 광선이 샘플링 거리씩 전진하다가 '찬 셀'을 만나게 되면 현재 샘플링 포인트의 바로 이전 샘플링 포인트가 첫 광선 충돌지점으로 저장된다.
[절단면 검사 기법]
투영된 삼각형(projected triangle)은 이미지 평면(image plane)에 재투영된 삼각형을 의미한다. 투영된 삼각형은 이미지 평면의 각 픽셀에 실제 볼륨 데이터의 좌표를 래스터화 한다. 하지만 투영된 삼각형 내부의 각 점은 항상 올바른 결과를 제공하지 않는다.
도 10은 재투영된 삼각형이 야기 시킬 수 있는 세 가지 잘못된 빈 공간 탐색 결과를 나타낸다. 도 10에서 'First hit point of Ft'은 '프레임 t에서의 첫 광선 충돌 지점'이고, 'Triangle'은 '삼각형'이고, 'Cell surface'는 '본 발명에서 정의한 직육면체 셀의 표면'이고, 'Real surface'는 '실제 그려져야 할 물체의 표면'이고, 'Result of first hit points searching'은 '첫 광선 충돌 지점 탐색 결과'이다. 도 10을 참조하면 이전 프레임(Ft)의 첫 광선 충돌 지점을 사용하여 만든 하나의 삼각형이 현재 프레임(Ft+1)의 이미지 평면에 투영 되었을 때, 투영된 삼각형 내부의 점들은 세 가지로 나누어진다. 점 A의 경우는 이미지 평면의 광선 시작점과 투영된 삼각형 내부의 한 점 사이에 '찬 셀'이 존재하지 않는다. 이러한 경우엔 광선의 정 방향으로 첫 광선 충돌 검사를 다시 수행하면 올바른 탐색 결과를 얻을 수 있다. 점 B의 경우엔, 그 사이에 '찬 셀'이 존재한다. 이 점에서는 정 방향이나 역 방향으로 빈 공간 탐색을 수행하여도 올바른 값을 얻을 수 없다. 점 C의 경우는 물체 내부에 존재하게 되는데, 역 방향으로 탐색을 수행하여 처음 만나는 '빈 셀'을 찾게 되면 올바른 첫 광선 충돌 지점을 찾아낼 수 있다. 점 B의 경우엔 단순한 탐색으로 해결할 수 없을 뿐만 아니라 잘못된 재투영점을 생성하는 잘린 면을 생성시킨다. 따라서 점 B의 경우를 가질 수 있는 삼각형을 찾아 올바른 위치로 교정을 하게 되면 잘린 면이 없게 하는 재투영된 첫 광선 충돌 지점을 얻을 수 있다.
도 10에서 점 B경우를 야기 시키려면 투영될 삼각형이 적어도 두 번 이상의 실체 물체의 표면과 만나야 한다. 이와 같이 두 번 이상의 표면과 만나는 삼각형을 '잘못된 삼각형(False triangle)'이라 정의한다. '잘못된 삼각형'을 찾기 위해선, 실제 물체의 표면 정보를 알고 있어야 한다. 하지만 실제 표면을 계산하기 위해선 수많은 탐색을 수행하여야 하기 때문에 실시간 렌더링이 불가능해진다. 따라서 셀 기반의 첫 광선 충돌 지점을 사용하여 위의 과정을 간략화(approximation) 한다. 첫 충돌지점의 다음 샘플링 지점을 포함한 셀이 실제 물체의 표면을 포함하고 있는 것은 자명하다. 이 특성을 이용하여 실제 표면을 셀 표면으로 간략화한다. 이러한 간략화를 거치면, 삼각형과 셀이 교차할 경우 최소 두 번 이상의 표면과 만날 수 있기 때문에, B와 같은 점을 재투영할 수 있는 잘못된 삼각형을 찾기 위한 검사는 직육면체 형태의 셀과 검사할 삼각형의 교차(intersection) 검사로 가능해 진다. 교차 연산을 더욱 단순화하기 위해서 직육면체 형태의 셀을 하나의 셀 전체를 포함할 수 있는 최소 크기의 구(Sphere)로 여기며, 삼각형을 그 삼각형의 세 점을 포함하는 하나의 평면으로 여긴다. 구의 중심은 셀의 중심이며 셀의 대각선 길이를 지름으로 한다. 이러한 과정을 거치게 되면 삼각형이 이루는 평면과 구의 중심과의 거리를 구의 반지름과 비교하는 간단한 검사식을 이용하여 구와 평면 간의 교차 연산을 통해 빠르게 잘못된 삼각형을 찾을 수 있으며 사용된 검사식은 아래와 같다.
삼각형의 세 개의 정점을 이용하면 수학식 1의 평면 방정식을 찾을 수 있다.
Figure 112008056173385-pat00001
또한 검사할 구는 삼각형의 세 정점 중 시점에서 가장 가까운 정점이 속하는 셀을 포함하는 구로 하며 중심좌표를 (x0, y0, z0)이라 한다. 수학식 1과 구의 중심좌표간의 최소거리는 다음과 같은 수학식 2로 표현될 수 있다.
Figure 112008056173385-pat00002
수학식 2를 적용하여 구한 최소거리와 검사될 셀의 반지름을 비교하여 반지름보다 클 경우는 충돌이 일어나지 않고 작을 경우는 충돌이 일어났다고 판단한다.
하지만 위에서 설명한 검사식을 그대로 적용하게 되면 실제 교차를 일으키는 잘못된 삼각형이 아님에도 검사를 통과하지 못하는 경우가 많이 생기게 된다. 이는 간략화 과정에 의한 문제이며 이러한 삼각형의 수를 줄이기 위해 물체의 표면이 가지는 특성을 사용한다. 인접한 8개의 복셀들로 이루어진 셀은 3차원 보간(Trilinear interpolation)을 할 경우 오직 하나의 표면만을 가지게 된다. 교차가 일어나기 위해선 최소 두 개의 표면이 존재하여야 하므로 삼각형이 최소한 두 개의 셀을 덮을 수 있어야 한다. 이를 만족하기 위해선 검사 대상이 될 삼각형의 각 변(edge)의 길이 중 가장 긴 변의 길이가 최소 세 개의 셀 표면과 만날 수 있어 야 한다. 최소 세 개의 셀 표면을 만나기 위한 길이는 셀을 이루는 각 변(edge)들 중 최소값을 가지는 변(edge)의 길이로 한다. 검사 과정에서 이러한 한정식을 추가하면 많은 수의 올바른 삼각형이 검사를 통과하게 되어 재배치해야 할 잘못된 삼각형의 수가 줄어들게 되고, 이는 속도 향상에 큰 도움이 된다. 이는 표 1에서 확인할 수 있다.
검사조건 잘못된 삼각형의 수 교차검사시간 정정시간 라스터라이제이션시간 총계
없음 1893058 0.007 0.013 0.035 0.055
두 셀을 포함하는 경우 73276 0.007 0.002 0.0017 0.0107
충돌 검사가 이루어져야 하는 셀들은 이전 프레임(Ft)의 시점을 기준으로 이루어진다. 즉, 현재 프레임(Ft+1)에서 잘린 면을 생성할 가능성이 있는 삼각형을 이전 프레임(Ft)의 시점을 기준으로 찾고 수정하며, 수정된 결과를 재투영하여 현재 프레임(Ft+1)에서 오류 없는 첫 광선 충돌 지점 탐색의 시작점으로 넘겨주는 것이다. 이전 프레임(Ft)의 시점에서 보이는 모든 셀들이 첫 광선 탐색 검사가 이루어졌다고 가정하면, 삼각형의 세 정점 중 이전 프레임(Ft)의 시점으로부터의 거리가 가장 짧은 정점과 두 번째로 짧은 정점의 각 다음 샘플링 포인트(이전 프레임(Ft)을 기준으로 한)를 포함한 셀들로 검사 대상을 한정할 수 있다. 이 가정을 만족하기 위한 방법은 본 단락의 끝부분에서 다루도록 한다. 일단, 가장 먼 정점의 다음 샘플링 포인트를 가지는 셀과는 교차하지 않는 것이 자명하기 때문에 검사할 필요가 없다. 도 11 (a)를 예를 들어 설명하면, 정점 1, 2, 3은 각각 시점에서 1, 2, 3 순서로 가까운 상태이며, 정점 1, 2, 3으로 이루어진 삼각형의 경우 셀 A, B와는 충돌할 수 있지만 셀 C와의 충돌은 불가능하다. 도 11 (b)는 시점의 측면에서 관측했을 시의 충돌하는 셀을 나타내며 도 11 (c)는 시점에서 보았을 때의 충돌하는 셀들을 나타낸 그림이다.
상기에서 잠시 다루었듯이 위의 검사는 이전 프레임(Ft)의 시점에서 보이는 모든 셀들이 첫 광선 충돌 검사가 되었을 경우에 한해 가능해진다. 시점에서 보이는 정점과 정점 사이에 검사되지 않은 셀이 존재하면 충돌검사가 불가능하기 때문이다. 하지만 원근 투영 볼륨 렌더링의 경우 광선간의 간격이 시점에서 멀어질수록 길어지게 되어 도 12와 같이 빈 공간 탐색 광선이 미치지 못하는 셀들이 존재하게 된다. 이와 같은 검사되지 않은 셀들은 광선과 광선 사이의 물체 표면에 대한 정보를 알 수 없게 된다. 도 12의 예에서 보듯 검사되지 않은 셀 내부의 물체 표면은 여러 가지 형태를 이룰 수 있기 때문이다. 따라서 상기에서 설명한 검사 기법은 시점에서 보이는 모든 셀들이 첫 충돌 지점을 찾기 위한 탐색 광선에 의해 검사가 되어야만 올바른 결과를 이끌어 낼 수 있다. 나이퀴스트 비율(Nyquist rate)에 따르면, 모든 셀들을 검사하기 위해선 탐색 광선의 샘플링 거리(sampling distance)가 셀을 이루는 각 변(edge)들 중 최소값을 가지는 변(edge)의 길이여야 하며 검사 광선간의 간격(ray interval) 또한 같은 값이어야 한다. 하지만 원근 투영 렌더링의 특성상, 광선 사이의 거리가 셀을 이루는 각 변(edge)들 중 최소값을 가지는 변(edge)의 길이보다 길어지게 되는 경우가 생길 수 있는데, 이러한 경우를 배제하기 위해 도 8에서 중간에 멈춘 점들의 예와 같이 탐색 광선을 해당 지점에서 멈추게 하며 멈춘 지점을 첫 광선 충돌 지점으로 여긴다. 이는 첫 광선 충돌 지점의 재투영시 멈춘 지점과 실제 충돌지점 만큼의 정보를 손실하게 되어 다시 탐색하는 시간이 늘어나지만, 실제 가상 내시경 데이터에 본 발명에서 사용한 높은 해상도를 가지는 큰 이미지 평면을 사용하여 렌더링하게 되면, 높은 해상도로 먼 거리의 셀들까지 검사가 되어 나이퀴스트 비율을 만족하게 되므로 이 문제로 인한 속도 손실은 거의 없다.
[삼각형 정정 기법]
삼각형의 재배치는 충돌 검사를 통과하지 못한 삼각형에 한해 수행된다. 삼각형 재배치는 다음과 같은 과정을 거친다. 먼저 삼각형의 세 정점 중 시점에서 가장 가까운 정점을 고정하고, 나머지 두 정점을 교차가 발생하지 않게 하는 지점으로 옮긴다. 도 13은 잘못된 삼각형의 정정기법을 나타낸다. 도 13에서 'View point'는 '시점'이고, 'Vertex of the triangle'는 '정정할 삼각형의 각 정점'이고, 'Added vertex'는 '정정 후 추가되는 정점'이다. 도 12를 참조하여 설명하면, v1, v2, v3이 삼각형을 이루는 세 정점일 때, 시점에서 가장 가까운 v1이 고정되며, 추가될 두 정점은 시점과 대체되기 이전의 정점 v2(v3)이 이루는 직선상에 존재하게 된다. 이때 v2(v3)와 v2'(v3')의 거리는 v1과 v2(v3) 와의 거리와 같도록 한다. 최종적으로 v1, v2, v3, v2', v3'의 다섯 정점들로 이루어진 다섯 개의 삼각형들로 기존의 잘못된 삼각형을 대체하게 되며, 이 삼각형들을 이용하여 재투영하게 되면 잘린 면이 생성되지 않는다.
도 8은 이차원으로 단순화하여 표현한 정정되기 이전의 삼각형들과 이후의 삼각형들을 나타낸 도안이다. 점선으로 표시된 부분이 정정되기 이전의 삼각형이며 실선으로 표시된 부분은 정정된 이후의 삼각형들이다.
[GPU기반 구현 기법]
상기된 일련의 검사와 정정과정들은 무수한 래스터화와 계산을 필요로 한다. 래스터화의 경우 모든 GPU에서 빠르게 수행이 가능하지만 교차 검사와 정정 과정은 쉐이더 모델 4.0 이상을 지원하는 GPU에서 가능하다. 따라서 본 발명은 ATI 2900XT 1GB GPU를 사용하여 구현할 수 있다.
전체적인 순서도는 도 14와 같다.
셀 기반의 첫 충돌 점들을 이용한 삼각형 매쉬 생성은 버텍스 쉐이더 단계(vertex shader stage)에서 이루어진다. 이때 버텍스 쉐이더 단계의 입력은 도 15와 같은 충돌 점들을 저장하고 있는 프레임 버퍼의 이차원 좌표를 가지는 가상의 삼각형 매쉬(dummy triangle mesh)이다. 버텍스 쉐이더에 입력된 가상의 삼각형 매쉬의 이차원 좌표를 첫 광선 충돌지점을 저장하고 있는 이차원 프레임 버퍼의 샘플링 포인트(sampling point)로 삼아 세 픽셀의 값을 얻어 온다. 각 픽셀은 R(red), G(green), B(blue), A(alpha)의 네 가지 채널(channel)로 구성되어 있다. 본 발명에서는 첫 광선 충돌 검사의 결과인 삼차원 좌표 x, y, z를 각 R, G, B값으로 저장하는 방식을 취하기 때문에 샘플링 된 세 픽셀은 각각 삼차원 정보 x, y, z를 가지는 정점으로 변환될 수 있다. 이런 방식으로 구해진 세 정점을 이용하여 삼각형을 구성하고, 구성된 삼각형의 검사를 버텍스 쉐이더에서 수행한다. 만약 잘못된 삼각형이라면 삼각형 정정 기법을 적용하여 총 다섯 개의 정점을 생성하고 이를 지오메트리 쉐이더 단계(Geometry shader stage)로 넘기고, 아닐 경우엔 구성된 삼각형을 그대로 래스터화(Rasterization)한다.
정정된 다섯 개의 정점을 이용하여 삼각형을 추가하는 작업은 지오메트리 쉐이더에서 이루어진다. 기존 삼각형을 삭제하고 새로이 생성된 다섯 개의 삼각형을 생성하여 래스터화 단계로 넘기게 된다.
마지막 단계인 픽셀 쉐이더(Pixel shader)에선 래스터화 된 결과를 광선의 시작점으로 삼아 실제적인 원근 투영 볼륨 렌더링을 수행한다. 이 과정에서 새로이 발견된 첫 광선 충돌 지점은 아웃풋 머져(Output merger)로 보내지게 되고 기존의 첫 충돌 점들을 갱신하게 된다.
본 발명의 빠른 렌더링 속도를 증명하기 위해 기존에 다른 발명자에 의해 제안되었던 기법과의 비교를 수행한 결과는 표 2와 같다.
데이터종류 데이터크기 기존방식1 기존방식2 본 발명의 방식
대장데이터1 512*512*768 6 12 24
대장데이터2 512*512*612 6 12 25
대장데이터3 512*512*578 5 13 27
대장데이터4 512*512*522 6 14 27
대장데이터5 512*512*578 6 13 29
기존 방식의 잘못된 빈 공간 탐색에 의한 훼손된 렌더링 결과와 본 발명의 렌더링 결과 비교는 도 16과 같다. 도 16에 의하면, 본 발명의 방법을 적용했을 경우 렌더링 결과가 전혀 훼손되지 않음을 볼 수 있다. 정확한 렌더링 결과를 위해 많은 검사를 수행함에도 불구하고 더 빠른 속도를 내는 이유는 도 17에 비교하여 도시한 바와 같이 기존 방식에 비해 좀 더 정밀한 빈 공간 탐색을 수행하기 때문이다.
본 발명을 이용한 다양한 렌더링 결과는 도 18과 같다. 잘못된 빈 공간 탐색으로 인해 훼손된 부분이 전혀 없는 것을 볼 수 있다.
도 1은 종래의 기술에 의한 포인트 스프라이트 기반 재투영 기법이 야기시키는 잘못된 빈 공간 탐색 결과와 홀들의 예를 보여준다.
도 2는 종래의 기술에 의한 셀 기반 재 투영 기법의 문제점들을 보여주는데, (a)는 잘못된 빈 공간 탐색 결과의 한 예이며, (b)는 홀을 발생시키는 예이다.
도 3은 본 발명의 전체적인 흐름도이다.
도 4는 첫 광선 충돌 지점(first hit point)의 개념도이다.
도 5는 삼각형 매쉬를 구성하기 전의 정점들을 렌더링한 결과이다.
도 6은 도 5의 정점들을 삼각형 매쉬로 재구성한 결과이다.
도 7은 잘못된 삼각형이 야기시키는 세 가지 잘못된 빈 공간 탐색의 예를 나타낸다.
도 8은 정정되기 이전의 삼각형 매쉬와 정정된 이후의 삼각형 매쉬를 2차원 상으로 간략화하여 나타내는 도면으로, 실선으로 표시된 부분이 정정 이후의 삼각형 매쉬이고, 굵은 실선으로 표시된 부분은 시점으로부터의 거리가 멀어 충돌 검사 광선이 멈추는 부분이다.
도 9는 본 발명에서 사용되는 셀(cell)의 정의를 도식화 하여 나타낸 도면이다.
도 10은 재투영된 삼각형이 야기시킬 수 있는 세 가지 잘못된 빈 공간 탐색 결과를 나타낸다.
도 11은 세 정점으로 이루어진 삼각형과 충돌이 일어날 수 있는 셀들을 나타 내는데, (a)는 삼차원으로 표현한 도면으로 셀 A, B와 충돌검사가 이루어짐을 나타내고, (b)는 측면도이며 충돌검사의 단순화를 위해 셀을 구로 간략화하여 검사하는 내용을 나타내고, (c)는 시점에서 보는 셀들이며 셀 A, B가 각각 구로 간략화되어 검사됨을 나타낸다.
도 12는 시점에서의 거리에 따라 광선간의 간격이 벌어지면서 생길 수 있는 충돌 검사가 수행되지 못한 셀들의 예를 보여준다.
도 13은 잘못된 삼각형의 정정기법을 나타내는 도면이다.
도 14는 쉐이더 모델 4.0 기반의 그래픽스 파이프라인과 본 발명의 흐름을 각 파이프라인 단계에 맞추어 표현한 도면이다.
도 15는 가상의 삼각형 매쉬(dummy triangle mesh)를 이용하여 프레임 버퍼에서 해당되는 세 정점의 좌표를 얻어오는 과정을 예시한 도면이다.
도 16은 전혀 훼손되지 않은 렌더링 결과(a)와 기존에 발명되었던 다른 방법의 렌더링 결과(b)와 본 발명을 적용한 렌더링 결과(c)를 비교한 도면이다.
도 17은 본 발명의 효율성을 기존에 발명되었던 다른 두 가지 방법과 비교한 결과이다.
도 18은 본 발명을 적용한 다양한 렌더링 결과 이미지이다.

Claims (7)

  1. 원근 투영 볼륨 렌더링의 가속화 방법에 있어서,
    (a) 이전 프레임(Ft)의 첫 광선 충돌지점들을 삼각형 매쉬로 변환하는 단계;
    (b) 삼각형 매쉬를 구성하는 각 삼각형에 대하여, 각 삼각형이 실제 그려질 물체의 표면과 절단면을 생성하는 지 여부를 검사하는 단계;
    (c) 절단면을 생성한다면 해당하는 삼각형의 각 정점을 절단면을 생성하지 아니하는 위치로 옮겨 주변의 삼각형들과의 연결성을 유지하기 위한 새로운 삼각형들로 기존의 삼각형의 대체하는 단계;
    (d) 각 삼각형의 내부를 해당 삼각형을 구성하는 세 정점의 삼차원 보간된 결과로 채워 래스터화하여 재투영하는 단계; 및
    (e) 재투영된 결과를 시작점들로 삼아 현재 프레임(Ft+1)의 첫 광선 충돌지점들을 탐색하는 단계를 포함함을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  2. 제1항에 있어서,
    상기 첫 광선 충돌지점은 셀 단위로 계산되고, 상기 삼각형 매쉬를 이루는 충돌 점들도 셀 단위로 계산되고, 상기 (e) 단계에서는 광선이 샘플링 거리씩 전진하다가 '찬 셀'을 만나게 되면 현재 샘플링 포인트의 바로 이전 샘플링 포인트를 첫 광선 충돌지점으로 저장하는 것을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  3. 제2항에 있어서,
    상기 (b) 단계는 각 삼각형의 세 정점 중 이전 프레임(Ft)의 시점으로부터의 거리가 가장 짧은 정점과 두 번째로 짧은 정점의 각 다음 샘플링 포인트를 포함한 셀들을 대상으로 하여, 대상 셀의 중심을 구의 중심으로 하고 대상 셀의 대각선 길이를 구의 지름으로 하는 가상의 구를 설정하고, 상기 삼각형이 상기 가상의 구와 충돌이 일어나면 물체의 표면과 절단면을 생성하고, 충돌이 일어나지 않으면 물체의 표면과 절단면을 생성하지 않는 것으로 판단하는 것을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  4. 제3항에 있어서,
    검사 대상이 될 삼각형은 각 변의 길이 중 가장 긴 변의 길이가 최소 세 개의 셀 표면과 만날 수 있어야 하고, 최소 세 개의 셀 표면을 만나기 위한 길이는 셀을 이루는 각 변들 중 최소값을 가지는 변의 길이로 한다는 조건을 만족하는 삼각형인 것을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  5. 제3항 또는 제4항에 있어서,
    상기 (a) 단계의 이전 프레임(Ft)의 첫 광선 충돌지점들은, 탐색 광선의 샘플링 거리가 셀을 이루는 각 변들 중 최소값을 가지는 변의 길이여야 하고, 검사 광선간의 간격이 셀을 이루는 각 변들 중 최소값을 가지는 변의 길이보다 길어지지 않는 지점에서 멈춘 지점임을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 (c) 단계는 v1, v2, v3이 삼각형을 이루는 세 정점이고 시점에서 가장 가까운 정점이 v1이라 할 때, 추가될 두 정점 v2', v3'은 각 시점과 정점 v2, v3이 이루는 직선상에 존재하고, v1, v2, v3, v2', v3'의 다섯 정점들로 이루어진 다섯 개의 삼각형들로 기존의 삼각형을 대체하는 단계임을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
  7. 제6항에 있어서,
    v2와 v2'의 거리는 v1과 v2의 거리와 같고, v3과 v3'의 거리는 v1과 v3의 거리와 같은 것을 특징으로 하는 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화 방법.
KR1020080076369A 2008-08-05 2008-08-05 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법 KR100949859B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080076369A KR100949859B1 (ko) 2008-08-05 2008-08-05 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080076369A KR100949859B1 (ko) 2008-08-05 2008-08-05 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법

Publications (2)

Publication Number Publication Date
KR20100016757A KR20100016757A (ko) 2010-02-16
KR100949859B1 true KR100949859B1 (ko) 2010-03-25

Family

ID=42088587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080076369A KR100949859B1 (ko) 2008-08-05 2008-08-05 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법

Country Status (1)

Country Link
KR (1) KR100949859B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262454B2 (en) 2014-11-20 2019-04-16 Samsung Electronics Co., Ltd. Image processing apparatus and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011921A (ko) * 2002-07-31 2004-02-11 학교법인연세대학교 가시 순차적 분할 렌더링 알고리즘을 이용한 3차원 텍스쳐기반의 볼륨 그래픽 구조 및 방법
KR20080037978A (ko) * 2006-10-27 2008-05-02 삼성전자주식회사 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011921A (ko) * 2002-07-31 2004-02-11 학교법인연세대학교 가시 순차적 분할 렌더링 알고리즘을 이용한 3차원 텍스쳐기반의 볼륨 그래픽 구조 및 방법
KR20080037978A (ko) * 2006-10-27 2008-05-02 삼성전자주식회사 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10262454B2 (en) 2014-11-20 2019-04-16 Samsung Electronics Co., Ltd. Image processing apparatus and method

Also Published As

Publication number Publication date
KR20100016757A (ko) 2010-02-16

Similar Documents

Publication Publication Date Title
US11302056B2 (en) Techniques for traversing data employed in ray tracing
US12020367B2 (en) Ray tracing hardware acceleration with alternative world space transforms
US6852081B2 (en) Volume rendering in the acoustic grid methods and systems for ultrasound diagnostic imaging
CN1716317B (zh) 滑动纹理的体绘制方法与系统
US20210390759A1 (en) Hardware acceleration for ray tracing primitives that share vertices
US20080129734A1 (en) Apparatus and method of ray-triangle collision detection for ray-tracing
US11816783B2 (en) Enhanced techniques for traversing ray tracing acceleration structures
US20230316632A1 (en) Hardware-based techniques applicable for ray tracing for efficiently representing and processing an arbitrary bounding volume
CN107784622B (zh) 图形处理系统和图形处理器
WO2013101167A1 (en) Five-dimensional rasterization with conservative bounds
Kaufman et al. Continuum volume display
US7692651B2 (en) Method and apparatus for providing efficient space leaping using a neighbor guided emptiness map in octree traversal for a fast ray casting algorithm
Şahıstan et al. Ray-traced shell traversal of tetrahedral meshes for direct volume visualization
KR101090660B1 (ko) 포인트 프리미티브를 이용한 실시간 볼륨 렌더링 방법
US20240009226A1 (en) Techniques for traversing data employed in ray tracing
KR100949859B1 (ko) 시간적 연속성을 적용한 원근 투영 볼륨 렌더링의 가속화방법
KR101661166B1 (ko) 3차원 영상 시스템에서 광선 추적 방법 및 장치
Groß et al. Advanced rendering of line data with ambient occlusion and transparency
Nießner et al. Real-time Collision Detection for Dynamic Hardware Tessellated Objects.
KR20000028579A (ko) 화상합성시스템
US20240087211A1 (en) Generation and Traversal of Partial Acceleration Structures for Ray Tracing
Leone et al. Implementing software occlusion culling for real-time applications
Solteszova et al. Visibility-Driven Processing of Streaming Volume Data.
JP4927580B2 (ja) 画像処理装置及びその方法
CN107978015B (zh) 一种自适应实时三维体绘制的加速方法和装置

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: 20130318

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140311

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160122

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180222

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 11