文献情報： HODIC Circular Vol. 37, No. 4, pp.20-27 (金沢大学サテライトプラザ, 2017.11.17).
映像情報メディア学会技術報告 AIT2017-160/3DIT2017-23

HODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)

高解像度 CGH におけるスイッチバック法隠面消去処理の GPU を用いた高速化
中清 裕貴

松島 恭冶

関西大学 システム理工学部 電気電子情報工学科〒564-8680 大阪府吹田市山手町 3-3-35
E-mail:あらましnakase@laser.ee.kansai-u.ac.jp

全方向視差 CGH で自己オクルージョンを正しく処理できるスイッチバック法にGPU を用いた場合の計算時間短縮の効果を評価した．高解像度 CGH の計算には GPU のメモリが不十分であるため，準高解像度 CGH について，計算全体あるいは部分的に GPU を使用した場合の計算速度の向上率を測定した．
キーワード 計算機合成ホログラム，ポリゴン法，スイッチバック法，GPUSpeedup of switch-back occlusion processing in high-definition CGH using GPU
Yuki NAKASE

Kyoji MATSUSHIMA

Department of Electrical and Electronic Engineering, Kansai University
Yamate-cho 3-3-35, Suita, Osaka 564-8680, JapanE-mail:nakase@laser.ee.kansai-u.ac.jp

Abstract Validity of GPU assist is evaluated for the switchback method that can properly process
self-occlusion in full-parallax CGHs. Because GPU memory is not large enough to keep the whole wave
field of high-definition CGHs, the computation times are measured in cases where the whole or part ofcalculation is executed with GPU in quasi high-definition CGHs.
Keyword

CGH, Polygon-based method, Switchback method, GPU

1. はじめにを得るためにはピクセル数を増やす必要が近年，コンピュータホログラフィ技術のある．実際，ホログラムらしい立体感が得進歩によって，数 10 億ピクセル以上の高解られる広視域大画面の高解像度 CGH では

像度計算機合成ホログラム(以下 CGH)では数 10 億ピクセル以上が必要であり，その計光学ホログラフィに近い再生像が得られる算量は莫大になる．またそのため，非常にようになった．コンピュータホログラフィ

長い計算時間がかかる．そこで，我々は計で広い視域を得るためには，CGH の干渉縞

算時間短縮のための波動光学的な数値合成画像のピクセル間隔を小さくしなければな法としてポリゴン法を提案している[1]．

らない．そのため，十分大きな画像サイズ

CGH において自然な再生像を得るために
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)は隠面消去も重要である．ポリゴン法は波計算機の性能は年々急速に向上して来て動光学的な手法であるためシルエット法ないるが，高解像度 CGH の計算にはまだまだどの波動光学的な手法と相性がいい．ここ長い時間がかかる．CPU よりも高い演算性

で，シルエット法とは，遮蔽物のシルエッ能を持つ GPU(Graphics Processing Unit) をトをマスクとして光波遮蔽を行う近似的手

汎用計算に用いる GPGPU(General Purpose法である[2]．

GPU) によって波動光学的な計算の時間がシルエット法には物体のシルエット形状削減できることも報告されているが[5]，高のマスクで光波を遮蔽する物体単位シルエ

解像度 CGH の作成には莫大なメモリが必

ット法とポリゴン形状のマスクでポリゴン要になるため，ビデオカード用の GPU では毎に光波を遮蔽するポリゴン単位シルエッ最新の物でも本格的な高解像度 CGH の計ト法がある．物体単位シルエット法は物体算にはメモリが不十分である．そのため本の数と同じ回数だけの処理で隠面消去を行研究では，8K×8K と 16K×16K (1K=1024)

うため処理が高速である[3]．しかし，物体の準高解像度 CGH をスイッチバック法に単位シルエット法では物体相互間のオクルより計算した場合について，計算全体にージョンを再生することできるが，物体自GPU を用いた場合と部分的に用いた場合の体に凹面がある場合に生じる自己オクルーそれぞれで GPU による計算速度の向上をジョンを正しく再生することができない．

評価した．

自己オクルージョンを正しく再生するため

2. スイッチバック法とサブモデル分割にポリゴン単位シルエット法を用いればよスイッチバック法とは，Babinet の原理にいが，その場合，ポリゴンの数と同じだけ基づき，シルエットマスクを反転したシル隠面消去を行わなければならないため計算エット開口を用いてポリゴン単位シルエッ時間が長くなってしまう問題があった．こト法を高速化する手法である．シルエットの問題を解決するために，Babinet の原理と開口を用いると，開口部分の光波の伝搬計

部分光波伝搬を用いた高速な隠面消去法と算だけで光波遮蔽処理ができるため，大幅してスイッチバック法が提案されている[4]．に計算量を減らすことができる．スイッチ開口

開口

物体平面

物体平面
ポリゴン

ポリゴン

ポリゴン光波最大回折範囲

最大回折範囲(a) 逆方向伝搬(b) 順方向伝Fig.1 スイッチバック法における一つのポリゴンの処理
搬
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)

ホログラム面

ホログラム面y

スイッチバック処理

各サブモデルのスイッチバック処理

物体y

サブモデル

zz
サブモデルの物体平面群

物体平面

ホログラム面への全光波伝搬(4倍拡張)

ホログラム面への全光波伝搬(4倍拡張)

サブモデル間の全光波伝搬

(a)

(b)

Fig.2 サブモデル分割を用いない場合(a)と用いた場合(b)のスイッチバック法
バック法の原理と定式化の詳細については，文献[4]を参照して頂きたい．
スイッチバック法における 1 つのポリゴンの処理を Fig.1 に示す．一つのポリゴンの開始
手法4

手法3

全サブモデルの計算処理では，(a)に示すように，まず物体平面上の全光波からポリゴン光波の最大回折範囲を部分光波として切り出し，ポリゴンの位置まで逆方向に伝搬してシルエット開口

手法2サブモデルの全ポリゴンの計算

部分光波の逆方向伝搬(FFT×2)によるマスク処理を行う．次に，(b)に示すように，ポリゴン光波を加算して物体平面まで順方向伝搬し，全光波に加算する．

マスク処理
手法1

ポリゴン光波の計算(FFT×2+補間処理)

この手法では，Fig.2 に示すように物体モデルが奥行方向に長い場合，物体平面上のポリゴン光波の回折範囲が広がってしまう
ため，前述の順方向・逆方向伝搬計算で必要なサンプリング数が多くなってしまう．
この問題を解決するために物体モデルを奥行方向の複数のサブモデルに分割する手法を用いる．この手法では，まず最奥のサブモデルについてスイッチバック法による処理を行い，そのサブモデルの中央付近に設置した物体平面上で物体光波を求める．こ部分光波の順方向伝搬(FFT×2)サブモデルの全ポリゴンの計算終了
サブモデル間の全光波伝搬計算
全サブモデルの計算終了
全光波をホログラム面へ伝搬(4倍拡張)
終了の光波を次のサブモデルの物体平面まで全光波伝搬し，再びスイッチバック処理を行

Fig.3 物体光波計算手順．赤色破線の範囲をう．これをホログラムに最も近いサブモデ

GPU で処理している
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)

ルまで繰り返す．これによりポリゴンと物は短いため，一般にサンプリング窓の 4 倍体平面の距離が減少するため必要なサンプ拡張は必要ない．伝搬した全光波に対してリング数を削減することができる．

次のサブモデルにおけるスイッチバック隠3. スイッチバック法による物体光波の計算

面消去処理を行う．
同様の計算を最奥から順に最後のサブモ手順
サブモデル分割を用いたスイッチバック

デルまで繰り返し，全てのサブモデルを処法の計算手順を Fig.3 に示す．まず，最奥に理した後，全光波をホログラム面まで伝搬ある一つのサブモデルについて，そのサブすることで CGH における物体光波を計算モデルに含まれる全ポリゴンを最奥から順することができる．なお，この最後の全光に処理する．一つのポリゴンの処理は，前波伝搬計算は一般に距離が長く，4 倍拡張

述のとおり，逆方向伝搬とマスク処理，ポが必要である．

リゴン光波の生成と加算，順方向伝搬から

4. GPU によるスイッチバック法の支援なっている．合計で 6 回の FFT が必要であ

前述のとおり，GPU のローカルメモリがるが，これらの処理はシルエット開口の範足りないため，すべての処理を GPU で行う

囲だけで良いため全光波よりはるかに小さことは困難である．そのため，GPU で処理な部分光波のみの処理である．

する範囲を変えた 4 種類の手法を評価した．

一つのサブモデル内の全ポリゴンのスイッチバック隠面消去処理が終わったら，得られた全体光波を次のサブモデルの物体平面まで伝搬計算する．これは全光波の伝搬であるため，サンプリング数が多く時間がそれぞれの手法で GPU が処理する範囲をFig.3 に示している．
手法 1
Fig.3 と 4 に示すように，ポリゴン光波生成計算のみを GPU によって行う場合を手かかる．ただし，サブモデル間の伝搬距離
CPU
全体フレー
ムバッファ

CPUGPU
全体フレー
ムバッファ

モデル
データ

GPU

モデル
データ

部分光波

頂点データ
部分光波

ポリゴン
光波計算
部分フレー
ムバッファ

頂点データ

部分光波

部分フレー
ムバッファ
ポリゴン光波計算
前方伝搬・後方伝搬
マスク処理
部分フレー
ムバッファ

1ポリゴンの処理
1ポリゴンの処理

Fig.4 GPU における処理とデータ転送(手法 1)

Fig.5 GPU における処理とデータ転送(手法 2)
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

法 1 とした．この手法では，GPU 側ではポVol. 37, No. 4 (Nov. 2017)

手法 3

リゴン光波の計算に必要なフレームバッフ

この手法では，Fig.6 に示すように，スイァのみが必要であるため，GPU 側に必要なッチバック法における計算のほぼすべてをメモリが最も少なくてすむ．

GPU で行うが，最後の全光波のホログラムデータの転送については，一つのポリゴ面までの伝搬計算のみを CPU で行う．これンについて 1 回だけポリゴン光波の計算結は，この伝搬計算のみ 4 倍拡張が必要なた果(部分光波)を GPU から CPU へ送ることにめ，大きなメモリが必要であるためである．

なる．これが処理するポリゴンの回数分必

この手法では，GPU 側で全光波と部分光波のフレームバッファ，ポリゴン光波生成要となる．

計算に必要なメモリのすべてが必要である．

手法 2
Fig.5 に示すように，スイッチバック法における一つのポリゴンの計算の全過程をGPU によって行う場合を手法 2 とする．この手法では GPU 側に部分光波伝搬のフレームバッファとポリゴン光波生成のためのフレームバッファが必要になるため，必要なメモリが手法 2 よりもやや多くなる．

中でも全光波のフレームバッファは 16K×
16K の CGH では 2GB となるため GPU のメモリの大部分を占めることになる．ただし，データ転送については，全光波のフレームバッファを GPU から CPU へ一度だけ転送するだけで済む．
手法 4

この手法では，CPU 側に保持した全体光Fig.7 に示すように，この手法では光波デ波から切り出した部分光波の GPU への転ータの全てを GPU 側に保持し，すべての計送と，処理した部分光波の逆方向の転送が算を GPU で行う．しかし，手法 3 においてポリゴン毎に 1 回ずつ必要である．

CPU 側で行った 4 倍拡張を用いたホログラ

CPU

GPU

モデル
データ

CPU

全体フレー
ムバッファ

モデル
データ

全光波

全体フレー
ムバッファ

頂点データ

頂点データ 全ポリゴンのス

全体フレー
ムバッファ

GPUイッチバック処理

全ポリゴンのス
イッチバック処理

全体フレー
ムバッファ

全体フレー
ムバッファ
全光波の4倍拡張伝搬

全光波の4倍
拡張伝搬
全体フレー
ムバッファ

Fig.6 GPU における処理とデータ転送(手法 3)

全体フレー
ムバッファ

全光波
全体フレー
ムバッファ

Fig.7 GPU における処理とデータ転送(手法 4)
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)

ム面までの全光波伝搬計算も GPU で行うホログラム面物体yため，16K×16K の CGH では GPU のメモ
リ上で全ての光波データを保持することが8mmxできない．そこでこの場合は物体光波を二分割し，シフテッド角スペクトル法を用いz050mmて伝搬計算を行っている．
5. 速度比較

Fig.8 3D シーンとモデルの形状

5.1. シーン構成

Table 1 CGH のパラメータ本研究ではスイッチバック法による隠面ピクセル数

8,192 × 8,192
16,384 × 16,384

ピクセル間隔0.8μm × 0.8μm

消去処理を確認する為にオクルージョンのある物体モデルを使用した．また，ポリゴン数による比較を行うために同じ物体でポリゴン数が違うものを用意した．用いた物
体モデルと座標系を Fig.8 に，またパラメー

波長タを Table 1 に示す．
5.2.計測環境

632.8 nmモデル
ポリゴン数
サブモデル分割数

モデル 1モデル 2

5000

2500
16Table 2 測定環境
ホスト

GPU によるスイッチバック法を用いたポCPU

Intel Core i7-6800K(3.40 GHz)

メモリ

32 GB

コア

6リゴン法と CPU によるスイッチバック法を用いたポリゴン法の手法 1 から手法 4 までの速度比較を行った．計測に用いた環境
を Table 2 に示す．
5.3.計算時間の測定結果
GPU を用いない場合の計算時間を Fig.9に，また GPU を用いた各手法による計算時間の測定結果を Fig.10 と 11 に示し，速度向上率を Fig.12 に示す．ここで，速度向上率を

TCP U
(1)
TGP Uと定義している． TCP U と TGP U はそれぞれR

CPU と GPU による計算時間である．
これらの結果からわかるとおり，全ての場合で GPU を用いると計算時間が短縮し

デバイス
GPU
メモリ
CUDA コア
ソフトウェアNVIDIA GeForce GTX
TITAN X (1.08 GHz)
12 GB
3072
CUDA 7.5ていることが分かる．最も速度向上率が高かったのは手法 3 で 16K×16K のモデル 2を処理した場合であり，最も低かったのは
手法 2 で 8K×8K のモデル 1 を処理した場合であった．GPU で処理する範囲が大きいほうが速度が向上すると思われたが，8K×8K では手法 2 の方が手法 1 より遅い結果となった．これは手法 2 のデータ転送量が多いためと考えられる．一方，16K×16K でHolographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会
300

300

10059.2

61.6

モデル2200

モデル1

計算時間[s]224.9

モデル274.5

モデル1100

モデル2200

CPU 16K×16K269.2

モデル1

計算時間[s]Vol. 37, No. 4 (Nov. 2017)

72.0
49.8

44.2

49.8

36.9

37.0

24.40

手法108K×8K

85.7

88.5
69.8

2.01.26

モデル2113.1

速度向上率R

153.0

モデル2161.7

モデル13.0

204.3

198.1

モデル1

計算時間[s]手法44.0300

100

手法3Fig.10 GPU による 8K×8K の測定結果

Fig.9 CPU による測定結果

200

手法216K×16K

2.53
2.01
1.50

1.401.03

1.67

1.24

1.00

手法1

手法2

手法30.0

手法4Fig.11 GPU による 16K×16K の測定結果
は，手法 4 が手法 3 よりも遅い結果となっ

手法1

手法2

Fig.128K×8K 速度向上率

では各ピクセルを並列に処理する為，ピクセル数が多い方が効率が良くなるためこのような結果となると考えられる．一方，ス
イッチバック法ではポリゴンを並列処理しないため，いずれの手法でもポリゴン数が少ない方が処理時間が短くなった．
6.まとめ
現在のところ，スイッチバック法を用いたポリゴン法によって高解像度 CGH の計算を行うために十分なメモリをもつ GPUを用意することができない．そこで本研究では全ての計算に GPU を用いるだけでは

モデル1

速度向上率R

16K×16K の方が速度向上率が高い．GPU

2.0

モデル2

3.14 3.22

3.0

同じ手法 3 で比較すると，8K×8K よりも手法44.0た．これは，メモリが足りずに光波を分割した影響を大きく受けているためである．

手法3

1.36 1.39

2.38

1.32

2.54

1.47

1.00.0

手法1Fig.13

手法2

手法3

手法4

16K×16K 速度向上率

なく，一部の計算に GPU を用いる手法も実装し速度比較を行った．
当然ながら，GPU で処理する部分が多いほど高い速度向上率が得られる結果となった．しかし，光波を分割して伝搬を行った
場合には，逆に速度向上率が低くなっている．以上の点から，手法 3 が最も速度向上率とメモリ使用量のバランスが取れていると言える．しかし，本格的な高解像度 CGH
Holographic Display Artists and Engineers ClubHODIC Circular ホログラフィック・ディスプレイ研究会

Vol. 37, No. 4 (Nov. 2017)

では，手法 3 でも全体光波をメモリに格納しきれないため，物体光波を分割する必要がある．なお，物体光波を分割せずに 4 倍拡張付きの全光波伝搬が行える程度の解像度の CGH であれば手法 4 の速度向上率が手法 3 を上回ることが分かった．
7.謝辞
本研究は，JSPS 科研費 15K00512，文部科
学省私立大学戦略基盤研究形成支援事業(平成 25 年～平成 29 年)，および科学技術振興機構産学連携バリュープログラム
VP29117941340 の助成を受けたものである．
文 献[1] K. Matsushima, “Computer-generated
holograms for three-dimensional surface
objects with shade and texture”, Appl. Opt.
44, 4607-4614(2005).
[2] K. Matsushima and A. Kondoh, “A wave
optical algorithm for hidden-surface removal
in digitally synthetic full-parallax hologramsfor three-dimensional objects”, Practical
Holography XVIIIand Holographic
Materials X, SPIE Proc. #5290, 90-97(2004).

[3] K. Matsushima and S. Nakahara,“Extremely high-definition full-parallax
computer-enerated hologram created by
the polygon-based method”, Appl. Opt. 48,34, H54-H63 (2009).
[4] K. Matsushima, M. Nakamura and S.
Nakahara, “Silhouette method for hidden
surface removal in computer holography
and its acceleration using the switch-backtechnique”, Opt Express 22, 24450-24465(2014).
[5] T. Shimobaba, T. Ito, N. Masuda, Y. Ichihashi,
and N. Takada, “Fast calculation of computergenerated-hologram on AMD HD5000 series
GPU and OpenCL”, Opt. Express 18, 99559960 (2010).

Holographic Display Artists and Engineers Club