第 4 回新画像システム・情報フォトニクス研究討論会講演予稿集, 阪大, pp.29-30(2010.6.29)

GPU を用いたポリゴンベース CGH の光波数値合成
Numerical Synthesis of Polygon-Based CGH by Using GPU
寺口 功，松島 恭治
Isao Teraguchi，Kyoji Matsushima
関西大学 システム理工学部 電気電子情報工学科
Department of Electrical and Electronic Engineering，Faculty of Engineering Science
Kansai University
teraguchi@laser.ee.kansai-u.ac.jp
1 はじめに近年，CGH(Computer-Generated Hologram)と呼ばれる技術が活発に研究されている．CGHとはコンピュ

GeForce GTX 480を使用した．GTX 480は2010年6月の時点で最新のGPUであり，CUDAコアと呼ばれる演算コアを480基搭載している．

ータ上で仮想物体の放つ光波を計算し，干渉縞を数Fig.1に，本研究でGPUに実装したポリゴン法による値合成する手法である．この技術を用いる事で3次元物体光波計算の手順を示す．GPUでは，CPUとGPU物体からの光波そのものを再生するような完全な3次間のデータ転送が遅く，それがボトルネックとなってし元動画を生成する事ができると考えられている．しかしまう．そのため，物体を構成するポリゴンの頂点座標のCGHの数値合成処理には莫大な計算量が必要である

みをGPUに転送し，GPU上でポリゴン光波の計算を行という問題点がある．

い，求めたポリゴン光波をGPU上のフレームバッファにCGHの計算手法としては現在主に点光源法が用いられている．点光源法とは仮想物体の表面に点光源積算する．この処理を全ての可視のポリゴンについて行う事で物体光波を得ている．

を敷き詰め，その点光源からの光波をホログラム面上一つのポリゴン光波の計算は大きく7段階の処理にで重畳する事により干渉縞を得る手法である．点光源

分かれる．はじめに，GPUのメモリ上に複素フレームバ法は単純であるため実装が容易である．しかし，計算ッファ(以下，傾斜フレームバッファ)を用意し，頂点座量が点光源数とホログラムピクセル数の積に比例する

標データからこの傾斜フレームバッファの実部にポリゴため，大きなホログラムや大きな仮想物体では莫大なンを描画する(処理1)．次に拡散位相と呼ばれる光波計算量となってしまう．そこで我々はポリゴン法と呼ぶを拡散させるための位相を乗算して表面関数を生成手法を提案している1．ポリゴン法とは仮想物体表面がする(処理2)．生成した表面関数に対してFFT 演算をポリゴンによって構成されていると考え，ポリゴン単位行う事でそのスペクトルを得る(処理3)．このスペクトルで表面の形成と伝搬計算を行う手法である．そのため，に対し回転変換とキャリアシフトをあわせたスペクトル

点光源法に比べ圧倒的に計算量を削減する事が可能である．しかしながら，回折伝搬にFFTを用い，回転CPU
Vertex coordinatesGPU

2. Multiplication of diffuser

変換と呼ばれる数値処理が必要になるため，実装がComputation ofpolygon field

難しい問題点がある．
点光源法をGPUに実装した例はすでに多く報告さ

False
Acknowledge

れているが，ポリゴン法のGPUによる実装は知られてComplete?

2 ポリゴン法の実装方法
本 研 究 で は グ ラ フ ィ ッ ク ボ ー ド に NVIDIA 社 の3.

FFT

4.

Spectral re-mapping

5. Translational propagation

True

6.

いない．そのため，本研究ではGPUによりポリゴン法CGHの計算時間がどの程度短縮可能かを調べた．

1. Painting polygon shapeTransfer

ObjectfieldTransfer

Inverse FFT

7. Addition to frame buffer

Fig.1 Procedure for computing object fields by usingGPU.

第 4 回新画像システム・情報フォトニクス研究討論会講演予稿集, 阪大, pp.29-30(2010.6.29)
Table1 Environments and parameters used for measurementsof computation time.

Intel Core i7 920 (2.66 GHz)

MemoryPC3-12800 2 GB × 3 (6 GB)

GPUOS
Pixel pitch
Number of pixels

NVIDIA GeForce GTX 480
Windows7 professional x64
10 µm × 10 µm
1024 × 1024, 2048 × 2048,4096 × 4096
632.8 nmWavelength

7.44

6Computation time [sec]CPU8CPU

4

2

1.52
1.03

再マッピング処理を行う事で，ホログラムに平行なスペクトルが得られる(処理4)．なお，再マッピング処理にお0いてスペクトルのサンプリング格子が歪むため，補間0.310.34

CPUGPU

1024×1024

CPU0.50GPUGPU

2048×2048

4096×4096

Fig.2 Computation time measured in the sphere object.

処理が必要である．ポリゴン法はこの補間処理に計算109.25

時間の大きな割合を消費する．そのため，本研究ではGPUのテクスチャメモリに再マッピング前のスペクトル8を転送し，GPUにハードウェアとして実装されているバ
Computation time[sec]イリニア補間を用いる事で計算時間の短縮を行っている．
再マッピング後のスペクトルは，ホログラムと平行な平面上でのスペクトルとなっているが，平面の奥行き位置がポリゴン毎に異なるため，フーリエ空間で短距

6CPU

42.22
2離の並進回折伝搬処理を行い(処理5)，逆フーリエ変0.54換(処理6)を行う事で，ポリゴン光波を得ている．これを0

物体光波全体のフレームバッファに積算する．
3 計算時間の測定
GPUに実装したポリゴン法の計算時間を測定した．
測定に用いた環境とパラメータをTable 1に示す．比較用のCPUとしてCore i7を用い，Hyper-Threading機能をオフにして4コアで計算した．物体モデルとしては112ポリゴンの球と12ポリゴンの立方体を用いた．これらの物体のサイズはホログラムサイズの80%とし，その前面のポリゴンのみを計算している．
4 計算時間の測定結果とまとめ
Fig.2とFig.3に計算速度の比較結果を示す．Fig.2より，球モデルではホログラムサイズが10241024の場合一方，立方体の場合では圧倒的にGPUの計算時間が短いことがわかる．この物体モデルによる計算時間の差はポリゴン数の差に起因すると考えられる．球のようCPUGPU

0.13

0.24

1024×1024

2048×2048

CPU0.62GPU

4096×4096

Fig.3 Computation time measured in the cube object.

な小さなポリゴンによって構成される物体の場合，現状ではポリゴン毎の並列処理を行っていないためGPUの性能を生かしきれていないと考えられる．
なお，GeForce GTX 295に比べ，GTX 480ではGPUによる高速化の効果がかなり高いことがわかった 2．これはポリゴン法の計算過程が点光源法に比べて複雑であることから，よりGPGPU向きのアーキテクチャになったと言われるFermiコア世代のGPUがポリゴン法には有効であるためと考えられる．
参考文献
1) K．Matsushima: “Computer-generated hologramsは僅かにGPUよりCPUより遅くなってしまうがそれ以外のケースではGPUの計算時間が短い事がわかった．

GPU2)

for three-dimensional surface objects with shadeand texture”, Appl. Opt. 44, 4607(2005).
寺口 功，松島 恭治: “GPUを用いたポリゴン法計
算機合成ホログラムの計算”，3次元画像コンファレ
ンス 2010 講演論文集(印刷中).