最大値投影処理によりレンダリングされたマウスのCT映像。
レイキャスティングによるボリュームレンダリングをする方法の模式図。

コンピュータグラフィックスにおいて、ボリュームレンダリングとは、3次元的な広がりのあるデータを直接2次元画面に表示することである。半透明な物体や発光体などを光学的に正しくレンダリングしたり(レイキャスティング)、CTなどで3次元的に撮影された画像を目的に沿って見やすく提示したりする(最大値投影処理など。)

ボリュームレンダリングに必要なデータは、CT、MRIなどによって得られた2Dスライス画像から構成される。これらは規則的なパターン(1ミリメートル毎に1スライスの画像)で撮影され、規則的な画像ピクセルデータをもっている。この各ボリューム要素をサンプリングすることによって、中身を透視できる単一の画像を構成する事ができる。

ボリュームレンダリングを行うには、まずボリュームに対して空間内でのカメラの配置を設定する必要がある。また、各ボクセルの不透明度と色を設定する必要もある。一般的には、すべてのボクセル値に対してRGBA値(赤、緑、青、アルファ)は伝達関数を用いて設定を行う。

例えば、ボリュームからアイソサーフェスを検出し、ポリゴンメッシュ方式でレンダリングを行う。またはボリュームを直接データブロックとしてレンダリングを行い、ボリュームを表示することもできる。

レンダリング方式

編集
ワニのミイラをCT撮影し、ボリュームレンダリングしたもの。
ボリュームレイキャスティング

とても高品質なデータが得られる方式である。ボリュームレイキャスティングは、入力ボリュームデータではなく、出力画像から計算を行うため、画像ベースのボリュームレンダリング技法のひとつである。

スプラット

品質を犠牲にして処理速度を優先したレンダリング方式である[1][2]

シアーワープ
テクスチャベースのボリュームレンダリング
テクスチャマッピング拡散反射を用いた人体頭部のボリュームレンダリング。質感と影表現が加えられている。
血管造影剤を用いることで、骨を透明にした際に血管のみを可視化することも可能である。

ハードウェアアクセラレーション

編集

ボリュームレンダリングは並列的な性質を持つため、レンダリングに用いるハードウェアは高速なものが要求される。

レイキャスティングのような進歩したボリュームレンダリングアルゴリズムは、従来のコンピュータでは処理が追いつかないため、NVIDIAAMDなどの最新のハイエンドグラフィックカードが用いられる。プログラム可能なピクセルシェーダをはじめ、複数のピクセル上での並列処理などを、グラフィックス処理ユニット(GPGPU)上で演算するコンピュータが利用されるようになった。ピクセルシェーダはビデオメモリからランダムに読み書きでき、数学的かつ論理的な計算をスピーディーに計算可能である。これらのSIMDプロセッサは、ポリゴンのレンダリングや信号処理などの一般的な計算を実行するために使用されていた。近年(内容からしてGPGPUの出始めの頃、だいぶ昔の話)のグラフィックカードでは、ピクセルシェーダはMIMDプロセッサとして働き、最大1GBのテクスチャメモリを浮動小数点数形式で使用することもできる。このようなハイエンドマシンの登場によって、ボリュームレイキャスティングや断層撮影再レンダリングなど、並行して実行できるすべてのアルゴリズムを、高速で処理できるようになった。プログラマブルピクセルシェーダを用いて、照明、影、反射、放射色などの特性の変化をシミュレートすることもできる。

ソフトウェア

編集
オープンソース
商業向け
  • Ambivu 3D Workstation – OpenGLに対応し、一通りのボリュームレンダリング機能を搭載した医療用ソフトウェア。
  • Amira – 医療および生物研究者向け解析ソフトウェア
  • Avizo – エンジニア向けの解析ソフトウェア
  • Imaris – 3D、4D顕微鏡データの管理、視覚化、解析などの機能を搭載したソフトウェア。
  • MeVisLab – 医療用画像処理ができるクロスプラットフォーム対応ソフトウェア。
  • Open Inventor
  • ScanIP
  • tomviz
  • VoluMedic – ボリュームスライシングとレンダリングに対応するソフトウェア。

脚注

編集
  1. ^ Westover, Lee Alan (1991年7月). “SPLATTING: A Parallel, Feed-Forward Volume Rendering Algorithm” (PDF). 2012年6月28日閲覧。
  2. ^ Huang, Jian (2002年春). “Splatting” (PPT). 2011年8月5日閲覧。

関連項目

編集

📚 Artikel Terkait di Wikipedia

物理ベースシェーディング

PxrHairColor Pixar ^ Arnold 5 - Rendering Evolved Solid Angle 2017年4月12日 ^ VRayHairNextMtl Chaos Group ^ A Rendering Algorithm for Discrete Volume Density

バイナリ空間分割

Partition Trees in 3d worlds ^ AN INVESTIGATION INTO REAL-TIME 3D POLYGON RENDERING USING BSP TREES. Andrew Steven Winter. April 1999. available online ^

ハミルトン閉路問題

Kazuo; Nakashima, Takuya (2007), Lin, Guohui, ed., “An Improved Exact Algorithm for Cubic Graph TSP” (英語), Computing and Combinatorics, Lecture Notes

3DCGソフトウェアの歴史

その後もGPUによるパストレースレンダラーの登場が続き、2013年にRedshift Rendering Inc (後のRedshift Rendering Technologies) はRedshiftを、2014年にcebasはmoskitoRenderを、2015年にArt

ディープ・ラーニング・スーパー・サンプリング

that looks like a higher-resolution image, without the rendering overhead. Nvidia’s algorithm learns from tens of thousands of rendered sequences of images

コースティクス

Nephroids”. SIAM News. 2018年6月1日閲覧。 ^ Guardado, Juan (2004). “Chapter 2. Rendering Water Caustics”. In Fernando, Randima. GPU Gems: Programming Techniques

CUDA

Engine について(Adobe Premiere Pro) ^ Doc:JA/2.6/Manual/Render/Cycles/GPU Rendering - BlenderWiki ^ NVIDIA CUDA に対応した GPU に対する MATLAB GPU 演算のサポート - MATLAB

ピーター・アンダーソン

Horodam,ed.,Kluwer,pp.1-10,1993.DOI:10.1007/978-94-011-2058-6_1 “Fast Rendering”,Computer Language,pp.40-48,1993. “Linear Pixel Shuffling for Image Processing