Vol.2 No.4 2009
10/92
研究論文:実時間全焦点顕微鏡の開発・製品化(大場)−270−Synthesiology Vol.2 No.4(2009)通信は不要となる。ここでは単位時間あたりの画像データ量と画像処理能力の多さから、コラムパラレル型のビジョンチップである、スウェーデンのIVP社のMAPP2200を用いた。基本構成としては、256×256画素のCMOSイメージセンサと、256個のADC、256個のパラレルプロセッサからなる。前章で述べたように、SIMD用語3(Single instruction Multiple data)処理が可能な画像処理アルゴリズムにより、画像の取り込みと処理が高速に行える。(c)並列処理による構成開発を始めた2000年当時は、通常のフレームレートでのデジタル画像処理技術が当たり前のように実用化されてはいたものの、フレームレートを1桁近く上げた画像の撮像と処理は、特殊なビジョンチップを開発しなければ実現しないというのが現状であった。もちろんビジョンチップの開発には1億円程度の開発費用がかかるといわれ、複数の企業を当たってみたものの、快い回答をいただいた企業はなく、試作1号機ではスウェーデンで開発された汎用ビジョンチップMAPP2200を用い、後述する並列処理アルゴリズムを実装することで実現した。処理速度としては2秒程度で実現されたが、目的であるフレームレートでの実時間処理には程遠いものであった。本手法に必要とされる、画像前処理部分のラプラシアンフィルタと平滑化フィルタは、高い処理能力を要する。この処理をハードウエア化したものとして、この章の後で紹介する試作1号機においてビジョンチップで実装した例を図10、11に示す。用いたハードウエアはSIMD処理が容易なチップであることから、上記のIQM値を演算するためには、各画素点で各画素点周辺の画素値を用いた処理として、ラプラシアンフィルタと平滑化を並列計算することが求められる。それぞれの処理について、SIMD処理した例を示す。それぞれの演算結果を見ると、最終的に各画素点でラプラシアンフィルタ(図10のR12)と平滑化(図11のR5)の結果が得られていることが分かる。また、最終的に製品化した際にはこの処理手法を参考にしながら、FPGAを用いてIQM値を算出するシステムを構成した。1999年に試作した試作1号機システムの概観を図12にR1R2R2R30255R4=R2-R1R6=R5-R4R9=R7-R2R8=LOR(R2)R7=ROR(R2)R10=R8-R2R11=R9+R10R12=R6+R11R5=R3-R2I(i, j-1)-I(i-1, j-1)I(i, j-2)-I(i, j-1)I(i, j-1)-I(i, j)I(i, j+1)-I(i, j)I(i, j)-I(i, j+1)I(i, j+2)-I(i, j+1)I(i, j)-I(i, j-1)I(i, j+1)-I(i-1, j+1)I(i, j)-I(i-1, j)I(i+1, j-1)-I(i, j-1)I(i+1, j+1)+I(i-1, j+1)-2I(i, j+1)I(i+1, j-1)+I(i-1, j-1)-2I(i, j-1)I(i+1, j)+I(i-1, j)-2I(i, j)I(i+1, j+1)+I(i-1, j+1)+I(i, j+2)+I(i, j)-4I(i, j+1)I(i+1, j-1)+I(i-1, j-1)+(i, j)+I(i, j-2)-4I(i, j-1)I(i-1, j)+I(i+1, j)+I(i, j+1)+I(i, j-1)-4I(i, j)I(i, j+2)+I(i, j)-2I(i, j+1)I(i, j)+I(i, j-2)-2I(i, j-1)I(i, j+1)+I(i, j-1)-2I(i, j)I(i+1, j+1)-I(i, j+1)I(i+1, j)-I(i, j)I(i-1, j-1)I(i+1, j-1)I(i-1, j)I(i-1, j+1)I(i, j+1)I(i+1, j+1)I(i+1, j)I(i, j-1)I(i, j-1)I(i, j-2)I(i, j-1)I(i, j+1)I(i, j+1)I(i, j+2)I(i, j)I(i, j)I(i, j)I(i, j)alkjhgefidcbalkjhgefidcbalkjhgefidcbalkjhgefidcb010101010101000000akgeicalkjhgefidcb010101010101ljhfdb000000alkjhgefidcb010101010101010101010101010100110000a+ba+b+c+da+ba+ba+bc+dc+dc+dc+de+fe+fe+fe+f+g+he+fg+hg+hg+hg+hi+ji+ji+ji+jk+lk+lk+l+i+jk+lk+lMASK(1)MASK(1)MASK(1)MASK(2)MASK(3)R1R4=cros(R3, 2)R2=cros(R1, 1)R1R3=R1+R2R5=R3+R4R2=ROR(R1)R4=ROL(R1)R5=R4&MASK(1)R3=R2&MASE(1,R)R6=R3 or R5cros(R1, 1)図10 SIMD処理によるラプラシアンフィルタ処理演算図11 SIMD処理による加算演算処理演算図12 試作1号機
元のページ