본문 바로가기
KERD
논문KCI 등재

VTK.js와 웹 어셈블리를 이용한 환경광 폐색 볼륨 가시화

Ambient occlusion for volume visualization using VTK.js and Web Assembly

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

VTK.js는 의료영상 데이터를 웹 기반으로 가시화하는 라이브러리로 널리 사용된다. 그러나 그 기능이 기존 C언어 기반의 VTK에 비해 제한적이며, 영상 처리 기능은 CPU를 사용하는 자바스크립트로 작성되었기 때문에 수행 성능이 느리다는 한계가 있다. 따라서 사용자는 다양한 기능의 추가 구현에 어려움을 느낀다. 본 논문은 웹 어셈블리(Web Assembly)를 활용하여 VTK.js의 기능을 확장하며, 네이티브 언어 수준의 속도로 CPU 연산을 수행할 수 있음을 보인다. 그 사례로서 고품질의 음영을 생성하는 볼륨 가시화 기법인 환경광 폐색을 증분 알고리즘과 Web Assembly를 이용하여 구현하였다. 전처리로 생성되는 환경광 분석은 웹 어셈블리를 이용한 CPU에서 수행되며, 그 결과를 이용한 가시화는 GPU에서 수행된다. 본 연구는 해당 기법을 VTK.js에서 제공하는 기능인 셰이더 프로그램에 통합하므로 환경광 폐색의 고속 사전 계산과 실시간 가시화가 가능하다. 본 연구를 통해 VTK.js 기반의 응용 프로그램에서 새로운 영상 기능을 웹 어셈블리를 이용하여 빠른 속도로 확장하고 가시화할 수 있는 가능성을 보인다.

Abstract

VTK.js is widely used as a web-based visualization library for medical image data. However, its functions are limited compared to the existing C-based VTK. Moreover, the image processing function using the CPU is written in JavaScript, so the performance is low. Therefore, users find it difficult to additionally implement various functions. This paper shows that CPU operation can be performed at native speed by extending the function of VTK.js using Web Assembly. As an example, the ambient occlusion, a volume visualization technique that creates high-quality shading effect, was implemented using an incremental algorithm and Web Assembly. Ambient light analysis generated by preprocessing is performed on the CPU using Web Assembly, and visualization using the result is performed on the GPU. This study integrates the technique into a shader program, a function provided by VTK.js, enabling high-speed pre-calculation and visualization of ambient occlusion. This study shows the possibility of expanding new imaging functions using Web Assembly and visualizing them with VTK.js.

참고문헌 (15)

  1. J. Abhinav, "Not So Fast : Analyzing the Performance of WebAssembly vs. Native Code", USENIX Annual Technical Conference, pp.107~120 (2019)
  2. 김재하, "포인트기반 볼륨데이터를 이용한 대화식 4차원렌더링 기술", 한국차세대컴퓨팅학회 논문지, 13(4), pp.19~28 (2017), 한국차세대컴퓨팅학회
  3. T. Parisi, "WebGL : Up and Running" (2019), O'Reilly Media
  4. R. Fosne, "Real-Time Shader Programming" (2003), Morgan Kaufmann
  5. A Haas., "Bringing the web up to speed with Web-Assembly", ACM SIGPLAN Conference on Programming Language Design and Implementation, 38, pp.185~200 (2017)
  6. M. Pharr, "Ambient occlusion", GPU Gems, 1, pp.279~292 (2004)
  7. M. Bunnell, "Dynamic ambient occlusion and indirect lighting", GPU Gems, 2, pp.223~233 (2005)
  8. 조청운, "실시간 렌더링을 위한 Ambient Occlusion 텍스처 생성", 한국컴퓨터게임학회논문지, (11), pp.135~140 (2007), (사)한국컴퓨터게임학회
  9. J. Kontkanen, "Ambient occlusion fields", Proceedings of the 2005 symposium on Interactive 3D graphics and games, pp.41~48 (2005)
  10. P. Shanmugam., "Hardware accelerated ambient occlusion techniques on GPUs", Proceedings of the 2007 symposium on Interactive 3D graphics and games, pp.73~80 (2007)
  11. 남진현, "지역적 통계량을 이용한 고속 환경-광 가림 볼륨 가시화", 멀티미디어학회논문지, 18(2), pp.158~167 (2015), 한국멀티미디어학회[DOI]
  12. 안광민, "웹어셈블리를 이용한 웹 컨텐츠 처리 성능 개선을 위한 연구", 산업기술연구논문지, 27(3), pp.19~25 (2022), 한국산업기술융합학회[DOI]
  13. A. Romano, "Wasim : Understanding webassembly applications through classification", Proceedings of the 35th IEEE, 2020, 1321~1325
  14. 이윤호, "웹 기반 볼륨 가시화를 위한 vtk.js의 셰이더 효과 연구", 한국차세대컴퓨팅학회 논문지, 17(5), pp.64~74 (2021), 한국차세대컴퓨팅학회[DOI]
  15. 이병준, "볼륨 렌더링에서 전역조명처리를 위한 빛-분포 템플릿", 한국차세대컴퓨팅학회 논문지, 12(4), pp.103~112 (2016), 한국차세대컴퓨팅학회

관련 논문AI추천

이 간행물의 다른 논문 (9건)