● エモン(仮称)技術のご紹介(2008/05/17)

  ここでは、ボクセルオブジェクトを高速に表示するエモン技術と
  それを利用したプロトタイプアプリケーションを紹介しています

 〜 方程式を解かなくても物はそこにあるのだ! 〜


● エモンとはなんぞや?

エモンとは、Macintosh(パソコン)でボクセルデータを高速表示&編集するための技術です。2003年3月6から8日まで渋谷で開催された「Friends of "X" 〜Macプログラマーのソフトウェア展〜」で、エモンを搭載したプロトタイプのアプリケーションを発表しました。現在、「EmonC」と呼ばれるJPEGやDICOM画像、そしてMovieファイルからボクセルを作成するコンバート・アプリケーションと、「EmonV」と呼ばれるエモンテクノロジーを搭載したボクセルオブジェクトのビューア・アプリケーション(両方ともDual CPUとPPC G4&G5のAltiVecに対応)、加えて、いくつかのサンプルボクセルデータを公開しております。興味ある方はダウンロードして、「ボクセルとはいったいどんな物なのか?」をご確認ください。高速のMacintoshを所有されている方は、人体のCT画像から作成されたボクセルを表示し、実際に「物体グリグリ感」を試すことが可能です(笑)。

「EmonC」(Universal Binary)や「EmonV」そしてサンプルボクセルが登録されているエモン・ダウンロードサイトはこちらです...

エモンを利用した歯科用アプリケーション「DX_Voxel」が株式会社プラネットから販売されています。

● ボクセルとは何ぞや?

ボクセルとはピクセルの親戚です(笑)。ご存知のように、ピクセルデータとはX,Yの2次元方向に「点」を展開したものです。この点に色を付ければ画像になります。デジカメで撮影した写真や、Photoshopで描いて保存したJPEG画像ファイルなどがそれに相当します。ボクセルとは、そうした2次元のピクセルデータをZ方向へも展開したものです。Movieも時間軸に展開したピクセルデータを持ちますが、こちらは断片としての映像のみが意味を持ちますのでボクセルとは異なります。ボクセルでは、X,Y,Z方向の3次元データを一度に表示することになります。そして、データの内部でも外殻でも...あらゆる角度から...どんな断面でも..即座にすべてを表示できる所に意味があります。

医療番組などで、よくCTスキャナーによる人体の輪切り映像が放映されます。モニターに表示されているのは、あるスキャン位置での輪切り映像ですが、スキャナ内部にはスキャン方向に対して何枚もの輪切りデータが保存されているはずです。これをひとつにまとめた物が、ボクセルオブジェクトの典型的な例です。たとえば、512x512のフルカラー画像(1ピクセル4バイト)は1Mバイトの容量がありますが、512X512X512のフルカラーボクセルオブジェクトの容量は512Mバイトにもなります。ボクセルデータでオブジェクトを表現する場合、それを保存するために大容量のメモリが必要となります。

● 一般的な3D CGとどこが違うのか?

通常の3D CGでは、モデリングとレンダリングの過程を経て3Dオブジェクトを表現します。でき上がった3Dオブジェクトは「映像」としてのみ意味を持ちます。ですから、CGアニメで3Dの人物が歩いていたとしても、映像として表示されない個所のデータ構造には頓着する必要がありません。つまり、体の中が空っぽでも構わないわけです。もし内臓を表示がしたければ、レベルに応じて内臓自体もモデリングする必要があります。NHKの医療スペシャル番組などで登場する映像などはそうした種類のCGです。しかし、視聴者に見せなくてもよい部分については(内臓の中とか)やはり空でもかまわないわけです。

通常の3D CGを「張り子のトラ」や「青森のねぶた」に例えるとすれば、ボクセルは大理石、木材、粘土、とにかく空間の中に何かデータが詰まっている状態を想像すると理解しやすいでしょう。3次元空間に「点」が存在し、その点に適切な色を付けると陶磁器や彫刻になる...でしょうか(笑)。ボクセル表現は、映像の美しさや表現力、表示スピードといった点では、現在の3D CGに及ぶところではありません。しかし、それとはまったく別の表現力を持ち、新たな応用範囲を開拓する可能性があります。メモリ内に保存されているデータを直接「いじる」ような感覚は、現在の3D CGでは味わえない何かを持っています。

● それではエモンの機能紹介

エモンを利用したプロトタイプアプリケーションでは、各種データからボクセルオブジェクト生成し、それをモニターに高速表示し、何らかの編集を加えること試みています。どれも実験的な試みなのですが、そこからはボクセルオブジェクトを応用するためのヒントが見え隠れします。

それでは、このアプリケーションの機能を簡単に紹介をしてみます。添付されている画像はマウスクリックで拡大表示できます。

(1)作る

立方体や球体、円柱、円錐などのディフォルトオブジェクトを作成するだけではなく、連番ファイルとして提供された複数のJPEG、TIFF、PICT、DICOMファイル、またMovieファイルからの画像をコンバートしてボクセルオブジェクト化することも可能です。静止画やMovieからの取り込みでは、不要部分を除外するためのレベル調整やマスク設定も可能です。また、回転体、平行体(押し出し)、自由図形などの手書き画像をボクセル化するツールも持っています。256x256x256x1バイトのオブジェクトであれば、400MHz G4搭載マシンでも、そこそこストレスなく扱えます。

新規ボクセルオブジェクト作成ダイアログ
内部と殻の部分が異なる色の直方体を作成
ペイント機能で平行移動させる物体の断面を描く
平行移動させてで完成したボクセルオブジェクト
画像を平行移動させて重ねることもできる
こんな感じのボクセルオブジェクトになる
完成するとこんな感じ、空間は空間として残る
こちらは回転体の断面を描画している(ろくろモード)
画像ファイルからの変換ではマスク処理が可能 Movieファイルをボクセルオブジェクトに変換


(2)見る

ボクセルオブジェクトをグリグリ回して見るだけではなく、切断面を自由に設定して表示することも可能です。プロトタイプのエモンではRGBAの1ボクセル4バイトデータを保持できますが、16bitグレースケールを任意範囲を8bitに落とし、カーブ変更による疑似色で表示することも簡単です。また、αチャンネルを持てますので、一部の部分や指定色を透明表示にすることも可能です。見やすいように光源を設定して影を表示したり、明るさの明度や深度の変更も簡単です。

グレースケールを疑似色で見るとこうなる 切断面以外を別色にして区別することも可能
全体や一部を拡大表示して確認することも可能
指定色の透明表示を指定していない場合の表示 指定色を透明表示に切り替えるとこうなる

(3)貼る

ボクセルオブジェクトの選択された場所に、指定された大きさで2次元画像を貼り付けます。ボクセルの、裏だろうが、表だろうが、物体の中だろうが、どんな所にも画像を貼ることが可能です(他人の肝臓にアップルマークを貼って遊んだのは私です)。

湯呑み茶わんの底にアップルマークを貼る どんな場所、角度、サイズでも貼ることが可能

(4)塗る

2次元画像の上に何かを描くごとく、ボクセルオブジェクト上に落書きができます。現状では、描画機能は簡単なツールに限定されていますが、やろうと思えば、現状の2Dペイントソフトで実現されている描画機能は全部実現できるはずです(誰がやるの?)この辺はPlug-Inを実装した方がよさそうですね(笑)

湯呑み茶わんに絵付けをする感じでしょうか?

(5)彫る

この機能は、2次元データ対象では絶対に味わえない感触をもたらします。存在しているボクセルオブジェクトをマウスで彫ります。現状では彫るというより掘るに近い感覚でしょうか(笑)。将来的には、刃の形状を交換したり、タブレットの感圧ペンにも対応する予定です。どこまで彫り具合の微妙な感触を再現できるようになるかが勝負です!

無計画に彫り進めると虫食い状態となる(笑)

(6)押す

3D CGのバンプマップみたいな機能ですが、本当に押してオブジェクトに跡を付けます。逆に盛り上げることも可能です。跡の付き具合は登録した画像のグレースケール値を参照して決定します。

微妙に押すと景色が良いオブジェクトが誕生!


(7)盛る

彫る逆の効果ですね。色付きのボクセルを盛っていきます。掘り損じた穴を埋めたりすることも可能です。なにせ対象物に筆を落とした時の指先の微妙な感覚(圧力)が無いので、思う通りの盛りを実現するためには大きなハードルを越える必要があります。作業時の視野の変更などにも課題が残ります。

こんな物しか作れない自分がちょっと悲しい...

(8)拭く

2次元ペイントアプリで言うところのビジュアルエフェクトでしょうか?磨く、汚す、混ぜるなどを作ってみました。混ぜるでは、ボクセルオブジェクトの表面だけではなく、内部のデータも含めて色を混ぜるのが2次元データの場合とは異なります。この機能についても、2次元データで用いられている色々なテクニックが応用できるはずです。

お気に入りの皿は入念に磨くべきでしょう!

(9)浸す

陶芸で言うところの釉薬をかける作業ですね。様々な色の膜でボクセルオブジェクトをコーティングします。その後、掘ったり拭いたりしてやると、表面に思わぬ景色が現れ驚くことになります(イイ仕事)。本当は焼きたいんですけど....。

こちらが釉薬に浸す前のオリジナルです 白い釉薬に浸し表面を拭いたり削ったりする

(10)足す

2つのボクセルオブジェクトを足してひとつにします。足す時点で、2次元画像処理で言うところの追加(OR )重ね(AND)削除(XOR)といった処理が可能です。XORの場合には、足した部分が空間に変換されます。また、足す方のオブジェクトをリピート(繰り返し)させることで、複数足すこともできます。自分の思った場所に、自分の思った方向から別オジェクトを足せるようになるのが、この機能の最終目標です。

直方体と小さな球体を合体させてみました

(11)削る

深さを指定してからマウスドラッグで削り取る領域を描きます。こうしてボクセルオブジェクトを大胆け削り取ります。この場合、削る対象を領域内にするのか領域外にするのかを選択できます。現実と同じく細かい削りの残しが出たりしますので、ちゃんと「ゴミ取り」機能も付いています(笑)。

大胆に削り取る行為には勇気がいります!

(12)潰す

気に入らないオブジェクトを潰してしまう機能です(ウソ)。このように、潰したり、延ばしたり、曲げたり、補完したりする処理も、実際のデータがメモリ上に展開されているボクセルでは、通常の3D CGとは異なるアプローチが必要となります(割るが欲しいとの要望あり)。

先程の湯呑み茶わんを1/3に潰してみました

(12)保存する

完成したボクセルオブジェクトは圧縮してオリジナルファイルに保存するだけではなく、MPEG-4などで圧縮したMovieファイルとして保存することも可能です。これにより、画質の悪化を最小限にした高圧縮のボクセルファイルが作れます。メールなどでボクセルデータをやり取りする場合には、この方法を用いるのが一番でしょう。64Mバイトのボクセルデータを2Mバイト程度まで圧縮します(データ内容にもよる)。また、現在のプロトタイプアプリにはライブラリ機能がありますので、そこに登録しておけば、すぐに呼び出して別オブジェクトの部品として再利用することもできます。

ライブラリに登録!お蔵みたいなもんですね
MPEG-4 Movieファイルへと変換!逆も簡単です

プロトタイプアプリケーションの編集機能を見ると良く理解できるのですが、今までの3D CGを作成する行程とはまったく異なり、日常的に人が「物」に対して行っている操作がそのまま取り込まれています。エモンでボクセルをいじると言うことは、非常に「人間臭い」作業をすることなのだと理解できます。

● レアなボクセルデータ募集中!!

そんなわけで、ボクセルオブジェクト用のデータを大募集します。ビューア登録時に「刺激的」なボクセルオブジェクトが沢山用意されていれば、より多くの人に興味を持っていただけるはずです。現在、人体のCT画像、脳のスライス画像、3D顕微鏡で撮影した試料など、様々な分野の方のご協力により興味深いデータが集まりつつあります。超レアなボクセルデータをお持ちの方(いるのか?)ぜひkoike@ottimo.co.jpまでご連絡くださいませ。当方でそのデータをボクセルオブジェクト化し、プロトタイプのビューアと一緒にお送り致します。

● 宣伝モードその1 ソフトパブリッシャやディストリビュータの皆さんへ

昨今の不況と「ソフトは無料で付いて来る」という風潮のおかげで、「仕事にはあまり役に立たないがちょっと面白いぞ!」といった分野のソフトはあまり売れなくなってしまいました(涙)。昔のマックユーザならば、そんなソフトにこそ飛びついてくれたのですが(そういう資質の人がみんなマックユーザだったのか...)。とにかくソフト屋の私としては、どんな状況であろうとも、何かを売らないと食っていけない現実があります。

そう、そこで「エモン」です!デフレ嵐が吹き荒れる中、「よし、俺が売ってやろう!」と声を上げてくださる勇敢なパブリッシャやディストリビュータの方を募集しております。子供用に機能を簡易化した「右脳ぶんぶんエモン君」なんてどうでしょうか?陶芸シミュレータとして特化させた「ろくろ名人」なども渋いチャレンジです(笑)。エモンを活用したソフト開発に興味をお持ちで、オフライン、オンライン問わず売ってやろう!と言ってくださる強者の方、ご連絡をお待ちしております。

● 宣伝モードその2 メーカや大学の研究者の皆さんへ

大学や研究所の先生に話を聞いてみると、最近では3Dデータを取りこめるスキャナーや電子顕微鏡などが色々な分野で普及しているようです。例えば、現状のボクセルデータの点には「色」が割り振られていますが、そこへ物質の特性や挙動を割り振ることにより、より役立つ科学シミュレーションが確立できるかもしれません。しかし、取り込んだボクセルデータを簡単にオブジェクト化し、効率良く編集&解析できるソフトが少ないのがネックのようです。そう、優秀な道具とそれを購入するための資金不足は、多くの研究所で頭の痛い問題です。

そう、そこで「エモン」です!エモンを使えば、取り込んだボクセルデータを簡単にオブジェクト化でき、低価格なMacintosh(パソコン)でグリグリ回してプレゼンできてしまいます。エモンへのちょっとした機能追加で、自分の研究によりフィットしたボクセル表示、編集、解析が可能になるかもしれません。もしメーカ、大学、医療関係者で、ご自分の研究にエモンがマッチしているとお考えの方は、ぜひご連絡ください。何らかのご協力が可能かもしれません。また、特定分野や研究に特化したオーダーメードソフトの開発も承っております。ご連絡お待ちしております。

● 宣伝モードその3 プリンタやスキャナ周辺機器メーカの皆さんへ

スキャナーやプリンター、画質、価格、スピードなど、性能アップは来るところまで来てしまいました。これでは、ユーザによる買い替え需要も頭打ちになるでしょう。さすがの我が家でも、当分新しいプリンターを購入する予定はありません(笑)。加えて「周辺機器で欲しいものはあるのか?」と問われた時に、興味をそそる一品が思い浮かばないのもまた事実です。新しい需要を換気するために、デジタルカメラや携帯電話に続く「次なる周辺機器」を投入する作戦が必要ではないでしょうか?

そう、そんな時に「エモン」です!ボクセルデータの出力をそのまま「物質化」できる、3次元カラープリンターはいかがでしょうか?レーザの焦点で樹脂を固体化する装置はすでに存在しています。それのコンシューマ版を作ればOKなのです(ジュラシックパーク3で恐竜のノド仏を成型した装置)。ついでに、樹脂内に染料のマイクロカプセルを入れるとか、焦点温度で発色が変わる樹脂を採用するとかして、固体化した物体の内部にまで色が付けられると最高です。ボクセルデータをメールで受け取り、自分の家で物体化するなんてスゴク素敵だと思いませんか?まさにドラ「えもん」の世界!コンシューマ用NMRを開発しろとまでは言いませんので(笑)夢を追及されている技術者の方々、ご連絡をお待ちしております。

● 宣伝モードその4 パソコンメーカ(Apple社)の皆さんへ

昔は、アプリケーションを(某ワープロとか...)バージョンアップする度に処理速度が遅くなるので、仕方なくパソコンを買い替えていたユーザが沢山いました。ところが、今ではそうした状況も夢物語です。CPUは過剰に高速になり、メモリとHDも使い切れないほど搭載されている現状マシンを、短期間で買い替えようと思う人がそれほどいるとは思えません。それなのに、相変わらずCPUメーカは速度を歌うマーケッティングで消費者の気を引こうとし、パソコンメーカが打ち出す需要喚起策にも手図まり感が漂います...。その有り余ったパソコンパワーを十二分に使い切る、何か新しい活用分野が必要だとは思いませんか?

そう、そんな時に「エモン」です!エモンで「面白いことをしたい」と考えると、現状の最速マシンでもメモリ、HD、CPUスピードが不足しています。エモンを使うと、誰もがすぐにDual 64Bit PowerPC、128Gメモリ、10THD搭載マシンが欲しくなり、Apple Storeへ駆け込みます(ウソ)。リソース大食いのボクセルテクノロジーを、次期QuickTimeにでも搭載し、パソコン活用の新需要を掘り起こしてみてはいかがでしょうか?はっきり言って、新しいパソコンの活用方法を見つけて提供していかないと、64Bit CPU搭載機の未来は無いと思われます。ご連絡をお待ちしております(笑)

●最後に...

簡単なエモンの紹介でした...。エモンを搭載したボクセルビューアとサンプルオブジェクトは無事に本ウェブサイトに登録することができました。次は、OpenGLを利用したボリュームレンダリング対応のボクセルビューアを開発する予定でいますので、もうしばらく待ちください。

「ピクセルだってMacPaintから始まった!」

copyright 2004 Ottimo, Inc. All rights reserved
無断転載・引用禁止
Contact us: koike@ottimo.co.jp