We present a novel GPU-based ray-casting algorithm for volume rendering of unstructured grid data. Our volume rendering system uses a ray-casting method that guarantees accurate rendering results. We also employ the per-pixel intersection list concept in the Bunyk algorithm to guarantee an accurate result for non-convex meshes. For efficient memory access for the lists on the GPU, we represent the intersection lists for all faces as an array with our novel construction algorithm. With the intersection lists, we perform ray-casting on a GPU, and a GPU thread handles each ray. To increase ray-coherency in a thread block and improve memory access efficiency, we extend a prior image-tile-based work distribution method to fit modern GPU architectures. We also show that a prior approach using a per-thread local buffer to reduce redundant computation is not appropriate for modern GPU architectures. Instead, we take an on-demand calculation strategy that achieves better performance even though it allows duplicate computations. We applied our method to three unstructured grid datasets with different characteristics. With a GPU, our method achieved up to 36.5 times higher performance for the ray-casting process and 19.7 times higher performance for the whole volume rendering process compared with the Bunyk algorithm using a CPU core. Also, our approach showed up to 8.2 times higher performance than a GPU-based cell projection method while generating more accurate rendering results. These results demonstrate the efficiency and accuracy of our method.
몰입 가상현실 환경에서 가상 객체들을 선택하고 조작하기 위해서는 사용자가 원하는 가상 객체를 빠르고 정확하게 선택할 수 있어야 한다. 가상현실에서 객체 선택을 위한 가장 알려진 접근 방법은 Ray-casting 방법이다. Ray-casting은 가상현실 환경에서 사용자의 손이나 시야 방향에서 직선으로 이동하는 가상의 선을 발사하고, 이 가상의 선이 발사되는 과정에서 충돌되는 가상 객체를 사용자가 선택할 수 있게 해주는 방법이다. 하지만, 가상 객체들이 겹쳐져 있는 상황에서는 사용자가 원하는 객체가 아닌 다른 객체들이 선택 될 수 있는 모호성 문제가 발생하게 된다. 이러한 방법을 해결하기 위해서 본 논문에서는 겹쳐진 가상 객체들 중 사용자가 원하는 객체를 선택하고자 하는 경우, 사용자가 겹쳐진 객체들의 그룹을 먼저 선택하게 한 후에 이 겹쳐진 객체들이 가지고 있는 기하학적인 연관관계를 계산하고 이를 사용자의 시점에서 겹쳐지지 않게 펼쳐서 시각화를 하는 Explosion-casting 방법을 제안한다. 제안한 방법의 평가를 위해서 기존의 Ray-casting 방법과 비교를 하였을 때, 겹쳐져 있는 가상 객체를 선택할 때 걸리는 속도와 정확도가 증가하는 결과를 보여주었다.
최근의 3D게임이나 가상현실을 위한 지형 시각화 응용에서는 사실적인 장면을 렌더링 하기 위해 고화질 영상을 실시간에 제공하는 GPU기반의 광선투사법을 이용한다. 이 방법은 지형데이터의 크기가 증가할수록 샘플링 해야 하는 텍셀의 개수가 증가하기 때문에 렌더링 속도가 저하된다. 이러한 문제점을 해결하기 위해서 본 논문에서는 GPU에서 사진트리를 기반으로 수행되는 바운딩 박스 세분화를 이용하여 빈 공간이 제거된 바운딩 박스를 생성하고 이를 이용하여 광선투사법을 가속화하는 방법을 제안한다. 이 방법은 각 광선마다 빈 공간 도약을 위해 트리를 탐색하여 중복된 탐색연산을 수행해야 했던 기존의 방법과 달리 바운딩 박스를 이용하여 탐색 연산을 단 1번만 수행하도록 하여 수행속도를 가속화 하였다.
본 논문은 비정렬 격자 볼륨 렌더링을 위한 다중 코어 CPU기반의 메모리 효율적 광선 투사 병렬처리 알고리즘을 제안한다. 본 연구는 Bunyk 광선 투사(ray casting) 알고리즘에 기반을 두며, Bunyk 알고리즘의 높은 메모리 소모량 문제를 개선하기 위해 스레드별로 고정된 크기의 지역 버퍼를 할당한다. 지역 버퍼는 최근 방문된 면(face)의 정보를 저장하며, 이 정보는 다른 광선들에 의해 재사용되거나 다른 면의 정보로 대체된다. 지역 버퍼에 저장된 정보의 활용률을 높이기 위해 본 연구는 이미지 평면을 기반으로 일관성(coherency)이 높은 광선들을 하나의 광선 그룹으로 묶고, 생성된 광선 그룹들을 스레드들에게 분배한다. 각각의 스레드들은 할당 받은 광선 그룹들을 지역 버퍼를 활용하여 독립적으로 처리한다. 본 연구는 또한 지역 버퍼 활용률을 더욱 높이기 위해 면의 번호에 기반을 둔 해시 함수를 제안한다. 본 연구의 효용성을 확인하기 위해 제안하는 알고리즘을 서로 다른 크기의 비정렬 격자에 적용하였으며, 면 정보 저장을 위해 Bunyk 알고리즘 대비 약 6%의 메모리만 사용하여 정확한 볼륨 렌더링을 수행할 수 있었다. 이처럼 훨씬 적은 메모리 사용에도 불구하고 Bunyk 알고리즘과 대등한 성능을 보여주었으며, 대용량 데이터에 대해서는 최대 22% 높은 성능을 보여주었다. 이는 본 연구의 효용성 및 대용량 데이터의 볼륨 렌더링에 대한 적합성을 증명하는 결과이다.
본 연구에서는, 결과물의 우수함을 유지하면서도 기존 연구결과의 성능을 4-7배 향상시킨 실시간 GPU 등가면 볼륨 레이케스터를 제시한다. 이러한 성능 향상은 효율적인 빈공간 생략법과 분석적 그레디언트 계산법을 도입함으로써 가능하다. 빈공간 생략법은 스플라인 조각들의 BB-형식으로부터 만등어진 최소/최대값 옥트리에 기반하고 있고, 분석적 그레디언트 계산법은 보다 정확한 렌더링 결과를 제공할 뿐 아니라 더욱 빠른 계산이 가능하도록 한다.
볼륨 광선 투사법은 볼륨 데이터를 가시화하는 기법 중 고화질 영상을 만들어내는 기법이다. 하지만 일반적으로 볼륨 데이터는 매우 크기 때문에 렌더링 시간이 오래 걸리는 문제가 있다. 이를 보완하기 위하여 최근에는 GPU를 이용하여 볼륨 광선 투사법을 가속화하는 많은 기법들이 연구되고 있다. 본 논문에서는 볼륨 광선 투사법을 가속화하기 위한 GPU 기반의 옥트리 탐색을 통한 효과적인 빈 공간 도약 기법을 제안한다. 여기서는 최대-최소 옥트리를 생성하고 옥트리의 루트 노드부터 정점분할을 이용하여 빈 공간을 식별한다. 찾아낸 빈 공간을 삭제함으로써 볼륨 데이터에서 의미 있는 객체를 둘러싸는 바운딩 다면체를 최소화 시킨다. 최소화 된 바운딩 다면체에 대해서만 렌더링을 진행함으로써 기존의 볼륨 광선 투사법과 비교하여 빠른 시간에 동일한 결과물을 생성한다.
가상내시경에서 효과적인 진단과 사용자의 편의를 위해서는 자동순항(navigation) 기능이 필요하다. 자동순항을 위해서는 장기의 내벽과 충돌을 피하면서 부드럽게 카메라의 이동방향을 전환할 수 있어야 한다. 본 논문에서는 광선추적법(ray-casting)에 기반한 충돌회피기법과 그를 이용한 효율적인 순항 방법을 제안한다.
직접 볼륨 렌더링은 반투명한 물체에 대한 고화질 영상 생성이 가능한 기법으로 광선 투사법이 대표적이다. 이것은 각 화소별로 오브젝트 공간상의 관심 영역을 샘플링하기 때문에 높은 해상도의 영상을 생성할 수 있지만, 각 샘플점마다 반복적으로 수행하는 텍스처 참조와 누적연산 때문에 렌더링 성능이 저하되는 문제가 있다. 최근에는 연산 능력이 매우 커진 GPU를 이용해 광선 투사법을 가속화하는 기법들이 많이 연구되고 있지만 이들 역시 전처리 단계 및 추가적인 메모리 사용이 불가피하다. 본 논문에서는 반투명 물체의 표현이 가능하고, 전처리 과정 및 추가적인 텍스처 메모리를 사용하지 않으면서 기존의 방법들보다 고속으로 볼륨 데이터를 가시화할 수 있는 포인트 프리미티브 기반의 새로운 볼륨 렌더링기법을 제안한다. 이 방법은 볼륨 데이터를 샘플링하여 포인트 프리미티브를 생성하고 이를 이미지 평면상에 투영하는 방식으로 수행속도가 매우 빠르다. 또한, 생성된 포인트 프리미티브를 실행시간에 추가 및 삭제할 수 있기 때문에 OTF를 변경해도 실시간 대응이 가능하다.
최근에 GPU 기반의 볼륨 광선 투사법을 가속화하는 기법들이 많이 연구되고 있다. 하지만 이런 기법들은 CPU-GPU간 데이터 전송 시 병목 현상을 야기하고 계층구조를 표현하기 위한 추가적인 GPU 메모리 공간이 필요할 뿐만 아니라 불투명도 전이 함수가 변경되었을 때 실시간에 대응하지 못하는 문제점들이 발생할 수 있다. 본 논문에서는 이러한 문제점들을 해결하기 위해 GPU 기반의 효율적인 빈 공간 도약 기법을 제안한다. 브릭(brick) 안에 포함되는 복셀들의 최대 밀도 값을 하나의 정점에 저장하고 불투명도 전이 함수에 의하여 투명하다고 판별된 정점들을 기하 쉐이더에서 삭제한다. 이 정점들을 랜더링 시간에 기하 쉐이더의 입력 값으로 사용해 투명하지 않은 영역의 바운딩 박스를 만들어 광선이 효과적으로 진행하도록 한다. 생성된 정점들은 렌더링 중에 시점의 변화에 무관하게 사용할 수 있지만 불투명도 전이 함수가 변경되면 투명하지 않은 정점들을 다시 생성해야 한다. 이는 기하 쉐이더를 통해서 GPU 안에서 고속으로 생성되기 때문에 대화식 처리가 가능하다. 제안하는 방법은 기존 광선 투사법의 결과와 동일한 영상을 생성하며 렌더링 속도는 기존의 방법에 비해 최대 10배 이상 향상되었다.
가상 내시경을 구현하기 위해서는 세밀하고 정확한 원근 투영 영상의 고속생성과 충돌검출이 필수적이다. 본 논문에서는 고속 원근 볼륨 렌더링 기법을 이용하여 정확하면서도 빠른 렌더링이 가능한 가상 내시경 기술을 제안한다. 이 방법은 기본적으로 화질이 우수한 광선 투영법을 기반으로 하며 거리정보(distance information)를 이용하여 투명한 공간을 비약하도록 함으로써 렌더링 속도를 향상시키도록 하였다. 렌더링 시에는 광선의 진행 방향에 따라 샘플 간격을 가변적으로 조절하는 방법을 이용하여 화질의 손실을 최소화하면서 처리시간을 향상시킨다. 또한 전처리 단계에서 생성된 거리 정보를 이용하여 충돌 검출을 간단히 할 수 있는 방법을 제안한다.
본 웹사이트에 게시된 이메일 주소가 전자우편 수집 프로그램이나
그 밖의 기술적 장치를 이용하여 무단으로 수집되는 것을 거부하며,
이를 위반시 정보통신망법에 의해 형사 처벌됨을 유념하시기 바랍니다.
[게시일 2004년 10월 1일]
이용약관
제 1 장 총칙
제 1 조 (목적)
이 이용약관은 KoreaScience 홈페이지(이하 “당 사이트”)에서 제공하는 인터넷 서비스(이하 '서비스')의 가입조건 및 이용에 관한 제반 사항과 기타 필요한 사항을 구체적으로 규정함을 목적으로 합니다.
제 2 조 (용어의 정의)
① "이용자"라 함은 당 사이트에 접속하여 이 약관에 따라 당 사이트가 제공하는 서비스를 받는 회원 및 비회원을
말합니다.
② "회원"이라 함은 서비스를 이용하기 위하여 당 사이트에 개인정보를 제공하여 아이디(ID)와 비밀번호를 부여
받은 자를 말합니다.
③ "회원 아이디(ID)"라 함은 회원의 식별 및 서비스 이용을 위하여 자신이 선정한 문자 및 숫자의 조합을
말합니다.
④ "비밀번호(패스워드)"라 함은 회원이 자신의 비밀보호를 위하여 선정한 문자 및 숫자의 조합을 말합니다.
제 3 조 (이용약관의 효력 및 변경)
① 이 약관은 당 사이트에 게시하거나 기타의 방법으로 회원에게 공지함으로써 효력이 발생합니다.
② 당 사이트는 이 약관을 개정할 경우에 적용일자 및 개정사유를 명시하여 현행 약관과 함께 당 사이트의
초기화면에 그 적용일자 7일 이전부터 적용일자 전일까지 공지합니다. 다만, 회원에게 불리하게 약관내용을
변경하는 경우에는 최소한 30일 이상의 사전 유예기간을 두고 공지합니다. 이 경우 당 사이트는 개정 전
내용과 개정 후 내용을 명확하게 비교하여 이용자가 알기 쉽도록 표시합니다.
제 4 조(약관 외 준칙)
① 이 약관은 당 사이트가 제공하는 서비스에 관한 이용안내와 함께 적용됩니다.
② 이 약관에 명시되지 아니한 사항은 관계법령의 규정이 적용됩니다.
제 2 장 이용계약의 체결
제 5 조 (이용계약의 성립 등)
① 이용계약은 이용고객이 당 사이트가 정한 약관에 「동의합니다」를 선택하고, 당 사이트가 정한
온라인신청양식을 작성하여 서비스 이용을 신청한 후, 당 사이트가 이를 승낙함으로써 성립합니다.
② 제1항의 승낙은 당 사이트가 제공하는 과학기술정보검색, 맞춤정보, 서지정보 등 다른 서비스의 이용승낙을
포함합니다.
제 6 조 (회원가입)
서비스를 이용하고자 하는 고객은 당 사이트에서 정한 회원가입양식에 개인정보를 기재하여 가입을 하여야 합니다.
제 7 조 (개인정보의 보호 및 사용)
당 사이트는 관계법령이 정하는 바에 따라 회원 등록정보를 포함한 회원의 개인정보를 보호하기 위해 노력합니다. 회원 개인정보의 보호 및 사용에 대해서는 관련법령 및 당 사이트의 개인정보 보호정책이 적용됩니다.
제 8 조 (이용 신청의 승낙과 제한)
① 당 사이트는 제6조의 규정에 의한 이용신청고객에 대하여 서비스 이용을 승낙합니다.
② 당 사이트는 아래사항에 해당하는 경우에 대해서 승낙하지 아니 합니다.
- 이용계약 신청서의 내용을 허위로 기재한 경우
- 기타 규정한 제반사항을 위반하며 신청하는 경우
제 9 조 (회원 ID 부여 및 변경 등)
① 당 사이트는 이용고객에 대하여 약관에 정하는 바에 따라 자신이 선정한 회원 ID를 부여합니다.
② 회원 ID는 원칙적으로 변경이 불가하며 부득이한 사유로 인하여 변경 하고자 하는 경우에는 해당 ID를
해지하고 재가입해야 합니다.
③ 기타 회원 개인정보 관리 및 변경 등에 관한 사항은 서비스별 안내에 정하는 바에 의합니다.
제 3 장 계약 당사자의 의무
제 10 조 (KISTI의 의무)
① 당 사이트는 이용고객이 희망한 서비스 제공 개시일에 특별한 사정이 없는 한 서비스를 이용할 수 있도록
하여야 합니다.
② 당 사이트는 개인정보 보호를 위해 보안시스템을 구축하며 개인정보 보호정책을 공시하고 준수합니다.
③ 당 사이트는 회원으로부터 제기되는 의견이나 불만이 정당하다고 객관적으로 인정될 경우에는 적절한 절차를
거쳐 즉시 처리하여야 합니다. 다만, 즉시 처리가 곤란한 경우는 회원에게 그 사유와 처리일정을 통보하여야
합니다.
제 11 조 (회원의 의무)
① 이용자는 회원가입 신청 또는 회원정보 변경 시 실명으로 모든 사항을 사실에 근거하여 작성하여야 하며,
허위 또는 타인의 정보를 등록할 경우 일체의 권리를 주장할 수 없습니다.
② 당 사이트가 관계법령 및 개인정보 보호정책에 의거하여 그 책임을 지는 경우를 제외하고 회원에게 부여된
ID의 비밀번호 관리소홀, 부정사용에 의하여 발생하는 모든 결과에 대한 책임은 회원에게 있습니다.
③ 회원은 당 사이트 및 제 3자의 지적 재산권을 침해해서는 안 됩니다.
제 4 장 서비스의 이용
제 12 조 (서비스 이용 시간)
① 서비스 이용은 당 사이트의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴, 1일 24시간 운영을
원칙으로 합니다. 단, 당 사이트는 시스템 정기점검, 증설 및 교체를 위해 당 사이트가 정한 날이나 시간에
서비스를 일시 중단할 수 있으며, 예정되어 있는 작업으로 인한 서비스 일시중단은 당 사이트 홈페이지를
통해 사전에 공지합니다.
② 당 사이트는 서비스를 특정범위로 분할하여 각 범위별로 이용가능시간을 별도로 지정할 수 있습니다. 다만
이 경우 그 내용을 공지합니다.
제 13 조 (홈페이지 저작권)
① NDSL에서 제공하는 모든 저작물의 저작권은 원저작자에게 있으며, KISTI는 복제/배포/전송권을 확보하고
있습니다.
② NDSL에서 제공하는 콘텐츠를 상업적 및 기타 영리목적으로 복제/배포/전송할 경우 사전에 KISTI의 허락을
받아야 합니다.
③ NDSL에서 제공하는 콘텐츠를 보도, 비평, 교육, 연구 등을 위하여 정당한 범위 안에서 공정한 관행에
합치되게 인용할 수 있습니다.
④ NDSL에서 제공하는 콘텐츠를 무단 복제, 전송, 배포 기타 저작권법에 위반되는 방법으로 이용할 경우
저작권법 제136조에 따라 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있습니다.
제 14 조 (유료서비스)
① 당 사이트 및 협력기관이 정한 유료서비스(원문복사 등)는 별도로 정해진 바에 따르며, 변경사항은 시행 전에
당 사이트 홈페이지를 통하여 회원에게 공지합니다.
② 유료서비스를 이용하려는 회원은 정해진 요금체계에 따라 요금을 납부해야 합니다.
제 5 장 계약 해지 및 이용 제한
제 15 조 (계약 해지)
회원이 이용계약을 해지하고자 하는 때에는 [가입해지] 메뉴를 이용해 직접 해지해야 합니다.
제 16 조 (서비스 이용제한)
① 당 사이트는 회원이 서비스 이용내용에 있어서 본 약관 제 11조 내용을 위반하거나, 다음 각 호에 해당하는
경우 서비스 이용을 제한할 수 있습니다.
- 2년 이상 서비스를 이용한 적이 없는 경우
- 기타 정상적인 서비스 운영에 방해가 될 경우
② 상기 이용제한 규정에 따라 서비스를 이용하는 회원에게 서비스 이용에 대하여 별도 공지 없이 서비스 이용의
일시정지, 이용계약 해지 할 수 있습니다.
제 17 조 (전자우편주소 수집 금지)
회원은 전자우편주소 추출기 등을 이용하여 전자우편주소를 수집 또는 제3자에게 제공할 수 없습니다.
제 6 장 손해배상 및 기타사항
제 18 조 (손해배상)
당 사이트는 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 당 사이트가 고의 또는 과실로 인한 손해발생을 제외하고는 이에 대하여 책임을 부담하지 아니합니다.
제 19 조 (관할 법원)
서비스 이용으로 발생한 분쟁에 대해 소송이 제기되는 경우 민사 소송법상의 관할 법원에 제기합니다.
[부 칙]
1. (시행일) 이 약관은 2016년 9월 5일부터 적용되며, 종전 약관은 본 약관으로 대체되며, 개정된 약관의 적용일 이전 가입자도 개정된 약관의 적용을 받습니다.