
2005-09-01
「この棚の商品全部くれ!」
そんな大人買いをする人,現実には一度も見たこと無いけれど,どこかの酔狂な金持ちがそんなことをしたとかしないとか,まことしやかに語られる話を耳にすることはある。
Raymond Chen 氏によれば, Microsoft の Windows 95 開発チームはこれに似たことをやっている。 Windows 95 の下位互換性を試すために様々なソフトウェアを入手しておく必要があったわけだ。ただし,なにしろ Microsoft のやることだけに通常とはスケールが異なっている。地元のソフトウェアショップ (Egghead Software) にピックアップトラックを乗り付けて,店に並べられているソフトすべてを購入して持ち帰ったというのだから驚かされる。
購入したソフトは食堂のテーブルの上にバラ撒かれ,各自2個まで持ち帰って互換性の確認を行うように言い渡される。ちなみに,互換性の確認が完了したソフトは確認を行った当人のものになるというルールだ。そんなわけだから,ちょっとしたバーゲン会場のごとく,みんなで好きなソフトを拾い漁るような状態だったらしい。
MSN Messenger チームの Danny Glasser 氏は,このときの経験を語っている。氏は "NHL Hockey 95" を獲得したものの,起動時にハードディスクを満杯にして停止してしまうという奇妙なバグに遭遇する。そこでこの現象を Raymond Chen 氏に解析してもらったところ,このゲームが使用しているメモリマネージャのアドオンに問題があるらしいことが判明する。どうやらこのアドオンでは,メモリが無くなるまでメモリ取得を繰り返すことによってメモリの総容量を計測するという手法が用いられていたようだ。これは DOS 時代には有効な手法であったものの, Windows 95 上では仮想メモリを際限無く費やし続け,ついには退避先のハードディスクをも食い尽くしてしまうというわけだ。
その後,このようなアドオンを検出するコードをシステム側に追加することによって問題の回避を可能にしたとのことだ。アドオンが検出された場合は,メモリ確保要求に対して恣意的な返答を行うようにするわけだ。いつぞやの SimCity の互換性の話にもあったように,メモリマネージャの周辺には互換性の障壁となる要素が特に集中しているように感じられる。
ところで,この話で最も幸せになったのは誰だろうか? それはもちろん Egghead Software の店長に違いない。ここから得られる教訓は,どこかシステムの互換性にこだわっている企業があったならば,その側にソフトショップを開けばいいことがあるかもしれない ― ということだろうか……。
2005-09-05
Propellerhead Software が "ReBirth RB-338" を発売した当時(1997 年),僕はまだ学生の身分だった。ちょうど Pentium II が発売されるかされないかの頃で,まだ Pentium 133 MHz のマシンなどが多く使われていたと記憶している。その程度のマシンパワーでは,ソフトウェア音源などは「鳴らすだけで精一杯」な状態で,あまり実用的なものであるとは感じられなかった。
それだけに ReBirth の登場は衝撃的だった。以来, Propellerhead の名は忘れられないものとなった。

ReBirth RB-338 は Roland の名機 TB-303 (ベースラインシンセ)と TR-808 (ドラムマシン)を模倣したソフトウェアシンセサイザーだ(後にドラムマシン TR-909 も加えられた)。発売当時,一般的なソフトウェア音源はおろか仮想ビンテージシンセという概念自体がおぼろげなものであったにもかかわらず,驚くべき再現性と安定性,それから「手触りの良さ」とでも言うべき独特の魅力をもって ReBirth は登場した。
それから約8年の歳月が過ぎ, Propellerhead の主力製品は既に Reason へと移行している。同社は市場における ReBirth の役目が完了したと判断し,公式にサポートの停止を宣言すると同時に "The ReBirth Museum" と呼ばれる記念サイトを立ち上げた。
The ReBirth Museum では ReBirth 誕生の歴史や,それを取り巻くコミュニティの歴史などが紹介されている。個人的には Roland 社が公式に ReBirth の存在を認めたエピソードなどが面白かった。しかし,最大の目玉はなんと言っても ReBirth 最終バージョンの無料配布が開始されたことに違いない。登録さえすれば誰でも無料で ReBirth を手に入れることができるようになったのだ!
同サイト内のダウンロードページでは,製品の CD-ROM ISO イメージが公開されている。先日までは予想を大幅に上回る反響からサーバーがパンクしかけていたのだけれど, BitTorrent による P2P 配信が公式化されたことによって事態は終息している。
ダウンロードした ISO イメージにも少し罠があって,ライティングソフトによっては正常に焼くことができないようだ。配布側としてはライティングソフトとして "nero" を想定しているらしい。僕も nero を持っている人に頼んで焼いてもらうまではインストールすることができなかった。本来ならば nero の体験版を利用することができるはずなのだけれど,なぜか肝心の nero 体験版の配布も停止してしまっている。ここまで来てどうにもならない状況に追い込まれてしまっている人も少なくないのではないかと思う……。
色々と障壁はあれど,それはともかくとして,久しぶりに触ってみてもやはり完成度の高いソフトウェアだと感じる。未だこの組み合わせに魅力を感じる人々は存在するだろうに,サポートを打ち切って無料配布にまで踏み込んだ Propellerhead の判断には興味深いところもある。デモ曲をビヨビヨと唸らせながら,そんなことに思いを馳せてみた。
そうそう,今,突然に思い出したのだけれど,僕が生まれて初めて作ったウェブページのトップ画像は,たしか ReBirth のスクリーンショットだったんだ。
さんざ悩んだ結果,ついにサンプラーを購入してしまった。購入したのは KORG ES-1 mk-II だ。立て続けに買い物ばかりしてしまっていて,いつの間にか浪費癖がついてしまったのだろうかと少し心配になる。でも,触っていて楽しくてしょうがないのだから,他はともかくこれは正解に違いない!

今は値段もだいぶ下がってきていて,新品でも 26,000 円程度で入手することができる。値段相応に機能は限定されているものの,そのパラメータの少なさがかえって操作性の良さに結びついているという感触がある。とにかく,実際に触ってみて初めて分かる楽しさを持ったマシンだ。 PC ソフトウェアベースの環境ではなかなか味わうことのできない楽しさだと思う。
2005-09-06
「アクセシビリティ」 (accessibility) とは,本来「近づきやすさ」「使いやすさ」「理解しやすさ」などを意味する一般的な単語だ。しかし最近はもっぱら,障害を持つ人々にとっての「使いやすさ」を指す単語として用いられている。日本では「バリアフリー」という単語が用いられることも多いが,情報産業においては「アクセシビリティ」も用語として定着しつつある。
情報産業におけるアクセシビリティへの取り組みの一例としては,各種の Microsoft 製品を参考にすることができる。例えばデフォルト設定の Windows においてシフトキーを連続して5回押すと「固定キー機能」のダイアログが立ち上がる。これはキーボードの細かな操作(シフトキーの同時押下など)を行うことができない人々のために用意された機能だ。 Microsoft は全社的にアクセシビリティへの積極的な取り組みを行うことを宣言しており,他にも様々な配慮をうかがうことができる。詳しくは「アクセシビリティ ホーム」のページが参考になる。
国内外における情報アクセシビリティ関連の動向については, JEITA (電子情報技術産業協会)の「アクセシビリティ事業委員会」のページが参考になる。特に欧米諸国におけるアクセシビリティ標準化の動向をまとめた報告書は,簡潔かつ詳細な内容にまとめられており非常に参考になる。
情報産業におけるアクセシビリティ標準化に関しては国内でも動きがある。その先駆けとなるのが「高齢者・障害者等配慮設計指針」こと "JIS X8341" だ。この規格は「高齢者および障害のある人々」に対する情報アクセシビリティを確保することに焦点が置かれており,高齢化社会の到来を迎えるにあたって産業からの注目を集めつつある。この辺りの背景については国際社会経済研究所は遊間和子氏の講座資料が簡潔にまとめられており参考になる。
最後に,ゲーム業界におけるアクセシビリティへの取り組みについても触れておきたい。このトピックに関しては IGDA の Game Accessibility SIG が啓蒙活動を展開しており,情報源として役立てることができる。同 SIG 発の文献としては,ビデオゲームにおけるアクセシビリティの現状を解説した白書 "Accessibility in Games: Motivations and Approaches" や, HCII (ヒューマン・コンピュータ・インタフェース学会)向けの報告書 "Game Not Over: Accessibility Issues in Video Games", Gamasutra の記事 "Improving Game Accessibility" などが参考になる。
ゲームのアクセシビリティを論じるにあたっては,プレイヤー側のコミュニティの存在も無視できない。最も成功している例としては聴覚障害を持つゲームプレイヤー達の活動を挙げることができる。 "Deaf Gamers" はこれらのゲームプレイヤーによって運営されているコミュニティサイトであり,聴覚障害を持つ人々の視点から評価した各種ゲームのレビュー記事を多数掲載している。これらの記事は,聴覚障害を持つ人々が何を問題としているのか,あるいは何を欲しているのかということを知るための手掛かりとなるものであり,非常に貴重な資料であると言うことができる。
2005-09-07
これまで最も多くの人にプレイされたコンピューターゲームとは一体何だろうか。いわゆるビデオゲームの類に限定するならば「スーパーマリオ」や「テトリス」が真っ先に候補に挙げられるだろう。しかし,その枠を PC ゲームにまで広げるならば, Windows に付属の「ソリティア」が最有力候補となるのではないかと思う。
「ソリティア」とは本来,一人遊びゲーム全般を指す総称であり, Windows に付属の「ソリティア」は「クロンダイク」と呼ばれるソリティアの一種だ。クロンダイクは Windows 3.x の頃から OS に付属している最古参のソリティアであり, Windows 95 では別のソリティアである「フリーセル」が追加されている。また, Windows XP では更に別のソリティアである「スパイダー」が追加されている。
Windows に付属の「ソリティア」は,「マインスイーパー」と並んで最も稼働率の高いアプリケーションのひとつであることは疑いようが無い。ただし Raymond Chen 氏によれば,最近は「ソリティア」よりも「スパイダー」の方が人気が高くなってきているようだ。
Microsoft の Usability Research チームが行った調査によれば, Windows XP の使用用途として最も頻度が高いのが「インターネットブラウズ」であり,その次に来るのが「スパイダー」であるとされている。これは Microsoft Research が開発した集計システムによる調査の結果であり,対象となったのは米国在住の家庭ユーザの中から選ばれた約 5,500 人のボランティアだ。ユーザの操作が有効である時間のみを計測する方式であるため,かなり実態に近い結果が得られているのではないかと思う。
残念ながら,この記事の元となった文献を見つけることはできなかった(一般には公開されていないかもしれない)。もう少し詳しい内容に興味があるので,公開されているようであれば是非目を通してみたいものだと思う。ともかく,ウェブブラウズに次いでソリティアの類が上位に入るというのは納得のいく結果ではあると思う。ウェブを見て,メールを読み書きして,たまに気が向くとソリティアをプレイして……というのは,多くの人々にとっての PC の使い道であるのだろうと思う。また,ウェブブラウズの時間には "Yahoo! Games" のようなウェブゲームをプレイしている時間も入るだろうから,これらの軽量なゲームを楽しむカジュアルゲーマーの人口は相応に多く存在するものと思われる。
2005-09-10
先の話題において, Microsoft の Usability Research チームが特殊なシステムを利用して Windows 上のアプリケーションの稼働率を調査したという話があった。これを読んでいてふと思い出したのが,ゲーム内広告の画面上への露出頻度を調査するというシステムが,一部のゲームにおいて既に稼動しているという話だ。
このシステムについては, Andrew Smith 氏 [tinnedfruit.org] と Peter Wood 氏による解析レポートが参考になる [nationalcheeseemporium.org] [Joystiq] 。この話題は, Vivendi Universal Games の最新作 "SWAT4" において,バージョン 1.1 のパッチから "Massive Streaming Ad" と呼ばれるフィーチャーが追加されたことに発端している。両氏がこのシステムについて調査するべくネットワークアナライザを用いて解析を行ってみたところ,広告データをサーバから取得するための通信を行っているほかに,それぞれの広告が画面上に表示された時間をサーバに向けて送信していることが判明したということだ。
ゲーム内広告の露出頻度調査に関しては,昨年の 4 月に Nielsen Entertainment 社と Activision 社が提携を発表している [Wired] [GameIndustry.biz] 。 Nielsen は同年 12 月に Massive Incorpolated 社とも同様の提携を発表しており [Japan.internet.com] ,先の SWAT4 の件はこの提携に関連した動きであると捉えることができる。
ゲーム内広告の露出頻度を調べることの意図とは何だろう。この情報はテレビ番組で言うところの「視聴率」に相当するものであると考えることができる。これらの調査結果を根拠の一部とし,その広告効果を広告主に対して説明することができれば,より適正な広告料を回収することが可能になるかもしれない。これは今後の開発費の高騰を補う手段として有望なもののひとつであると考えることができる。
ただし,この手法には幾つかのリスクも考えられる。例えば,ゲームプレイヤーコミュニティの意見を覗いてみると,ゲーム内広告の存在自体を危険視していることが多いように感じられる [Idle Thumbs] 。ゲーム内広告の存在感が顕著となることや,広告効果を意識した恣意的な調整が行われることによって,ゲームの雰囲気や世界観が壊されてしまうことを危惧しているわけだ。
もうひとつの大きなリスクはプライバシーの問題だ。「どの広告をどの程度見た」という情報は,本来その本人のみが知りうる情報であり,これを勝手に送信することはプライバシーの侵害であると受け取られる可能性がある。例えば,あるプレイヤーが男性向け成人雑誌の刺激的な広告(!)に思わず目を奪われてしまったとして,それを長時間凝視したという情報がサーバーに送信されていたと知ったら,どのような気分になるだろうか? 適切な許可を得ずにこれを行えば,個人情報を保護する法令などを根拠に訴訟や糾弾を受ける可能性もあるだろうし,もし許可を得ていたとしても,あまりよい印象を持たれないというのが実際のところだろうと思う。
ちなみに "SWAT4" の場合は,バージョン 1.1 へとバージョンアップする際に EULA の改訂が行われている。今後も同様の手法を導入するタイトルにおいては, EULA 内でプライバシーの扱いに関して確認を得ることになると思われる。また,できればオプション設定などにおいて広告情報の送信の有無を操作できるようにしておくのが望ましいだろう。件の "SWAT4" にはその設定が存在しないために,送信を無くすためには hosts ファイルにおいて広告サーバの IP アドレスを上書きする必要があると指摘されている。
2005-09-11
AKAI professional から MPC2500 が正式に発表された。機材ニュースサイト gear junkies には1週間以上も前にリーク情報が載せられていたものの,このサイトは過去に微妙な冗談ネタなどをやっていたこともあったので,今回の情報も信用したものだかどうだか判断しかねていたところだった。どうやら今回はまともな(?)リーク情報だったらしい。
AKAI 社の MPC シリーズはサンプラーとして最も成功を収めている製品のひとつであり,特にヒップホップアーティストを中心に絶大な支持を集めている。感圧式16パッドに代表される直感的なインタフェースがアーティスト達に受け入れられているようだ。値段の方は少し高めで,アーティスト御用達の最高位機種 MPC4000 が 30 万円付近,ダウンサイジング版の MPC1000 が 10 万円付近となっている。ちなみに16パッド部分のみを独立して製品化した MPD16 は 2 万円程度なので,パッドだけが目的ならばこちらと PC DTM 環境との組み合わせが最も安上がりかもしれない。
AKAI 社のサンプラーの歴史は 1988 年発売の MPC60 にまで遡る。 MPC60 は現在まで続く MPC シリーズの元祖であるとともに,偉人 Roger Linn 氏が設計に係わったことでも知られている。 Roger Linn 氏は "LinnDrum" を始めとするドラムマシンの開発者であり,サンプルベースのドラムマシンを始めて成功させた人物として名を残している。氏は自身の会社である Linn Electronics 社において製品の開発を行っていたものの,会社の経営には失敗し,その後は外部の製品開発に顧問として携わることが多くなっていたようだ。 MPC 等の製品の開発を経て,今はエレキギター関連の製品の開発を中心に活動を続けている(氏はギタープレイヤーとして作曲活動も行っている)。
ちなみに AKAI 社自身も数奇な運命を辿っている。音響機器の名門として知られた赤井電機は既に存在しなく,採算の取れていた楽器部門のみが独立したのが現在の AKAI professional 社だ。同社の相続に絡んだトラブルは,現在も企業相続の教訓的事例として伝えられている。
MPC シリーズがヒップホップアーティストを中心に支持を集めていることは前述の通りだが,これを反映した面白い文化としてカスタマイズの世界がある。特に Forat 社によるカスタマイズサービスは多くの著名アーティストが利用していることで有名だ。公式サイトにあるギャラリーのページでは多数の独創的なカスタマイズを鑑賞することができる。 MPC は元が質素なデザインであるため,これを「俺色」に染めてしまわない手は無いということなのだろう。ガタイのいい黒人アーティスト達が「どうだ,俺のはイカすだろう?」とばかりに満面の笑みを浮かべて自慢の MPC を見せびらかす様はちょっと健気で可愛く感じられたりもする。先の大統領批判で話題となったカニエ・ウェストもルイ・ヴィトン柄の MPC2000XL を掲げて満足げだ。ヴィトン柄の MPC って……。
2005-09-12
アクセシビリティの何たるかは理解できるとして,その取り組みを行う「理由」や「動機」とは,一体何だろうか?
その動機としてまず挙げられるのは,顧客の最大化だ。アメリカ国勢調査局の資料によれば,5歳以上の全アメリカ国民のうち 19.3% もの人々が何らかの障害を伴っているとされている [U.S. Census Bureau, 2000] 。特に運動機能に関する障害を持つ人々の割合は最も高く,高齢による障害も含めて約2千万人もの人々がその中に含まれる。今後,先進各国において高齢化が進むにつれ,運動障害および視聴覚障害を持つ人々の割合はますます増えていくものと予想される。これを顧客として取り込むことができれば,現在は潜在してしまっている需要を掘り起こすことが可能になると考えられる。
次に挙げられる動機は,アクセシビリティの標準化および関連する法令への対応だ。例えばアメリカでは 1990 年に制定された ADA 法 (Americans with Disabilities Act) によって,公共サービスにおけるアクセシビリティの確保が義務付けられている [JEITA, 2001] 。ここでの「公共サービス」とは通信の分野にも及ぶものであり, 1999 年には AOL 社が全米盲人協会から ADA 法違反として訴訟を受けるという出来事が発生している。また, 1998 年に改正されたリハビリテーション法 508 条においては,政府機関が開発・調達を行う情報機器についてアクセシビリティの確保を行うことが義務付けられている [JEITA, 2002] [Section508, 2001] 。これは,政府機関に機器の納入を行っている企業や,システム案件の受注を請け負っている企業に対して,これまでに無い絶対的な強制力が働くことになる。日本国内においては 508 条のような法令は存在しないものの, JIS X8341 を始めとする標準規格の策定に伴い,自治体の求める条件に標準規格の遵守が加えられる可能性もあると考えられている [日経コンピュータ, 2004] 。
大きな動機として挙げられるのは以上の2点だ。つまり,まず顧客の最大化を実現するという「能動的な動機」が存在し,その次に,社会的な義務としてアクセシビリティへの取り組みが求められるという「受身的な動機」が存在する。基本的には,これらが骨子であると理解している。
最後に触れておきたいのは,道徳上の動機についてだ。アクセシビリティという概念の基礎をなすのは,障害を持つ人々も健常者と同等の「生活の質」 (Quality of Life; QOL) を享受する権利があるとする考え方だ。それでは,どうしてそのような思想が重要性を持つのだろうか? ここで一介の素人が道徳観に関して云々を語ることは非常に難しく,「そのような道徳観を持つことが先進社会としてあるべき姿であるから」と説明するほか無い。道徳的な思想自体に具体的な強制力は存在しないものの,企業の存在意義のひとつに「社会への寄与」が考えられるならば,一般的な道徳観に基づいた行動を起こすことには重要な意義があると考えられる。
2005-09-13
「喉元過ぎれば熱さ忘れる」とはよく言ったもので,人は進行中の物事に対しては高い関心を払うことができても,完了した物事はすぐに忘れてしまう傾向にある。ロシアの心理学者 Bluma Zeigarnik は,カフェのウェイターの行動観察から同様の考察を導き出した。ウェイターは客に品を出すまでは大量の注文を正確に記憶することができるにも係わらず,品を出した途端にそれらの注文を忘れ去ってしまう。ここから,人間は完了した仕事よりも未完了の仕事に対して高い記憶力を持つと推察することができる。現在では,このような現象は Zeigarnik effect (ツァイガルニク効果)と呼ばれている [Wikipedia] 。氏の研究によれば,未完了の仕事に対する記憶は,完了した仕事に対する記憶の約倍の強さを持つとされている [RecallPlus] 。
しかしこれは裏を返せば,未完了の仕事は人の関心を奪い取る力があると考えることもできる。「やりかけだけど,今すぐには片付けられない仕事」に心を乱された経験は無いだろうか? 今は手をつけることの出来ない仕事のことをいつまでも気に病んで,本来すべき仕事に集中できないという状況を経験したことは無いだろうか?
このような状況を打開するためのコツは,自分の抱えている仕事を全て詳細に項目化し,それらを「今手を付けるべき仕事」と「後回しにすべき仕事」に分類することだ。そして「後回しにすべき仕事」の方は敢えて忘れ,頭の中から追い出してしまうように努力しよう。そのことを気に病んでいても集中力を奪われてしまうだけだ。 "Getting Things Done" の思想も,基本はそのような「頭の中の整理」を意図したものであると理解している [43 Folders] 。
2005-09-17
Ambient occlusion は手軽に大域照明 (Global Illumination) を扱うための手法だ [1] 。周囲の遮蔽の具合を環境光の強さに反映させることによって,間接光 (indirect lighting) の影響を擬似的に表現する。その近似は非常に大雑把なものであるものの,物体の密集している辺りに生じる柔らかな陰影をうまく表現することができる。大胆な近似ゆえに処理速度は本格的な大域照明のそれと比較して高速なものとなっており,映画のような大量のレンダリングを行うプロダクションにおいても十分に実用的な技術であると言うことができる。
Ambient occlusion の発祥については曖昧な部分が多い。特定の論文によって示されたわけではなく, CG コミュニティの中で自然に発展してきたというのが大方の見解であるようだ。ただし,多くの文献では Sergey Zhukov の obscurance をオリジナルのアイデアとして参照している。 Zhukov の obscurance については Zhukov および Andrei Iones の文献に詳しい [2] [3] 。 Obscurance も間接光を擬似的に表現するという点では ambient occlusion と同じであるものの,サンプル数を抑えるためか少し凝った処理が行われている。逆に言えば, Ambient occlusion は obscurance の特殊な条件のみを扱うことによって単純化された手法であると見ることもできる。
Obscurance の後,同様の技術が "ambient occlusion" として具体化されていく過程においては,主に RenderMan コミュニティが貢献を行っていたようだ。参考資料としては, Hayden Landis による SIGGRAPH 2002 のコースノート [4] , Per Henrik Christensen による SIGGRAPH 2003 のコースノート [5] , Christensen による PhotoRealistic RenderMan アプリケーションノート [6] ,等を挙げることができる。特に Landis の文献では,映画「パールハーバー」 (2001) において ambient occlusion を含む "ambient environments" の技術が既にプロダクションに用いられていたことが示されている。
2005-09-19
Ambient occlusion は本格的な大域照明と比較して高速な技法ではあるものの,それでも積分処理には相応の負荷を伴う。この処理の高速化についてはデプスマップを利用した手法が広く知られている [1] 。これは,通常の方式が「内から外へ」のレイトレーシングを行うのに対して,シーンの外周を囲むように「外から内へ」のデプスマップ群を生成し,その合成によって各フラグメントの遮蔽を求めるというものだ。ただしこの手法はデプスマップの解像度や深度が不足するとエイリアスノイズを生じる可能性がある。 Whitehurst もこの手法は既に過去のものであると念を押している。
特殊な事情により極端な高速化が必要とされる場合には,未だデプスマップ方式は有効かもしれない。 Steve Hill は Gamasutra の記事において,デプスマップ方式と GPU の併用によって ambient occlusion を高速に導出する手法を紹介している [2] 。これは,デプスマップのレンダリングやテスト処理において,ハードウェア (GPU) を適切に用いることによって高速化を図るというものだ。 Hill によれば約3万頂点のモデルにおいて 15 倍もの高速化が実現されている。
これまでの手法は全てオフラインでのレンダリングを想定したものであるが,リアルタイムに ambient occlusion の導出を行うための高速化技法も幾つか考案されている。その中でも印象的なのは Michael Bunnell による dynamic ambient occlusion だ [3] 。この手法では,物体の形状を各頂点に配置された円盤によって近似する。これらの円盤の中から任意の二つの円盤に注目したとき,一方の円盤が他方の円盤を遮蔽する割合は解析的に求めることができる。あとは,これらの円盤の配置情報をテクスチャ画像化し, GPU に流し込んで各要素の遮蔽をひたすら求めさせれば,動的な ambient occlusion を実現することができる。 Bunnell によれば,この技法によって秒間 50 万頂点の処理に成功している。専用のストリームプロセッサを用いれば更なる高速化を期待できるかもしれない。
もう一つのリアルタイム手法としては Janne Kontkanen, Samuli Laine の ambient occlusion fields を挙げることができる [4] 。この手法は,頂点要素に着目する Bunnell の手法とは異なり,オブジェクトを単一の要素として扱う巨視的な手法であり,より広範なシーンに対応できる可能性がある。概要としては,遮蔽物となるオブジェクトを,半球面上において一定の立体角を覆う "spherical cap" として捉えることによって高速化を可能としている。要点となるのは各種の演算をキューブマップを用いたルックアップテーブルに変換してしまうことだ。遮蔽物の相対位置から spherical cap を求める処理や, spherical cap と方向ベクトルから ambient occlusion を求める積分処理など,ほとんどの複雑な演算がテーブル化されている。これらの高速化によって 10 個の立方体が相互に干渉するアニメーションを 44 fps という「インタラクティブな速度」で動かすことに成功している。
2005-09-20
気が向くとたまに iTMS で買い物をしている。最近のお気に入りはピラミッドとザ・ジェッジジョンソンだ。
ピラミッドの方は,ドラムの神保彰が好きなので購入した。やはりこのアルバムも,個人的にはドラムの素晴らしさが際立っていると感じられる。まるでプログラムされたかのように緻密でありながら,それでいて繊細な表情を見せるドラムの動きに,僕は心底惚れ込んでいる。どうにも長続きしそうにないユニットなのだけれど,今後の活動にも一応期待しておきたい。
ザ・ジェッジジョンソンの方は,気まぐれに見つけて購入した。最新アルバムは2つが対になっていて,「ダウナー」の方はエレクトロ風味,「アッパー」の方はロック風味にまとめられている。素朴なボーカルの声にはあどけなさが残り,少し背伸びをし過ぎているようにも感じられる。でも,それも含めて独特の雰囲気になっているのだと思う。落ち着き払ったインスト曲も対照的で面白い。
iTMS ではないけれど,天誅の最新アルバム「サブカルチャーの神髄」も購入した。こちらは何と言うか……とりあえず期待を裏切らない出来であることには間違い無い。「底辺」から「頂点」への流れには迂闊にも熱いものを感じた。社会構造に対する怒りをパンキッシュに叫びつつも,やっぱり根本はサブカル・ボンクラというポジショニングは見事だと思う。
最近,平田弘史の劇画本を集めている。これ以上無いくらいに男臭い作風が魅力の劇画家だ。どうにも集中力の続かない作風らしく,連載や長編には不安定さが感じられるものの,一編一編を切り出してみると凄まじい迫力を持つ作品が多々見受けられる。個人的なお気に入りは,作品集「叛逆の家紋」に収録の「豪傑」だ。豪傑達の持つ凄まじいまでの迫力がこれでもかというぐらいに伝わってくる魅力的な作品に仕上がっている。
同時に,志村貴子の単行本も集めている。氏の作品は話の組み立て方がとても独特で,読んでいて不思議な感覚に陥ることがある。時間の流れが断続的で,状況の描写が常に曖昧で,まるで,はっきりとしない昔の思い出を覗いているような感覚だ。内容の方は,微妙な日常から微妙に逃げ続ける話や,微妙な思春期の記憶を微妙に思い起こさせるような話など,これといったメッセージを読者に突き付けるのではなく,微妙な共感を読者に覚えさせるようなものになっている。いずれにしても,不思議な独特の魅力を持った作風だと思う。
2005-09-22
To-do リストはデスクワークに欠かせない道具のひとつだ。直訳すれば「やることリスト」だけど,ちょっと難しい言い回しで「備忘録」と呼ばれることもある。でも,備忘録とは読んで字のごとく「忘れるのに備えたメモ」であって,本来の意味とは少し違うような感じがする。 To-do リストとは,単なる「メモ」ではなく,これから着手すべき事柄を整理するための「リスト」であって欲しいと思う。
"Getting Things Done" の著者として知られる David Allen 氏は, GTD における "next action" を次のように定義している ― 「物理的かつ目に見える行動であり,現状を完了に向けて進めるために着手することが必要とされるもの」。これは to-do リストが持つべき属性を端的に言い表していると思う。
例えば,明日行われるプレゼンのために資料を用意しなければならないとする。そこで,「明日のプレゼンの資料を用意する」と to-do リストに記述したとしよう。もちろん,これは悪い書き方の例だ。最終的に達成されるべき事項を大雑把に言い表しているに過ぎない。これでは本当に単なる備忘録だ。この "to-do" からは次に行うべき行動が伝わってこない。目標を達成するために必要とされる「次の一手」が明らかにされていないのだ。
実際には「資料を作成する」のに多くの細かな行動が必要とされるはずだ。「資料のテンプレートを送ってもらうように××さんにメールする」,「昨年の実績情報をサーバからダウンロードする」,「LogParser を使ってアクセスログから表とグラフを生成する」,等々……。このように,細かく詳しく,物理的な行動を伴う内容の記述を行うことで,現状から完了までの道程を把握し,次に着手すべき行動を明らかにすることができる。
"43 Folders" の Merlin Mann 氏によれば,「物理的な行動」をうまく記述するためのコツは,述語と目的語をできるだけ明らかにしておくことだ。必ず「何によって」「何を」「どうするのか」という点を明らかにしておく。それを心掛けることによって,おのずと抽象的な項目は消え,具体性の高い to-do リストを構築することができるようになるはずだ。
2005-09-25
もっともらしい解答が得られぬまま長く議論が続いた場合,どのような行動をとるべきだろうか? 納得がいくまで議論を続けるべきか,あるいは妥協に終わらせるべきか?
例えば優れた分析家や歴史家の見解を目にするとき,この世の中の問題には全て理想的な解答が用意されているかのような錯覚に陥ることがある。しかし実際の世の中はそれほど単純ではない。様々な事情が複雑に絡み合った状況において,「理想的な解答」が見出されることはむしろ少ない。後付けの知識で見せかけの解答を作り出すことはできる。しかし,その状況に直面している当事者にとっての解答と,そのような後付けの解答は別次元の話だ。
従って,どんなに悩んでも「理想的な解答」に辿り着くことのできない状況というものに遭遇することがある。難しいのは,その状況に陥っていることを認めるか,あるいは認めないかという判断だ。果たして,解答に至るまでの努力が足りていないだけなのか,あるいは,解答など最初から存在しないだけなのか。その見極めを行うことが時として非常に重要な行為となりうる。
まだ見ぬ「理想的な解答」へと辿り着くべく,更なる努力を続けるべきなのか? あるいは,理想論を断ち切り時間の浪費を止め,比較論に基づいた判断を下すべきなのか? 世の中には「理想的な解答」を求めて多くの時間を無為に費やす人々もいれば,思慮無く愚かな道を選び失敗へと向かって行く人々もいる。後に成功したと評されるのは,そのいずれでもない判断を下すことのできた人々なのだろうと思う。
だからこそ,理想的ではないと分かっていながらも,敢えて不完全な解答を選ばなければならない場合もある。もしかしたら,もっと理想的な解答が存在するかもしれない。選ぼうとしているのが理想的な解答ではないことも重々承知している。しかしそれでも,現状からはその解答を選ぶことが最上であると判断しなければならない。その結論を下すことは,相応の責任を伴うものであり,勇気を必要とされる行為でもある。
理想に辿り着くことは容易ではないが,理想を追い求め続けることは案外に簡単だ。それがゆえに,多くの人々は形の見えない理想に惑わされ続けるのだろうと思う。理想に辿り着く人々もいるが,その人々も無闇に理想を追い続けたわけではなくて,その過程に賢明な判断があったからこそ辿り着くことができるのだろうと思う。もちろん,その中には幾つかの他の理想を捨て去るという判断も存在するはずだ。
そして,自分のこれから直面する問題は,果たしてどう見極められるべきものなのだろうかと思う。自分の努力が足りていないだけなのか,あるいは「最悪で最上の策」を選ぶしかないのか。どうにも道程は遠く感じられる。
この引用は有名なものではあるが,少々恣意的な引用であるというのが実際のところであるようだ。文脈としては,「……最悪のものであると言われている。しかし,衆人の意見によって公僕たる政治家を操作するべきであるというのが我が国に広く行き渡る考えである」というようなものになっており,むしろ「最悪のものである」と揶揄する意見に対しての反論であると解釈することができる。この話題に関しては ESR の記事 "Churchill on democracy revisited" に詳しい。
2005-09-26
バッファーオーバーフローは恐ろしい。自分はセキュリティやクラッキングの話題に疎いので,その恐ろしさを正しく理解しているかどうか怪しいものがあるのだけれど,それでも,世に繰り返されるバッファーオーバーフローの悪用 (exploit) を目にする度に,言い知れぬ恐怖感を覚える。もし,何かのきっかけからセキュアなプログラムを実装する必要が生じた場合に,果たして自分はその要求に応えることができるだろうかと思う。自分のプログラマとしての経験の危うさは,案外そのような所にあるのかもしれない。
バッファーオーバーフローの悪用の手法としては,文字列操作の脆弱性を突いてスタック上の値を操作するというものが最もメジャーであると思う。特殊な細工を施した文字列を流し込むことによって,スタック変数の値や関数のリターンアドレスを自由に書き換えてしまうわけだ。
少し特殊な手法としてヒープオーバーフローというものも存在する。ヒープ操作の脆弱性を突いて不正な状態を作り出し,これを何とかして悪用に繋げるというものだ。スタック上書きの手法と比較すると悪用に繋げるまでの過程が非常に複雑であるものの,「とっかかり」としては有効なものであり,十分な危険性を持つことが過去の悪用から実証されている。
過去のヒープオーバーフローの実例を覗いてみると,画像ファイルの扱いの脆弱性を突いたものが多いように思われる。例えば 2000 年 7 月に発見された Netscape 4.73 の脆弱性は, JPEG ファイルの「コメント長」の値のチェック不足を突いたものだった。コメント長を "1" に設定すると長さ 0 のヒープ領域確保が要求され,その領域に対して 0xffffffff バイトの文字列コピーが開始される。この時点で単純なヒープ破壊は確定する。これをクラッシュ以外の意味のある悪用に繋げることは難しいものの,内部実装をよく理解していれば何らかの副作用を生み出すことが可能かもしれない。最も有力なのは free 関数のフック関数ポインタを書き換えるというものであるようだ。
他の有名なヒープオーバーフローの例としては, 2004 年 9 月に報告された GDI+ の脆弱性 (MS04-028) を挙げることができる。これも実は Netspace 4.73 の例と同じく JPEG ファイルのコメント長のチェック不足に起因するものだ。報告によれば,コメント長を "0" に設定すると長さ 0xfffffffe のヒープ領域確保が要求され,そこからヒープ管理構造に不正な状態が作り出されるということになっている(細部については触れられていない)。結果的に eax および edx レジスタの値を自由に書き換えることが可能になるとのことだ。そこから具体的な悪用に繋げるのもまた難しそうな話であるものの,後にこの脆弱性を用いたトロイの木馬は幾つも報告されている。
2005-09-27
今年も DARPA Grand Challenge の季節がやってきた。 DAPRA Grand Challenge は無人制御をテーマとした自動車レースだ。レース直前に発表される約 150 マイル(240km)のコースを 10 時間以内に走破することができれば賞金を獲得することができる。もちろん,レース中は手動による操作を一切行ってはいけない。頼りにすることができるのは,スタート前に設定されたデータと,各種センサーおよび GPS からリアルタイムに入力される情報のみだ。
このレースは昨年から DARPA (国防総省の研究機関)の主催によって始められたものだ。レースの開催費用や 100 万ドルの賞金は DARPA の予算から捻出されている。それどころか,今年のレースでは賞金額が倍の 200 万ドルにまで増額されている。これほどまでに羽振りが良いのは, 2015 年までに陸軍の車輌のうち少なくとも 1/3 を自動化するという計画が政府から提示されているためだ。この計画を実現するためにも,自動制御技術の基礎研究を無理にでも加速させておく必要があるのだろうと思う。
レースの舞台となるのはアメリカ南西部の砂漠地帯だ。砂地と岩と低木以外に何も存在しない荒野ではあるものの,走破は存外に困難な目標であるようだ。昨年のレースにおいて最優秀成績を残したカーネギーメロン大学 Red Team でさえも, 7.4 マイルという全体の 5% にも満たない地点でリタイアする結果に終わってしまっている。今年は少なくとも 5% 地点は越えるものと思われるが,さすがに走破は難しいかもしれない。
今年の参加チームに関しては Tom's Hardware Guide のレポートが参考になる。参加チームの主体となっているのは大学等の研究機関であり,それらが自動車メーカーやコンピュータメーカーのスポンサーを受けて研究開発を行うというスタイルが一般的なものになっているようだ。産学一体の挑戦が行われているようでなかなか面白い。
今年の注目候補は,やはり何と言ってもカリフォルニア大学バークレイ校 Blue team の "Ghostrider" だ。これまでに参加したチームの中では初めての二輪車による出走になるのではないかと思う。昨年のレースでは敢え無く出走辞退となってしまったものの,「元から2年計画だった」とは BlueTeam の弁だ。 Video Gallery のページでは砂漠や草地を軽快に走り回る Ghostrider の雄姿を見ることができる。無人のバイクが時速 60km で砂漠を疾走する様はなかなかに異様だ。去年のコースの復習も十分なようで,今回のレースでの活躍を期待することができる。
二輪車の自動制御は一見して不利のように感じられるものの,実はむしろ利点が多いと Blue team は主張する。確かに,車体が小さいうえに旋回半径が小さいという点は障害物の回避を行うのに有利だ。昨年の最優秀チームである Red Team も最終的には岩に衝突して停止したことを考慮すると,やはり障害物の回避は最大の課題であると考えられる。また,他の車両と比較して格段に安上がりであるというのも,費用の限られた研究においては大きな利点であるはずだ。
2005-09-29
今でこそCGなどは,ごくありふれた存在になっているけれども,これが最初に世に現れたのはいつ頃のことなんだろう? オハイオ大学は Wayne Carlson 教授の "CGI Historcal Timeline" によれば, SIGGRAPH が発足したのは 1969 年, Pierre Bezier によってベジェ曲線が開発されたのは 1970 年, Henri Gouraud によってグーロシェーディングが開発されたのは 1971 年とされている。CGという研究分野自体はそれより前から存在していたものの,その内容が今日ある姿へと急速に近づき始めたのは,この辺りの時期になるようだ。
このページは Carlson 教授の講義 "A Critical History of Computer Graphics and Animation" のウェブ資料の一部だ。別のページではCGの歴史について様々な話題から辿ることができる。こちらの内容も非常に詳細にまとめられているうえ,画像や映像などの資料も充実しており参考になる。
この資料を読んでいて,個人的に意外に感じたのは, HMD (Head Mounted Display) の歴史が案外に古いことだ。 1965 年には Ivan Sutherland 氏によって HMD の原形が開発されている。これが正式に "HMD" となるのは 1968 年の "A Head-Mounted Three Dimensional Display" であるようだ。