ビジュアライゼーション

ビジュアライゼーション

bit別冊 ビジュアルインタフェース -ポストGUIを目指して-、平川、安村 編、第2.1章, pp.24-44, 共立出版, 1996.

小池 英樹

電気通信大学大学院
情報システム学研究科
〒182 東京都調布市調布ヶ丘 1-5-1
Phone: 0424-83-2161 (内線 5277)
Fax: 0424-85-9843
koike@is.uec.ac.jp

(注意:この文章の著作権は著者に帰属します。文章の一部あるいは全 部(図を含む)を複製することは禁止します。本文章の一部あるいは全部を講義その他で利 用する場合には著者の許可が必要です。)


目次

  • 1 インフォメーションビジュアライゼーション
  • 2 ビジュアライゼーションの諸分野
  • 2.1 デスクトップ
  • 2.2 情報検索インタフェース
  • 2.3 プログラムビジュアライゼーション
  • 2.3.1 Myersによるプログラムビジュアライゼーションの分類
  • 2.3.2 静的コード視覚化システム
  • 2.3.4 アルゴリズムアニメーション
  • 2.4 パフォーマンスビジュアライゼーション
  • 2.5 グラフレイアウト
  • 3 3次元ビジュアライゼーション
  • 3.1 大規模グラフ描画におけるリンク交差の回避
  • 3.2 表示画面の有効利用とアニメーションによる認知負荷の低減
  • 3.3 透視投影図法を利用した局所的詳細と大局的概略の統合表示
  • 3.4 複数の2次元図の3次元による統合
  • 3.4.1 並列プログラミングへの応用
  • 3.4.2 オブジェクト指向プログラミングへの応用
  • 3.4.3 バージョン・モジュール管理への応用
  • 3.5 半透明表示を利用した階層データ表示
  • 3.6 他次元データの表示
  • 3.7 3次元ビジュアリゼーションの問題点
  • 4 Focus+Context技術
  • 4.1 Focus+Context問題
  • 4.2 Generalized Fisheye Views
  • 4.3 Generalized Fisheye Viewsの応用例
  • 4.4 Fractal Views
  • 4.5 Fractal Viewsの応用例
  • 4.5.1 大規模階層構造の視覚化
  • 4.5.2 Fractal View Editor
  • 4.6 その他のFocus+Contextシステム
  • 5 今後の展望
  • 5.1 小画面化と大画面化
  • 5.2 Augmented Reality
  • 5.3 オーラライゼーション(Auralization)
  • 6 実用的ビジュアライゼーションに向けて
  • 付録 - 参考WWWサイトおよびftpサイト -
  • 参考文献

  • 1 インフォメーションビジュアライゼーション

    従来,ビジュアライゼーション(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においては単に情報 をグラフィカルに表示するだけでなく,図とのインタラクションが非常に重視 される.この点,``可視化''からは受動的で非インタラクティブな印象を受け るので筆者は``視覚化''を用いる.


    2 ビジュアライゼーションの諸分野

    2.1 デスクトップ

    デスクトップの概念は,当時Xerox PARCにいたA. Kayのアイデアを, SmalltalkやXerox Star上に実現したものである.そして,AppleのS. Jobsは 現在のMacintoshの原型であるLisa上にこの概念を実現した.デスクトップは 計算機画面上に普段使い慣れた机や文房具の比喩(メタファ)を視覚的に導入 することにより,専門家ではない一般ユーザの計算機に対する障壁を取り除く のに役だった.

    このデスクトップが提供する視覚的インタフェースの利点には以下のようなも のがある.

  • アイコンによるファイルの視覚的識別 個々のファイルは無味乾燥なファイル名だけによる表示の代わりにアイコン として表示され,視覚的にファイルの識別をすることができた.
  • 図の直接操作による情報とのインタラクション アプリケーションの起 動は,従来のコマンド入力の代わりに対応するアイコンをマウスを用いて選択 することによって実現され,またファイルの移動等は,いわゆる直接操作 (Direct Manipulation)[3]によって行われた.
  • フォルダによる階層ファイルシステムの抽象化 一般ユーザ にとって理解の難しい階層的ファイルシステムの概念は,フォル ダの概念によって抽象化され,一般ユーザの理解を助けた.
  • 人間の空間認知を利用した情報検索 ファイルやフォルダはウィンドウ上に平面的に配置されるため,人間の空間認知に よるすばやい情報検索を可能とした.
  • こうした優れたデスクトップ概念も当初はハードウェアの制約上,対話性に難 があり,単なるおもちゃ扱いされることもあったが,デスクトップ,及びこれ に伴い導入されたWIMP (Window, Icon, Menu, Pointer)を基本とし たインタフェースは,現在の計算機インタフェースの標準となっていることは 周知のとおりである.

    さて,本家Xerox PARCにおけるデスクトップの研究は,その後 Rooms[4]へと展開した.マルチウィンドウ環境で作業を行ってい ると,デスクトップが互いに重なり合う多くのアプリケーションウィンドウで 埋め尽くされることはしばしば経験することである.しかし,実際にある特定 のタスクを遂行するために必要なアプリケーションの数はそれ程多くない.例 えば,プログラミングをする場合にはエディタとデバッガ,メールの読み書き にはメールウィンドウというようにタスク毎に限定されている. D. A. Hendersonらの開発したRoomsは異なるタスク毎に異なるデスクトップ (ルームと呼ぶ)を割り当てることができる.各デスクトップにはそれぞれのタ スクを遂行するのに必要なだけのアプリケーションが起動され,ドアを開けて 他の部屋へ行くという現実世界のメタファでタスクスイッチングを実現した (図1).ここで注意しなければならないのは,彼らの研究は日々 のタスク分析に基づいたもので,単に机の次は部屋,部屋の次は家,家の次は 街という安易な連想で行われているのではない.PARCにおけるRoomsの研究は その後3D Roomsの概念を経て,後述するInformation Visualizerへと移っていっ た.

    Figure 1: Roomsの画面例.他の部屋のドアをクリックすることによりタスク スイッチングが実現される.(文献[4]より引用.)

    2.2 情報検索インタフェース

    デスクトップで導入された,人間の空間認知を利用した情報検索の概念は,そ の後,データベースのインタフェースとしての研究が行われた.

    有名なものは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]は,ニュース記事を空間的に 表示するシステムで,空間的に配置されたキーワードにズームしていくと,徐々 に関連記事のヘッドライン,さらにその内容が表示される.また,関連する記 事間には自動的にリンクが張られ,ある記事にズームするとその周辺に関連記 事がその関連度に応じて表示される.

    2.3 プログラムビジュアライゼーション

    プログラム開発を支援するために,プログラムに関する情報を視覚的に表現す ることをプログラムビジュアライゼーションと呼ぶ.また,最近で は単にプログラムに関する情報だけでなく,バージョン情報,モジュール情報, プロジェクト情報等,ソフトウェア開発に関する情報一般を視覚化することを ソフトウェアビジュアライゼーションと呼ぶ.

    2.3.1 Myersによるプログラムビジュアライゼーションの分類

    1980年代半ばまではビジュアルプログラミング(Visual Programming)とプログ ラムビジュアライゼーション(Program Visualization)の区別が明確でなく混 同して使われていた.これに対しB. A. Myersは,グラフィックスそれ自体が プログラムであるものをビジュアルプログラミング,プログラムは従来のテキ ストで記述され,プログラムのある側面や実行状態を表示するためにグラフィッ クスを利用するものをプログラムビジュアライゼーションと定義した [9].さらに,描画が静的なものか動的か,視覚化するものがコー ドかデータかの2つの軸によって以下の4種類に分類した.
  • 静的コード視覚化システム 古典的なのは,プログラムを読み込みプログラムの制御構造を自動的にフロー チャートとして出力するものである. また,コードを整形出力するシステムもこの範疇に入る.
  • 静的データ視覚化システム 例えば,MyersのIncense[10]はポインタ接続された構造 体のようなデータ構造を自動的に図形出力した.
  • 動的コード視覚化システム 例えば,一部デバッガのように,コードの実行されている部分を動的にハイラ イトするシステム等が含まれる.
  • 動的データ視覚化システム データの変化等を動的に表示するシステムでアルゴリズムアニメーションシス テムが有名である.
  • 以下では,静的コード視覚化システムとしてのソースコード視覚化システムと 動的視覚化システムとしてのアルゴリズムアニメーションシステムを紹介する.

    2.3.2 静的コード視覚化システム

    静的コード視覚化システムとしてはプログラムコードを整形出力するシステム が有名である.例えば,D. E. Knuth の WEB[11]はプログラ ムとプログラムに対する解説の混在したファイルから,整形されたドキュメン トとコンパイル可能なプログラムの両方を生成する.このドキュメント中にお いてコードは,制御構造を表すように段付けされるとともに,複数のフォント を用いて表示された.

    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)ツールは,各種情報を静 的に視覚的インタフェースを提供する.例えば,バージョン情報は各バージョ ンをノード,バージョン間の遷移をリンクとして表す木として視覚化するとと もに,図との直接対話によって対応するバージョンを参照したりできる.また, モジュール情報はバブルチャート等で表現される.

    2.3.3 アルゴリズムアニメーション

    プログラムビジュアライゼーションの分野に大きな影響を与えたのはアルゴリ ズムアニメーション (Algorithm Animation)である.一般に,プログラミング 初心者にとって計算機アルゴリズムを理解するのは難しい.アルゴリズムとデー タ構造の教科書(例えば[14)では図を用いて読者の理解 を助けようとしているが,静的な図ではアルゴリズムのダイナミックな動きを 表現しきれない.

    これに対し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)にシステムを応用している.例えば,ピタゴラ スの定理の証明の場合,三角形の二辺に対する正方形の面積の和が他の一辺に 対する面積に等しくなることをアニメーションによって実際に示すと同時に, 解説文が同期して表示される.

    2.4 パフォーマンスビジュアライゼーション

    システムの性能を解析するために実行状態に関する情報を視覚的に表示するこ とをパフォーマンスビジュアライゼーションと呼ぶ.このパフォー マンスビジュアライゼーションは,1計算機あるいは並列計算機における多重 プロセスの解析に主に利用されてきた.

    パフォーマンスビジュアライゼーションの視覚化形態として頻繁に利用される のは,縦軸に負荷あるいはプロセス並び,横軸に時間軸をとったガントチャー トである.例えば,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 ではプログラムが大きくなると,結果の図が全て似たような放 射線図になってしまうため,色による並列度の判定はできても,プログラムの 構成に関する議論を行うのは難しい.

    2.5 グラフレイアウト

    ノードとリンクを構成要素とするグラフとその特殊型としての木は,多くの分 野において頻繁に利用される図である.例えば,家系図,組織図,状態遷移図 などはすべてこうしたグラフとして表現される.

    こうしたグラフ・木のレイアウトは,視覚化システムにおける図形要素の配置 に利用されるだけでなく,VLSIの配線にも利用されるため,古くから数多くの 研究がなされている[26].これらは各ノードが重ならないこと, 無駄なスペースが少ないこと,リンクの逆向がないこと等の制約を満たすよう なレイアウトを目的としている.また,杉山は網図と領域図の共存する複合グ ラフのレイアウトアルゴリズムを提案している[27].

    しかし,有向グラフにおいてリンク交差が最少となるようなレイアウトを発見 するのはNP困難であるため,多くのアルゴリズムはなんらかの発見的手法(ヒュー リスティクス)を利用してきた.しかし,これら発見的手法は,手法の発見が 難しく,また制約の変更に対する柔軟性に欠けるという欠点がある.

    これに対し最近では,シミュレーテッドアニーリングや遺伝的アルゴリズムを 利用した統計的手法が幾つか提案されている.これらの手法では配置手続きを 考案しなくても,徐々に最適に近い解を計算できる.例えば,増井のシステム は遺伝的アルゴリズムを利用しよりよいレイアウトを獲得していくだけでなく, 配置の評価関数をも遺伝的手法により学習することができる [28,29].

    また,宮下らのTRIP3[30]は自動配置した結果をユー ザが修正して,もとの制約にフィードバックできるProgramming by Exampleシ ステム[9]である.


    3 3次元ビジュアライゼーション

    前節で解説したビジュアライゼーションシステムは,基本的に2次元グラフィッ クスを用いた平面的なものである.こうした研究の間にも,CPUの高速化や記 憶容量の増大によって情報システムの発達は進み,より複雑な情報やより多く の情報の視覚化に対する要求が発生した.そして,これら要求のいくつかは, これまでの2次元グラフィックスを用いた平面的ビジュアライゼーションでは解 決が困難であることがわかってきた.

    こうした中,1980年代中頃から比較的低価格な3次元グラフィックスワークス テーションが一般に普及しだした.その結果,3次元グラフィックスによって 3次元的表示を行う3次元ビジュアライゼーションシステムが開発 されはじめた.この3次元ビジュアライゼーションはビジュアライゼーション 研究において,現在最も意欲的に研究が行われている分野の1つである

    この3次元ビジュアライゼーションに対する誤解としてよく耳にするものに, 「いかに3次元といってもディスプレイへの投影は2次元であり,両眼立体視 を行わない限りは2次元ビジュアライゼーションと同じではないか」,というも のがある.しかし,3次元ビジュアライゼーションと単なる投影図との決定的な 相違点は,物体の回転とユーザ視点の移動をアニメーションによって対話的に 行えることである.つまり,3次元ビジュアライゼーションは,単に2次元投影 図をじっと見ているのではなく,必要に応じて視点を対話的に移動できる点が 大きく異なるのである.

    以下では代表的な3次元ビジュアライゼーションシステムとそれらが明らかに した3次元利用の意義を紹介する.

    3.1 大規模グラフ描画におけるリンク交差の回避

    3次元ビジュアライゼーションの先駆的研究は,米国MCC (Micro-electronics and Computer Corporation) のK. M. Fairchildらによっ て開発されたSemNet[31]である.SemNetはPrologで記述 された大規模知識ベースを,知識要素をノード,要素間の関係をリンクとする 3次元グラフとして視覚化した.一般に,こうした大規模なグラフを2次元平 面に描画しようとすると,第1にノードを表示するためのスペースが不足する. さらに,ノード同士を結ぶ膨大な数のリンクの交差が,グラフの視認性を著し く低下させる.これに対し,SemNetは3次元空間を利用することで,ノード数 の増加に対応するとともに,3次元グラフィックスの対話的視点移動を利用す ることにより,リンク交差問題に対する1解答を与えた(図6).

    Figure 6: SemNetによる大規模知識ベースの視覚化.知識ベースのネットワー ク内で,対話的かつ連続的に視点を移動できる.(文献[31]より引用.)

    SemNet研究の真の重要性は,3次元グラフによる実験を通じて,その後の3次元 視覚化研究の指標となる,以下のような3次元視覚化の本質的問題点を明らか にしたことにある.

  • 3次元レイアウト問題 ランダムに配置された視覚表現はあまりに複雑すぎて,人間はなんら有益な 情報を得ることができない.
  • 表示図素数の増加問題 表示図素数の増加は,グラフィックス速度低下とユーザ認知負荷増大という 2つの問題を引き起こした.
  • 視点制御問題 3次元空間内で自由に視点を移動するのは非常に難しい.また,ユーザは3 次元空間において容易に迷子になってしまう.
  • 3.2 表示画面の有効利用とアニメーションによる認知負荷の低減

    Xerox PARCのG. G. RobertsonらのCone Tree[2]は Information Visualizer[32]プロジェクトにおいて開発 されたシステムで,UNIXディレクトリに代表される階層データを3次元の木と して表示する.木の各レベルにおいて子ノードは親ノードを頂点とする円錐の 底面円周上に配置される(図7).2次元表示では大規模な木 は容易に表示領域から溢れてしまうが,Cone Treeはより大きな階層データを 画面溢れを起こすことなく表示することができる.つまりCone Treeは,3次 元の奥行き方向を利用することによる表示領域の効果的利用を示したわけであ る.

    Figure : ConeTreeにおける画面の有効利用.(文献[2]より引用.)

    同時にCone Treeが重視したのはアニメーションによるユーザの認知負荷の低減 である.ユーザが任意のノードをマウスで選択すると,ルートからそのノード へのパス上に存在する全ノードが最前面に一直線に並ぶように,各円錐は並行 してスムーズに回転する.しかも,この回転時間はユーザの認知を妨げないよ うな速度で行われる.また,表示ノード数が増えた場合には,着目していない 部分木の円錐だけを表示して個々のノードを隠したり,あるいはマウス操作に よって不必要な部分木を隠すこともできる.

    3.3 透視投影図法を利用した局所的詳細と大局的概略の統合表示

    J. D. MackinlayらのPerspective Wall[33]は同じ くInformation Visualizerプロジェクトで開発されたシステムで,プロジェク ト管理データに代表される線形データを3次元の壁上に表示するシステムであ る.この3次元の壁は途中2カ所で折れ曲がり,中央部分は計算機画面と平行 だが,左右部分はそれぞれ端が画面奥行き方向に遠ざかっている(図7).この 壁に時系列データを表示すると,中央の壁に表示されるデータはその詳細を見 ることができ,一方,左右の壁に表示されるデータはその存在だけを把握する ことができる.従来の2次元視覚化で大規模な時系列データを見る場合,着目 点近傍を詳細に見ようとすると全体構造が見えなくなり,逆に,全体を見よう とすると個々の詳細が見えなくなる.これに対しPerspective Wallは,3次元 グラフィックスの透視投影図法(Perspective View)を利用することによって, 局所的詳細と大局的概略を統合した表示を可能とした.そしてユーザがあるデー タを選択すると,そのデータが画面中心にくるように線形データ全体が移動し, 常に着目データを中心とした視点が得られる.またCone Tree同様,この移動 はユーザの認知を妨げないスピードで行われる.

    Figure : PerspectiveWallにおける局所的詳細と大局的概略の統合表示. (文献[33]より引用.)

    同様に透視投影図法を利用したシステムにSilicon Graphics社のFSNがある. FSN[34]はUNIXファイルシステムの3次元ナビゲーションシ ステムで,映画「ジュラシックパーク」のクライマックスシーンで女の子がパー クのセキュリティシステムのキーを探すシーンで利用されていたことで有名で ある.FSNはUNIXディレクトリを水平面上に2次元の木として描画し,ユーザ は飛行機から地面を見るようにUNIXディレクトリを見る(図8). Perspective Wall同様,透視投影図法を利用しているため,着目しているディ レクトリに関する情報は詳細に見ることができ,より深いディレクトリはその 概略だけを把握することができる.また,高さ方向をファイルサイズ等の付加 的情報の表示に利用している.

    Figure : FSNにおける透視投影図法の効果.

    3.4 複数の2次元図の3次元による統合

    筆者は2次元と3次元との本質的な相違である次元の増加に着目し,複数の2 次元図を1つの3次元図として統合する枠組を提案するとともに、ソフトウェ ア3次元視覚化システムVOGUEを開発し,この枠組を電力制御用ソフ トウェアの視覚化[35]をはじめとする幾つかの異な る種類のソフ トウェア視覚化に応用した[24,36].

    例えば並列プログラムの開発時には,実行状態を表示するガントチャート,複 数CPUとCPUに割り当てられた複数プロセスを表す領域図等が利用される.しか し,これら2次元図には以下のような問題点がある.

  • 2次元図の表現力の限界

    上記ガントチャートにおいて並列プロセスは縦軸に並べられるが,この1次元 に記述できるのは高々十数個である.これは今後の大規模並列システムを考え たとき明らかに不十分である.また,一般にプロセス間通信はプロセスを表す 水平線を交差する矢印として表現されるが,通信の増加に伴い,こうした矢印 が図の視認性を著しく低下させる.

  • ユーザに対する認知負荷

    例えば,上記2つの図におけるプロセスは本来同一の実体を表しているが, 視点が異なるため異なる図として表現されている.一方,ユーザはCPUとプロ セスの関係とプロセスの実行状態を理解するには,これら2つの図の整合性を とるメンタルモデルを再構成する負荷を強いられていると考えられる.

  • Figure : VOGUEにおける複数の2次元図の3次元による統合.

    これに対し3次元の概念を導入すると,これら2つの2次元図を1つの3次元 図として統合する事が可能である(図8).プロセス配置に2 次元が利用できるため,より多数のプロセスを配置可能であるとともに,プ ロセス-プロセッサの階層関係をも表示することができる.さらに,プロセス 間通信を表す線は一般に交差しないため,図の視認性が低下しない.また,ユー ザはプロセッサ-プロセス間の関係と同時に,プロセスの実行状態を見ること ができるが,ユーザに提示される図は1つであるから,メンタルモデル再構成 の負荷は生じない.これは機械系CADにおいて3面図だけでは対象物に対する メンタルモデルが作りにくいが,3次元モデルを導入することによりそれが容 易になるのと同じことである.

    以下では、最近の研究について紹介する。

    3.4.1 並列プログラミングへの応用

    第1の応用例は並列プロセスのパフォーマンスビジュアライゼーションである. 我々は並列プログラミング言語 Linda[37]の実行 状態を視覚化す るシステムVisuaLindaを開発している[38,39].

    LindaはYale大学のCarrieroとGelernterによって提唱された並列プログラミン グの概念で,タプルスペースと呼ばれる共有空間と,この共有空間にタプルと 呼ばれるデータを送受信する幾つかのプリミティブを付加することにより,既 存の言語を並列化することが可能である.

    Lindaでは全ての通信がサーバを通じて行われる.我々はこの特徴に着目し, 視覚化手続きをLindaサーバに埋め込んだ.そしてサーバはクライアントから 要求を受け取ると,サーバが管理する基準時間とともに視覚化モジュールに処 理を依頼する.視覚化モジュールは,これらを図8に示す3次 元の枠組で視覚化する.図9にVisuaLindaによる視覚化例を示 す.図中細い柱はプロセスの実行状態,プロセス間を繋ぐ線は通信,太い半透 明の柱は各計算機を表す.そして,ユーザのマウス操作により,各タプルデー タの表示,ある時刻におけるタプルスペース内の全タプルの表示,プロセス状 態の表示,ホスト名と実行ファイルの表示等が可能である.

    VisuaLindaの第1の特徴はもちろん3次元視覚化の枠組である.この結果,以 下の点において2次元視覚化よりも優れている.

  • 2次元ガントチャートに比べ,より大量のプロセスを視覚化できる;
  • 複数台の計算機と各計算機内で実行されるプロセスの関係を記述できる;
  • サーバに集中する通信ラインの視認性を向上させることができる;
  • プロセスの状態に関する局所的情報と全プロセスの動作状態に関する大 局的情報が同時に把握できる.
  • Figure : VisuaLindaによる視覚化例.

    VisuaLindaのもう1つの特徴は視覚化手続きをサーバ内に埋め込んだことであ る.このようなビルトイン視覚化モジュールアプローチを行う意義は以下に挙 げられる.

  • グローバルクロック

    並列システムの視覚化において問題となるのは,どの時間を基準時間とするか である.この点Lindaでは,各クライアントは基本的に並列に動作するが,サー バにおけるクライアントからの要求処理は逐次的に行われる.したがって,サー バで処理を開始した時間を基準時間にとることができる.

  • クライアントプログラムの無変更

    プログラマは視覚化を行うためにクライアントプログラムを変更する必要がな い.アルゴリズムアニメーションシステムに見られるように,幾つかの視覚化 システムは対象とするプログラムにソフトウェアプローブを挿入することを強 制する.しかし,実際的な視覚化システムはプログラマにこうした負担をかけ るべきではない.

  • VisuaLindaは並列プログラムにおける通信のバグの発見やパフォーマ ンスチューニングに利用されている.

    3.4.2 オブジェクト指向プログラミングへの応用

    オブジェクト指向言語における継承の概念は,プログラム再利用の観点から優 れた機能である.この時,あるインスタンスに送られたメッセージは必ずしも そのクラスで処理されるとは限らない.このクラスがメソッドを持たない場合 は上位クラスのメソッドが起動されることになる.このメソッド探索はプログ ラム実行時にはシステムによって自動的に行われるが,デバッグ時にはユーザ が1つ1つ調べていかなければならない.

    このオブジェクト指向プログラミングを視覚的に支援するために,従来からク ラス階層図が用いられてきた.しかし,実際に起動されるメソッドの位置をク ラス階層図だけから知ることは不可能で,我々はメソッドリストをも知る必要 がある.

    これに対し,筆者らはクラスライブラリの3次元視覚化の枠組を提案した [36,40].クラス階層をxy 平面に木として表示し,各メソッ ドはそれが属するクラスと同一のXY座標を持ち,かつ同一名を持つメソッドは 同一Z座標を持つように配置した.ユーザは1つの3次元視覚表現でクラス階 層とメソッド継承が同時に把握できるため,あるインスタンスにメッセージを 送った場合,どのメソッドが実際に起動されるかを視覚的に迅速に同定できる.

    Figure : オブジェクト指向言語C++のクラスライブラリの3次元視覚化.

    Smalltalk[41]のシステムブラウザ,視覚的プログラミ ング環境Prograph[42]の2次元ビジュアルブラウザ との比較実験 を行った結果,より短い時間でメソッド探索課題を達成することが示された.

    3.4.3 バージョン・モジュール管理への応用

    ソフトウェア開発におけるバージョン管理の重要性は言うまでもない.UNIX環 境ではバージョン管理にはSCCSやRCSが一般的に利用されている. しかしながらSCCSやRCSは,以下に述べる理由から必ずしも使いやすいシステム とは言い難い.
  • バージョン履歴を視覚的に把握することができない.
  • 複雑なコマンド入力を要求される.
  • 複数ファイル間の関連の管理ができない.
  • 1と2は特に初心者にとっての問題であり,これにはCASEツールが提供するよ うな視覚的インタフェースが有効である.一方,3は初心者だけでなく熟練者 にとっても大きな問題である.一般のCASEシステムではバージョン履歴とモジュー ル構造がそれぞれ別な2次元図として視覚化されるため,複数ファイルの異な るバージョン間の関係を管理できない.

    我々は,3次元インタフェースを与えることでこの問題の解決をはかっている [43,44]. つまり,各ファイルのバージョン履歴をz軸を時間軸にとった木として表現し, xy平面から見たとき同一モジュールのファイルが近くになるように配置する. そして,1つのメジャーリリースを構成するバージョン同士をリンクで接続す ることにより,特定のメジャーリリースを構成する各ファイルのバージョンが 視覚的に把握できる.

    Figure : 3次元グラフィックスを利用したバージョン情報とモジュール情報 の統合表示.

    こうした第3軸の積極的利用は,その後,アルゴリズムアニメーションシステ ムZeus[20],Information Visualizerにおけるカレンダー表示 [45]にも採り入れられている.

    3.5 半透明表示を利用した階層データ表示

    3次元グラフィックスは様々な特殊表示が可能であり,その1つに半透明表示 がある.これを効果的に利用したのが暦本のInformation Cubeであ る.Information Cube[46]は,UNIXディレクトリ に代表される 階層構造を3次元の入れ子状の立方体として視覚化するシステムである(図 10).各立方体はディレクトリを表し,子ディレクト リの立方体は親ディレクトリの立方体に包含されている.そして,3次元グラ フィックスの半透明表示を利用することにより,各立方体は内部が透けて見え る.この透明度は内側の立方体ほど低くなるように制御されているため,ある 程度の深さまで中の情報を見ることができるとともに,必要以上に深いディレ クトリは隠され,図の複雑さを増さない効果が得られる.Cone Tree, FSNの ように階層構造を木として表示した場合,画面からの溢れを避けることができ ないが,Information Cubeでは着目したディレクトリから下は必ず一定の範囲 に収まる.

    Figure : Information Cubeによる半透明を利用した階層構造の表示 (暦本氏の御好意による.).

    筆者らは電力制御ソフトウェアの大規模なモジュール構造を,後述する Fractal Viewを利用したアルゴリズムによって、半透明の箱を使って視覚化し た[35].現在は,プロセス・プロセッサの階層構造 やモジュールの階層構造の表示に半透明を利用している.

    3.6 他次元データの表示

    単純に考えれば3次元空間に表示できるのは3次元データである.これに対し S. FeinerとC. BeshersのAutoVisual[47]は,3次元空 間内に多次元データの視覚化を行うシステムで,3次元直交座標系の中にもう 1つの小さな3次元直交座標系が表示される.内側のグラフの原点の外側のグ ラフにおける座標が3つのパラメータを決定し,この時,他の3つのパラメー タに対するグラフが内側のグラフに表示される.そしてユーザがDataGloveを 用いて内側の座標系を動かすと,はじめの3パラメータが変化し,それにとも ない内側の座標系に表示されるグラフが変化する.

    Figure : AutoVisualによる他次元データの表示(C. BeshersとS. Feiner氏の御好意による.).

    3.7 3次元ビジュアリゼーションの問題点

    これまで述べてきた3次元ビジュアリゼーションには、2次元ビジュアリゼー ションにはない様々な長所がある半面、幾つかの問題点もある。詳細は文献 [48]に譲るが、代表的なものは以下の2つである。
  • 3次元インタラクション 3次元では、表示されるオブジェクトとユーザ視点の双方に、それぞれ位置3 自由度と姿勢3自由度の合計6自由度が存在するが、現在入力デバイスとして 一般的に用いられているマウスでは、自由度が決定的に不足する。
  • 表示情報量の削減 3次元視覚化は2次元に比べより多くのデータの表示を可能とするが、 こうした表示情報の増大は、システムの表示速度の低下とユーザの認知負荷の 増大という2つの問題を引き起こす。
  • 3次元ビジュアライゼーションの実用化のためにはこれらの解決が重要な課題 である。


    4 Focus+Context技術

    4.1 Focus+Context問題

    現在,コンピュータから人間への情報提示は高々20インチ程度の画面で行われ ている.したがって,見たい情報全てをこの物理的に大きさの限られた画面内 に表示することは一般に不可能である.これはSmall Screen Problemと呼ばれ[4],情報視覚化における本質的問題の1つであ る.特に,図形は文字に比べてより多くの表示領域を必要とする.

    この問題に対して,プロジェクタ等の大画面の利用は本質的な解決にならない. 何故ならば,表示情報量が増大すれば結局同じ問題に突き当たるし,また,表 示情報量が多すぎるとユーザの情報の選択に障害をきたすからである.したがっ て,膨大な情報の中から,いかにしてユーザの見たいところだけを見せるかが 問題となる.

    これに対する伝統的なアプローチは画面スクロールである.画面スクロールと は,上下あるいは左右に移動可能な仮想的な窓を通して情報の一部を見る手法 で,テキストエディタや図形システム等で一般的に利用されている.ところが 画面スクロールの問題点は,表示される情報が常に局所的であり,全体の構造 を見失いやすい点である.例えば,大規模な木構造のレイアウトを考えると, 木の先端部では着目ノードとその子供程度は見えるが,それ以外では着目ノー ドしか見ることができなくなる(図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を紹介する.

    4.2 Generalized Fisheye Views

    G. W. Furnasの提案した Generalized Fisheye Views[50]は,木として表現できる情報構造に利用できる Focus+Context手法である.本手法は木の潜在的重要度(API)と焦点から の距離(D)を用いた以下の式に基づき木の各ノードの重要度(DOI)を決定する (図17).

    DOI = API - D

    ただし,潜在的重要度はルートを0とし,ルートから離れるにしたがい,-1,- 2,...と単調に減少するものと定義される.

    ノードの重要度を計算した後,ある閾値を設定し,この閾値未満のノードは消 去することにすると,着目点近傍の詳細と全体のコンテキストがミックスした 表示が得られる.また,閾値を増減することで,表示の範囲を拡大縮小するこ とができる.

    Figure : Generalized Fisheye Viewsにおける各ノードの重要度の計算例.

    4.3 Generalized Fisheye Viewsの応用例

    Furnas自身,本手法を構造プログラムエディタ,スケジュール表,SemNetでの 情報削減に適用した.構造プログラムエディタにおいては,段付けされたCプ ログラムを木構造とみなし,Fisheye Viewを適用した.普通のテキストエディ タでの表示と異なり,現在着目している行の前後数行と,着目行からの距離は 遠いがプログラムの制御構造を知る上で重要な行(例えばfor文,if文, switch文等)の同時表示を実現した.

    また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].

    4.4 Fractal Views

    Generalized Fisheye Viewsは簡単なアルゴリズムで効果的なFocus+Context 表示を実現できるが,問題は表示される量が対象とする木の分岐数に依存する ことである.例えば,同じ閾値の設定においても,着目点近傍の分岐数が少な い場合には少ない情報しか表示されず,分岐数が多い場合には多くの情報が表 示される.

    これに対し,筆者らはFractal[55]の持つ抽象 化機能に着目 した情報量制御手法を提案し,Fractal Viewと呼んでいる [56,57].Fractal View は木として実現できる情報構造に適 用可能で,焦点から以下の式によって各ノードの重要度を決定する.

    Fv_{focus} = 1
    Fv_{children_of_x} = r_x Fv_x
    r_x = C N_x^{-1/D}

    ただし,Cは0 本式に従って各ノードに値を伝播すると,同一閾値に対して,分岐数の少ない 場合はより先まで,分岐数の多い場合には近くだけを表示することが可能とな る.さらに,離散的な情報構造を連続系として理想化した状態では,この表示 量が分岐数に関係なく同程度となる.

    4.5 Fractal Viewsの応用例

    4.5.1 大規模階層構造の視覚化

    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ディレクトリの視覚化.

    4.5.2 Fractal View Editor

    一般のテキストエディタでプログラムを作成する場合,着目点のある行とそれ に連続する上下数行を見ることができる.しかしこの時,プログラムの制御構 造に関するより大局的な視点は失われている.

    我々はFractal Viewを応用したエディタを開発した.本エディタは普段はVIエ ディタとして機能するが,モード変換キーを押すことによりFractal View (ON/OFF) モードに移行する.つまり,着目行から式(2)に従っ て各行の重要度を計算し,ある閾値以下の重要度をもつ行は消去する.このモー ドでは着目点周辺は連続して表示されるが,着目行から離れるに従い,switch, ifといった制御構造を示す行だけが表示され他は消去される.

    この表示法の欠点は,着目行を移動した時の表示変化が激しいことである. 特に,現在表示されていない行へ移動した時のユーザに与える認知負荷が大 きいことが実験的使用の結果わかってきた.この問題を解決するために作成し たのが図21に示すマルチスケーラブルフォントモードである.各 行はその重要度に対応する大きさのフォントで表示される.基本的に省略され る行がないので,連続的変化を認識しやすい.

    Figure : Fractal View EditorによるCプログラムの表示.着目点は24行 目にある.

    実際にはこれらのモードはキーで移り変わることができる.経験的には普段は 通常のVIモードで編集を行い,必要に応じてFractal Viewモードにし,制御構 造を確認するのが正しい使い方のようである.

    4.6 その他のFocus+Contextシステム

    K. PerlinらはFocus+Context技術を利用したシステムPad*2を開発した [60].Padは仮想的に無限大の描画領域を持ち,そ の上にテキスト やグラフィックスが異なるスケールで描画されている.そして,ズームアウト した位置から見ると,上位レベルの情報記述が見え,ズームインすると,個々 の情報の詳細を見ることができる.彼らはPadを従来のWIMPに代わる新たなイ ンタフェースとして位置付けている.つまり,WIMPのクリック&オープンパラ ダイムでは,例えばフォルダを開いて見なければ内部の情報はわからなかった. これに対しPadでは,対話的にズームすることで徐々に詳細が見えてくる.

    Xerox PARCではPerspective Wallの知見をいかし,その後,Document Lens[61],Spiral Calendar[45]という Focus+Contextシステムが開発されている.また,階層構造を双曲平面上 に描画するシステムも開発されている[62].

    MITのLiebermanの開発したFocus+ContextシステムPowers of Ten Thousand[63]は,半透明表示を利用して,全体 図と詳細図を重 ね表示するものである.ただし,残念ながら表示は非常にみずらい.

    *2 プログラムの制御構造を図式化するPADとは全くの別物である.


    5 今後の展望

    5.1 小画面化と大画面化

    今後のビジュアライゼーション研究において,考慮にいれておかなければなら ないことの1つに表示領域の大きさの変化があげられる.

    SHARPのZaurusやAppleのNewtonの普及が示すように,こうした個人用携帯端末 を中心としたMobile Computingはこれからの情報処理のトレンドで ある.こうした携帯端末のディスプレイは4インチ程度しかなく,このように 小さな画面に現在と同じ情報表示を行っても無意味である.General Magic社 のMagic Capでは、インタフェースにデスクトップメタファが利用さ れている。

    こうした携帯端末におけるビジュアライゼーションの研究の1部はトロント大 学におけるChameleonで実験が行われている.彼らはグラフィックス ワークステーション上に実現したビジュアライゼーション画面を小型液晶テレ ビに出力し,この小型テレビを将来的な携帯端末とみなし,幾つかの実験を行っ た.例えば,ConeTreeを表示し,マウスの代わりに小型テレビそれ自体を動か すことで情報検索を行ったり,壁に貼られた実際の地図のある都市を小型テレ ビで触ると,その都市に関する情報が表示されるシステムをデモンストレーショ ンした.

    一方,プロジェクタに代表される大画面出力デバイスの低価格化に伴い,オフィ ス等での情報表示は大画面化への道をたどると考えられる.こうした研究はか つてMITのDatalandで行われたが,3次元といった新しいテクノロジーを用い た場合の効果は研究の余地がある.研究例としてはATRで行われたCSCWでの利 用[64],Illinoi大で開発されたCAVE等があげられる.

    5.2 Augmented Reality

    仮想現実感(Virtual Reality)は,コンピュータにより生成された仮想的な映 像をヘッドマウンテッドディスプレイ等の特殊な出力デバイスに表示し,デー タグローブ等の特殊な入力デバイスを用いて情報との対話を行う技術である. ただし,一般の仮想現実感システムでは,ユーザが見ることができるのは仮想 世界だけであり,現実世界との対話ができなくなるというデメリットがある.

    これに対し,ユーザを仮想世界に完全に入り込ませるのではなく,現実世界と 仮想世界の融合を目指したAugmented Realityが最近注目を集めてい る.例えば,P. WellnerのDigital Desk[65]は,現実の 机と仮想の机,つまりデスクトップを融合し,紙の書類と電子書類の区別を無 くそうとするものである.Digital Deskでは現実の机の上にコンピュータによ り生成された画像を投影すると同時に,この机上におかれた書類や人間の動作 をカメラから入力し画像処理を行う.

    今後のビジュアライゼーションの方向の1つとして,こうした仮想世界と現実世 界の融合が考えられる.つまり,コンピュータにより生成された図と人間がフ リーハンドで描いた図との融合,あるいは人間の動作を認識・理解し,それを ビジュアライゼーションにフィードバックするようなシステムである. このようなシステムの1つのプロトタイプとして, Xerox PARCのE. SoundとT. P. Moranはフリーハンドで描かれた図におけるユー ザの動作を認識・理解し,ユーザのタスクをアクティブに支援するシステム を開発中である[66].

    5.3 オーラライゼーション(Auralization)

    情報を視覚的に提示するのではなく,聴覚的に提示する研究はオーラライゼー ションと呼ばれる.この音を情報提示に利用しようとする発想自体は決して新 しいものではない.J. Bernstein の著書[67]によれば,昔, M. Minsky は論理回路のデバッグを行おうとしたが,オシロスコープがなかっ たので,論理回路の音を拡声器に通した音を使ってデバッグをしたそうである. 同様に,我々はハードディスクの死期の近さをその音でなんとなく知ることが できる.

    前述のM. H. Brownはアルゴリズムアニメーションへの音の導入を実験的に行 い,これをアルゴリズムオーラリゼーション (Algorithm Auralization)と呼んだ[19].彼は,ソートプログラム において, 各データにその値の大きさに応じた音を対応させ,データがソートされる様子 を聴覚的に表現した.そしてアルゴリズムによってパターンの異なる音列が得 られることが報告された.

    しかし,オーラライゼーションだけによる情報提示には明らかに限界がある. 例えば:

  • ある瞬間に実行を中断しそれまでの結果を分析することが難しい;
  • 2つの状態を比較して定量的に議論をすることが難しい;
  • といった問題点があるからである.

    筆者は,オーラリゼーションはビジュアライゼーションを補うものとして利用さ れて初めて活かされるものであると考えている.例えば,システムからの出力 を監視している時,ビジュアライゼーションだけだと監視者はこの出力から目を そらすことなく集中して見ていなければならない.これは目に負担がかかると 同時に疲労しやすい.これに対し,オーラリゼーションを併用すれば,監視者 は他の仕事をしていても,なんらかのシステム異常が発生した場合には音の変 化でこれを認識することができる.


    6 実用的ビジュアライゼーションに向けて

    グラフィックスコンピュータの普及とCG技術の発展にともない,今後,ビジュ アリゼーションに関する研究はますます盛んになっていくと思われる.しかし, 真に実用的なシステムを開発しようとする場合,次のような点に関する考察が 重要である.

  • 図の特性の正しい認識 「図は文字より理解しやすい」と安易に言われるが,これはその図が注 意深くデザインされている場合の話である.特に情報視覚化の場合,機械系 CADなどと異なり,視覚化対象に本来形が無いため,注意深いデザインが必要 とされる.

    同様に,「図からは迅速に情報を得ることができる」と言われる. これは,あくまでも記述されている情報量が少ない場合のことである.本稿で も述べたように図素が増加すれば一般に図は複雑になり,ユーザの認知を阻害 する.また,図素の増加はより多くの表示領域をも必要とする.

    さらに,図の抽象度とシステムの汎用性の問題がある.例えば,より直観的に 理解しやすい視覚化システムを目指して,問題領域を直接的に表現する図を導 入すると,システムはその問題領域に深く依存することとなり,他の領域への 適用が難しくなる.過度のカスタマイズはシステムの汎用性を低下させる.

  • 図の役割の正しい認識 例えば,PICT[68]のような初期のビジュアルプログラ ミングシステムは図によって全て解決しようとしていた.しかし,上に述べた 図の特性を考えると,これは賢明ではない.ビジュアルシステムとテクスチュ アルシステムはそのそれぞれが得意な部分を担当すべきである.

    これは数学における解析学と幾何学の関係に例えることができる.いま,次の ような2次方程式を考える.

    x + y = 1
    x^2 + y^2 = 2 解析的手法だけの場合,この方程式が幾つの実数解を持つかは,実際に行列式 を求めてみなければわからない.しかし,幾何的手法を用いると,図22 から即座に2つの実数解を持つ事が判断できる.一方,正確な 解の値は幾何的手法だけで求める事は難しく,解析的手法により求めなければ ならない.

    Figure : 2次方程式の幾何表現.正確な解の値はわからないが、実数解の個数 やおおまかな値は即座にわかる.

    この例が示すように,視覚的なツールと解析的なツール双方の長所を理解し, 両者を組み合わせた使い方をすることが大切である.

  • ビジュアルシステムに関する国際学会では、東洋的な文化が引合に出されるこ とが多い。例えば漢字は、幾つかのコンポーネントを組み合わせることにより、 新たな意味が作り出される優れた図形言語だ、という訳である。

    しかし残念なことに、こうした国際学会において日本からの新しい概念やシス テムに関する発表は少ない。これは、日本ではビジュアルシステム、ひいては ユーザインタフェースの重要性に対する正しい認識が欠如していたからであろ う。しかし、一般の人々へのコンピュータの普及にともないビジュアルインタ フェースの需要もさらに高まることは間違いない。また、情報の複雑化にとも ない論理的な思考を側面から支援するビジュアルシステムの役割も大きくなっ ていく。

    遅ればせながら日本でも最近、インタラクティブシステムに関する会議がソフ トウェア科学会で定期的に開かれるようになった*3。ここでの活発な 議論を土台にして、日本からも多くのシステムが海外で発表されることを期待 したい。そして、本稿がこうした研究者らの参考になれば幸いである。

    *3 インタラクティブシステムとソフトウェアに関するワークショップ(WISS)。


    付録 - 参考WWWサイトおよびftpサイト -

    以下では、本稿で述べたシステムのうち,ネットワークを通じてアクセス可能なも のを幾つか挙げる。

    参考文献

    1. L.Rosenblum, R.A.Earnshow, J.Encarnacao, H.Hagen, A.Kaufman, S.Klimenko, G.Nielson, F.Post, and D.Thalmann. Scientific Visualization - Advances and Challenges -. Academic Press, London, 1994.
    2. G. G. Robertson, J. D. Mackinlay, and S. K. Card. Cone Trees: Animated 3D visualizations of hierarchical information. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'91), pp. 189--194. ACM Press, 1991.
    3. B. Shneiderman. Direct manipulation: A step beyond programming languages. IEEE Computer, Vol. 16, No. 8, pp. 57--69, 1983.
    4. S. K. Card and D. A. Henderson, Jr. A multiple, virtual-workspace interface to support user task switching. In CHI+GI 1987. ACM, 1987.
    5. R. A. Bolt. The Human Interface. Lifetime Learning Publications, 1984.
    6. Christopher F. Herot. Spatial management of data. ACM Transaction on Database Systems, Vol. 5, No. 4,, 1980.
    7. A. Spoerri. Visual tools for information retrieval. In Proceedings of 1993 IEEE/CS Symposium on Visual Languages (VL'93), pp. 160--168. IEEE CS Press, 1993.
    8. E. Rennison. Galaxy of news: An approach to visualizing and understanding expansive news landscapees. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 3--12, 1994.
    9. B. A. Myers. Visual programming, programming by example and program visualization: A taxonomy. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'86), pp. 59--66. ACM Press, 1986.
    10. B. A. Myers. Incense: A system for displaying data structures. Computer Graphics, Vol. 17, No. 3, pp. 115--125, 1983.
    11. D.E.Knuth. Literate programming. The Computer Journal, Vol. 27, No. 2,, 1984.
    12. R. M. Baecker and A. Marcus. Human Factors and Typography for More Readable Programs. ACM Press, 1990.
    13. J. L. Steffen S. G. Eick and E. E. Sumner Jr. Seesoft - a tool for visualizing line-oriented software statistics. IEEE Trans. on Software Engineering, Vol. 18, No. 11, pp. 957--968, 1992.
    14. Alfred V. Aho, John E. Hopcroft, and Jeffrey D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983. (邦訳)大野 義夫 訳: データ構造とアルゴリズム,培風館.
    15. M. H. Brown. Algorithm Animation. MIT Press, Cambridge, MA, 1988.
    16. J. T. Stasko. TANGO: A framework and system for algorithm animation. Computer, Vol. 23, No. 9, pp. 27--39, September 1990.
    17. K. C. Cox and G.-C. Roman. Visualizing concurrent computations. In Proceedings of 1991 IEEE Workshop on Visual Languages, pp. 18--24. IEEE CS Press, 1991.
    18. M. H. Brown. Zeus: A system for algorithm animation and multi-view editing. In 1991 IEEE Workshop on Visual Languages, pp. 4--9, October 1991.
    19. M. H. Brown and J. Hershberger. Color and sound in algorithm animation. Computer, Vol. 25, No. 12, pp. 52--63, December 1992.
    20. M.H.Brown and M.Najork. Algorithm animation using 3d interactive graphics. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'93), 1993.
    21. T. Lehr, Z. Segall, D. F. Vrsalovic, E. Caplan, A. L. Chung, and C. E. Fineman. Visualizing performance debugging. IEEE Computer, 1989.
    22. L. B. Linden. Parallel program visualization using ParVis. In M. Simmons and R. Koskela, editors, Performance Instrumentation and Visualization, pp. 157--188. ACM Press, 1990.
    23. A. D. Malony. JED: Just an event display. In M. Simmons and R. Koskela, editors, Performance Instrumentation and Visualization, pp. 99--116. ACM Press, 1990.
    24. H. Koike. The role of another spatial dimension in software visualization. ACM Trans. on Information Systems, Vol. 11, No. 3, pp. 266--286, July 1993.
    25. E. Tick. Visualizing parallel logic programs with VISTA. In Proceedings of the International Conference on Fifth Generation Computer Systems, pp. 934--942, 1992.
    26. G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis. Algorithms for drawing graphs: an annotated bibliography, 1994.
    27. 杉山公造. ヒューマン・インタフェースとしての図形言語III : 認知的基準によるグラフ描画. 第3回ヒューマン・インタフェース・シンポジウム, 1987.
    28. T. Masui. Graphic object layout with interactive genetic algorithms. In Proceedings of the 1992 IEEE Workshop on Visual Languages, pp. 74--80, 1992.
    29. T. Masui. Evolutional learning of graph layout constraints from examples. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 103--108, 1994.
    30. K. Miyashita. Declarative programming of graphical interfaces by visual examples. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'92), pp. 107--116, 1992.
    31. K. M. Fairchild, S. E. Poltrock, and G. W. Furnas. SemNet: Three-dimensional graphic representation of large knowledge bases. In R. Guindon, editor, Cognitive Science And Its Applications For Human-Computer Interaction, pp. 201--233. Lawrence Erlbaum Associates, 1988.
    32. S. K. Card, G. G. Robertson, and J. D. Mackinlay. The Information Visualizer, an information workspace. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'91), pp. 181--188. ACM Press, 1991.
    33. J. D. Mackinlay, G. G. Robertson, and S. K. Card. The perspective wall: detail and context smoothly integrated. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'91), pp. 173--179. ACM Press, 1991.
    34. Silicon Graphics, Inc. FSN: File System Navigator, 1992. online manual.
    35. 名井健, 甘利治雄, 稲村浩平, 小池英樹, 葛岡英明, 廣瀬通孝, 石井威望, 林達郎. 視覚表現を活用した大規模制御システムの一設計法. 電気学会論文誌C, Vol. 11, No. 5, pp. 194--201, 1991.
    36. 小池英樹, 石井威望. 3次元ソフトウェア視覚化の枠組と実例による有効性の評価. 情報処理学会論文誌, Vol. 33, No. 6, pp. 778--790, 1992.
    37. N. Carriero and D. Gelernter. Linda in context. Communications of the ACM, Vol. 32, No. 4, pp. 444--458, 1989.
    38. 高田哲司, 小池英樹. 並列言語lindaのプログラムの実行状態の視覚化. 竹内彰一(編), インタラクティブシステムとソフトウェアI: 日本ソフト ウェア科学会WISS'93. 近代科学社, 1994.
    39. 高田哲司, 小池英樹. VisuaLinda: 並列言語lindaのプログラムの実行状態の3次元視覚化. 竹内彰一(編), インタラクティブシステムとソフトウェアII: 日本ソフト ウェア科学会WISS'94, pp. 215--223. 近代科学社, 1994.
    40. H. Koike. An application of three-dimensional visualization to object-oriented programming. In T. Catarci, M. F. Costabile, and S. Levialdi, editors, Advanced Visual Interfaces (Proceedings of the International Workshop AVI'92), pp. 180--192. World Scientific, 1992.
    41. A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Xerox, 1983.
    42. P. T. Cox and T. Pietrzykowski. Using a pictorial representation to combine dataflow and object-orientation in a language independent programming mechanism. In Proceedings International Computer Science Conference. IEEE, 1988.
    43. 朱慧珠, 小池英樹. 3次元視覚化によるバージョン管理とモジュール管理の統合. 竹内彰一(編), インタラクティブシステムとソフトウェアI: 日本ソフト ウェア科学会WISS'93, pp. 17--24. 近代科学社, 1994.
    44. 朱慧珠, 小池英樹. 3次元グラフィックスを利用したバージョン・モジュール管理システムの 作成と評価. 竹内彰一(編), インタラクティブシステムとソフトウェアII: 日本ソフト ウェア科学会WISS'94, pp. 225--232. 近代科学社, 1994.
    45. J. D. Mackinlay, G. G. Robertson, and R. DeLine. Developing calendar visualizers for the information visualizer. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 109--118, 1994.
    46. 暦本純一. InformationCube:半透明表示を用いた3次元情報視覚化技法. 竹内彰一(編), インタラクティブシステムとソフトウェアI(日本ソフトウェア科 学会 WISS'93), pp. 1--8. 近代科学社, 1993.
    47. S. Feiner and C. Beshers. Worlds within worlds \/ metaphors for exploring n-dimensional virtual worlds. In Proceedings of the ACM SIGGRAPH Symposium on User Interface Software and Technology (UIST'90), pp. 76--83. ACM Press, 1990.
    48. 小池英樹. インタラクティブ3次元情報視覚化. コンピュータソフトウェア, Vol. 11, No. 6, pp. 20--31, 1994.
    49. Y. K Leung and M. D. Apperley. A review and taxonomy of distortion-oriented presentation techniques. ACM Trans. on Computer Human Interaction, Vol. 1, No. 2, pp. 126--160, 1994.
    50. G. W. Furnas. Generalized fisheye views. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'86), pp. 16--23. ACM Press, 1986.
    51. M. Sarkar and M. H. Brown. Graphical fisheye views of graphs. In Proceedings of the ACM Conference on Human Factors in Computing Systems (CHI'92), pp. 83--91. ACM Press, 1992.
    52. 三末和男, 杉山公造. 図的思考支援を目的とした図の多視点遠近画法について. 情報処理学会論文誌, Vol. 32, No. 8, pp. 997--1005, 1991.
    53. E. G. Noik. Layout-independent fisheye views of nested graphs. In Proceedings of the 1993 IEEE Symposium on Visual Languages, pp. 336--341, August 1993.
    54. K. M.Fairchild, L.Serra, N.Hern, L.Beng, and A. T.Leong. Dynamic fisheye information visualizations. In Virtual Reality Systems, pp. 161--177. Academic Press, 1993.
    55. B. B. Mandelbrot. The Fractal Geometry of Nature. W.H.Freeman and Company, New York, 1982.
    56. 小池英樹, 石井威望. フラクタルの概念に基づく提示情報量制御手法. 情報処理学会論文誌, Vol. 33, No. 2, pp. 101--109, 1992.
    57. H. Koike. Fractal views: A fractal-based method for controlling information display. ACM Trans. on Information Systems, Vol. 13, No. 3,, pp.305-323, 1995.
    58. H. Koike and H. Yoshihara. Fractal approaches for visualizing huge hierarchies. In Proceedings of 1993 IEEE/CS Symposium on Visual Languages (VL'93), pp. 55--60. IEEE CS Press, 1993.
    59. 小池英樹, 吉原大敬. 対話型システムにおける大規模階層構造視覚化へのフラクタルの応用. 情報処理学会論文誌, Vol. 35, No. 12, pp. 2703--2711, 1994.
    60. K. Perlin and D. Fox. An alternative approach to the computer interface. In Proceedings of 1993 ACM SIGGRAPH Conference, pp. 57--64, 1993.
    61. G. G. Robertson and J. D. Mackinlay. The document lens. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'93), pp. 101--108, 1993.
    62. J. Lamping and R. Rao. Laying out and visualizing large trees using a hyperbolic space. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 13--14, 1994.
    63. H. Lieberman. Powers of ten thousand: navigating in large information spaces. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 15--16, 1994.
    64. H.Takemura and F.Kishino. Cooperative work environment using virtual workspace. In Proceedings of ACM 1992 Conference on Computer-Supported Cooperative Work, pp. 226--232, 1992.
    65. P. Wellner. Interacting with the paper on the digitaldesk. Communications of the ACM, Vol. 36, No. 7, pp. 87--96, 1993.
    66. E. Saund and T. P. Moran. A perceptually-supported sketch editor. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST'94), pp. 175--184, 1994.
    67. J. Bernstein. Mind and machine. New Yorker, 1982. (邦訳:米澤明憲、米澤美緒、心をもつ機械-ミンスキーと 人工知能-、岩波書店、1987).
    68. E. P. Glinert and S. L. Tanimoto. Pict : An interactive graphical programming environment. IEEE Computer, Vol. 17, No. 11, pp. 7--25, 1984.