radium.png
HOME | ARCHIVE | PRODUCTS | ABOUT | RSS

風邪

2004-10-04

久しぶりに風邪を引いた。

突然に喉が痛くなったと思ったら,案の定その直後に熱を出してしまい,土日を丸々ふいにしてしまった。症状が出始めたのは先週末の仕事が終わる頃のことで,土曜に出社しようと起き上がった頃には,もう体中がだるくなっていた。やはり,1年に1回ぐらいのペースで風邪を引いてしまう。

休日の間に復帰することができたのは幸いだったと思う。そろそろ,土日分も暗黙のうちに勘定してしまうようなスケジューリングになってきていた手前,土日をすべて寝て過ごしてしまうのは不本意ではあったのだけれど,逆に言えば,無理のあるスケジューリングが祟ったということなのだろうかと思う。

今日は,打ち合わせやスケジュールの検討,文書の作成やメール書きなどに終始し,本業のコードは1行たりとも書くことなく業務が終了した。最近はそんな日も珍しくないかもしれない。以前と比較すると随分と仕事の性質が変化したものだと思う。コードを書く仕事は,コードを書くこと自体が楽しいと感じることがあるけれど,今の仕事は,それとは少し違うものを感じる。

もちろん,やりがいはある。例えば,登山家に対して,酸欠に喘ぎながら悪路を往くことや,シュラフの中で寒さに凍えることなどが楽しいかと聞けば,その行為自体が楽しいというのとは少し違うという答えが返ってくるのではないかと思う。では何故山を登るのかと問えば,恐らく,困難に立ち向かい挑戦すること自体にやりがいを感じるからと答えるのではないかと思う。

だから,連続した打ち合わせや,長文のメール書きなど,それ自体が楽しいわけではないのだけれど,やりがいは感じることができる。ゴールがあると信じられるうちは,いくらでも頑張ることができる。そういうものだと思う。


病み上がり

2004-10-05

まだ喉が痛む。本調子ではない。

色々あって忙しさが真に迫ってきた感がある。忙しいけれど, iPAQ と Egress のおかげでブログ等はチェックすることができている。

Egress は Pocket PC 用の RSS リーダーだ。

http://web.newsguy.com/GarishKernels/egress.html

今まで試してみた中では最も出来が良く,動作も安定していたことから,登録して愛用するに至っている。更新頻度が高く,今後の発展にも期待することができると考えている。

iPAQ は,当初の目的であった PDF や HTML, RSS の閲覧のほか,スケジュールの管理やメモ取りのような,ごく普通の PDA 的用途にも活用している。実のところ, Palm や Psion の頃の苦い経験から,本来の PDA 的な用途にはそれほど期待していなかったのだけれど,案外に重宝してしまっているというのが今のところの感想だ。やはり,母艦 (PC) との連携の良さが強みになっているのではないかと思う。もちろん, Zaurus や CLIE でも同じようなことは可能であるものの,少なくとも昔の Palm や Psion では無理が感じられたと記憶している。

iPAQ と言えば,先日,日本でも iPAQ の新モデルの発表があり,少し安心した。

http://pc.watch.impress.co.jp/docs/2004/0922/hp.htm

http://www1.jpn.hp.com/products/handhelds/pocketpc/

「少し安心した」のは,北米では iPAQ のスマートフォン化が始まっており,そのことが日本国内での展開に影響を与えるのではないかと心配していたためだ。

http://www.engadget.com/entry/7931616626104684/

最近,北米市場においてスマートフォン製品のリリースが相次いでいるものの,売れ行き等に関しては調べてみたことが無いため,実際どの程度消費者に受け入れられているものなのか,まったく把握できていない。少なくともギーク層には palmOne の Treo などが受け入れられているようなのだけれど,それが一般層にも受け入れられているのかと言うと,疑問に残るものがある。

http://www.palmone.com/us/products/smartphones/treo600/

ともかく,このサイズの機器を携帯電話として用いているという点に驚愕する。小さくて細いケータイが常識となった日本国内においては,絶対に理解を得ることのできない仕様だろうと思う。初代 iPod が「驚くほど小さい」と評価されていたことに対する違和感が,ここでもまた復活する。単純に身体の大きさの問題か,あるいは……。


Fail Fast

2004-10-06

風邪は治りかけている。喉の痛みは無くなったけれど,今度は咳が出てくるようになった。

Hacknot の Mr Ed 氏が,また何やら面白いことをやらかしている。

http://www.hacknot.info/hacknot/action/showEntry?eid=67

今度の噛み付いている相手は IEEE Software 誌だ。同誌の9・10月号に掲載された Jim Shore 氏の "Fail Fast" という題名の記事が, "Design by Contract™" (「契約による設計」)のアイデアをベースとしているにも係わらず,それを参考文献として明示していないことに対して痛烈な批判を送っている。皮肉と冗談が混ざったような微妙な内容ではあるものの,論旨は至極真っ当であると感じられる。氏のいつもの芸風だ。面白い。

特に面白いのは,「メソッドの作成中はアサーションを書かない方が良い」とする Shore 氏の提言に対して,チューリングの講義を引用して反論していることだ。 Mr Ed 氏によれば,コンピュータの基礎理論構築への貢献で知られるチューリング (Alan Turing) は, 1950 年のケンブリッジ大学における講義の中で,個々としては検証の容易な限定的仮定(アサーション)を多数設定しておくことが,プログラム全体の検証に役立つことを指摘している。つまり, Shore 氏の提言は,今から 50 年前の,真空管でコンピュータが動いていたような時代に,既に否定されていたという皮肉だ。

ちなみに, "Design by Contract™" は Eiffel Software 社の商標であるために TM が入る。

http://en.wikipedia.org/wiki/Design_by_contract

そのためかどうかは知らないけれど, "DBC" という略称も一般的に用いられているようだ。

DBC とほぼ相反する関係にある概念が「防衛的プログラミング」 (defensive programming) だ。

http://en.wikipedia.org/wiki/Defensive_programming

この二つの概念は,どちらか一方が絶対的な正解というわけではないため,両方の概念を上手く使い分けることが望まれる。

この辺りの運用方針は,エラー処理等も含めて一定のルールとして明文化されるべきであると考えているのだけれど,なかなか明確な結論を出すことは難しいと感じられる。プログラムの問題だけでなく,プロジェクト全体としての開発効率にも影響を与える問題であるため,本当は優先して取り組むべき話題なのだけれど……。


C# vs Delphi

2004-10-07

体調は良いのだけれど,咳が強くなってきた。のど飴が手放せない。

Joel Spolsky 氏の記事 "How Microsoft Lost the API War" は,氏のブログ "Joel on Software" に掲載されて以来,様々な反応を呼んだ。

http://www.joelonsoftware.com/articles/APIWar.html

件の記事において Joel 氏は, Windows アプリケーション開発環境に対する Microsoft の姿勢が変化しつつあることを指摘している。旧環境との互換性を最も重んじる "Raymond Chen camp" の勢力が弱まり,その代わりに,新しいフィーチャーを精力的に投入し続ける "MSDN Magazine camp" の勢力が強まりつつある……というのがその論旨だ。ここで重要なのは,旧来の Windows 環境においてアプリケーション制作者とユーザの両方から絶大な信頼を得ていたのは,前者の思想が慎重に守られていたがゆえであるという事実だ。 Windows が旧環境との互換性を失い,キラーアプリケーションの多くがプラットフォームを選ばないウェブアプリへと移行したとしたら, Windows は現在のような絶対的な優位性を保つことができるだろうか。 Microsoft は新しいプラットフォーム (Longhorn) の優位性を説くものの,果たしてアプリケーション制作者達は新環境上での僅かばかりのメリットを得るためにアプリケーションを書き直す労力を払うだろうか。

Joel 氏の意見に対する Microsoft 側の反応は様々だ。反論を唱える人もいれば,共感を表明する人もいる。例えば,同社の XML 技術者である Dare Obasanjo 氏などは,始めは Joel 氏の意見に対して否定的な所感を持ちながらも,最終的には肯定的な意見を述べている。

http://blogs.msdn.com/DareObasanjo/archive/2004/08/25/220251...

私はこの一節を最初に読んだとき,その内容に賛同しかねた。否定的な見方をしていたためだ。しかし,あれから数ヶ月が経った後に,我々がこの数年の間に行った様々な決定を顧みてみると,そこにはそのパターンが存在していることに気付いたのだ。

Microsoft 外の人々の反応の中で特に面白かったのは, RSS リーダー "FeedDemon" の制作者として有名なシェアウェア作家 Nick Bradbury 氏の反応だ。

http://nick.typepad.com/blog/2004/06/how_microsoft_l.html

Bradbury 氏と Joel 氏は,小企業の経営者という立場を共有しているためか,その意見の中に類似する点を見つけることができる。例えば,上の記事において Bradbury 氏は, FeedDemon の開発環境として Delphi を選択した理由を以下のように述べている。

おかしな話ではあるが,私は以前, C# で FeedDemon 1.0 を作成すると同時に,開発環境を .NET へと移行させることを真剣に考えていた。 C# 自体は非常に良い言語であるし, .NET は多くのことを Win32 よりも簡単にしてくれる。しかし,既存の幾つかの RSS リーダーは, .NET がメモリを浪費することから悪い評価を得ていた。しかも, 20MB 以上の .NET ランタイムを必要とすることは,ダウンロード系のシェアウェアにとっては自殺的な行為だ。そこで私は最終的に, TopStyle や HomeSite (いずれも Bradbury 氏作のシェアウェア)の作成に使用していた Delphi を,ここでもまた用いることにした。 Delphi はスタンドアロンの Win32 実行形式を生成するため,特別なランタイムを必要としない。このことは,もうしばらくの間, Dephi を選択するもっともな理由となることだろう。

このくだりには, Joel 氏の記事 "Please Sir May I Have a Linker?" と多くの類似点を見つけることができる。

http://www.joelonsoftware.com/articles/PleaseLinker.html

氏らが指摘しているように,既存のアプリケーションを .NET 向けに書き直す理由は存在しないことが多い一方で,逆に .NET の利用を避けるべき理由は存在することが少なくない。たとえ Longhorn が .NET をネイティブにサポートしたとしても, Longhorn の導入数が XP のそれを上回るにはそれから更に数年が必要とされるはずであり,状況がすぐに変化するわけではない。結局のところ C# や .NET は Visual Basic の代替品として用いられるというのが当面のあり方なのだろうと思う。


KRISTAL Audio Engine

2004-10-08

041008.jpg

咳が止まらない。喉は痛くないのだけれど,油断するとすぐに咳が出てくる。風邪をひいてから,もう1週間ぐらい経っているはずだ。いい加減,そろそろ完治して欲しい……。


何故か最近,自分の中で DTM 熱が復活してきており,忙しい日常の中に暇を見つけては,色々と試行錯誤を繰り返してみている。

元々 DTM に関してはあまり詳しいわけではないのだけれど,そんな素人の目から見ても,ここ数年の間に DTM をめぐる環境は目まぐるしく進化を遂げているように見える。一般的な PC に搭載されている CPU が,高品質なソフトウェアシンセサイザーやソフトウェアエフェクターを実用的な速度で動かすほどの処理能力を持つようになったためだ。また,メモリやハードディスクの大容量化も影響が大きい。この辺りの事情は,例えばノンリニアビデオ編集などにも通じるものがある。以前ならば,高い金を出して専用の機材を買わなければ出来なかったようなことが,茶の間の PC で実現可能になってしまっている。

良質なフリーソフトウェアも色々と登場してきている。例えば,ドイツは Kreative.org の "KRISTAL Audio Engine" などは,機能,操作性,見た目,共に優れた逸品だ。

http://www.kreatives.org/kristal/index.php

KRISTAL Audio Engine は,マルチトラックレコーディング環境を提供するソフトウェアだ。こういったソフトを専門用語で何と呼ぶのか分からないのだけれど,要するにいわゆる MTR だと思う。 16 トラックまでの多重録音や,波形の簡単な編集,各種エフェクターおよびイコライザーの適用などが行えるようになっている。エフェクターは標準で4種類(ディレイ・リバーブ・コーラス・リミッター)が搭載されているほか, VST プラグイン形式にも対応しているため,適当な VST エフェクトを入手すれば,自分の好きなエフェクトを追加することも可能だ。

このソフト自体にはシーケンスの機能は無いため,基本的に外部の音源の出力を取り込んで使うことになる。自分は,手元のシンセ (EMX) の音を PC 上で多重録音したいと考えていたところだったので,ちょうど都合が良かった。 EMX には3系統しかエフェクターが用意されていないため, MTR 上でエフェクトを好き放題かけることができるのは非常に嬉しい。標準では足りないエフェクトは VST プラグインで補うことができる。 VST プラグインならフリーのものが数多く公開されているから,バリエーションに困る心配はほとんど無い。

実のところ, MTR 環境を利用したのは,これがほぼ初めての経験だったのだけれど,案外すんなりと使えるようになってしまって面白かった。数年前ならば,エフェクタに消費される CPU 負荷や,波形データを格納するためのディスクの空き容量,それに波形編集を行うためのメモリ容量など,様々な制限の中で窮屈に作業を行わなければならなかったのが,今ならほとんどそのようなことは気にせずに作業を行うことができる。色々と面倒なことを考えずに済むようになると,やはり単純に楽しくなってくる。

http://www.radiumsoftware.com/files/kristal_test.mp3

一度通ってきた道ではあるけれど,数年前とは状況が大きく変わっている。もう一度通りなおしてみると,また新たな発見も数多くあって面白いのではないだろうかと考えている。


Mandate

2004-10-12

先週末は,風邪だの台風だので,散々な日々だった。台風が直撃した土曜は,さすがに出社することができなかった。どうせ仕事を休むなら買い物でもしたかったのだけれど,当然それもままならなかったわけで,時間を無駄に費やしてしまった気分のする一日となってしまった。


ブログ "Rands In Repose" の Rands 氏は,先日の記事 "Mandate Dissection" において,泥沼化した議論を終結させるために発動する「命令」 (mandate) の手法について述べている。

http://www.randsinrepose.com/archives/2004/10/06/mandate_dis...

Rands 氏の述べる「命令」の手順とは,まず最初に決定を行い,次にその決定を全員に通達し,その後に再び,個別に通達をし直すというものだ。決定の通達を2度行うということを形式化した点が独特であると思う。

Rands 氏は,氏自身の職場において繰り広げられていた漸進主義者 (incrementalist) と完成主義者 (completionist) の不毛な議論が,部長の命令によって終結されたときの経験を述べている。

その部長が来てから2ヶ月が経っても,いまだに僕らは大声でわめき散らしていた。そして,水曜に行われた部長との1対1の打ち合わせの場で,彼は簡潔にこう切り出した ― 「我々はこの方法で行く。議論は終わりだ。」

当然,僕は色々とぶちまけ始めた ― 「見てくださいよ。 我々はまだ #27 の問題を解決しなければいけませんし,ああもう,完成主義者の連中は黙っちゃいませんよ。 それに #12A のリスクについてはちゃんと考えているんですか? 云々云々……」 すると彼は,僕にしばらくの間その場を離れるように言い,その後にまた同じことを繰り返した ― 「我々はこの方法で行く。議論は終わりだ。」

僕はたぶん頷いていたと思う。覚えてはいない。

命令による議論の終結は,言わば最終兵器であり,できる限り使用を避けるべき手段だ。議論の意味を無くしてしまうという危険性はもちろんのこと,権限によって強制的に議論を終わらせてしまうことが,参加者の士気を下げてしまう危険性がある。

誰かが僕に命令を下すとき,その命令が僕の耳にまで届くことは無い。代わりにこう聴こえてくるのだ ― 「だまれ。さっさと動け。お前が何を考えていようが構わない。」 僕らの管理者としての職務は,このような印象を与えてしまうことをできるだけ避けることにある。さもなくば,僕らの信頼は徐々に蝕まれていくことになるだろう。

しかし,議論は常に上手く進められるとは限らない。時に,長引く議論の中から対立関係が生じ,感情が議論を掻き乱し,議論を泥沼へと陥れてしまうことがある。 Rands 氏の言葉を借りるならば,「事実によって論じるよりも,心情によって論じるようになってしまう」という状態だ。そうして,議論から生産性が失われてしまったときに,硬直を打破するための手段として,意思決定者 (decision maker) からの絶対的な「命令」が必要とされるというわけだ。


大神

2004-10-13

今頃気が付いたのだけれど,クローバースタジオのウェブページ上で「大神」の動画が公開されている。

http://www.cloverstudio.co.jp/img/movie/okami_jpn.mpg

どうやら7月末に公開された映像のようだ。東京ゲームショーの会場で流されていた映像とは違う内容になっている。

http://media.ps2.ign.com/media/678/678618/vids_1.html

「大神」は,静止画の時点で十分に印象的なビジュアルでありながらも,動いている映像を見てもやはり素晴らしいものになっていると感じる。独特の様式,鮮やかな色彩,躍動感の溢れる動きや,どこかコミカルな人々の振舞など,新しくも不思議な魅力に溢れた作品だ。

クローバースタジオのウェブページ上では,“『遊び』作りを覗く”と題された記事が連載されている。「大神」や "Viewtiful Joe" の制作を通して,同社の“『遊び』作り”に対する姿勢を紹介するという内容の連載だ。

http://www.cloverstudio.co.jp/gallery.html

エッセイ的な形式を用い,リアルタイムに進行する事象を扱っているため,多少話の筋が見え難くなっている部分はあるものの,ゲーム制作者としての思考と感情がリアルに伝わってくる内容になっていると感じられる。特に,「大神」のビジュアルが,リアルな表現から手書き風の表現へと変容していく様子などは,非常に興味深いものがある。

ゲーム制作の終盤が,最も体力的に責められる時期であるとすれば,ゲーム制作の序盤は,最も精神的に責められる時期であると感じる。己の想像力を限界まで膨らませながらも,それを技術力や開発力等の「現実」と擦り合わせていき,更には,ユーザーからの要求や,営業側からの要求,会社的な要求など,様々な要求との間にある溝を埋めていかなければならない。想像力を膨らませるだけでも相当に努力が必要とされるのに,それを数々の要求と合致させなければならないのだから,大変な作業だ。しかも,本当に要求と合致させることだけに終始してしまえば,最終的には過去の製品の再生産に収まってしまう危険性が高くなる。そのような矛盾を解決できるだけの要領の良さが無ければ,本当に良い企画を具現化することは難しいと感じる。

その過程において最も精神的な苦痛となるのは,何も実体を作り出すことができていないという空しさと,時間の経過からくる焦りの感覚だ。この先の数日間や数週間を,企画の立案やブレストに費やしたとしても,現状を打破できるほどのアイデアが出てくる保証は一切無い。だからと言って,今の案のまま見切り出発を行ってしまえば,やがて失速してしまうだろうというおぼろげな予感がある。机に張り付いて考えれば考えるほど,思考は煮詰まって袋小路へと陥る。議論は常に堂々巡りを繰り返す。

そのような膠着状況を打破するには,やはり何らかの偶然がもたらされることが必要なのかもしれない。偶然に頼ることはリスクを内包することに等しいものの,もの作りの現場においては,常に一握りの偶然が大きな可能性を生み出すきっかけになっていると感じる。例えば,「大神」がリアルな表現から墨絵へと方向の転換を行う過程にも,そのような偶然が舞い降りた瞬間を感じ取ることができる。


Approximate Global Illumination (1)

2004-10-14

今更なのだけれど, SIGGRAPH 2004 の paper をチェックしている。ネタの収集源はお馴染み Tim Rowley 氏のリンク集だ。

http://www.cs.brown.edu/~tor/sig2004.html

まず最初に目を引かれたのは, Joseph LaViola 氏の "MathPad2" だった。

http://www.cs.brown.edu/~jjl/mathpad

Rowley 氏のリンクでは,この手の HCI 的ネタが取り上げられることは少なかったように思えるのだけれど,今回はこの手のネタが何点か紹介されている。

純粋な CG ネタの中でも最も目を引かれたのは, PDI/DreamWorks の Eric Tabellion, Arnauld Lamorlette 氏による "An Approximate Global Illumination System for Computer Generated Films" だ。

http://www.tabellion.org/et/paper/index.html

この論文において両氏は,映画「シュレック2」に利用された大域照明システムについて解説を行っている。大域照明が実際のプロダクションにおいて本格的に利用された例は,まだ非常に少ないと思われる(少なくとも,技術の詳細が公開されているものに限定して言えば,殆ど無いはずだ)。その点からも,この論文は非常に貴重な資料であると言うことができると思う。

この論文は,特に新しい技術を提示しているわけではない。むしろその逆で,諸々の新しい技術が,プロダクションにおいて実用に耐えうる段階にまで達していないことを提示する内容になっていると感じられる。両氏は,実用的なレンダリング速度を実現するために,非常に多くの要素に関して簡略化を行っている。例えば,相互反射は1回までしか追わない,とか,相互反射は拡散 (diffuse) 反射しか扱わない(鏡面反射やコースティクスは無視する),とか,光線追跡は簡略化された幾何形状(ローポリモデル)に対して行う,とか,照明演算において間接照明の入射を1方向に限定する,とか……。フォトンマップや MLT のような洗練されたサンプリング手法も用いていなければ,複雑な幾何形状への対応も行っていない。それどころか,大域照明とは言っても拡散反射を1回までしか扱っていないし,極めつけには照明モデルの大幅な簡略化(間接光を1方向に限定)まで行ってしまっている。これは,ここまで簡略化を行ってしまっても十分に大域照明の効果を得ることができるということであると同時に,ここまで削らなければ実用と言えるレベルにまで達することができなかったということでもあるのだろうと思う。

この手法は,実際に「シュレック2」の制作に利用されている。論文によれば,全体の 78% のショットにおいて主要なキャラクタのレンダリングに用いられている。速度について言及している部分を覗いてみると, Pentium IV (2GHz) と 2GB のメモリを搭載したマシンにおいて,低品質レンダリングに4分44秒,ビデオ用高品質レンダリングに19分36秒,映画用の高品質 (1828 x 1102) レンダリング に1時間7分55秒がそれぞれ必要とされている。最終的なレンダリングに1枚あたり1時間も要されるというのは少し驚きだけれど,一方で低品質レンダリングは何とか5分以内に抑えることができている。実際のワークフローにおいては,応答性のある作業環境を実現するためにも低品質レンダリングの速度は非常に重要視されるようだ。基本的な簡略化の他にも,この速度を最大限に高めるために更なる工夫が凝らされている。


Approximate Global Illumination (2)

2004-10-15

件の論文 "An Approximate Global Illumination System for Computer Generated Films" において,まず大幅な簡略化が図られているのは,相互反射の扱いだ。この手法では基本的に,相互反射は拡散反射のみを扱うとされている。鏡面反射を考慮に入れてしまうと,分散によって発生するノイズを避けるために,より洗練されたサンプリング手法を用いる必要性が生じてしまうためだ。また,相互反射を拡散反射のみに限定した場合,2次反射以降の反射光が画像に大きな寄与を及ぼすことはほとんど無くなるため,これを無視することが可能となる。もし,2次反射以降の反射光が表現上重要な要素となりうる場合は,手動で光源や反射面を追加することによって反射光を擬似的に再現するという,昔ながらの手法が用いられたようだ。

ちなみに,高解像度のレンダリングにおいては,セットアップの段階で radiosity map の作成が行われる。ここで言う radiosity map とは,言わばライトマップのようなもので,シーンを構成する各ポリゴン面における反射光の放射輝度を格納するデータ構造のことを指す。本手法においては,相互反射は1回までに限定されているため, radiosity map には直接照明の総和のみが格納されることになる。 light gathering の過程においては,光線毎の放射輝度の評価を行わなくとも,この radiosity map の値を集めるだけで放射照度の算出を行うことが可能になる。ただし,低解像度のレンダリングにおいては radiosity map の作成は省略される。すべてのポリゴンに関して radiosity map を作成するよりも,光線毎に放射輝度の評価を行った方が,総合的に見て安上がりになるためだ。

以上のような光線を減らす工夫だけでなく,光線を追跡する処理自体にも工夫が加えられている。光線追跡を行う際には, displacement map のような微小な幾何構造は無視され,荒くテセレートされた低ポリゴンモデルに対して交差判定が行われる。論文に提示されている例によれば,最終的に780万個の微小ポリゴンによって構成されたシーンにおいて,光線追跡処理は4万9千ポリゴン程度にまで簡略化された幾何形状に対して行われたとされている。

映画「シュレック」と言うと, deep frame buffer を利用したファー表現などがよく知られていると思うのだけれど,本手法においては,ファー等の幾何情報もやはり無視される。例えば猫の毛のように比較的短いファーに関しては,その表皮において算出された放射照度が,ファーの照明演算にもそのまま用いられているということだ。

簡略化された幾何形状に対してそのまま光線追跡を行うと,実際の形状との差から,光や影に「漏れ」が生じるという問題が発生するのだけれど,これに関しては光線にバイアスを加えることによって対処を行っている。光線の起点において,一定半径内に実際の形状(微小ポリゴン)との交差を求め,それを「実起点」とするという比較的簡単な処理なのだけれど,このような処理だけでこれらの問題はほぼ解決することが可能であると指摘されている。


Approximate Global Illumination (3)

2004-10-18

もうひとつ,このシステムにおいて核をなしている要素が,放射照度キャッシュの手法だ。

放射照度キャッシュは,補間を利用して放射照度の算出回数を大幅に減らす手法だ。間接照明演算において拡散反射成分のみを考慮する場合,シーン上の位置による放射照度の変化は一般になだらかであると仮定することができる。そこで,放射照度の算出は適当に選択された点上のみ行い,それ以外は近傍点における放射照度の加重平均によって補うようにすれば,かなり良い近似値を得ることができる(これは内挿を用いた方式であり,放射照度の勾配を利用した外挿法を用いることもある)。

http://graphics.stanford.edu/courses/cs348b-00/lectures/lect...

放射照度の算出には数百から数千の光線の追跡が必要とされるため,この回数を大幅に減らすことのできる放射照度キャッシュの手法は,レンダリングの高速化を実現するうえで非常に重要な要素となる。特に Eric 氏らのシステムは拡散面の相互反射に特化されているため,その重要性は相対的に見て非常に高いものになると考えられる。

放射照度キャッシュの手法を最初に提示したのは Greg Ward 氏らの "A Ray Tracing Solution to Diffuse Interreflection" であるとされている。

http://radsite.lbl.gov/radiance/papers/sg88/paper.html

放射照度キャッシュの手法では,放射照度を求める間隔と,平均を行う際の重みの値として,放射照度の変化量の予測評価式が用いられる。 Ward 氏らの手法の場合は,サンプル点からの距離や法線ベクトルの差,周囲の形状等を評価し,それらの値の総和をとったものが評価値として用いられている。

Eric 氏らの手法では,この評価式に改良が加えられている。論文には簡単な説明しか添えられていないため,細かな根拠に関しては量りかねるものがあるのだけれど,概観してみた感じでは,あまり正直に評価を行うのではなく,都合の良いように値を補正することによって,特定の箇所にサンプル点が集中してしまうことを避けようとしているように見える。論文内に例として挙げられている cornell box の画像を参照してみると, Ward 氏らの方式では部屋の隅付近にサンプル点が集中してしまっているのに対して, Eric 氏らの方式では比較的まばらにサンプル点が散らばっている様子が分かる。

Eric 氏らの論文の中に挙げられている例によれば, 780 万個の微小ポリゴンから構成されたシーンにおいて, 68,615 点の放射照度の算出が行われたとされている。ちなみに,これは映画用の高画質レンダリング時の結果であって,ビデオ用の高画質レンダリング時には 22,301 点が,低画質レンダリング時には 10,985 点が,それぞれ算出されている。これらはいずれもピクセル数と比較して非常に少ない値であることから,放射照度キャッシュの多大な効果を推し量ることができる。放射照度キャッシュを利用せずに真面目な照明演算を行えば,ピクセル数の数倍の放射照度の算出が必要とされるはずだ。

また,例に挙げられた画像のレンダリングにおいては,サンプルあたり 600 本の光線が用いられたと記されている。低画質モードにおいてはサンプルあたり 50 本程度の光線が用いられ,また,平坦なシーンであればサンプルあたり 100 本程度の光線を用いることでノイズを除去することが可能であるとも記されている。ただし,これはシーンの条件によって大幅に変化し,複雑な形状や小さな光源が用いられているシーンにおいては 2,000 本もの光線が必要とされることもある。映画の全ショットを平均すると,サンプルあたり約 420 本の光線が用いられている。これは,実験用のサンプル画像でも数千本の光線が用いられていることを考慮すると,比較的少ない本数に抑えることができていると言えるのではないかと思う。


Technological Singularity (1)

2004-10-19

最近,好んで購読しているサイトの1つに "KurzweilAI.net" がある。

http://www.kurzweilai.net/

同サイト内のニュースページ "Accelerating-Intelligence News" では,日々の科学の発展に関連のある様々な話題が取り上げられている。

http://www.kurzweilai.net/news/frame.html

各種の科学分野の中でも,医療やバイオテクノロジー寄りの話題が多く取り上げられている点が特徴的であり,面白い。 RSS フィードが提供されているので,それを活用するのが良いだろうと思う。

KurzweilAI.net は, Kurzweil Technology 社によって主催されるサイトだ。同社の創始者である Raymond Kurzweil 氏は, OCR や音声認識の分野で功績のある発明家であるほか, "The Age of Spiritual Machine" (邦題:「スピリチュアル・マシーン」)等の著作で知られる人物でもある。

http://www.kurzweiltech.com/aboutray.html

ちなみに,ちょっとマニアックなシンセサイザーメーカーであるところの Kurzweil Music Systems も,氏の創立した会社の1つだ。

http://www.kurzweilmusicsystems.com/

件のサイト KurzweilAI.net には,ニュース記事の他にも,科学技術と人類社会の未来に関する様々な話題が集められている。

http://www.kurzweilai.net/index.html?flash=1

その中でも特に興味深いのは, "Singularity" ― 「特異点」に関する議論だ。

http://www.kurzweilai.net/meme/frame.html?m=1

この「特異点」の概念については, Kurzweil 氏自身の記事 "The Law of Accelerating Returns" に詳しく解説されている。

http://www.kurzweilai.net/articles/art0134.html?printable=1

かなり長い記事だけれど,技術的な背景の無い人にも分かるような切り口で書かれており,比較的気軽に読むことのできる記事となっている。それでいて,氏の提示する人類の未来像は非常に衝撃的な内容だ。微かな胡散臭さを感じさせながらも,人を信じさせるだけの説得力と,あるいは信じたいと思わせるだけの刺激に満ちた内容になっていると感じられる。ちょっとしたSF小説でも読むつもりで目を通してみると面白いのではないかと思う。


Technological Singularity (2)

2004-10-24

Kurzweil 氏が議論を行っている "Singularity" ― 「特異点」とは,未来学者 (futurist, futurolgist) の間で交わされる論題の1つである概念だ。

http://en.wikipedia.org/wiki/Technological_singularity

この「特異点」,あるいは「技術的特異点」 (technological singularity) の概念は以前から存在したものであるものの,ここで Kurzweil 氏が述べているような,今日でのコンピュータの性能向上の速度を考慮した具体的な予測が行われたのは,数学者でありSF小説家でもある Vernor Vinge 氏が 1993 年に執筆した記事 "The Technological Singularity" が最初であるようだ。

http://www.kurzweilai.net/articles/art0092.html?printable=1

この他にも「特異点」に関して論じる人々は存在する。しかし,そのいずれにも共通しているのは,科学技術の指数関数的な成長の末には,我々の理解の範疇を完全に超越した領域への到達がもたらされるであろうという予測だ。

Kurzweil 氏は,前出の記事 "The Law of Accelerating Returns" において,人類の科学や経済の発展の歴史や,延いては生物の進化の歴史などは,すべて指数関数的な発展を遂げてきているという事実を指摘している。ある技術や概念が新たに創出されると,その概念は関連する事象に新たな可能性をもたらし,更なる発展を促すことになる。そのような「正のフィードバック」が,より高度な発展をより短期間で実現することを可能にしてきたという分析だ。

このような「指数関数的発展」は,古くを辿れば,生命の起源にまで遡ることができる。地球が形成されてから最も単純な単細胞生物が生じるまで数十億年もの年月が必要とされたと言われている。しかし,そこで DNA を基本とした進化の仕組みが確立されると,発展の速度は急激に加速された。それから数億年後のカンブリア紀には,わずか数千万年の間に驚くほど多彩な生物種が生み出されている。また,人類の進化の歴史に着目すれば,人類種の進化には数百万年の年月が必要とされたにも係わらず,現生人種はその後の数十万年の間に現在の姿にまで辿り着いていることが分かる。

人類の歴史にも,同じような性質を見ることができる。例えば,人類の最初の技術的前進であった刃物や火,車輪等の発明には,幾万年もの年月が必要とされている。文明が発祥して以来も,大きなパラダイムシフトには千年単位の期間が必要とされている。しかし,それが西暦 1000 年にもなると,発展の速度は急速に向上し,1つの世紀の間にパラダイムシフトが発生するようになってくる。そして産業革命を迎えた 19 世紀には,その前の 9 世紀分を超える量の技術的発展が達成されている。更に 20 世紀には,最初の 20 年間だけで 19 世紀の間に行われた技術的発展を上回る量の発展が達成されている。

今日においては,パラダイムシフトは数年の間にもたらされるようになっている。 Kurzweil 氏は,今日見られる WWW のような存在は,つい数年前まで現在のような姿ではなかったはずだと指摘する。ましてや十年前まで遡れば,その存在は無きに等しいものであったはずだ。しかし WWW は 20 世紀末と 21 世紀初頭の数年の間に驚異的な速度で普及と発展を遂げ,現在では人々にとって最も重要な情報媒体の1つにまでなろうとしている。インターネットの接続ホスト数は 2004 年 6 月の時点で2億8千万を超えており,現在は既に3億を越えているものと予想される。その数の変化をグラフで観察してみれば,これがまさに指数関数的発展を遂げていることが分かるのではないかと思う。

http://www.isc.org/index.pl?/ops/ds/


Technological Singularity (3)

2004-10-25

Kurzweil 氏は様々な視点から人類の持つ技術や経済が指数関数的発展を遂げてきていることを分析している。その発展の速度もまた指数関数的に成長する性質を伴っており,現在は約10年毎に倍の速度にまで成長を遂げている。もし,今後もこの成長が保たれるならば,我々は今日の発展速度で100年後に到達するであろう未来を,たった25年後に体験することになる。そして21世紀全体では,今日の速度で200世紀分(!)に相当する発展を見届けることになる。

人は普段,技術の発展を線形的な視点で捉えてしまう傾向がある。また,指数関数は微小な区間においては線形関数で近似することが可能であるため,短い期間に限れば線形的な見方が通用してしまうこともある。しかし,十年単位の長い期間になれば,線形的な予測と指数関数的発展の間には著しい差異が生じることになる。本当の未来は,凡人の予想を遥かに上回るものであるはずなのだ。

今日の科学技術における「指数関数的発展」の代表例として挙げられるものが,「ムーアの法則」に表される半導体素子の集積度の向上であると考えられる。 Intel 社の創始者の一人である Gordon Moore 氏は 1975 年に「半導体素子に集積されるトランジスタ数は 24 ヶ月毎に倍増する」という「ムーアの法則」を提唱する。実際には,この予想を上回る速度で集積度は向上し続けてきた。

http://en.wikipedia.org/wiki/Moore's_law

http://www.intel.com/research/silicon/mooreslaw.htm

ここで Kurzweil 氏は,1つの興味深い分析を提示している。コンピュータの単位コスト(例えば千ドル)あたりの演算性能を縦軸として,集積回路やトランジスタが発明されるよりも前からプロットを行ってみると,これが1つの指数関数曲線を描いていることが分ってくる。コンピュータの発展の歴史は,幾つかの大きなパラダイムに分割することができる。すなわち,機械式に始まって,リレー回路,真空管,トランジスタ,そして現在の集積回路へと続く流れだ。しかし,そのようなパラダイムの推移には関係無く,コストあたりの演算性能は常に連続的な指数関数的発展を遂げてきたという分析だ。

http://www.kurzweilai.net/articles/images/chart03.jpg

「ムーアの法則」はいずれ破綻してしまうだろうという予測がある。現在の半導体集積技術には理論的な限界が存在するためだ(2019 年頃に到達するだろうと言われている)。しかし,上のような Kurzweil 氏の視点に立つならば,このような限界はコンピュータ自体の発展を防げるものではないだろうと予測することができる。確かに,2次元的な半導体集積回路というパラダイムには限界が近づいているかもしれない。しかし,ひとつのパラダイムが限界に達すれば,自ずと何か次のパラダイムが台頭してくるはずだ。それは,3次元ICかもしれないし,カーボン・ナノチューブを利用した集積回路かもしれないし,量子コンピューティングや光コンピューティングの応用物かもしれないし,あるいは,まだ見ぬ未知の技術かもしれない。いずれにせよ,パラダイムの推移が起これば,再び飛躍的な発展が開始されるはずだ。

Kurzweil 氏は,このような発展の流れを "the law of accelerating returns" ― 「加速循環の法則」として一般化している。ある要素に発展が生じると,そのことが発展する速度自体を向上させ,結果的に指数関数的な発展がもたらされることになる。この指数関数的発展は,あるパラダイムが限界に達するまで維持される。そしてその発展がパラダイムの持つ限界にまで達すると,然るべきパラダイムシフトが発生し,また新たな発展の余地がもたらされる。その繰り返しによって,指数関数的発展は限りなく続けられるというわけだ。

結局のところ「ムーアの法則」は,コンピュータの発展の歴史における5つ目のパラダイムの持つ性質を言い表しているに過ぎない。そしてその法則が破綻する頃にはまた新たなパラダイムが開花し,遥か彼方の無限大へと向かって,コストあたりの演算性能の向上は続けられるだろうということだ。


Technological Singularity (4)

2004-10-27

Kurzweil 氏は,コンピュータのコストあたりの演算能力は今後も指数関数的発展を続けるだろうと予想する。それでは,もし仮にそのような発展が続けられたとして,その先に待ち受けているものとは一体何なのだろうか。その果てしなく高い演算能力は,一体何のために用いられるのだろうか。

この問いに対する氏の答えは明確なものだ。コンピュータが十分に高い演算能力を得たとき,それは人間の思考プロセスを模倣するようになるだろう。いわゆる人工知能の誕生だ。

Kurzweil 氏によれば,人間の脳には約1千万個のニューロンが存在するとされている。各々のニューロンは約千本の接続を持っており,それらの接続は1秒間に約 200 回の演算を行う能力を有している。つまり,人間の脳は正味で 2 x 10^16 CPS (Calculation Per Second) の演算能力に相当すると考えることができる。

これに対して,現段階で世界最高の能力を持つスーパーコンピュータは, 10 TFLOPS (10^13 CPS) のオーダーの演算性能を有している。特に,ここ数ヶ月の間にスーパーコンピュータの速度競争は過熱化しており,最近まで世界ランキングの1位を守り続けていた地球シミュレータ (35.86 TFLOPS) を IBM の Blue Gene (36.01 TFLOPS) が破ったかと思えば, SGI の Columbia (51.9 TFLPS) がそれをすぐに追い抜き,更にはそれら全てを上回る NEC の SX-8 (65 TFLOPS) が既に発表されている。

http://news.com.com/SGI+supercomputer+two+records+in+one+day...

http://www.nec.co.jp/press/ja/0410/2001.html

ただし,ここで話題となっている IBM の Blue Gene は試作品であり, 2005 年に納品予定の Blue Gene/L 完成モデルは,最終的に 360 TFLOPS のピーク時性能を達成すると予測されている。

http://www.research.ibm.com/bluegene/

これは,前述の Kurzweil 氏の見積もりに従うならば,人間の脳の 1/100 程度の演算性能を持つものと考えられる。

また,これらの動きに対して富士通は 2010 年を目処に 3 PFLOPS (3 x 10^15 cps) の演算性能を持つスーパーコンピュータの製造を計画している。

http://www.asahi.com/science/update/1002/001.html

ここまで来ると,人間の脳のレベルまであと僅かを残すばかりだ。しかし Kurzweil 氏の予想はこれを上回っており,恐らく 2010 年までには人間の脳と同等の演算能力を持つスーパーコンピュータが開発されるだろうと予測している。そして更に 10 年後の 2020 年には,そのレベルの演算性能が通常の PC に備えられるようになるだろうと予測している。

にわかには信じ難い話であるけれど,もし本当に今後も指数関数的発展が続けられたならば,その未来は確実にやって来る。 2023 年には人間の脳と同等の演算能力 (2 x 10^16 CPS) を持つコンピュータが $1,000 で製造可能となり, 2037 年にはそれがたったの1セントで製造可能となってしまう。そして 2049 年には,全人類の頭脳を掛け合わせたのと同等の演算能力 (2 x 10^26 CPS) を持つコンピュータが $1,000 で製造可能となり,それもまた 2059 年にはたったの1セントで製造可能となってしまう。

もし本当にこのような技術が実現されたならば,世の中の有り様はどのように変化するだろうか。自ら思考する能力を備えたコンピュータは,人間とは異なって絶え間なく思考を続けることができる。一度製造してしまえば,あとは極めて低燃費で思考を行ってくれる。一度得た知識は決して忘れず,しかもその知識を他の頭脳へと瞬時に伝播させることができる。これらの頭脳は人間とは比べものにならないほどの効率で問題解決を行い,技術と文化の発展に寄与することになるだろう。そして自分自身の機構や思考プロセスをも改良することを続け,遂には全人類の頭脳を掛け合わせたのと同等の能力を得て,更にはその十倍,百倍,千倍,万倍……と,指数関数的発展をとめどなく続けることになるだろう。

このように,コンピュータが自ら思考する能力を得たとき,今まで人類が行ってきた発展のプロセスは大きく様変わりを迎えることになる。これこそが,人類が次に迎えるであろう大きなパラダイムシフトであり, Kurzweil 氏が「特異点」と呼ぶ概念の実態であるということだ。


音楽

2004-10-31

最近,多忙や体調不良が重なり,思うように調子が出せないでいる。これから大事な時期が続くというのに,なかなか本気が出てこないというのは,ひどく歯痒い感じがする。


iPod mini を購入してから既に2ヵ月ぐらいが経ったかと思う。購入してからは,通勤に仕事にくつろぎの時間にと,毎日欠かすことなく使っている。使い込むうちにホコリやら手垢やらが付着して,真白かったタッチホイールも薄黒く煤けてしまったほどだ。しかし,どうせそのうち壊れてしまうものなのだからと,汚れるままにしてある。

自分が iPod を購入したそもそもの理由は,日常の中で音楽に触れている時間を積極的に増やしていこうと考えたことにある。

人間や動物の記憶の中には,五感に結びつけられる種類のものが存在する。特に,五感の中でも嗅覚は,最も記憶と結びつく力が強いとされている。資料によれば,嗅覚神経は大脳新皮質を経ずに海馬(記憶に関連する器官)へと直接に接続されていることが,他の感覚との違いを作り出しているとある。

http://gc.sfc.keio.ac.jp/class/2004_14453/slides/10/

http://x51.org/x/04/08/0431.php

それはさておき,個人的に記憶との結びつきを最も強く感じるのは,音楽だ。昔よく聴いていた曲をたまに聴き直してみると,その曲を聴いていた頃の情景が生々しいほどに蘇ってくることがある。忘れていたような事までも,ふと思い出してしまうことがある。懐かしい歌声やメロディーの中に,何故か自分の記憶が焼きこまれているような気がする。

人並みにつまらない人生を送ってきた自分には,特に思い出すべき思い出があまり無い。高校以前に何をやっていたかなんてほとんど思い出せないし,それなりに努力したような気がする大学時代も,思い返してみるとひどく単調な日々の繰り返しだったように感じられる。社会人になってからは仕事ばかりをやっていたはずなのだけれど,いつ頃に何をやっていたかは,カレンダーを指で追いながら確認しないと思い出せない。

今までがこんな調子だったのだから,自分はこれからも同様に,後に何も残らないような人生を歩んでいくのだろうと思う。だけど,音楽だけは違うかもしれない。音楽だけは,自分に思い出を与えてくれる。何らかの想いを抱きながら過ごした日々があったことを,かろうじて自分に思い出させてくれる。

自分の親は,若い頃に音楽の趣味があったにも係わらず,自分が物心付く頃には,ほとんど音楽を聴かない人になってしまっていた。自分も近年,仕事への接し方が変化するに従って,音楽に触れている時間が少なくなってきているように感じていた。そしてある日,そのことに気付いたときから,自分にとって音楽はもっと大切なものであって良いはずだと考えるようになった。

だから,自分はこれからも音楽を聴き続けていくだろうし,多少の障害が生じたとしても音楽を聴くことは止めないだろうと思う。 iPod のような機器もちょくちょく購入することになるかもしれない。音楽に興味が薄れかけたとしても,無理にでも聴いていくことにしようと思う。そうすることで,鮮やかさに欠ける自分の人生にも,僅かながらも色を添えることができるのではないかと考えている。