bit別冊 ビジュアルインタフェース -ポストGUIを目指して-、平川、安村 編、第2.1章, pp.24-44, 共立出版, 1996.
(注意:この文章の著作権は著者に帰属します。文章の一部あるいは全 部(図を含む)を複製することは禁止します。本文章の一部あるいは全部を講義その他で利 用する場合には著者の許可が必要です。)
従来,ビジュアライゼーション(Visualization)と言えば,流体工学,高分子化 学といった分野において,スーパーコンピュータで処理された膨大な量の科学 的データをコンピュータグラフィックス(CG)を用いて表示するサイエンティフィッ クビジュアライゼーション(Scientific Visualization)[1]を指すの が一般的であった.
これに対し近年,高度なグラフィックス機能を持つ低価格高性能なコンピュー タの普及の結果,単なる科学的データ表示に留まらず,計算機ユーザインタフェー ス,情報検索,ソフトウェア開発といった様々な分野における情報との対話手 段としてグラフィックスが利用されるようになった. Xerox PARC (Palo Alto Research Center)のS.~Cardらは,Scientific Visualization に対してこれをInformation Visualization( 情報視覚化*1と呼んだ[2].以下, 本章では単にビジュアライゼーションと言えば,情報視覚化のことを指すものと する.
この情報視覚化の目的は,情報を抽象化する能力や親しみやすさといった図の 特徴を利用し,情報に対する人間の理解をより早くより深くすることである. しかし,情報は形も色も持たないため,その表示形態には高い柔軟性があり, 表示の仕方によっては逆効果なこともある.ビットマップディスプレイとマウ スを装備したワークステーションの開発に端を発する情報視覚化は,これまで に開発された様々なシステムでの経験を基に,現在,より効果的な視覚化を目 指して,新しい視覚化技術が模索されている.
本章ではまずビジュアライゼーションの諸分野について概説する.その後,最 近ビジュアライゼーションの分野で注目を集めている3次元ビジュアリゼーショ ンとFocus+Context 技術について解説し,その後で今後の展望について述べる.
*1 Visualizationの訳語には``視覚化''と``可視化''が混 用されている.しかし,特にInformation Visualizationにおいては単に情報 をグラフィカルに表示するだけでなく,図とのインタラクションが非常に重視 される.この点,``可視化''からは受動的で非インタラクティブな印象を受け るので筆者は``視覚化''を用いる.
このデスクトップが提供する視覚的インタフェースの利点には以下のようなも のがある.
こうした優れたデスクトップ概念も当初はハードウェアの制約上,対話性に難 があり,単なるおもちゃ扱いされることもあったが,デスクトップ,及びこれ に伴い導入されたWIMP (Window, Icon, Menu, Pointer)を基本とし たインタフェースは,現在の計算機インタフェースの標準となっていることは 周知のとおりである.
さて,本家Xerox PARCにおけるデスクトップの研究は,その後 Rooms[4]へと展開した.マルチウィンドウ環境で作業を行ってい ると,デスクトップが互いに重なり合う多くのアプリケーションウィンドウで 埋め尽くされることはしばしば経験することである.しかし,実際にある特定 のタスクを遂行するために必要なアプリケーションの数はそれ程多くない.例 えば,プログラミングをする場合にはエディタとデバッガ,メールの読み書き にはメールウィンドウというようにタスク毎に限定されている. D. A. Hendersonらの開発したRoomsは異なるタスク毎に異なるデスクトップ (ルームと呼ぶ)を割り当てることができる.各デスクトップにはそれぞれのタ スクを遂行するのに必要なだけのアプリケーションが起動され,ドアを開けて 他の部屋へ行くという現実世界のメタファでタスクスイッチングを実現した (図1).ここで注意しなければならないのは,彼らの研究は日々 のタスク分析に基づいたもので,単に机の次は部屋,部屋の次は家,家の次は 街という安易な連想で行われているのではない.PARCにおけるRoomsの研究は その後3D Roomsの概念を経て,後述するInformation Visualizerへと移っていっ た.
Figure 1: Roomsの画面例.他の部屋のドアをクリックすることによりタスク スイッチングが実現される.(文献[4]より引用.)
有名なものはMITで行われたDataLand[5]である.DataLand はビデオプロジェクタを使用することで壁一面を情報視覚化領域とし,様々な データを空間的に配置した.ユーザが詳しく見たいデータを大画面上で選択す ると,詳細は手元のディスプレイに表示される.データのポインティングには ジョイスティック,タッチパネル,およびジェスチャと音声を利用することが できた.
C. F. Herotらはこうしたデータ管理を階層的に行うことの出来る SDMS (Spatial Data Management System)[6]を開発した.SDMS では3台のディスプレイを使用し,左のディスプレイに表示された情報の一部 が,中央のディスプレイに拡大表示される.右のディスプレイは個々のデータ の詳細表示用である.さらに,この中央のディスプレイに表示されたデータの 一部を選択すると,今まで中央のディスプレイに表示されていたデータが左の ディスプレイに表示され,中央には選択された領域が表示される.
こうした空間的データ管理システムの実現には当時かなりの予算が必要だった こと,そしてジェスチャ,音声,視線の認識技術が未熟であったことから,こ れらに続く研究がなされなかった.しかし現在,個々の機材の低価格化に加 え,各種認識技術の進歩,また,後述する3次元グラフィックスや仮想現実感 で有名な新しい入出力デバイスといった新しい技術が開発されている.こうし た新しい技術を利用して,空間的データ管理システムを見直す時期にきている かも知れない.
この他に,最近の視覚的情報検索インタフェースとしては,次のようなものが ある.A. SpoerriのInfoCrystal[7]は,集合を表す Venn図を抽象化したデータベース検索ツールである.一般にVenn図では集合が 多くなると,各集合の交わり部分が複雑になり過ぎるという欠点がある,これ に対し,InforCrystalは,各部分集合をボタンとして表示し,空間的に配置す る.また,各集合をさらに階層的に検索することが可能である.E. Rennison のGalaxy of News[8]は,ニュース記事を空間的に 表示するシステムで,空間的に配置されたキーワードにズームしていくと,徐々 に関連記事のヘッドライン,さらにその内容が表示される.また,関連する記 事間には自動的にリンクが張られ,ある記事にズームするとその周辺に関連記 事がその関連度に応じて表示される.
R. Beackerらはプログラム解説文よりもコード自体の整形出力により力点をお いたSEE[12]を開発した.SEEは段付け,複数フォント の利用の他に,コメント文の形態に応じて網掛表示やプログラム本体からの分 離を行う(図2).そして,関数呼び出し関係や実行例等とともに 1つのプログラムを統合的に整形出力した.ただし,コードの整形出力システ ムとしては若干大袈裟で装飾過剰ぎみのところがあり,実用性という点で難が ある.
Figure 2: SEEによるプログラムコードの出力例.(文献 [12]より引用.)
AT&Tで開発されたSeesoft[13]は,プログラムに関する 全体情報の把握を目的としたシステムで,プログラムの各行は色の付いた1本 の線として表示される.この色はコードの変更履歴といった統計データを表し, ユーザはプログラムの概略を把握するとともに,プログラムの履歴情報を獲得 することができる(図3).ただし,現在最大5万行までしか 表示できないという制約がある.
Figure 3: Seesoftの画面例.プログラムの各行は1本の線として表される. 各線の色は対応する行の変更履歴等の統計データを表す.(文献[13]より引用.)
また,CASE(Computer Aided Software Engineering)ツールは,各種情報を静 的に視覚的インタフェースを提供する.例えば,バージョン情報は各バージョ ンをノード,バージョン間の遷移をリンクとして表す木として視覚化するとと もに,図との直接対話によって対応するバージョンを参照したりできる.また, モジュール情報はバブルチャート等で表現される.
これに対しM. H. Brownの開発したBALSA[15]は,各種アルゴリズムを視覚的に,かつアニメーショ ンを利用して表示した.例えばバブルソートプログラムでは,各データはその 値に対応する高さを持った柱として表示され,プログラムの実行とともにデー タ同士が交換されていく様子がダイナミックに表示される(図4).
Figure 4: ソートプログラムのアルゴリズムアニメー ション画面(DECソフトウェアリサーチセンターのM. H. Brown氏の御好意によ る.).
一般にアルゴリズムアニメーションは,システムの利用者としてデザイナとエ ンドユーザの2つを仮定する.デザイナはあるアルゴリズムに対するデータの 表示形態とアニメーションの方法を設計し,システムが提供するライブラリを 用いてエンドユーザに対するインタフェース(ソフトウェアプローブ)を作成す る.一方,エンドユーザはこのソフトウェアプローブを自分の作成したプログ ラム内に挿入することによって生成されるアニメーションを観察する.
アルゴリズムアニメーションにおける第1の問題点は,デザイナの苦労が大き い点である.彼らはエンドユーザが理解しやすいような図を設計しなければな らず,また効果的なアニメーションの手法を実現しなければならない.その点, J. T. Staskoの開発したアルゴリズムアニメーションシステム Tango[16]はアニメーション記述の点を改善し,比較的容易にアニ メーションが指定できるようになっている.しかし,アルゴリズムごとの図の 設計という点においては,同様である.
第2の問題点は,ソフトウェアプローブ挿入の手間である.アニメーションを 得るために,エンドユーザはプログラム内にソフトウェアプローブと呼ばれる 視覚化手続きを挿入する必要がある.これに対し,G. C. RomanとK. C. Coxの 開発したPavane[17]は宣言的記述によるアルゴリズムア ニメーションシステムでこうした手間を必要としない.
第3の問題点は,デザイナによって実現されたシステムの汎用性が低い事であ る.デザイナによって設計される図は対象とするアルゴリズムに完全に依存す る.よって,あるアルゴリズムにカスタマイズされたシステムは他のアルゴリ ズムに対しては動かない.例えば,バブルソート用にカスタマイズされたシス テムを用いてクイックソートのプログラムを視覚化することはできない.デザ イナは異なるアルゴリズムには新たな図を設計しなければならないのである.
さらに,実際のプログラムにおいては,アルゴリズムアニメーションとして効 果的に視覚化できるものは少ない.結果として,アルゴリズムアニメーション システムは,プログラミング初心者教育用あるいは特定のアルゴリズム研究者 用と用途が限られてしまう.
こうしたアルゴリズムアニメーションの限界を超えるべく,BrownらはBALSAの 後継としてZeusを開発し[18],アルゴリズムアニメーショ ンに後述する音[19]や3次元の概念[20]を実験的に導入 している.またZeusでは1つの実体に対して,複数の図形やテキストを対応さ せ編集できるMultiview Editingの機能が実現されている.最近ではこの機能 を利用し,アルゴリズムアニメーションとしての枠を超え,一般的CAI (Computer Aided Instruction)にシステムを応用している.例えば,ピタゴラ スの定理の証明の場合,三角形の二辺に対する正方形の面積の和が他の一辺に 対する面積に等しくなることをアニメーションによって実際に示すと同時に, 解説文が同期して表示される.
パフォーマンスビジュアライゼーションの視覚化形態として頻繁に利用される のは,縦軸に負荷あるいはプロセス並び,横軸に時間軸をとったガントチャー トである.例えば,X Windowシステム上の xload は計算機の負荷状況を視覚 的に表す.カーネギーメロン大学のT. Lehrらの開発した PIE[21]はMach OS上で稼働する多重プロセスをこの枠組 を用いて視覚 化し,カーネルのコンフィグレーションに利用された.MITのL. B. Lindenが 開発したParVis[22] は,並列Lispの一種である MultiLisp の視覚化ツールで,各種アルゴリズムにおける並列性の解析に利用 された(図5).A. D. MalonyのJED[23]は Ceder上のプロセスを,特にイベントに着目して視覚化した.
Figure 5: ParVisにおける並列プログラムの表示例.(文献 [22]より引用.)
こうしたガントチャートを基本としたビジュアライゼーションは汎用性が非常 に高く実用的であるが,最近になってその限界が指摘され始めている [24].これまでの並列システムでは縦軸に並ぶプロセスの数がせ いぜい十数個程度であったが,これからの超並列システムにおいては,その数 が数十から数百になると考えられる.ところが縦軸にこの大規模な数のプロセ スを配置することは実用上無理がある.さらに,並列プロセスにおけるプロセ ス間通信はプロセス同士を繋ぐ矢印として表現されることが多いが,こうした 矢印は図の視認性を著しく低下させる.
ガントチャート以外を用いたパフォーマンスビジュアライゼーションシステム も幾つか開発されている.E. Tickの開発したVISTA[25]は, 並列論理型言語のパフォーマンスを視覚化するツールである.VISTAはプログ ラム実行後のゴールリダクションツリーをルートを中心とした同心円上にマッ プする.その際,並列度等を異なる色を用いて表示する.最終的な図は綺麗な 万華鏡のようになるため,彼はこれをKaleidescope Visualizationと呼んだ. しかし,VISTA ではプログラムが大きくなると,結果の図が全て似たような放 射線図になってしまうため,色による並列度の判定はできても,プログラムの 構成に関する議論を行うのは難しい.
こうしたグラフ・木のレイアウトは,視覚化システムにおける図形要素の配置 に利用されるだけでなく,VLSIの配線にも利用されるため,古くから数多くの 研究がなされている[26].これらは各ノードが重ならないこと, 無駄なスペースが少ないこと,リンクの逆向がないこと等の制約を満たすよう なレイアウトを目的としている.また,杉山は網図と領域図の共存する複合グ ラフのレイアウトアルゴリズムを提案している[27].
しかし,有向グラフにおいてリンク交差が最少となるようなレイアウトを発見 するのはNP困難であるため,多くのアルゴリズムはなんらかの発見的手法(ヒュー リスティクス)を利用してきた.しかし,これら発見的手法は,手法の発見が 難しく,また制約の変更に対する柔軟性に欠けるという欠点がある.
これに対し最近では,シミュレーテッドアニーリングや遺伝的アルゴリズムを 利用した統計的手法が幾つか提案されている.これらの手法では配置手続きを 考案しなくても,徐々に最適に近い解を計算できる.例えば,増井のシステム は遺伝的アルゴリズムを利用しよりよいレイアウトを獲得していくだけでなく, 配置の評価関数をも遺伝的手法により学習することができる [28,29].
また,宮下らのTRIP3[30]は自動配置した結果をユー ザが修正して,もとの制約にフィードバックできるProgramming by Exampleシ ステム[9]である.
こうした中,1980年代中頃から比較的低価格な3次元グラフィックスワークス テーションが一般に普及しだした.その結果,3次元グラフィックスによって 3次元的表示を行う3次元ビジュアライゼーションシステムが開発 されはじめた.この3次元ビジュアライゼーションはビジュアライゼーション 研究において,現在最も意欲的に研究が行われている分野の1つである
この3次元ビジュアライゼーションに対する誤解としてよく耳にするものに, 「いかに3次元といってもディスプレイへの投影は2次元であり,両眼立体視 を行わない限りは2次元ビジュアライゼーションと同じではないか」,というも のがある.しかし,3次元ビジュアライゼーションと単なる投影図との決定的な 相違点は,物体の回転とユーザ視点の移動をアニメーションによって対話的に 行えることである.つまり,3次元ビジュアライゼーションは,単に2次元投影 図をじっと見ているのではなく,必要に応じて視点を対話的に移動できる点が 大きく異なるのである.
以下では代表的な3次元ビジュアライゼーションシステムとそれらが明らかに した3次元利用の意義を紹介する.
Figure 6: SemNetによる大規模知識ベースの視覚化.知識ベースのネットワー ク内で,対話的かつ連続的に視点を移動できる.(文献[31]より引用.)
SemNet研究の真の重要性は,3次元グラフによる実験を通じて,その後の3次元 視覚化研究の指標となる,以下のような3次元視覚化の本質的問題点を明らか にしたことにある.
Figure : ConeTreeにおける画面の有効利用.(文献[2]より引用.)
同時にCone Treeが重視したのはアニメーションによるユーザの認知負荷の低減 である.ユーザが任意のノードをマウスで選択すると,ルートからそのノード へのパス上に存在する全ノードが最前面に一直線に並ぶように,各円錐は並行 してスムーズに回転する.しかも,この回転時間はユーザの認知を妨げないよ うな速度で行われる.また,表示ノード数が増えた場合には,着目していない 部分木の円錐だけを表示して個々のノードを隠したり,あるいはマウス操作に よって不必要な部分木を隠すこともできる.
Figure : PerspectiveWallにおける局所的詳細と大局的概略の統合表示. (文献[33]より引用.)
同様に透視投影図法を利用したシステムにSilicon Graphics社のFSNがある. FSN[34]はUNIXファイルシステムの3次元ナビゲーションシ ステムで,映画「ジュラシックパーク」のクライマックスシーンで女の子がパー クのセキュリティシステムのキーを探すシーンで利用されていたことで有名で ある.FSNはUNIXディレクトリを水平面上に2次元の木として描画し,ユーザ は飛行機から地面を見るようにUNIXディレクトリを見る(図8). Perspective Wall同様,透視投影図法を利用しているため,着目しているディ レクトリに関する情報は詳細に見ることができ,より深いディレクトリはその 概略だけを把握することができる.また,高さ方向をファイルサイズ等の付加 的情報の表示に利用している.
Figure : FSNにおける透視投影図法の効果.
例えば並列プログラムの開発時には,実行状態を表示するガントチャート,複 数CPUとCPUに割り当てられた複数プロセスを表す領域図等が利用される.しか し,これら2次元図には以下のような問題点がある.
上記ガントチャートにおいて並列プロセスは縦軸に並べられるが,この1次元 に記述できるのは高々十数個である.これは今後の大規模並列システムを考え たとき明らかに不十分である.また,一般にプロセス間通信はプロセスを表す 水平線を交差する矢印として表現されるが,通信の増加に伴い,こうした矢印 が図の視認性を著しく低下させる.
例えば,上記2つの図におけるプロセスは本来同一の実体を表しているが, 視点が異なるため異なる図として表現されている.一方,ユーザはCPUとプロ セスの関係とプロセスの実行状態を理解するには,これら2つの図の整合性を とるメンタルモデルを再構成する負荷を強いられていると考えられる.
Figure : VOGUEにおける複数の2次元図の3次元による統合.
これに対し3次元の概念を導入すると,これら2つの2次元図を1つの3次元 図として統合する事が可能である(図8).プロセス配置に2 次元が利用できるため,より多数のプロセスを配置可能であるとともに,プ ロセス-プロセッサの階層関係をも表示することができる.さらに,プロセス 間通信を表す線は一般に交差しないため,図の視認性が低下しない.また,ユー ザはプロセッサ-プロセス間の関係と同時に,プロセスの実行状態を見ること ができるが,ユーザに提示される図は1つであるから,メンタルモデル再構成 の負荷は生じない.これは機械系CADにおいて3面図だけでは対象物に対する メンタルモデルが作りにくいが,3次元モデルを導入することによりそれが容 易になるのと同じことである.
以下では、最近の研究について紹介する。
LindaはYale大学のCarrieroとGelernterによって提唱された並列プログラミン グの概念で,タプルスペースと呼ばれる共有空間と,この共有空間にタプルと 呼ばれるデータを送受信する幾つかのプリミティブを付加することにより,既 存の言語を並列化することが可能である.
Lindaでは全ての通信がサーバを通じて行われる.我々はこの特徴に着目し, 視覚化手続きをLindaサーバに埋め込んだ.そしてサーバはクライアントから 要求を受け取ると,サーバが管理する基準時間とともに視覚化モジュールに処 理を依頼する.視覚化モジュールは,これらを図8に示す3次 元の枠組で視覚化する.図9にVisuaLindaによる視覚化例を示 す.図中細い柱はプロセスの実行状態,プロセス間を繋ぐ線は通信,太い半透 明の柱は各計算機を表す.そして,ユーザのマウス操作により,各タプルデー タの表示,ある時刻におけるタプルスペース内の全タプルの表示,プロセス状 態の表示,ホスト名と実行ファイルの表示等が可能である.
VisuaLindaの第1の特徴はもちろん3次元視覚化の枠組である.この結果,以 下の点において2次元視覚化よりも優れている.
Figure : VisuaLindaによる視覚化例.
VisuaLindaのもう1つの特徴は視覚化手続きをサーバ内に埋め込んだことであ る.このようなビルトイン視覚化モジュールアプローチを行う意義は以下に挙 げられる.
並列システムの視覚化において問題となるのは,どの時間を基準時間とするか である.この点Lindaでは,各クライアントは基本的に並列に動作するが,サー バにおけるクライアントからの要求処理は逐次的に行われる.したがって,サー バで処理を開始した時間を基準時間にとることができる.
プログラマは視覚化を行うためにクライアントプログラムを変更する必要がな い.アルゴリズムアニメーションシステムに見られるように,幾つかの視覚化 システムは対象とするプログラムにソフトウェアプローブを挿入することを強 制する.しかし,実際的な視覚化システムはプログラマにこうした負担をかけ るべきではない.
VisuaLindaは並列プログラムにおける通信のバグの発見やパフォーマ ンスチューニングに利用されている.
このオブジェクト指向プログラミングを視覚的に支援するために,従来からク ラス階層図が用いられてきた.しかし,実際に起動されるメソッドの位置をク ラス階層図だけから知ることは不可能で,我々はメソッドリストをも知る必要 がある.
これに対し,筆者らはクラスライブラリの3次元視覚化の枠組を提案した [36,40].クラス階層をxy 平面に木として表示し,各メソッ ドはそれが属するクラスと同一のXY座標を持ち,かつ同一名を持つメソッドは 同一Z座標を持つように配置した.ユーザは1つの3次元視覚表現でクラス階 層とメソッド継承が同時に把握できるため,あるインスタンスにメッセージを 送った場合,どのメソッドが実際に起動されるかを視覚的に迅速に同定できる.
Figure : オブジェクト指向言語C++のクラスライブラリの3次元視覚化.
Smalltalk[41]のシステムブラウザ,視覚的プログラミ ング環境Prograph[42]の2次元ビジュアルブラウザ との比較実験 を行った結果,より短い時間でメソッド探索課題を達成することが示された.
我々は,3次元インタフェースを与えることでこの問題の解決をはかっている [43,44]. つまり,各ファイルのバージョン履歴をz軸を時間軸にとった木として表現し, xy平面から見たとき同一モジュールのファイルが近くになるように配置する. そして,1つのメジャーリリースを構成するバージョン同士をリンクで接続す ることにより,特定のメジャーリリースを構成する各ファイルのバージョンが 視覚的に把握できる.
Figure : 3次元グラフィックスを利用したバージョン情報とモジュール情報 の統合表示.
こうした第3軸の積極的利用は,その後,アルゴリズムアニメーションシステ ムZeus[20],Information Visualizerにおけるカレンダー表示 [45]にも採り入れられている.
Figure : Information Cubeによる半透明を利用した階層構造の表示 (暦本氏の御好意による.).
筆者らは電力制御ソフトウェアの大規模なモジュール構造を,後述する Fractal Viewを利用したアルゴリズムによって、半透明の箱を使って視覚化し た[35].現在は,プロセス・プロセッサの階層構造 やモジュールの階層構造の表示に半透明を利用している.
Figure : AutoVisualによる他次元データの表示(C. BeshersとS. Feiner氏の御好意による.).
この問題に対して,プロジェクタ等の大画面の利用は本質的な解決にならない. 何故ならば,表示情報量が増大すれば結局同じ問題に突き当たるし,また,表 示情報量が多すぎるとユーザの情報の選択に障害をきたすからである.したがっ て,膨大な情報の中から,いかにしてユーザの見たいところだけを見せるかが 問題となる.
これに対する伝統的なアプローチは画面スクロールである.画面スクロールと は,上下あるいは左右に移動可能な仮想的な窓を通して情報の一部を見る手法 で,テキストエディタや図形システム等で一般的に利用されている.ところが 画面スクロールの問題点は,表示される情報が常に局所的であり,全体の構造 を見失いやすい点である.例えば,大規模な木構造のレイアウトを考えると, 木の先端部では着目ノードとその子供程度は見えるが,それ以外では着目ノー ドしか見ることができなくなる(図16).
Figure : 大規模な階層構造視覚化におけるスクロールの問題点.
この例が示すように,視覚化する情報が画面に収まりきらない時,着目点 (Focus)の付近は詳細に見ながら,全体の構造(Context)をも同時に見たいとい う要求がある.これを実現するのがFocus+Context技術であり,既に 見てきたようにPerspecitive Wall,FSNといった3次元視覚化においては,透 視投影図法によって自然にこの効果が得られる.ただし,3次元視覚化よる Focus+Contextの実現は,3次元空間における物体の物理的配置に依存するた め,配置を変えずに他のFocus+Contextを得ることが難しい.
これに対し,3次元視覚化に限らず一般的に利用できるFocus+Context手 法がこれまでに幾つか提案されている[49].以下ではこのうち, Generalized Fisheye ViewsとFractal Viewsを紹介する.
DOI = API - D
ただし,潜在的重要度はルートを0とし,ルートから離れるにしたがい,-1,- 2,...と単調に減少するものと定義される.
ノードの重要度を計算した後,ある閾値を設定し,この閾値未満のノードは消 去することにすると,着目点近傍の詳細と全体のコンテキストがミックスした 表示が得られる.また,閾値を増減することで,表示の範囲を拡大縮小するこ とができる.
Figure : Generalized Fisheye Viewsにおける各ノードの重要度の計算例.
またSemNetでは,CAD(Computer Aided Design)のオクトツリーの概念を利用し, これにFisheye Viewを適用することで情報削減を行った.つまり,表示空間で ある3次元立法空間を8分割し,さらにそれら部分立法空間を8分割した8分 木を作る.そして,各ノードをそれが属する部分空間の子として登録する.ユー ザの着目点がある部分立法空間を焦点としてFisheye Viewを適用し,論理的に距 離の遠い部分空間は空間の存在を示す目印だけを表示し,ノードは消去する. ただし,この手法はユーザの視点が部分空間を移動するときの表示の変化が激 しく,ユーザに負担をかけることが指摘された.
N. SarkarとM. H. BrownはFisheye Viewをグラフ描画に応用した [51].彼らのシステムは,アメリカ合州国の主要都市をノードと するグラフにおいて,着目都市とその近傍都市を大きく,遠方の都市を小さく 表示した(図18).また,重要な都市には予め重みを与え ておくことで,小さくなりすぎることを回避できる.Generalized Fisheye Views 自身はノードの重要度を計算するだけで,これらがグラフ描画に応用さ れた場合のレイアウト問題は扱っていない.これに対し,SarkarとBrownは Fisheye Viewをレイアウトに利用するための一般的枠組に関する議論を行った.
Figure : グラフ描画へのFisheye Viewの応用 (M. H. Brown氏の御好意による.).
この他に,三末と杉山はKJ法エディタで用いられる,網図と領域図の共存する 複合グラフにFisheye Viewsを適用した[52]. E. G. Noikも同様の研究を行っている[53].また, FairchildらはCone Treeにおいて, 木の各ノードに対し抽象度の異なる数種類のアイコンを用意し,ノードの重要 度に従い表示アイコンを変化させた[54].
これに対し,筆者らはFractal[55]の持つ抽象 化機能に着目 した情報量制御手法を提案し,Fractal Viewと呼んでいる [56,57].Fractal View は木として実現できる情報構造に適 用可能で,焦点から以下の式によって各ノードの重要度を決定する.
ただし,Cは0
Figure : フラクタルの自己相似性を利用した木のレイアウト.
UNIXディレクトリに代表される大規模な階層構造を視覚化するシステムの潜在
的有用性は高い.しかしながら,これまでに提案されている木レイアウトの枠
組を用いて,こうした大規模な階層構造を視覚化するのは無意味である.これ
は,木が深くなるに従い幅が指数関数的に増大し画面から溢れてしまうからで
ある.この時,画面スクロールは図\ref{fig:ScrollWindow}で示したようにあ
まり意味をなさない.ノード同士の間隔の狭い葉の部分では幾つかのノードを
見ることができるが,木の上部では親子,兄弟ノードさえ見ることができなく
なるからである.
筆者らは,2つの点に対しFractal Viewを適用し,この問題の解決をはかった
[58,59].第1は,木の枝
の長さとノードの大きさを式(2)
に基づき縮小するフラクタルレイアウトである.図19
に示すように,自己相似性を利用することにより,木
のどのノードに着目していても統計的に同じような視点が得られ,常に着目ノー
ドとその周辺を見ることができる.
第2は,着目点を中心としたFractal Viewによる表示ノード数の制御である.
この結果,表示されるノード数が削減されるだけでなく,ほぼ同程度の量のノー
ドが表示されるため,システムの反応速度が同程度の保たれた.
図20(A)は試作したシステムの画面例である.そして子ノードの
1つに着目点を移した時の表示が図20(B),そのまた子ノードの
1つに着目点を移した時の表示が図20(C)である.どのレベルに
おいてもほぼ似たようなディレクトリ表示が得られている.また,図
20(A)に示すGUIスライダを用いて提示情報量を制御することも
できる.
(A)
(B)
(C)
Figure : UNIXディレクトリの視覚化.
我々はFractal Viewを応用したエディタを開発した.本エディタは普段はVIエ
ディタとして機能するが,モード変換キーを押すことによりFractal View
(ON/OFF) モードに移行する.つまり,着目行から式(2)に従っ
て各行の重要度を計算し,ある閾値以下の重要度をもつ行は消去する.このモー
ドでは着目点周辺は連続して表示されるが,着目行から離れるに従い,switch,
ifといった制御構造を示す行だけが表示され他は消去される.
この表示法の欠点は,着目行を移動した時の表示変化が激しいことである.
特に,現在表示されていない行へ移動した時のユーザに与える認知負荷が大
きいことが実験的使用の結果わかってきた.この問題を解決するために作成し
たのが図21に示すマルチスケーラブルフォントモードである.各
行はその重要度に対応する大きさのフォントで表示される.基本的に省略され
る行がないので,連続的変化を認識しやすい.
Figure : Fractal View EditorによるCプログラムの表示.着目点は24行
目にある.
実際にはこれらのモードはキーで移り変わることができる.経験的には普段は
通常のVIモードで編集を行い,必要に応じてFractal Viewモードにし,制御構
造を確認するのが正しい使い方のようである.
Xerox PARCではPerspective Wallの知見をいかし,その後,Document
Lens[61],Spiral Calendar[45]という
Focus+Contextシステムが開発されている.また,階層構造を双曲平面上
に描画するシステムも開発されている[62].
MITのLiebermanの開発したFocus+ContextシステムPowers of Ten
Thousand[63]は,半透明表示を利用して,全体
図と詳細図を重
ね表示するものである.ただし,残念ながら表示は非常にみずらい.
*2 プログラムの制御構造を図式化するPADとは全くの別物である.
SHARPのZaurusやAppleのNewtonの普及が示すように,こうした個人用携帯端末
を中心としたMobile Computingはこれからの情報処理のトレンドで
ある.こうした携帯端末のディスプレイは4インチ程度しかなく,このように
小さな画面に現在と同じ情報表示を行っても無意味である.General Magic社
のMagic Capでは、インタフェースにデスクトップメタファが利用さ
れている。
こうした携帯端末におけるビジュアライゼーションの研究の1部はトロント大
学におけるChameleonで実験が行われている.彼らはグラフィックス
ワークステーション上に実現したビジュアライゼーション画面を小型液晶テレ
ビに出力し,この小型テレビを将来的な携帯端末とみなし,幾つかの実験を行っ
た.例えば,ConeTreeを表示し,マウスの代わりに小型テレビそれ自体を動か
すことで情報検索を行ったり,壁に貼られた実際の地図のある都市を小型テレ
ビで触ると,その都市に関する情報が表示されるシステムをデモンストレーショ
ンした.
一方,プロジェクタに代表される大画面出力デバイスの低価格化に伴い,オフィ
ス等での情報表示は大画面化への道をたどると考えられる.こうした研究はか
つてMITのDatalandで行われたが,3次元といった新しいテクノロジーを用い
た場合の効果は研究の余地がある.研究例としてはATRで行われたCSCWでの利
用[64],Illinoi大で開発されたCAVE等があげられる.
これに対し,ユーザを仮想世界に完全に入り込ませるのではなく,現実世界と
仮想世界の融合を目指したAugmented Realityが最近注目を集めてい
る.例えば,P. WellnerのDigital Desk[65]は,現実の
机と仮想の机,つまりデスクトップを融合し,紙の書類と電子書類の区別を無
くそうとするものである.Digital Deskでは現実の机の上にコンピュータによ
り生成された画像を投影すると同時に,この机上におかれた書類や人間の動作
をカメラから入力し画像処理を行う.
今後のビジュアライゼーションの方向の1つとして,こうした仮想世界と現実世
界の融合が考えられる.つまり,コンピュータにより生成された図と人間がフ
リーハンドで描いた図との融合,あるいは人間の動作を認識・理解し,それを
ビジュアライゼーションにフィードバックするようなシステムである.
このようなシステムの1つのプロトタイプとして,
Xerox PARCのE. SoundとT. P. Moranはフリーハンドで描かれた図におけるユー
ザの動作を認識・理解し,ユーザのタスクをアクティブに支援するシステム
を開発中である[66].
前述のM. H. Brownはアルゴリズムアニメーションへの音の導入を実験的に行
い,これをアルゴリズムオーラリゼーション (Algorithm
Auralization)と呼んだ[19].彼は,ソートプログラム
において,
各データにその値の大きさに応じた音を対応させ,データがソートされる様子
を聴覚的に表現した.そしてアルゴリズムによってパターンの異なる音列が得
られることが報告された.
しかし,オーラライゼーションだけによる情報提示には明らかに限界がある.
例えば:
筆者は,オーラリゼーションはビジュアライゼーションを補うものとして利用さ
れて初めて活かされるものであると考えている.例えば,システムからの出力
を監視している時,ビジュアライゼーションだけだと監視者はこの出力から目を
そらすことなく集中して見ていなければならない.これは目に負担がかかると
同時に疲労しやすい.これに対し,オーラリゼーションを併用すれば,監視者
は他の仕事をしていても,なんらかのシステム異常が発生した場合には音の変
化でこれを認識することができる.
同様に,「図からは迅速に情報を得ることができる」と言われる.
これは,あくまでも記述されている情報量が少ない場合のことである.本稿で
も述べたように図素が増加すれば一般に図は複雑になり,ユーザの認知を阻害
する.また,図素の増加はより多くの表示領域をも必要とする.
さらに,図の抽象度とシステムの汎用性の問題がある.例えば,より直観的に
理解しやすい視覚化システムを目指して,問題領域を直接的に表現する図を導
入すると,システムはその問題領域に深く依存することとなり,他の領域への
適用が難しくなる.過度のカスタマイズはシステムの汎用性を低下させる.
これは数学における解析学と幾何学の関係に例えることができる.いま,次の
ような2次方程式を考える.
Figure : 2次方程式の幾何表現.正確な解の値はわからないが、実数解の個数
やおおまかな値は即座にわかる.
この例が示すように,視覚的なツールと解析的なツール双方の長所を理解し,
両者を組み合わせた使い方をすることが大切である.
ビジュアルシステムに関する国際学会では、東洋的な文化が引合に出されるこ
とが多い。例えば漢字は、幾つかのコンポーネントを組み合わせることにより、
新たな意味が作り出される優れた図形言語だ、という訳である。
しかし残念なことに、こうした国際学会において日本からの新しい概念やシス
テムに関する発表は少ない。これは、日本ではビジュアルシステム、ひいては
ユーザインタフェースの重要性に対する正しい認識が欠如していたからであろ
う。しかし、一般の人々へのコンピュータの普及にともないビジュアルインタ
フェースの需要もさらに高まることは間違いない。また、情報の複雑化にとも
ない論理的な思考を側面から支援するビジュアルシステムの役割も大きくなっ
ていく。
遅ればせながら日本でも最近、インタラクティブシステムに関する会議がソフ
トウェア科学会で定期的に開かれるようになった*3。ここでの活発な
議論を土台にして、日本からも多くのシステムが海外で発表されることを期待
したい。そして、本稿がこうした研究者らの参考になれば幸いである。
*3 インタラクティブシステムとソフトウェアに関するワークショップ(WISS)。
4.5 Fractal Viewsの応用例
4.5.1 大規模階層構造の視覚化
4.5.2 Fractal View Editor
一般のテキストエディタでプログラムを作成する場合,着目点のある行とそれ
に連続する上下数行を見ることができる.しかしこの時,プログラムの制御構
造に関するより大局的な視点は失われている.
4.6 その他のFocus+Contextシステム
K. PerlinらはFocus+Context技術を利用したシステムPad*2を開発した
[60].Padは仮想的に無限大の描画領域を持ち,そ
の上にテキスト
やグラフィックスが異なるスケールで描画されている.そして,ズームアウト
した位置から見ると,上位レベルの情報記述が見え,ズームインすると,個々
の情報の詳細を見ることができる.彼らはPadを従来のWIMPに代わる新たなイ
ンタフェースとして位置付けている.つまり,WIMPのクリック&オープンパラ
ダイムでは,例えばフォルダを開いて見なければ内部の情報はわからなかった.
これに対しPadでは,対話的にズームすることで徐々に詳細が見えてくる.
5 今後の展望
5.1 小画面化と大画面化
今後のビジュアライゼーション研究において,考慮にいれておかなければなら
ないことの1つに表示領域の大きさの変化があげられる.
5.2 Augmented Reality
仮想現実感(Virtual Reality)は,コンピュータにより生成された仮想的な映
像をヘッドマウンテッドディスプレイ等の特殊な出力デバイスに表示し,デー
タグローブ等の特殊な入力デバイスを用いて情報との対話を行う技術である.
ただし,一般の仮想現実感システムでは,ユーザが見ることができるのは仮想
世界だけであり,現実世界との対話ができなくなるというデメリットがある.
5.3 オーラライゼーション(Auralization)
情報を視覚的に提示するのではなく,聴覚的に提示する研究はオーラライゼー
ションと呼ばれる.この音を情報提示に利用しようとする発想自体は決して新
しいものではない.J. Bernstein の著書[67]によれば,昔,
M. Minsky は論理回路のデバッグを行おうとしたが,オシロスコープがなかっ
たので,論理回路の音を拡声器に通した音を使ってデバッグをしたそうである.
同様に,我々はハードディスクの死期の近さをその音でなんとなく知ることが
できる.
6 実用的ビジュアライゼーションに向けて
グラフィックスコンピュータの普及とCG技術の発展にともない,今後,ビジュ
アリゼーションに関する研究はますます盛んになっていくと思われる.しかし,
真に実用的なシステムを開発しようとする場合,次のような点に関する考察が
重要である.
付録 - 参考WWWサイトおよびftpサイト -
以下では、本稿で述べたシステムのうち,ネットワークを通じてアクセス可能なも
のを幾つか挙げる。
参考文献