(57)【要約】      （修正有）【課題】  メディアをインデックスすると共にインデックスされたメディアを要約する、インタラクティブな三次元視覚化表現を作成するためのシステム、方法及びプログラム、並びに三次元グラフィカル・ユーザ・インタフェースの提供。【解決手段】  本発明の三次元視覚化表現のレイアウト作成方法、システム及びプログラム、並びに三次元グラフィカル・ユーザ・インタフェースでは、１つ以上の形態のメディアがツリーの各リーフに関連づけられたツリーデータ構造が入力され、複数の候補レイアウトが取得され、該複数の候補レイアウトが比較され、比較に基づき解レイアウトが選択され、解レイアウトに基づき、三次元視覚化表現におけるツリーデータ構造の各リーフの表現が、該リーフに関連づけられたメディアの要約を提供する、ツリーデータ構造の三次元視覚化表現が構成される。【選択図】        図１
2005235204.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の形態のメディアがツリーの各リーフに関連づけられたツリーデータ構造を入力することと、
複数の候補レイアウトを取得することと、
前記複数の候補レイアウトを比較することと、
前記比較に基づき解レイアウトを選択することと、
三次元視覚化表現における前記ツリーデータ構造の各リーフの表現が、該リーフに関連づけられたメディアの要約を提供する、前記ツリーデータ構造の三次元視覚化表現を、前記解レイアウトに基づき構成することと、
を含む、三次元視覚化表現のレイアウト作成方法。
【請求項２】
前記複数の候補レイアウトを取得することが、
各リーフに矩形レイアウトを割当てることと、
前記ツリーデータ構造の下位ノードが全てリーフである各ノードに対して、該ノードのリーフの矩形レイアウトを該ノードに対する１つのレイアウトに配置することと、
を更に含む、請求項１記載の方法。
【請求項３】
各下位ノードに対する矩形レイアウトを有し、該矩形レイアウトの１つが或るリーフ矩形レイアウトより大きい各ノードに対して、前記複数の候補レイアウトを取得することが、
１つより多いリーフ下位ノードと矩形レイアウトを有する１つより多い非リーフ下位ノードとを有する各ノードごとに、該ノードの前記１つより多いリーフ下位ノードの矩形レイアウトを１つの矩形レイアウトに配置することと、
前記ノードごとに、前記非リーフ下位ノードの矩形レイアウトと前記リーフ下位ノードの矩形レイアウトとを、或るアスペクト比によって各々が定められる複数の候補レイアウトに配置することと、
を更に含む、請求項２記載の方法。
【請求項４】
前記複数の候補レイアウトを取得することが、１つより多いリーフ下位ノードと矩形レイアウトを有する１つより多い非リーフ下位ノードとを有さない各ノードごとに、該ノードの下位ノードのレイアウトを、或るアスペクト比によって定められる複数の候補レイアウトに配置することを更に含む、請求項３記載の方法。
【請求項５】
前記複数の候補レイアウトを比較することが、前記非リーフ下位ノードの矩形レイアウトと前記リーフ下位ノードの矩形レイアウトとを含まない各候補レイアウトの総面積を決定することを含み、
前記解レイアウトを選択することが、前記非リーフ下位ノードの矩形レイアウトと前記リーフ下位ノードの矩形レイアウトとを含まない総面積が最小の候補レイアウトを選択することを含む、
請求項４記載の方法。
【請求項６】
前記レイアウトに基づき三次元視覚化表現を構成することが、
前記入力ツリーデータ構造における各リーフごとに、該リーフに関連づけられたメディアに、前記解レイアウトにおける該リーフのレイアウトの位置を関連づけることと、
前記入力ツリーデータ構造における各リーフごとに、該リーフに関連づけられたメディアの要約を作成することと、
を含む、請求項５記載の方法。
【請求項７】
前記リーフによって含まれる前記メディアの要約が、建築物の各側面及び屋根に前記メディアの視覚的要約を有する建物状構造体である、請求項６記載の方法。
【請求項８】
前記複数の候補レイアウトを取得することが、
各リーフごとに、該リーフに関連づけられたメディアの性質によってサイズが決定される矩形レイアウトを決定することと、
各リーフごとに、前記決定された矩形レイアウトを新たなレイアウトセットに割当てることと、
各リーフごとに、前記新たなレイアウトセットを該リーフの親ノードに関連づけることと、
を含み、
前記解レイアウトを選択することが、ルートノードに単一のレイアウトセットのみが関連づけられており、他のどのノードにもレイアウトセットが関連づけられていない場合には常に、前記ルートノードに関連づけられた前記レイアウトセットから最小のレイアウトを前記解レイアウトとして選択することを含む、
請求項１記載の方法。
【請求項９】
前記複数の候補レイアウトを取得することが、
各下位ノードに対するレイアウトセットが関連づけられている各ノードを識別することと、
識別された各ノードごとに、該識別されたノードに関連づけられた複数のレイアウトセットを、該セット内の他のどの結合レイアウトよりも大きくない結合レイアウトを含む単一のセットに結合することと、
を更に含む、請求項８記載の方法。
【請求項１０】
或るレイアウトがより大きいと見なされるためには、該レイアウトの幅及び長さが、セット内の他のレイアウトのうちのもう１つのレイアウトよりも長くなければならない、請求項９記載の方法。
【請求項１１】
前記識別された各ノードごとに、該識別されたノードに関連づけられた複数のレイアウトセットを単一のセットに結合することが、
前記識別されたノードに関連づけられた、最小のレイアウトを含む第１のレイアウトセットを選択することと、
前記識別されたノードに関連づけられた、前記第１のレイアウトセット以外の、最小のレイアウトを含む第２のレイアウトセットを選択することと、
前記識別されたノードに関連づけられた新たなレイアウトセットを作成することと、
前記第１の選択されたレイアウトセットの最初のレイアウトと前記第２の選択されたレイアウトセットの最初のレイアウトとを水平に結合することと、
前記水平に結合された前記第１の選択されたレイアウトセットの最初のレイアウトと前記第２の選択されたレイアウトセットの最初のレイアウトとを、前記識別されたノードに関連づけられた前記新たなレイアウトセットに割当てることと、
を含む、請求項１０記載の方法。
【請求項１２】
前記識別された各ノードごとに、該識別されたノードに関連づけられた複数のレイアウトセットを単一のセットに結合することが、前記第１の選択されたレイアウトセット内の各レイアウトに対して、
前記第２の選択されたレイアウトセット内の各レイアウトごとに、前記第１の選択されたレイアウトセットの前記レイアウトと前記第２の選択されたレイアウトセットの前記レイアウトとを水平に結合することと、
前記識別されたノードに対する前記新たなセット内の各レイアウトごとに、前記水平に結合された前記第１の選択されたセットのレイアウト及び前記第２の選択されたセットのレイアウトを、前記新たなセット内の前記レイアウトと比較することと、
を更に含み、
前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の或るレイアウトより大きい場合には常に、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトが捨てられ、
前記識別されたノードに対する前記新たなセット内の或るレイアウトが、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトより大きい場合には常に、前記識別されたノードに対する前記新たなセット内の前記レイアウトが捨てられ、
前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の全てのレイアウトとそれぞれ比較された結果、捨てられなかった場合には、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトが、前記識別されたノードに対する前記新たなセットに加えられる、
請求項１１記載の方法。
【請求項１３】
前記識別された各ノードごとに、該識別されたノードに関連づけられた複数のレイアウトセットを単一のセットに結合することが、前記第１の選択されたレイアウトセット内の各レイアウトに対して、
前記第２の選択されたレイアウトセット内の各レイアウトごとに、前記第１の選択されたレイアウトセットの前記レイアウトと前記第２の選択されたレイアウトセットの前記レイアウトとを垂直に結合することと、
前記識別されたノードに対する前記新たなセット内の各レイアウトごとに、前記垂直に結合された前記第１の選択されたセットのレイアウト及び前記第２の選択されたセットのレイアウトを、前記新たなセット内の前記レイアウトと比較することと、
を更に含み、
前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の或るレイアウトより大きい場合には常に、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトが捨てられ、
前記識別されたノードに対する前記新たなセット内の或るレイアウトが、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトより大きい場合には常に、前記識別されたノードに対する前記新たなセット内の前記レイアウトが捨てられ、
前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の全てのレイアウトとそれぞれ比較された結果、捨てられなかった場合には、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトが、前記識別されたノードに対する前記新たなセットに加えられる、
請求項１２記載の方法。
【請求項１４】
前記第１の選択されたセット及び前記第２の選択されたセットが捨てられる、請求項１３記載の方法。
【請求項１５】
ツリーデータ構造にアクセスして該ツリーデータ構造内のノードの性質を識別するノード識別手段と、
前記ツリーデータ構造内のノードに矩形レイアウトを割当てる矩形割当て手段と、
複数の矩形レイアウトを複数のより大きい候補矩形レイアウトに配置する矩形配置手段と、
前記複数の候補矩形レイアウトを比較して１つの解レイアウトを選択するレイアウトテスト手段と、
三次元視覚化表現を作成するためにメディアに前記解レイアウトを関連づけるメディア関連づけ手段と、
を含む、三次元視覚化表現作成システム。
【請求項１６】
前記ノード識別手段が、ツリーデータ構造にアクセスして該ツリーデータ構造内の各リーフを識別し、
前記矩形割当て手段が、識別された各リーフに矩形レイアウトを割当てる、
請求項１５記載のシステム。
【請求項１７】
前記ノード識別手段が、下位ノードが全てリーフである各ノードを識別し、
前記矩形配置手段が、下位ノードが全てリーフである識別された各ノードごとに、該識別されたノードの前記下位ノードの矩形レイアウトを１つのより大きい矩形レイアウトに配置し、該より大きい矩形レイアウトを前記識別されたノードに割当てる、
請求項１６記載のシステム。
【請求項１８】
前記ノード識別手段が、各下位ノードに対する矩形レイアウトを有する各ノードであって、各ノードに対する１つより多い前記矩形レイアウトがリーフ矩形レイアウトより大きく且つ各ノードに対する１つより多い前記矩形レイアウトがリーフ矩形レイアウトである各ノードを識別し、
前記矩形配置手段が、１つより多い各リーフ矩形レイアウトを１つのより大きいリーフ矩形レイアウトに配置し、次に、該より大きいリーフ矩形レイアウトと、前記ノードの前記下位ノードに対する前記リーフ矩形レイアウトより大きい１つより多いレイアウトとを、前記ノードに対する複数の候補レイアウトに配置する、
請求項１７記載のシステム。
【請求項１９】
前記ノード識別手段が、各下位ノードに対する矩形レイアウトを有する各ノードであって、各ノードに対するリーフ矩形レイアウトより大きい１つより多い矩形レイアウト及び各ノードに対するリーフ矩形レイアウトである１つより多い矩形レイアウトを有さない各ノードを識別し、
前記矩形配置手段が、前記ノードの前記下位ノードに対する複数の矩形レイアウトを、前記ノードに対する複数の候補レイアウトに配置する、請求項１８記載のシステム。
【請求項２０】
前記システムが、アスペクト比調節手段を更に含み、前記矩形配置手段が、所定のアスペクト比以内の候補レイアウトのみを作成し、前記矩形配置手段が、前記識別されたノードの前記下位ノードに対する様々な矩形レイアウトを配置できない場合には、前記アスペクト比調節手段が、前記所定のアスペクト比を増加させる、請求項１９記載のシステム。
【請求項２１】
前記ノード識別手段が、複数の候補レイアウトが関連づけられた各ノードを識別し、
前記レイアウトテスト手段が、複数の候補レイアウトが関連づけられた識別された各ノードごとに、該ノードに対する空白の量が最小の候補レイアウトを該ノードに対する解レイアウトとして選択する、
請求項２０記載のシステム。
【請求項２２】
空白の量が最小の候補レイアウトが２つある場合には、前記レイアウトテスト手段は、周囲長が最小の候補レイアウトを前記ノードに対する解レイアウトとして選択する、請求項２１記載のシステム。
【請求項２３】
前記レイアウトテスト手段が、前記ツリーデータ構造のルートノードに対する解レイアウトを選択した場合には、前記メディア関連づけ手段は、前記ツリーデータ構造の各リーフ内のデータを要約する要約メディアに、前記解レイアウトにおける各リーフのそれぞれの位置を関連づける、請求項２１記載のシステム。
【請求項２４】
ツリーデータ構造にアクセスして該ツリーデータ構造内のノードの性質を識別するノード識別手段と、
複数のレイアウトが関連づけられ得る複数のセットを作成するセット作成手段と、
１つ以上のレイアウトセットを前記ツリーデータ構造のノードに関連づけるセット関連づけ手段と、
前記ツリーデータ構造のリーフに対する矩形レイアウトを作成するレイアウト構成手段と、
複数のレイアウトの寸法を比較するレイアウトサイズ比較手段と、
２つのレイアウトを水平に結合する水平レイアウト結合手段と、
２つのレイアウトを垂直に結合する垂直レイアウト結合手段と、
複数の候補矩形レイアウトを比較して１つの解レイアウトを選択するレイアウトテスト手段と、
三次元視覚化表現を作成するためにメディアに前記解レイアウトを関連づけるメディア関連づけ手段と、
を含む、三次元視覚化表現作成システム。
【請求項２５】
前記ノード識別手段が、ツリーデータ構造の各リーフを識別し、
前記セット作成手段が、識別された各リーフに対する新たなレイアウトセットを作成し、
前記レイアウト構成手段が、識別された各リーフごとに、該識別されたリーフに対するレイアウトを作成すると共に、該作成されたレイアウトを前記新たなレイアウトセットに格納し、
前記セット関連づけ手段が、識別された各リーフごとに、該識別されたリーフの親ノードに、前記新たなレイアウトセットを関連づける、
請求項２４記載のシステム。
【請求項２６】
前記ノード識別手段が、単一のレイアウトセットが関連づけられている各ノードを識別し、
前記セット関連づけ手段が、単一のレイアウトセットを有し且つどの下位ノードにもレイアウトセットが関連づけられていない識別された各ノードごとに、単一のレイアウトセットを有し且つどの下位ノードにもレイアウトセットが関連づけられていない該識別されたノードの親ノードに、前記単一のレイアウトセットを関連づける、
請求項２５記載のシステム。
【請求項２７】
前記ノード識別手段が、１つより多いノードセットが関連づけられている各ノードを識別し、
前記セット作成手段が、１つより多いノードセットが関連づけられている識別された各ノードに対して、新たなレイアウトセットを作成し、
前記セット関連づけ手段が、１つより多いノードセットが関連づけられている識別された各ノードごとに、１つより多いノードセットが関連づけられている該識別されたノードに、前記新たなセットを関連づける、
請求項２６記載のシステム。
【請求項２８】
前記水平結合手段が、前記識別されたノードに関連づけられた、最小のレイアウトを含む第１のレイアウトセットを選択すると共に、前記第１のレイアウトセット以外の、前記識別されたノードに関連づけられた、最小のレイアウト含む第２のレイアウトセットを選択し、前記第１の選択されたレイアウトセットの最初のレイアウトと前記第２の選択されたレイアウトセットの最初のレイアウトとを水平に結合し、該水平に結合されたレイアウトを前記新たなレイアウトセットに割当てる、請求項２７記載のシステム。
【請求項２９】
前記第１の選択されたレイアウトセット内の各レイアウトに対して、
前記水平結合手段が、前記第２の選択されたレイアウトセット内の各レイアウトごとに、前記第１の選択されたレイアウトセット内の前記レイアウトと前記第２の選択されたレイアウトセット内の前記レイアウトとを水平に結合し、
前記レイアウトサイズ比較手段が、１つより多いノードセットが関連づけられた前記識別されたノードに対する前記新たなセット内の各レイアウトごとに、前記第１の選択されたレイアウトセット及び前記第２の選択されたレイアウトセットの前記水平に結合されたレイアウトと、１つより多いノードセットが関連づけられた前記識別されたノードに対する前記新たなセット内の前記レイアウトとを比較し、
前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の或るレイアウトより大きい場合には常に、前記レイアウトサイズ比較手段が、前記第１の選択されたセット及び前記第２の選択されたセットのレイアウトの前記水平に結合されたレイアウトを捨て、
前記識別されたノードに対する前記新たなセット内の或るレイアウトが、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトより大きい場合には常に、前記レイアウトサイズ比較手段が、前記識別されたノードに対する前記新たなセット内の前記レイアウトを捨て、
前記レイアウトサイズ比較手段が、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトと、前記識別されたノードに対する前記新たなセット内の全てのレイアウトとを比較した結果、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトを捨てなかった場合には、前記レイアウトサイズ比較手段は、前記第１の選択されたセット及び前記第２の選択されたセットの前記水平に結合されたレイアウトを、前記識別されたノードに対する前記新たなセットに加える、
請求項２８記載のシステム。
【請求項３０】
前記第１の選択されたレイアウトセット内の各レイアウトに対して、
前記垂直結合手段が、前記第２の選択されたレイアウトセット内の各レイアウトごとに、前記第１の選択されたレイアウトセット内の前記レイアウトと前記第２の選択されたレイアウトセット内の前記レイアウトとを垂直に結合し、
前記レイアウトサイズ比較手段が、１つより多いノードセットが関連づけられた前記識別されたノードに対する前記新たなセット内の各レイアウトごとに、前記第１の選択されたレイアウトセット及び前記第２の選択されたレイアウトセットの前記垂直に結合されたレイアウトと、１つより多いノードセットが関連づけられた前記識別されたノードに対する前記新たなセット内の前記レイアウトとを比較し、
前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトが、前記識別されたノードに対する前記新たなセット内の或るレイアウトより大きい場合には常に、前記レイアウトサイズ比較手段が、前記第１の選択されたセット及び前記第２の選択されたセットのレイアウトの前記垂直に結合されたレイアウトを捨て、
前記識別されたノードに対する前記新たなセット内の或るレイアウトが、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトより大きい場合には常に、前記レイアウトサイズ比較手段が、前記識別されたノードに対する前記新たなセット内の前記レイアウトを捨て、
前記レイアウトサイズ比較手段が、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトと、前記識別されたノードに対する前記新たなセット内の全てのレイアウトとを比較した結果、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトを捨てなかった場合には、前記レイアウトサイズ比較手段は、前記第１の選択されたセット及び前記第２の選択されたセットの前記垂直に結合されたレイアウトを、前記識別されたノードに対する前記新たなセットに加える、
請求項２９記載のシステム。
【請求項３１】
前記レイアウトサイズ比較手段が、前記第１の選択されたセット及び前記第２の選択されたセットを捨てる、請求項３０記載のシステム。
【請求項３２】
前記ノード識別手段が、前記ルートノードにレイアウトセットが１つだけ関連づけられていることを判定し、前記レイアウトテスト手段が、前記ルートノードに関連づけられた前記レイアウトセットから、最小のレイアウトを解レイアウトとして選択する、請求項３１記載のシステム。
【請求項３３】
前記メディア関連づけ手段が、前記ツリーデータ構造の各リーフ内のデータを要約する要約メディアに、前記解レイアウトにおける各リーフのそれぞれの位置を関連づける、請求項３２記載のシステム。
【請求項３４】
ツリーデータ構造の１つ以上のリーフ要素間の関係を表す二次元基平面レイアウトと、
少なくとも１つの建物状構造体であって、各々が前記１つ以上のリーフ要素の１つに対応すると共に、前記１つ以上のリーフ要素の対応する１つにそれぞれ関連づけられたメディアの要約を提供する、少なくとも１つの建物状構造体と、
を含む、三次元グラフィカル・ユーザ・インタフェース装置。
【請求項３５】
前記１つ以上のリーフ要素の各々が、前記二次元基平面内において、類似のサイズの略正方形のプロットによって表される、請求項３４記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項３６】
前記１つ以上のリーフ要素の各々が、前記二次元基平面内において、サイズが異なる略正方形のプロットによって表される、請求項３４記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項３７】
前記サイズが異なる略正方形の各プロットの寸法が、該サイズが異なる正方形のプロットに対応する前記リーフ要素に関連づけられた前記メディアの１つ以上の特性を反映する、請求項３６記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項３８】
前記少なくとも１つの建物状構造体の各々が、該建物状構造体の側面又は最上部の少なくとも１つに前記メディアの一部を表示することにより、該少なくとも１つの建物状構造体に対応する前記１つ以上のリーフ要素の１つに関連づけられた前記メディアの要約を提供する、請求項３４記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項３９】
前記メディアの前記要約が、ビデオの少なくとも１つのフレームを含む、請求項３８記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項４０】
前記メディアの前記要約がスライドを含む、請求項３８記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項４１】
前記メディアの前記要約がテキストを含む、請求項３８記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項４２】
前記建物状構造体の上方を浮遊するテキストを更に含む、請求項３８記載の三次元グラフィカル・ユーザ・インタフェース装置。
【請求項４３】
コンピュータに、
１つ以上の形態のメディアがツリーの各リーフに関連づけられたツリーデータ構造を入力する機能と、
複数の候補レイアウトを取得する機能と、
前記複数の候補レイアウトを比較する機能と、
前記比較に基づき解レイアウトを選択する機能と、
三次元視覚化表現における前記ツリーデータ構造の各リーフの表現が、該リーフに関連づけられたメディアの要約を提供する、前記ツリーデータ構造の三次元視覚化表現を、前記解レイアウトに基づき構成する機能と、
を実現させるための、三次元視覚化表現作成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メディアをインデックスすると共にインデックスされたメディアを要約する、インタラクティブな三次元視覚化表現を作成するためのシステム、方法及びプログラム、並びに三次元グラフィカル・ユーザ・インタフェース装置に関する。
【背景技術】
【０００２】
従来の計算速度及びリソース管理の増加に基づいて、最近、三次元のメディアインデックスが、大量の関連メディアをインデックスするための発展し得る手段となりつつある。しかし、三次元インデックスによって伝えられる、インデックスされたメディアに関するインデックス及び情報の複雑さは、比較的限られている。
【０００３】
例えば、ＳＧＩ ＦＳＮは、三次元景観視覚化表現を有するファイルシステムナビゲータである。ディレクトリは、景観の中に階層ツリーレイアウトで配置される。ＳＧＩ ＦＳＮの各ディレクトリは、台座によって表される。ディレクトリ内のファイルのサイズは台座の高さに比例し、ファイルの古さは色で示される。ファイルは、ディレクトリの台座の上に配置される。各ファイルは箱で表される。
【０００４】
米国特許出願第１０／７５６３９７号は、メディアインデックスのインタラクティブな三次元視覚化表現を作成及び更新する方法を記載しており、この方法では、基平面の上方及び下方に個別のインデックスが配置される。これらのインデックスは、２つの軸によって定義されるテーブル構造に編成され、インデックスされたメディアへのリンクを提供する。インデックスの様々な視覚的特性は、インデックスされたメディアの特性や、インデックスされたメディアに関連する様々なユーザー定義情報又はグループ定義情報を反映する。
【０００５】
パースペクティブ・ウォール（Perspective Wall）は、ファイルをインデックスする三次元視覚化表現である。これは、３つのセクションを有する三次元の壁を用いて、ファイルに対するカードアイコンを表示する。３Ｄルームズ（3D/Rooms）は、三次元の多層建築物の間取り図を有する三次元インデックスであり、ユーザは、或る研究グループを選択して、メンバー及び彼らのオフィスの写真を取り出すことができる。
【０００６】
最後に、三次元景観を用いたワールドワイドウェブの視覚化表現が多数存在する。ＷＷＷ３Ｄ、ウェブ・パス（WebPath）及びＶＲ−ＶＩＢＥ等といった、これらの視覚化表現のほとんどは、抽象的な幾何学的オブジェクトを用いて文書を表す。ウェブ・フォレジャー（Web Forager）は、三次元の書棚及び三次元の本を含む空間を用いており、本を開くと、インデックスされたウェブページが表示される。
特許文献１には、ショットの重要性の測度を用いた自動ビデオ要約及びフレームパッキング方法が開示されている。特許文献２には、マルチモーダル解析を用いたメディアブラウザが開示されている。
【特許文献１】米国特許第６，５３５，６３９Ｂ１号
【特許文献２】米国特許出願公開第２００２／００５４８３Ａ１号
【非特許文献１】ビーダーソン（Bederson, B.），シュナイダーマン（Schneiderman, B.）及びワッテンバーグ（Wattenberg, M.）著，「順序及び量子ツリーマップ：階層表示のための二次元空間の効果的使用（Ordered and quantum treemaps: Making effective use of 2D space to display hierarchies.）」エー・シー・エム・トランザクション・オン・グラフィックス（ACM Transaction on Graphics），２１（４），２００２年１０月，ｐ．８３３−８５４
【非特許文献２】ベンフォード（Benford, S.D.），スノウドン（Snowdon, D.N.），グリーナル（Greenhalgh, C.M.），イングラム（Ingram, RJ.），ノックス（Knox, I.）及びブラウン（Brown, C.C.）著，「ＶＲ−ＶＩＢＥ：協力的情報検索用の仮想環境（VR-VIBE: A Virtual Environment for Co-operative Information Retrieval）」，コンピュータ・グラフィックス・フォーラム（Computer Graphics Forum），１４，（３），エヌ・シー・シー・ブラックウェル（NCC Blackwell），１９９５年，ｐ．３４９−３６０
【発明の開示】
【発明が解決しようとする課題】
【０００７】
三次元空間内のメディアをインデックスするための上述の各システムには、共に類似の短所がある。特に、ユーザは、インデックスされたメディアに何らかの性質があるとして、その性質を、そのメディアの視覚化表現から非常に大まかに見分けることしかできない。例えば、米国特許出願第１０／７５６３９７号によれば、ユーザは、２つの軸においてメディアがどのように分類されるかを決定でき、或いは、インデックスされたメディアが、グラフィック、テキスト、ビデオ等の１つ又はそれらの組み合わせであるか否かを判断できる。しかし、上述のシステムのうち、インデックスされたメディアを、要約自体の中で、ユーザがインデックスされたメディアの三次元視覚化表現を見るだけでインデックスされたメディアの要約を見ることができるように要約するものはない。
【０００８】
従って、本発明によるシステム、方法及びグラフィカル・ユーザ・インタフェース装置の様々な例示的な実施形態は、インデックスされたメディアを表す三次元オブジェクトの表面が、インデックスされたメディアの視覚的要約を提供する、インタラクティブな三次元視覚化表現を提供する。
【０００９】
本発明は、メディアをインデックスすると共にインデックスされたメディアを要約する、インタラクティブな三次元視覚化表現を作成するためのシステム、方法及びプログラム、並びに三次元グラフィカル・ユーザ・インタフェース装置の提供を目的とする。
【課題を解決するための手段】
【００１０】
本発明によるシステム及び方法の様々な例示的な実施形態は、ツリーデータ構造の１つ以上のリーフ要素間の関係を表す二次元基平面レイアウトと、少なくとも１つの建物状構造体であって、各々が１つ以上のリーフ要素の１つに対応すると共に、１つ以上のリーフ要素の対応する１つにそれぞれ関連づけられたメディアの要約を提供する、少なくとも１つの建物状構造体と、を含む、三次元グラフィカル・ユーザ・インタフェース装置を提供する。
【００１１】
本発明によるシステム及び方法の様々な例示的な実施形態は、１つ以上の形態のメディアがツリーの各リーフに関連づけられたツリーデータ構造を入力することと、複数の候補レイアウトを決定することと、複数の候補レイアウトを比較することと、解レイアウトを選択することと、該レイアウトに基づいて、三次元視覚化表現における各リーフの表現が、入力されたツリーデータ構造内のそのリーフに含まれるメディアの要約を提供する、ツリーデータ構造の三次元視覚化表現を構成することと、を含む、三次元視覚化表現のレイアウトを提供する。
本発明の他の実施形態は、ツリーデータ構造にアクセスして該ツリーデータ構造内のノードの性質を識別するノード識別手段（ノード識別回路、ルーチン又はアプリケーション等の実現手段がある）と、前記ツリーデータ構造内のノードに矩形レイアウトを割当てる矩形割当て手段（矩形割当て回路、ルーチン又はアプリケーション等の実現手段がある）と、複数の矩形レイアウトを複数のより大きい候補矩形レイアウトに配置する矩形配置手段（矩形配置回路、ルーチン又はアプリケーション等の実現手段がある）と、前記複数の候補矩形レイアウトを比較して１つの解レイアウトを選択するレイアウトテスト手段（レイアウトテスト回路、ルーチン又はアプリケーション等の実現手段がある）と、三次元視覚化表現を作成するためにメディアに前記解レイアウトを関連づけるメディア関連づけ手段（メディア関連づけ回路、ルーチン又はアプリケーション等の実現手段がある）と、を含む三次元視覚化表現作成システムを提供する。
また、この実施形態では、アスペクト比調節手段（アスペクト比調節回路、ルーチン又はアプリケーション等の実現手段がある）を更に含んでも良い。
本発明の更に他の実施形態は、ツリーデータ構造にアクセスして該ツリーデータ構造内のノードの性質を識別するノード識別手段（ノード識別回路、ルーチン又はアプリケーション等の実現手段がある）と、複数のレイアウトが関連づけられ得る複数のセットを作成するセット作成手段（セット作成回路、ルーチン又はアプリケーション等の実現手段がある）と、１つ以上のレイアウトセットを前記ツリーデータ構造のノードに関連づけるセット関連づけ手段（セット関連づけ回路、ルーチン又はアプリケーション等の実現手段がある）と、前記ツリーデータ構造のリーフに対する矩形レイアウトを作成するレイアウト構成手段（レイアウト構成回路、ルーチン又はアプリケーション等の実現手段がある）と、複数のレイアウトの寸法を比較するレイアウトサイズ比較手段（レイアウトサイズ比較回路、ルーチン又はアプリケーション等の実現手段がある）と、２つのレイアウトを水平に結合する水平レイアウト結合手段（水平レイアウト結合回路、ルーチン又はアプリケーション等の実現手段がある）と、２つのレイアウトを垂直に結合する垂直レイアウト結合手段（垂直レイアウト結合回路、ルーチン又はアプリケーション等の実現手段がある）と、複数の候補矩形レイアウトを比較して１つの解レイアウトを選択するレイアウトテスト手段（レイアウトテスト回路、ルーチン又はアプリケーション等の実現手段がある）と、三次元視覚化表現を作成するためにメディアに前記解レイアウトを関連づけるメディア関連づけ手段（メディア関連づけ回路、ルーチン又はアプリケーション等の実現手段がある）と、を含む三次元視覚化表現作成システムを提供する。
本発明の更に他の実施形態は、ツリーデータ構造の１つ以上のリーフ要素間の関係を表す二次元基平面レイアウトと、少なくとも１つの建物状構造体であって、各々が前記１つ以上のリーフ要素の１つに対応すると共に、前記１つ以上のリーフ要素の対応する１つにそれぞれ関連づけられたメディアの要約を提供する、少なくとも１つの建物状構造体と、を含む三次元グラフィカル・ユーザ・インタフェース装置を提供する。
本発明の更に他の実施形態は、コンピュータに、１つ以上の形態のメディアがツリーの各リーフに関連づけられたツリーデータ構造を入力する機能と、複数の候補レイアウトを取得する機能と、前記複数の候補レイアウトを比較する機能と、前記比較に基づき解レイアウトを選択する機能と、三次元視覚化表現における前記ツリーデータ構造の各リーフの表現が、該リーフに関連づけられたメディアの要約を提供する、前記ツリーデータ構造の三次元視覚化表現を、前記解レイアウトに基づき構成する機能と、を実現させるための、三次元視覚化表現作成プログラムを提供する。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照し、本発明によるシステム及び方法の様々な例示的な実施形態を詳細に説明する。
【００１３】
図１及び図２は、類似のサイズの略正方形の建物状構造体のプロットを用いた、本発明による三次元視覚化表現１００の例示的な実施形態を示している。
【００１４】
図１及び図２に示されるように、この三次元視覚化表現は市街地のメタファを用いており、ここでは、ツリーデータ構造のリーフによってインデックスされた各メディアの量は、建物状構造体１２０によって表される。この例示的な実施形態によれば、インデックスされたメディアはビデオである。しかし、テキスト、グラフィック、図表等の他の任意のメディアを用いてもよい。インデックスされたメディアは、建築物の屋根１２２及び壁１２４、１２６及び１２８（背後部は示さない）上に要約されており、この三次元視覚化表現をナビゲートするユーザが、各リーフにアクセスせずともそのリーフのコンテンツがわかるようになっている。様々な例示的な実施形態において、建築物の屋根１２２及び側面１２４、１２６、１２８（背後部は示さない）は、同じ要約を表示する。或いは、屋根１２２及び側面１２４、１２６、１２８（背後部は示さない）の各々は、異なる要約を有する。様々な例示的な実施形態において、ビデオは、所定の矩形領域（ここでは、建築物の側面及び屋根の高さ及び幅によって定められる）にそのビデオのキーフレームを配置することによって要約される。米国特許出願第０９／２６７５２９号及び米国特許出願公開第２００４／０１８７０７８Ａ号には、キーフレームを用いた自動ビデオ要約の方法が記載されており、その全体を参照として本明細書に組み込む。キーフレームビデオ要約は、各要約のフレームが建物状構造体の側面の窓に似ているので、市街地のメタファのコンテクストにおいて特に良好に機能する。
【００１５】
図１及び図２に示されるように、市街地のメタファと調和するように、各建物状構造体１２０はロット（区画）１１０上に存在し、ロット１１０内の縁石幅１４０は建物状構造体から道路までの距離である。様々な例示的な実施形態において、縁石幅は、メディアのインデックスされた各部分に関連づけられた数値に反比例する。例えば、この数値は、ビデオの長さ、又は、ユーザ若しくは所定の複数ユーザのグループによって決定されたビデオの重要度を表してもよい。従って、メディアのインデックスされた部分が高い数値を有すると、縁石幅は小さくなり、建物状構造体は大きくなる。
【００１６】
なお、本発明による三次元視覚化表現の別の例示的な実施形態では、数値は、建物状構造体の専有面積に正比例してもよい。しかし、実際には、これは、それぞれにインデックスされたメディアを効果的に要約するには細すぎる建物状構造体や、広すぎてユーザが他の建築物を見る妨げになる建物状構造体を生じ得る。
【００１７】
図１及び図２に示されるように、市街地のメタファと調和するように、各ロット１１０は道路で隔てられている。様々な例示的な実施形態において、道路幅（例えば１３０、１３２）は、基礎をなすツリーデータ構造におけるインデックスされた各メディア部分間の距離を表す。例えば、ツリーデータ構造において、道路幅１３０を有する道路で隔てられた複数のロット１１０（例えばリーフ）は、道路幅１３２を有する道路で隔てられた複数のロット１１０（例えばブランチ）よりも、互いに近い。
【００１８】
更に、様々な例示的な実施形態において、各建物状構造体の高さ２５０は、メディアのインデックスされた各部分に関連づけられた数値に比例する。例えば、この数値は、ビデオの長さ、又は、ユーザ若しくは所定の複数ユーザのグループによって決定されたビデオの重要度を表してもよい。
【００１９】
図１に示されるように、様々な例示的な実施形態において、インデックスされたメディアの様々なグループに対するラベル１５０を設けるために、視覚化表現にテキストが含まれてもよい。様々な例示的な実施形態において、これらのラベルは、市街地のメタファと調和するよう、雲を模して建物状構造体の上方を浮遊する。
【００２０】
図３〜図６は、図１及び図２に示されている視覚化表現１００の複数の例示的なバリエーション３００、４００、５００及び６００を示している。バリエーション３００、４００、５００及び６００によれば、建物状構造体によって表される各リーフは、４つまでのメディアタイプ（単一のビデオフレーム３１０、キーフレーム要約４１０、スライド画像５１０及びテキスト６１０）によって要約される。各例示的なバリエーション３００、４００、５００及び６００では、異なるタイプのメディアが屋根に表示されている。一般的に、全ての又は多くの建物状構造体が見える視点から最も良く見える部分は屋根であるので、本発明の様々な例示的な実施形態では、インデックスされたメディア部分を最も効果的に要約するメディアタイプが、屋根に表示される。
【００２１】
図７及び図８は、サイズが異なる建物状構造体のプロット（敷地）を用いた、本発明による三次元視覚化表現の例示的な一実施形態を示しており、各建物状構造体のプロットのサイズは、その建物状構造体によって表されるインデックスされたメディアの何らかの数値的な性質に比例する。
【００２２】
上述の図１〜図６の実施形態と同様に、建物状構造体は、その建物状構造体によって表されるインデックスされたメディア部分（リーフ）の何らかの数値的な性質に比例する、縁石幅と建物高さとを有する。ここでも、上述の実施形態と同様に、図７は、ツリー構造におけるインデックスされた各メディア部分間の距離を表す道路幅７３２を示している。
【００２３】
図７及び図８に示されるように、この例示的な実施形態によれば、各リーフに対する各建物状構造体のプロット７１０は、より大きいプロット７４０、７６０に配置され、より大きいプロット７４０、７６０の各々は、基礎をなすツリーデータ構造に従って、その下位ノードを表す全てのプロットを含む（例えば、リーフプロット７１０はより大きいプロット７４０に含まれ、プロット７４０はより大きいプロット７６０に含まれる）。インデックスされたメディアの様々なグループに対するラベル１５０を設けるために、視覚化表現にテキストが含まれてもよい。様々な例示的な実施形態において、これらのラベルは、市街地のメタファと調和するように、雲を模して建物状構造体の上方を浮遊する。
【００２４】
本発明の様々な例示的な実施形態による、上述の三次元視覚化表現の、グラフィカル・ユーザ・インタフェース装置としての使用を容易にするために、様々な例示的な実施形態は、三次元視覚化表現の様々な部分の効果的な表示（viewing）及びそれらの部分とのインタラクションを容易にする多くの機能を提供する。様々な例示的な実施形態は、視覚化表現のユーザが、視角、視距離及び視点を変更可能にする。例えば、図１は第１の実施形態の視覚化表現を示しており、ここでは、表示は比較的遠くから見たものであり、建物状構造体の前部１２４及び上部１２２を主に表示するために傾いている。或いは、図２は第１の実施形態の視覚化表現を示しており、ここでは、表示は比較的近くから見たものであり、建物状構造体の前部１２４及び上部１２２を主に表示するために傾いている。ユーザは、例えば、ポインティングデバイス、タッチスクリーン、若しくはグローブ等の仮想現実インタラクション装置を用いて視覚化表現をつかんで回転させることにより、キーボードのコマンドを用いることにより、又は他の公知の又は今後開発される任意の入力装置により、視角を変更してもよい。
【００２５】
更に、様々な例示的な実施形態は、ユーザが、建物状構造体の様々な要約をクリックすることで、インデックスされたメディア部分にアクセスできるようにする。例えば、単一のビデオフレーム３１０又はキーフレーム要約４１０内のフレームをクリックすると、そのフレームから開始するインデックスされたビデオが再生される。同様に、スライド５１０をクリックすると、インデックスされたスライド又はインデックスされた複数スライドのグループのより大きい表示にアクセスする。テキスト要約６１０をクリックすると、そのテキスト要約６１０が表す１つ又は複数の文書にアクセスする。
【００２６】
或いは、図９及び図１０に示されるように、本発明の様々な例示的な実施形態は、ユーザが視覚化表現をナビゲートして視覚化表現を対話式に操作できるようにする、複数のスライド９２０及び９２２並びにボタン９２４、９２６、９２８、９３０、９３２、９３４、９３６及び９３８を含むグラフィカル・ユーザ・インタフェース９００、１０００を提供する。図９は、図１〜図６の三次元視覚化表現と共に用いられるグラフィカル・ユーザ・インタフェースの例示的な一実施形態を示している。図１０は、図７及び図８の三次元視覚化表現と共に用いられるグラフィカル・ユーザ・インタフェースの例示的な一実施形態を示している。図９及び図１０において、ボタン９３６、９３４、９３２、９３８は、視点を上下左右のそれぞれに移動させる。ボタン９２８及び９３０は、視点をズームイン及びズームアウトさせる。ボタン９２４及び９２６は、視点を（高度において）上下に移動させる。スライダ９２２は表示を傾ける。スライダ９２０は、幾つかの操作を共に行う、即ち、画面の中心点を固定したまま高度を変えて表示を傾ける、コントローラである。従って、スライダ９２２は、ユーザが高い位置では屋根の上を見て、地面に近い位置では建物の正面を見ると共に、建物を、見えている画面の中心に保つことを可能にする。
【００２７】
図１１及び図１２は、本発明による、略正方形の類似したサイズの建物状構造体のプロットを用いた、上述のタイプの三次元視覚化表現用のグリッドレイアウト方法の例示的な一実施形態の概要を示すフロー図を示している。上述したように、視覚化されるデータは、複数の要素のツリーとして編成され、ツリー内の各ブランチは略正方形の矩形で表され、この矩形内の全ての要素はツリーのそのブランチの一部である。レイアウト方法のこの例示的な実施形態は、レイアウト中の空白を最小限にする要求と、略正方形のレイアウトが、例えば、コンピュータのモニタやプリンタ等の大半の出力装置の形状と一致する必要性とのバランスをとるものである。単一列のレイアウトは空白を生じないが、出力装置の土地（表示領域）の効率的な使用にはならない。
【００２８】
図１１及び図１２に示されるように、本方法の処理はステップＳ１０００で開始し、ステップＳ１００５に進み、そこで、ツリーの各リーフに、類似した略矩形領域が割当てられる。次に、ステップＳ１０１０で、下位ノードが全てリーフである最初の／次のノードが、現在のノードとして選択される。次に、ステップＳ１０１５で、現在のノードのリーフがより大きい矩形に、幅に対する高さの比率と高さに対する幅の比率とが所定のアスペクト比より小さくなるように配置され、そのより大きい矩形が現在のノードに割当てられる。この所定のアスペクト比は、得られる矩形が略正方形になることを確実にするために用いられる。これにより、細長い矩形が作成されることが防止される。本方法の処理はステップＳ１０２０に進む。
【００２９】
ステップＳ１０２０では、現在のノードがツリーのルートノードであるか否かが判定される。現在のノードがルートノードであり、ツリーの全てのリーフが１つの矩形に配置されている場合には、処理はステップＳ１０８５にジャンプして、そこで本方法の処理は終了する。しかし、現在のノードがルートノードではない場合には、処理はステップＳ１０２５に進む。
【００３０】
ステップＳ１０２５では、下位ノードが全てリーフである全てのノードが現在のノードとして選択されたか否かが判定される。下位ノードが全てリーフである全てのノードが現在のノードとして選択され終えていない場合には、処理はステップＳ１０１０に戻る。しかし、下位ノードが全てリーフである全てのノードが現在のノードとして選択され終えている場合には、処理はステップＳ１０３０に進む。
【００３１】
ステップＳ１０３０では、下位ノードの１つに関連づけられた少なくとも１つのより大きい矩形と各下位ノードに関連づけられた矩形とを有する最初の／次のノードが、現在のノードとして選択される。次に、ステップＳ１０３５で、現在のノードが、１つより多いリーフ矩形と、その下位ノードに関連づけられた１つより多いより大きい矩形とを有するか否かが判定される。例えば、図１３に示されるように、５つのリーフノード１３００と、３つのブランチノード（より大きい矩形）１３０５、１３１０、１３１５がある。現在のノードが、１つより多いリーフ矩形と、その下位ノードに関連づけられた１つより多いより大きい矩形とを有さない場合には、処理はステップＳ１０４０にジャンプする。しかし、現在のノードが、１つより多いリーフ矩形と、その下位ノードに関連づけられた１つより多いより大きい矩形とを有する場合には、処理はステップＳ１０５５に進む。
【００３２】
ステップＳ１０４０では、現在のノードの下位ノードに関連づけられたリーフ矩形及びより大きい矩形の両方である様々な矩形が、より大きい矩形に、幅に対する高さの比率及び高さに対する幅の比率が所定のアスペクト比より小さくなるように配置される。次に、ステップＳ１０４５で、各矩形が新たなより大きい矩形に収まると共に空白が最小限である良好なレイアウトが見出されたか否かが判定される。良好なレイアウトが見出されていない場合には、処理はステップＳ１０５０に進み、そこで、アスペクト比が増加される。次に、処理はステップＳ１０４０に戻る。しかし、良好なレイアウトが見出された場合には、処理はステップＳ１０７５に進む。
【００３３】
ステップＳ１０５５では、現在のノードの下位ノードに関連づけられた様々なリーフ矩形が、より大きい矩形に、幅に対する高さの比率及び高さに対する幅の比率が所定のアスペクト比より小さくなるように配置される。例えば、図１４に示されるように、図１３のリーフノードは、単一のより大きい矩形１４００として結合される。様々な例示的な実施形態では、これらのリーフノードはディレクトリツリーの同じディレクトリ内のメディアファイルを表し、レイアウト中で分散するよりも互いに近くに配置されるべきであるので、リーフノードをより大きい矩形にグループ化することが有利である。次に、ステップＳ１０６０で、現在のノードの下位ノードに関連づけられた様々なリーフ矩形で構成されたより大きい矩形を含むより大きい矩形が、様々なより大きい矩形に、幅に対する高さの比率及び高さに対する幅の比率が所定のアスペクト比より小さくなるように配置される。例えば、図１５に示されるように、様々な矩形１３０５、１３１０、１３１５、１４００が、複数のより大きい矩形１５００、１５１０、１５２０として結合される。この例では、アスペクト比は１．５であり（高さは幅の１．５倍を超えることはできず、幅は高さの１．５倍を超えることはできない）、矩形１５００、１５１０及び１５２０は、考えられる３つのより大きい矩形（４×６、５×５及び６×４）を示している。
【００３４】
次に、ステップＳ１０６５で、各矩形が新たなより大きい矩形に収まると共に空白が最小限である良好なレイアウトが見出されたか否かが判定される。図１５に示されるように、矩形１５００は、より小さい各矩形１３０５、１３１０、１３１５、１４００を囲み込むと共にわずか３ユニットの空白を有する。矩形１５１０は、より小さい各矩形１３０５、１３１０、１３１５、１４００を囲み込むと共に４ユニットの空白を有する。矩形１５２０は、より小さい各矩形１３０５、１３１０、１３１５、１４００を囲み込むことができない。なお、様々な例示的な実施形態において、複数の矩形が同量の空白を有する場合には、周囲長が最小の矩形が優先される。図１１及び図１２に戻ると、良好なレイアウトが見出されない場合には、処理はステップＳ１０７０に進み、そこで、アスペクト比が増加される。次に、処理はステップＳ１０５５に戻る。しかし、良好なレイアウトが見出された場合には、処理はステップＳ１０７５に進む。
【００３５】
ステップＳ１０７５では、現在のノードに良好なレイアウトが割当てられる。次に、ステップＳ１０８０で、現在のノードがルートノードであるか否かが判定される。現在のノードがルートノードである場合には、処理はステップＳ１０８５に進み、そこで本方法が終了する。しかし、現在のノードがルートノードではない場合には、処理はステップＳ１０３０に戻り、そこで、その下位ノードの１つに関連づけられた少なくとも１つのより大きい矩形と、各下位ノードに関連づけられた矩形とを有する次のノードが、現在のノードとして選択される。このフロー図の処理は、ステップＳ１０８０において、現在のノードがルートノードになるまで続く。
【００３６】
図１６は、本発明による三次元視覚化表現を作成するために使用可能な三次元視覚化システム１６００の、例示的な一実施形態の機能ブロック図の例示的な一実施形態である。図１６に示されるように、三次元視覚化システム１６００は、入出力インタフェース１６２０と、コントローラ１６２５と、メモリ１６３０と、ノード識別回路、ルーチン又はアプリケーション１６４０と、矩形割当て回路、ルーチン又はアプリケーション１６４５と、矩形配置回路、ルーチン又はアプリケーション１６５０と、アスペクト比調節回路、ルーチン又はアプリケーション１６５５と、レイアウトテスト比較回路、ルーチン又はアプリケーション１６６０と、メディア関連づけ回路、ルーチン又はアプリケーション１６６５とを含み、各々は１つ以上のデータ／制御バス及び／又はアプリケーションプログラミングインタフェース１６７０等によって適切に相互接続されている。
【００３７】
この例示的な実施形態では、入出力インタフェース１６２０は、１つ以上のリンク１６０１を介して１つ以上の入力装置１６０５に接続されている。入力装置１６０５は、キーボード、マウス、トラックボール、トラックパッド、タッチスクリーン、仮想現実グローブ、又は三次元視覚化システム１６００にデータ及び／又は制御信号を入力するための他の公知の又は今後開発される任意の装置の１つ以上であり得る。更に、この例示的な実施形態では、入出力インタフェース１６２０は、１つ以上のリンク１６０２を介して１つ以上の出力装置１６１０に接続されている。出力装置１６１０は、コンピュータのモニタ、ＣＲＴ、液晶ディスプレイ、イメージプロジェクタ、電気泳動ディスプレイ、仮想現実表示装置、又は三次元視覚化システム１６００から出力される三次元視覚化データを視覚的に表示するための他の公知の又は今後開発される任意の装置の１つ以上であり得る。
【００３８】
この例示的な実施形態では、入出力インタフェース１６２０は、リンク１７０１を介してデータソース１７００に接続されている。データソース１７００は、ローカル配置又は遠隔配置されたラップトップ又はパーソナルコンピュータ、パーソナルデジタルアシスタント、タブレットコンピュータ、例えば、イントラネット、エクストラネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ストレージエリアネットワーク、インターネット（特にワールドワイドウェブ）等の有線又は無線ネットワークのクライアントやサーバ等といった電子データを格納及び／又は送信する装置であり得る。一般的に、データソース１７００は、ツリー状に編成されたメディアデータを入出力インタフェース１６２０に供給する能力がある、公知の又は今後開発される任意のソースであり得る。
【００３９】
各種リンク１６０１、１６０２及び１７０１の各々は、入力装置１６０５、出力装置１６０１、及び／又はデータソース１７００をそれぞれ入出力インタフェース１６２０に接続するための、公知の又は今後開発される任意の装置やシステムであり得る。特に、リンク１６０１、１６０２及び１７０１は、それぞれ、直接ケーブル接続、ワイドエリアネットワーク、ローカルエリアネットワーク又はストレージエリアネットワークを介した接続、イントラネットを介した接続、エクストラネットを介した接続、インターネットを介した接続、他の任意の分散処理ネットワークやシステムを介した接続、及び／又は赤外線、無線周波数若しくは他の無線接続の１つ以上として実施され得る。
【００４０】
図１６に示されるように、メモリ１６３０は、レイアウト部１６３１、ツリー構造部１６３２、リーフデータ部１６３３、解レイアウト部１６３４及びアスペクト比部１２３５を含む、複数の異なるメモリ部分を有する。メモリ１６３０のレイアウト部１６３１は、様々なレイアウトを格納（記憶）する。メモリ１６３０のツリー構造部１６３２は、三次元視覚化表現で表されるデータのツリー構造を格納する。メモリ１６３０のリーフデータ部１６３３は、ツリー構造の各リーフによって表されるメディアを格納する。解レイアウト部１６３４は、三次元視覚化表現で用いられる解レイアウトを格納する。アスペクト比部１２３５は、様々なレイアウトの決定に用いられるアスペクト比を格納する。
【００４１】
図１６に示されているメモリ１６３０は、可変、揮発性若しくは不揮発性メモリ又は不変若しくは固定メモリの任意の適切な組み合わせを用いて実施可能である。揮発性又は不揮発性の可変メモリは、スタティック又はダイナミックＲＡＭ、フレキシブルディスクとディスクドライブ、書き込み可能又は書き換え可能光ディスクとディスクドライブ、ハードドライブ、フラッシュメモリ等の任意の１つ以上を用いて実施可能である。同様に、不変又は固定メモリは、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭディスク等の光ＲＯＭディスク及びディスクドライブ等の任意の１つ以上を用いて実施可能である。
【００４２】
ノード識別回路、ルーチン又はアプリケーション１６４０は、ツリー構造データにアクセスし、ノードの特性を判定する。矩形割当て回路、ルーチン又はアプリケーション１６４５は、リーフノードに矩形レイアウトを割当てる。矩形配置回路、ルーチン又はアプリケーション１６５０は、複数の矩形レイアウトを、アスペクト比に基づいて、様々なより大きい矩形レイアウトに配置する。アスペクト比調節回路、ルーチン又はアプリケーション１６５５は、アスペクト比を調節する。レイアウトテスト回路、ルーチン又はアプリケーション１６６０は、様々なレイアウトを、空白の量に基づいてテストする。最後に、メディア関連づけ回路、ルーチン又はアプリケーション１６６５は、三次元視覚化表現を作成するために、リーフデータに解レイアウトを関連づける。
【００４３】
作用としては、図１６に示されている三次元視覚化システム１６００の例示的な実施形態は、以下のように動作する。コントローラ１６２５の制御下で、データソース１７００からリンク１７０１をわたって入出力インタフェース１６２０を介して、三次元視覚化表現の作成に必要なデータが入力され、メモリ１６３０のツリー構造部１６３２及びリーフデータ部１６３３に格納される。次に、コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０が、メモリ１６３０のツリー構造部１６３２内のツリー構造データにアクセスし、各リーフノードを識別する。次に、コントローラ１６２５の制御下で、矩形割当て回路、ルーチン又はアプリケーション１６４５が、識別されたリーフノードにアクセスし、各リーフノードに類似の略矩形領域を割当てる。各リーフノードに対する矩形は、コントローラ１６２５の制御下で、それぞれのリーフノードに関連づけられ、メモリ１６３０のレイアウト部１６３１に格納される。
【００４４】
コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０は、ツリー構造部１６３２に格納されたツリー構造データ及びレイアウトデータ部１６３１に格納されたレイアウトデータにアクセスし、下位ノードが全てリーフである各ノードを識別する。次に、コントローラ１６２５の制御下で、矩形配置回路、ルーチン又はアプリケーション１６５０は、識別された下位ノードにアクセスし、識別された各ノードのリーフノードに割当てられた矩形を、より大きい矩形に配置する。これらの識別されたノードに対する矩形は、コントローラ１６２５の制御下で、それぞれの識別されたノードに関連づけられ、メモリ１６３０のレイアウト部１６３１に格納される。
【００４５】
コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０は、ツリー構造部１６３２に格納されたツリー構造データ及びレイアウトデータ部１６３１に格納されたレイアウトデータにアクセスし、各下位ノードに関連づけられた少なくとも１つの矩形を有し且つ該矩形の少なくとも１つがリーフ矩形より大きい各ノードを識別する。コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０は、これらの識別されたノードの中から、識別されたノードの、その下位ノードに関連づけられた１つより多いリーフ矩形及びその下位ノードに関連づけられたリーフ矩形より大きい１つより多い矩形を有する第１の下位グループを、更に識別する。
【００４６】
コントローラ１６２５の制御下で、矩形配置回路、ルーチン又はアプリケーション１６５０は、識別されたノードの第１の下位グループにアクセスし、各ノードごとに、そのノードの下位ノードに関連づけられた様々なリーフ矩形を、周囲長が最小のより大きい矩形に配置する。次に、コントローラ１６２５の制御下で、矩形配置回路、ルーチン又はアプリケーション１６５０は、識別されたノードの第１の下位グループの各ノードごとに、そのノードの下位ノードのより大きい矩形を、高さ／幅又は幅／高さがメモリ１６３０のアスペクト比部１６３５に格納されたアスペクト比よりも小さい矩形に配置する。特定のノードに関して、そのノードの下位ノードのより大きい矩形が、そのアスペクト比に従ったどの矩形にも収まらない場合には、アスペクト比調節回路、ルーチン又はアプリケーション１６５５は、アスペクト比部１６３５内のアスペクト比にアクセスし、そのノードの下位ノードのより大きい矩形が、アスペクト比が最小の少なくとも１つの矩形に収まるまで、そのノードに対するアスペクト比を増加させる。
【００４７】
次に、コントローラ１６２５の制御下で、レイアウトテスト回路、ルーチン又はアプリケーション１６６０が、識別されたノードの第１の下位グループの各ノードに対する様々な矩形にアクセスし、空白の量が最小の各ノードに対する矩形を選択する。識別されたノードの第１の下位グループの１つのノードに対し、１つより多い矩形が同量の空白を有する場合には、レイアウトテスト回路、ルーチン又はアプリケーション１６６０は、周囲長が最小の（即ち、最も正方形に近い）矩形を選択する。コントローラ１６２５の制御下で、識別されたノードの第１の下位グループの各ノードに対して選択された矩形が、それぞれのノードに関連づけられ、メモリ１６３０のレイアウト部１６３１に格納される。
【００４８】
識別されたノードの第１の下位グループの各ノードに対する矩形がレイアウト部１６３１に格納されたら、矩形配置回路、ルーチン又はアプリケーション１６５０は、識別されたノードの残りのノードに、識別されたノードの第２の下位グループ（即ち、各下位ノードに関連づけられた矩形と、少なくとも１つの下位ノード関連づけられたリーフ矩形より大きい矩形とを有するが、識別されたノードの第１の下位グループには含まれない）として、アクセスする。次に、コントローラ１６２５の制御下で、矩形配置回路、ルーチン又はアプリケーション１６５０は、識別されたノードの第２の下位グループの各ノードごとに、そのノードの下位ノードのより大きい矩形を、高さ／幅又は幅／高さがメモリ１６３０のアスペクト比部１６３５に格納されたアスペクト比よりも小さい矩形に配置する。特定のノードに関して、そのノードの下位ノードのより大きい矩形が、そのアスペクト比に従ったどの矩形にも収まらない場合には、アスペクト比調節回路、ルーチン又はアプリケーション１６５５は、アスペクト比部１６３５内のアスペクト比にアクセスし、そのノードの下位ノードの矩形が少なくとも１つの矩形に収まるまで、そのノードに対するアスペクト比を増加させる。
【００４９】
次に、コントローラ１６２５の制御下で、レイアウトテスト回路、ルーチン又はアプリケーション１６６０は、識別されたノードの第２の下位グループの各ノードに対する様々な矩形にアクセスし、空白の量が最小の各ノードに対する矩形を選択する。識別されたノードの第２の下位グループの１つのノードに対し、１つより多い矩形が同量の空白を有する場合には、レイアウトテスト回路、ルーチン又はアプリケーション１６６０は、周囲長が最小の（即ち、最も正方形に近い）矩形を選択する。コントローラ１６２５の制御下で、識別されたノードの第２の下位グループの各ノードに対して選択された矩形が、それぞれのノードに関連づけられ、メモリ１６３０のレイアウト部１６３１に格納される。
【００５０】
識別されたノードの各ノード（即ち、第１及び第２の下位グループ）に対する矩形が選択され、レイアウト部１６３１に格納されたら、コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０は、ツリー構造部１６３２に格納されたツリー構造データ及びレイアウトデータ部１６３１に格納されたレイアウトデータに再びアクセスし、この時点で、各下位ノードに関連づけられた少なくとも１つの矩形を有し且つ該矩形の少なくとも１つがリーフ矩形より大きい各ノードを識別する。これらのノードは、識別されたノードの新たなセットとなり、上述したようにデータフローが続く。しかし、三次元視覚化システム１６００の動作中の任意の時に、コントローラ１６２５の制御下で、ノード識別回路、ルーチン又はアプリケーション１６４０がツリー構造部１６３２に格納されたツリー構造データ及びレイアウトデータ部１６３１に格納されたレイアウトデータにアクセスし、単一のノードに関連づけられた単一のレイアウトのみが存在すると判定された場合には、解レイアウトが決定されている（ルートノードが唯一の矩形に関連づけられるまでに、全てのレイアウトが結合されている）。
【００５１】
次に、コントローラ１６２５の制御下で、ルートノードに対する単一のレイアウトが、メモリ１６３０の解レイアウト部１６３４に格納される。次に、コントローラ１６２５の制御下で、メディア関連づけ回路、ルーチン又はアプリケーション１６６５が、解レイアウト部１６３４内の解レイアウト及びリーフデータ部１６３３内のメディアデータにアクセスし、各リーフに対するメディアデータに、解レイアウトに従ったそのリーフの位置を関連づける。この時点で、三次元視覚化表現が作成されており、コントローラ１６２５の制御下で、リンク１６０２をわたって入出力インタフェースを介して、出力装置１６１０に出力される準備が整っている。
【００５２】
なお、コストや他の設計上の制約に応じて、三次元視覚化システム１６００の上述の要素の１つ以上を、適宜、単一の要素として結合してもよく、又は複数の要素に分割してもよい。
【００５３】
図１７〜図２１は、図７及び図８に例示された上述の三次元視覚化表現用のレイアウトを決定する方法の例示的な実施形態の概要を示すフロー図であり、ここでは、各リーフノードに、そのリーフノードの属性を反映した異なるサイズのパーセルが割当てられる。
【００５４】
図１７に示されるように、本方法の処理はステップＳ２０００で開始し、ステップＳ２００５に進み、そこで、ルートノードが現在のノードとして選択される。次に、処理はステップＳ２０１０に進み、そこで、現在のノードがリーフノードであるか否かが判定される。現在のノードがリーフノードである場合には、処理はステップＳ２０１５に進み、そこで、そのリーフノードに対する、所与の幅及び高さを有する解レイアウトが構成される。次に、処理はステップＳ２１７０に進む（図２０）。しかし、現在のノードがリーフノードではない場合には、処理はステップＳ２０２０に進み、そこで、現在のノードの最初の又は次の下位ノードが現在のノードとして選択される。処理はステップＳ２０２５に進む。
【００５５】
ステップＳ２０２５では、現在のノードがリーフノードであるか否かが判定される。現在のノードがリーフノードである場合には、処理はステップＳ２０３０に進み、そこで、そのリーフノードに対する、所与の幅及び高さを有するレイアウトが構成される。そうでない場合には、処理はステップＳ２０４０に進む。次に、ステップＳ２０３５で、構成されたレイアウトが、現在のノードの親ノードに関連づけられた新たなレイアウトセットに割当てられる。次に、処理はステップＳ２０６５にジャンプする。
【００５６】
ステップＳ２０４０では、現在のノードの全ての下位ノードが現在のノードとして選択されたか否かが判定される。現在のノードの全ての下位ノードが現在のノードとして選択され終えてない場合には、処理はステップＳ２０２０に戻る。現在のノードの全ての下位ノードが現在のノードとして選択され終えている場合には、処理はステップＳ２０４５に進む。ステップＳ２０４５で、現在のノードに、１つより多いレイアウトセットが関連づけられているか否かが判定される。現在のノードに１つより多いレイアウトセットが関連づけられている場合には、処理はステップＳ２０７０（図１８）にジャンプする。現在のノードに１つより多いレイアウトセットが関連づけられていない場合には、処理はステップＳ２０５０に進む。
【００５７】
ステップＳ２０５０で、現在のノードがルートノードであるか否かが判定される。現在のノードがルートノードである場合には、処理はステップＳ２０５５に進む。現在のノードがルートノードではない場合には、処理はステップＳ２０６０に進む。
【００５８】
ステップＳ２０５５で、レイアウトセットから「最小」のレイアウトが解として選択される。様々な例示的な実施形態において、「最小」のレイアウトは、周囲長が最小のレイアウトになるように決定される。従って、「最小」のレイアウトは、総面積が最小でなくてもよく、小さい面積を有し且つ最も正方形に近いものである。次に、処理はステップＳ２１７０（図２０）に進む。
【００５９】
ステップＳ２０６０では、現在のノードに関連づけられたレイアウトセットが、現在のノードの親ノードに関連づけられる。次に、処理はステップＳ２０６５に進み、そこで、親ノードが現在のノードとして選択される。次に、処理はステップＳ２０４０に戻り、そこで、現在のノードの全ての下位ノードが現在のノードとして選択されたか否かが再び判定される。
【００６０】
ステップＳ２０７０では、現在のノードに対する、新たな空のレイアウトセットが作成される。次に、ステップＳ２０７５で、現在のノードに関連づけられたレイアウトセットから、最小のレイアウトを含むレイアウトセットがセット１として選択される。次に、ステップＳ２０８０で、現在のノードに関連づけられたレイアウトセットから、セット１以外の最小のレイアウトを含むレイアウトセットが、セット２として選択される。次に、ステップＳ２０８５で、セット１から、最初の又は次のレイアウトが、セット１の現在のレイアウトとして選択される。次に、ステップＳ２０９０で、セット２から、最初の又は次のレイアウトが、セット２の現在のレイアウトとして選択される。処理はステップＳ２０９５に進む。
【００６１】
ステップＳ２０９５で、セット１の現在のレイアウトとセット２の現在のレイアウトとが、互いに水平に隣接し且つ所与の空間量だけ離間するよう結合され、現在の結合レイアウトが作成される。次に、ステップＳ２１００で、現在のノードに対する新たなレイアウトセットが空であるか否かが判定される。現在のノードに対する新たなレイアウトセットが空である場合には、処理はステップＳ２１０５に進み、そこで、現在の結合レイアウトが、現在のノードに対する新たなレイアウトセットに加えられる。次に、処理はステップＳ２１４５（図１９）にジャンプする。しかし、現在のノードに対する新たなレイアウトセットが空ではない場合には、処理はステップＳ２１１０に進む。
【００６２】
ステップＳ２１１０で、現在のノードに対する新たなレイアウトセットから、最初の又は次のレイアウトが、現在の新たなレイアウトとして選択される。次に、処理はステップＳ２１１５に進み、そこで、現在の結合レイアウトが現在の新たなレイアウト「より大きい」か否かが判定される。本方法の様々な例示的な実施形態によれば、「より大きい」とは、１つのレイアウトがもう１つのレイアウトよりも、大きい幅及び大きい高さを有することを意味する。現在の結合レイアウトが現在の新たなレイアウトより大きい場合には、処理はステップＳ２１２０に進み、そこで、現在の結合レイアウトが捨てられる。次に、処理はステップＳ２１４５にジャンプする。しかし、現在の結合レイアウトが現在の新たなレイアウトより大きくない場合には、処理はステップＳ２１２５に進む。
【００６３】
ステップＳ２１２５で、現在の新たなレイアウトが現在の結合レイアウト「より大きい」か否かが判定される。現在の新たなレイアウトが現在の結合レイアウトより大きい場合には、処理はステップＳ２１３０に進み、そこで、現在の新たなレイアウトが捨てられる。次に、処理はステップＳ２１３５に進む。しかし、現在の新たなレイアウトが現在の結合レイアウトより大きくない場合には、処理はステップＳ２１１０（図１８）にジャンプする。なお、より大きくなるためには、１つのレイアウトの高さ及び幅のそれぞれが他のレイアウト高さ及び幅より大きくなくてはならないので、現在の結合レイアウトが現在の新たなレイアウトより大きくならないこと、及び、現在の新たなレイアウトが現在の結合レイアウトより大きくならないこともあり得る。
【００６４】
ステップＳ２１３５で、現在のノードに対する新たなレイアウトセット内の全てのレイアウトが、現在の結合レイアウトと比較されたか否かが判定される。否定された場合には、処理はステップＳ２１１０に戻る。しかし、現在のノードに対する新たなレイアウトセットの全てのレイアウトが、現在の結合レイアウトと比較され終えた場合には、処理はステップＳ２１４０に進み、そこで、現在の結合レイアウトが、現在のノードに対する新たなレイアウトセットに加えられる。次に、処理はステップＳ２１４５に進む。
【００６５】
ステップＳ２１４５で、セット１の現在のレイアウトとセット２の現在のレイアウトとが、水平及び垂直に結合されたか否かが判定される。否定された場合には、処理はステップＳ２１５０に進み、そこで、セット１の現在のレイアウトとセット２の現在のレイアウトとが、互いに垂直に隣接し且つ所与の空間量だけ離間するよう結合され、現在の結合レイアウトが作成される。次に、処理はステップＳ２１１０に戻る。しかし、セット１の現在のレイアウト及びセット２の現在のレイアウトが水平且つ垂直に結合されている場合には、処理はステップＳ２１５５に進む。
【００６６】
ステップＳ２１５５で、セット２の全てのレイアウトがセット１の現在のレイアウトと結合されたか否かが判定される。否定された場合には、処理はステップＳ２０９０（図１８）に戻り、そこで、セット２から次のレイアウトがセット２の現在のレイアウトとして選択される。セット２の全てのレイアウトがセット１の現在のレイアウトと結合された場合には、処理はステップＳ２１６０に進む。ステップＳ２１６０で、セット１の全てのレイアウトがセット１の現在のレイアウトとして選択されたか否かが判定される。否定された場合には、処理はステップＳ２０８５（図１８）に戻り、そこで、セット１から次のレイアウトがセット１の現在のレイアウトとして選択される。しかし、セット１の全てのレイアウトがセット１の現在のレイアウトとして選択され終えた場合には、処理はステップＳ２１６５に進む。
【００６７】
ステップＳ２１６５で、セット１及びセット２が捨てられ、従って、セット１及びセット２はもはや現在のノードに関連づけられない。次に、処理はステップＳ２０４５（図１７）に戻り、そこで、現在のノードに１つより多いレイアウトセットが関連づけられているか否かが判定され、本フロー図の処理が上述のように続く。
【００６８】
ステップＳ２０１５及びステップＳ２０５５で解レイアウトが決定されたら、処理はステップＳ２１７０（図２０）に進む。ステップＳ２１７０で、解レイアウトが現在のレイアウトとして選択される。次に、ステップＳ２１７５で、開始位置のｘ及びｙが現在のレイアウトに関連づけられる。次に、ステップＳ２１８０で、現在のレイアウトがツリーに関連づけられているか否かが判定される。現在のレイアウトがツリーに関連づけられている場合には、処理はステップＳ２１８５に進み、そこで、現在のレイアウトのｘ、ｙ、幅及び高さがそのツリーに関連づけられる。処理はステップＳ２１９０に進む。しかし、現在のレイアウトがツリーに関連づけられていない場合には、処理はステップＳ２１８０から直接ステップＳ２１９０に進む。
【００６９】
ステップＳ２１９０で、現在のレイアウトが水平に結合されているか（即ち、ステップＳ２０９５で現在のレイアウトが作成されたか）否かが判定される。現在のレイアウトが水平に結合されている場合には、処理はステップＳ２１９５に進む。現在のレイアウトが水平に結合されていない場合には、処理はステップＳ２２０５に進む。
【００７０】
ステップＳ２１９５では、現在のレイアウトのｘ及びｙが、左コンポーネントレイアウトに関連づけられる。左コンポーネントレイアウトとは、水平に結合された現在のレイアウトの左側のレイアウトである。次に、ステップＳ２２００で、左コンポーネントレイアウトが現在のレイアウトとして選択される。次に、処理はステップＳ２１８０に戻る。
【００７１】
ステップＳ２２０５では、現在のレイアウトが垂直に結合されているか（即ち、ステップＳ２１５０で作成されたか）否かが判定される。現在のレイアウトが垂直に結合されている場合には、処理はステップＳ２２１０に進む。現在のレイアウトが垂直に結合されていない場合には、処理はステップＳ２２２０に進む。ステップＳ２２１０で、現在のレイアウトのｘ及びｙが下部コンポーネントレイアウトに関連づけられる。下部コンポーネントレイアウトとは、垂直に結合された現在のレイアウトの下部のレイアウトである。次に、ステップＳ２２１５で、下部コンポーネントレイアウトが現在のレイアウトとして選択される。次に、処理はステップＳ２１８０に戻る。
【００７２】
ステップＳ２２２０で、現在のレイアウトが解レイアウトであるか否かが判定される。現在のレイアウトが解レイアウトである場合には、全てのコンポーネントレイアウトに位置が割当てられており、処理はステップＳ２２７０に進み、そこで、本方法が終了する。しかし、現在のレイアウトが解レイアウトではない場合には、処理はステップＳ２２２５（図２１）に進む。
【００７３】
ステップＳ２２２５で、囲み込みレイアウトが現在のレイアウトとして選択される。次に、ステップＳ２２３０で、現在のレイアウトが水平に結合されているか否かが判定される。現在のレイアウトが水平に結合されていない場合には、処理はステップＳ２２５０に進む。しかし、現在のレイアウトが水平に結合されている場合には、処理はステップＳ２２３５に進み、そこで、右レイアウトに位置の値が割当てられているか否か（即ち、右レイアウトにｘ及びｙが関連づけられているか否か）が判定される。肯定された場合には、処理はステップＳ２２２０（図２０）に戻る。しかし、右レイアウトに位置の値が割当てられていない場合には、処理はステップＳ２２４０に進む。ステップＳ２２４０で、左レイアウトの幅及び所与の空間量が、現在のレイアウトに関連づけられたｘに加えられる。次に、この新たな値及び現在のレイアウトのｙが、右レイアウトに関連づけられる。次に、処理はステップＳ２２４５に進み、そこで、右レイアウトが現在のレイアウトとして選択される。次に、処理はステップＳ２１８０に戻る。
【００７４】
ステップＳ２２５０で、現在のレイアウトが垂直に結合されているか否かが判定される。否定された場合には、処理はステップＳ２２２０に戻る。しかし、現在のレイアウトが垂直に結合されている場合には、処理はステップＳ２２５５に進み、そこで、上部レイアウトに位置の値が割当てられているか否かが判定される。上部レイアウトに位置の値が割当てられている場合には、処理はステップＳ２２２０に戻る。上部レイアウトに位置の値が割当てられていない場合には、処理はステップＳ２２６０に進み、そこで、下部レイアウトの高さ及び所与の空間量が、現在のレイアウトに関連づけられたｙに加えられる。次に、現在のレイアウトのｘと、ｙに対する新たな値とが、上部レイアウトに関連づけられる。次に、処理はステップＳ２２６５に進む。ステップＳ２２６５で、上部レイアウトが現在のレイアウトとして選択され、処理はステップＳ２１８０（図２０）に戻る。本フロー図の処理は、ステップＳ２２２０で現在のレイアウトが解レイアウトになるまで、各種ステップの移動を続ける。現在のレイアウトが解レイアウトになった時には、解レイアウトの各コンポーネントのレイアウトに位置の値が割当てられており、処理はステップＳ２２７０に進み、そこで本方法の処理が終了する。
【００７５】
図２２は、本発明による三次元視覚化表現の作成に使用可能な三次元視覚化システム２２００の、別の例示的な実施形態の機能ブロック図の例示的な実施形態である。図２２に示されるように、三次元視覚化システム２２００は、入出力インタフェース２２２０と、コントローラ２２２５と、メモリ２２３０と、ノード識別決定回路、ルーチン又はアプリケーション２２４０と、セット関連づけ回路、ルーチン又はアプリケーション２２４５と、セット作成回路、ルーチン又はアプリケーション２２５０と、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５と、レイアウト構成回路、ルーチン又はアプリケーション２２６０と、水平レイアウト結合回路、ルーチン又はアプリケーション２２６５と、垂直レイアウト結合回路、ルーチン又はアプリケーション２２７０と、メディア関連づけ回路、ルーチン又はアプリケーション２２７５とを含み、各々は、１つ以上のデータ／制御バス及び／又はアプリケーションプログラミングインタフェース２２８０等によって適切に相互接続されている。
【００７６】
この例示的な実施形態では、入出力インタフェース２２２０は、１つ以上のリンク２２０１を介して１つ以上の入力装置２２０５に接続されている。入力装置２２０５は、キーボード、マウス、トラックボール、トラックパッド、タッチスクリーン、仮想現実グローブ、又は三次元視覚化システム２２００にデータ及び／又は制御信号を入力するための他の公知の又は今後開発される任意の装置の１つ以上であり得る。更に、この例示的な実施形態では、入出力インタフェース２２２０は、１つ以上のリンク２２０２を介して１つ以上の出力装置２２１０に接続される。出力装置２２１０は、コンピュータのモニタ、ＣＲＴ、液晶ディスプレイ、イメージプロジェクタ、電気泳動ディスプレイ、仮想現実表示装置、又は三次元視覚化システム２２００から出力される三次元視覚化データを視覚的に表示するための他の公知の又は今後開発される任意の装置の１つ以上であり得る。
【００７７】
この例示的な実施形態では、入出力インタフェース２２２０は、リンク２３０１を介してデータソース２３００に接続される。データソース２３００は、ローカル配置又は遠隔配置されたラップトップ又はパーソナルコンピュータ、パーソナルデジタルアシスタント、タブレットコンピュータ、例えば、イントラネット、エクストラネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ストレージエリアネットワーク、インターネット（特にワールドワイドウェブ）等の有線又は無線ネットワークのクライアントやサーバ等といった電子データを格納及び／又は送信する装置であり得る。一般的に、データソース２０００は、ツリー状に編成されたメディアデータを入出力インタフェース２２２０に供給する能力がある、公知の又は今後開発される任意のソースであり得る。
【００７８】
各種リンク２２０１、２２０２及び２３０１の各々は、入力装置２２０５、出力装置２２０１、及び／又はデータソース２３００をそれぞれ入出力インタフェース２２２０に接続するための、公知の又は今後開発される任意の装置やシステムであり得る。特に、リンク２２０１、２２０２及び２００１は、それぞれ、直接ケーブル接続、ワイドエリアネットワーク、ローカルエリアネットワーク又はストレージエリアネットワークを介した接続、イントラネットを介した接続、エクストラネットを介した接続、インターネットを介した接続、他の任意の分散処理ネットワークやシステムを介した接続、及び／又は赤外線、無線周波数若しくは他の無線接続の１つ以上として実施され得る。
【００７９】
図２２に示されるように、メモリ２２３０は、レイアウト部２２３１、ツリー構造部２２３２、リーフデータ部２２３３及び解レイアウト部２２３４を含む、複数の異なるメモリ部分を有する。メモリ２２３０のレイアウト部２２３１は、様々なレイアウトを格納する。メモリ２２３０のツリー構造部２２３２は、三次元視覚化表現で表されるデータのツリー構造を格納する。メモリ２２３０のリーフデータ部２２３３は、ツリー構造の各リーフによって表されるメディアを格納する。解レイアウト部２２３４は、三次元視覚化表現で用いられる解レイアウトを格納する。
【００８０】
図２２に示されているメモリ２２３０は、可変、揮発性若しくは不揮発性メモリ又は不変若しくは固定メモリの任意の適切な組み合わせを用いて実施可能である。揮発性又は不揮発性の可変メモリは、スタティック又はダイナミックＲＡＭ、フレキシブルディスク及びディスクドライブ、書き込み可能又は書き換え可能光ディスク及びディスクドライブ、ハードドライブ、フラッシュメモリ等の任意の１つ以上を用いて実施可能である。同様に、不変又は固定メモリは、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ又はＤＶＤ−ＲＯＭディスク等の光ＲＯＭディスク及びディスクドライブ等の任意の１つ以上を用いて実施可能である。
【００８１】
ノード識別回路、ルーチン又はアプリケーション２２４０は、ツリー構造データにアクセスし、ノードの特性を判定する。矩形割当て回路、ルーチン又はアプリケーション２２４５は、リーフノードに矩形レイアウトを割当てる。セット関連づけ回路、ルーチン又はアプリケーション２２４５は、様々なレイアウトをレイアウトセットに関連づける。セット作成回路、ルーチン又はアプリケーション２２５０は、様々なレイアウトが関連づけられ得る空のセットを作成する。レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５は、様々なレイアウトのサイズを比較する。レイアウト構成回路、ルーチン又はアプリケーション２２６０は、リーフノードに対するレイアウトを作成する。水平レイアウト結合回路、ルーチン又はアプリケーション２２６５は、レイアウトを水平に結合し、より大きいレイアウトにする。垂直レイアウト結合回路、ルーチン又はアプリケーション２２７０は、レイアウトを垂直に結合し、より大きいレイアウトにする。最後に、メディア関連づけ回路、ルーチン又はアプリケーション２２６５は、三次元視覚化表現作成するために、リーフデータに解レイアウトを関連づける。
【００８２】
作用としては、図２２に示されている三次元視覚化システム２２００の例示的な実施形態は、以下のように動作する。コントローラ２２２５の制御下で、データソース２０００からリンク２００１をわたり入出力インタフェース２２２０を介して、三次元視覚化表現の作成に必要なデータが入力され、メモリ２２３０のツリー構造部２２３２及びリーフデータ部２２３３に格納される。次に、コントローラ２２２５の制御下で、ノード識別回路、ルーチン又はアプリケーション２２４０が、ツリー構造部に格納されたツリーデータにアクセスし、リーフノードを識別する。次に、コントローラ２２２５の制御下で、レイアウト構成回路、ルーチン又はアプリケーション２２６０が、識別されたリーフノードにアクセスし、各リーフノードに対する所与の幅及び高さを有するレイアウトを構成する。コントローラ２２２５の制御下で、セット作成回路、ルーチン又はアプリケーション２２５０は、識別された各リーフノードに対する空のレイアウトセットを作成する。次に、コントローラ２２２５の制御下で、各リーフノードに対するレイアウトが、メモリ２２３０のレイアウト部２２３１内のそのリーフノードのレイアウトノードに対して作成された新たなセット内に格納され、そのセットの作成対象であるリーフノードの親ノードに関連づけられる。
【００８３】
各ノードに対するレイアウトが作成されたら、コントローラ２２２５の制御下で、ノード識別回路、ルーチン又はアプリケーション２２４０は、ツリー構造部に格納されたツリー構造データにアクセスし、１つのセットのみが関連づけられている各ノードを識別する。次に、コントローラ２２２５の制御下で、セット関連づけ回路、ルーチン又はアプリケーション２２４５が、そのセットを、１つより多い下位ノードを有する識別されたノードの子孫における最初の親ノードに関連づける。次に、コントローラ２２２５の制御下で、ノード識別回路、ルーチン又はアプリケーション２２４０は、そのノードの各下位ノードにレイアウトセットが関連づけられている全てのノードを識別する。
【００８４】
コントローラ２２２５の制御下で、セット作成回路、ルーチン又はアプリケーション２２５０は、識別された各ノードに対する、新たな空のレイアウトセットを作成する。次に、コントローラ２２２５の制御下で、水平レイアウト結合回路、ルーチン又はアプリケーション２２６５は、識別された各ノードに対して、最小のレイアウトを含むレイアウトセット（セット１）から１つのレイアウトを選択する。次に、コントローラ２２２５の制御下で、水平レイアウト結合回路、ルーチン又はアプリケーション２２６５は、識別された各ノードに対して、セット１以外の最小のレイアウトを有するレイアウトセット（セット２）を識別する。コントローラ２２２５の制御下で、水平レイアウト結合回路、ルーチン又はアプリケーション２２６５は、セット１の各レイアウトをセット２の全てのレイアウトと、それぞれ水平に隣接させて結合する。これらの結合レイアウトの最初のものが、識別された各ノードに対して新たに作成された空のレイアウトセットに格納される。次に、コントローラ２２２５の制御下で、識別された各ノードに対する残りの結合レイアウトが、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５によってアクセスされる。
【００８５】
レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５は、コントローラ２２２５の制御下で、各結合レイアウトを、新たに作成されたセット内の各レイアウトと比較する。コントローラ２２２５の制御下で、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５が、或る結合レイアウトが新たなセット内の或るレイアウト「より大きい」（即ち、その結合レイアウトの高さ及び幅が、新たなセット内のレイアウトより大きい）と判定した場合には、その結合レイアウトは捨てられる。コントローラ２２２５の制御下で、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５が、新たなセット内の或るレイアウトが或る結合レイアウト「より大きい」と判定した場合には、その新たなレイアウトは捨てられ、その結合レイアウトが新たなセット内に格納される。
【００８６】
次に、コントローラ２２２５の制御下で、垂直レイアウト結合回路、ルーチン又はアプリケーションが、セット１の各レイアウトをセット２の全てのレイアウトとそれぞれ結合する。ここでも、コントローラ２２２５の制御下で、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５が、或る結合レイアウトが新たなセット内の或るレイアウト「より大きい」と判定した場合には、その結合レイアウトは捨てられる。コントローラ２２２５の制御下で、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５が、新たなセット内の或るレイアウトが或る結合レイアウト「より大きい」と判定した場合には、その新たなレイアウトは捨てられ、その結合レイアウトが新たなセット内に格納される。
【００８７】
コントローラ２２２５の制御下で、セット１の各レイアウトが、セット２の全てのレイアウトと垂直且つ水平に結合されたら、セット１及びセット２は捨てられる。次に、ノード識別回路、ルーチン又はアプリケーション２２４０は、コントローラ２２２５の制御下で、ツリー構造部２２３２に格納されたツリー構造データ及びレイアウト部２２３１に格納されたレイアウトデータにアクセスし、１つのセットのみが関連づけられている各ノードを識別する。次に、コントローラ２２２５の制御下で、セット関連づけ回路、ルーチン又はアプリケーション２２４５は、そのセットを、１つより多い下位ノードを有する識別されたノードの子孫における最初の親ノードに関連づける。次に、コントローラ２２２５の制御下で、ノード識別回路、ルーチン又はアプリケーション２２４０は、そのノードの各下位ノードにレイアウトセットが関連づけられている全てのノードを識別する。
【００８８】
コントローラ２２２５の制御下で、セット作成回路、ルーチン又はアプリケーション２２５０は、再び、識別された各ノードに対して、新たな空のレイアウトセットを作成する。このようにして、各ノードごとに、そのノードに関連づけられた複数のレイアウトセットが、１つのセットが残るまで統合され、そのセットがそのノードの親ノードに関連づけられる。このデータフローは、コントローラ２２２５の制御下で、ノード識別回路、ルーチン又はアプリケーション２２４０が、ルートノードにレイアウトセットが１つだけ関連づけられており、その親ノードの全ての下位ノードはもはやいかなるセットも有していないと判定するまで、繰り返される。この時点で、コントローラ２２２５の制御下で、レイアウトサイズ比較回路、ルーチン又はアプリケーション２２５５は、ルートノードに関連づけられたレイアウトセットにアクセスし、そのセットから最小のレイアウト（即ち、周囲長が最小のレイアウト）を選択する。次に、コントローラ２２２５の制御下で、最小のレイアウトがメモリ２２３０の解レイアウト部２２３４に格納される。次に、コントローラ２２２５の制御下で、メディア関連づけ回路、ルーチン又はアプリケーションは、解レイアウト部２２３４内の解レイアウト及びリーフデータ部２２３３内のメディアデータにアクセスし、各リーフに対するメディアデータに、解レイアウトに従ったそのリーフの位置を関連づける。この時点で、三次元視覚化表現が作成されており、コントローラ２２２５の制御下で、入出力インタフェース２２２０を介してリンク２２０２をわたって出力装置２２１０に出力される準備が整っている。
【００８９】
なお、コストや他の設計上の制約に応じて、三次元視覚化システム２２００の上述の要素の１つ以上を、適宜、単一の要素として結合してもよく、又は複数の要素に分割してもよい。
【００９０】
本発明によるシステム、方法及びグラフィカル・ユーザ・インタフェースの上述の例示的な実施形態によれば、インデックスされたメディアを表す三次元オブジェクトが該インデックスされたメディアの視覚的要約を表示する、ツリーデータ構造内のインデックスされたメディアの三次元視覚化表現が提供される。これらの要約により、ユーザが、インデックスされたメディアを、そのメディアにアクセスせずとも、そのコンテンツに基づいて視覚的に評価することが可能になる。メディアをそのコンテンツに基づいて評価する能力は、大量のメディアがインデックスされていて、そのメディアを評価するためにツリーデータ構造の各リーフにアクセスすることが実用的ではない場合に、特に有用である。
【００９１】
本発明を例示的な実施形態に関して説明したが、これらの実施形態は説明的なものであると見なされるべきであり、限定的なものではない。本発明の精神及び範囲内において、様々な変形、置き換え等が可能である。
【図面の簡単な説明】
【００９２】
【図１】略正方形の類似のサイズの建物状構造体のプロットを用いた三次元視覚化表現の例示的な実施形態を示す図である。
【図２】略正方形の類似のサイズの建物状構造体のプロットを用いた三次元視覚化表現の例示的な実施形態を示す図である。
【図３】図１及び図２に示されている三次元視覚化表現の複数のバリエーションを示す図である。
【図４】図１及び図２に示されている三次元視覚化表現の複数のバリエーションを示す図である。
【図５】図１及び図２に示されている三次元視覚化表現の複数のバリエーションを示す図である。
【図６】図１及び図２に示されている三次元視覚化表現の複数のバリエーションを示す図である。
【図７】サイズが異なる建物状構造体のプロットを用いた、本発明による三次元視覚化表現の例示的な実施形態を示す図である。
【図８】サイズが異なる建物状構造体のプロットを用いた、本発明による三次元視覚化表現の例示的な実施形態を示す図である。
【図９】図１〜図６の三次元視覚化表現と共に用いられるグラフィカル・ユーザ・インタフェースを示す図である。
【図１０】図７及び図８の三次元視覚化表現と共に用いられるグラフィカル・ユーザ・インタフェースを示す図である。
【図１１】図１〜図６に示されているタイプの三次元視覚化表現のグリッドレイアウト方法の例示的な実施形態の概要を示すフロー図である。
【図１２】図１〜図６に示されているタイプの三次元視覚化表現のグリッドレイアウト方法の例示的な実施形態の概要を示すフロー図である。
【図１３】リーフノードのレイアウト及びブランチノードのレイアウトの例を示す図である。
【図１４】複数のリーフノードのレイアウトが単一のレイアウトに結合された、図１３のレイアウトを示す図である。
【図１５】より大きいレイアウトに結合された、図１４のレイアウトの例を示す図である。
【図１６】三次元視覚化システムの機能ブロック図の例示的な一実施形態を示す図である。
【図１７】図７及び図８に示されているタイプの三次元視覚化表現のレイアウトを決定する方法の一実施形態の概要を示すフロー図である。
【図１８】図７及び図８に示されているタイプの三次元視覚化表現のレイアウトを決定する方法の一実施形態の概要を示すフロー図である。
【図１９】図７及び図８に示されているタイプの三次元視覚化表現のレイアウトを決定する方法の一実施形態の概要を示すフロー図である。
【図２０】図７及び図８に示されているタイプの三次元視覚化表現のレイアウトを決定する方法の一実施形態の概要を示すフロー図である。
【図２１】図７及び図８に示されているタイプの三次元視覚化表現のレイアウトを決定する方法の一実施形態の概要を示すフロー図である。
【図２２】三次元視覚化システムの機能ブロック図の例示的な一実施形態を示す図である。
【符号の説明】
【００９３】
１００、２００    三次元視覚化表現
９００、１０００    グラフィカル・ユーザ・インタフェース
１６００    三次元視覚化システム
１６２０    入出力インタフェース
１６３０    メモリ
１６４０    ノード識別回路、ルーチン又はアプリケーション
１６４５    矩形割当て回路、ルーチン又はアプリケーション
１６５０    矩形配置回路、ルーチン又はアプリケーション
１６５５    アスペクト比調節回路、ルーチン又はアプリケーション
１６６０    レイアウトテスト回路、ルーチン又はアプリケーション
１６６５    メディア関連づけ回路、ルーチン又はアプリケーション
２２００    三次元視覚化システム
２２２０    入出力インタフェース
２２２５    コントローラ
２２３０    メモリ
２２４０    ノード識別決定回路、ルーチン又はアプリケーション
２２４５    セット関連づけ回路、ルーチン又はアプリケーション
２２５０    セット作成回路、ルーチン又はアプリケーション
２２５５    レイアウトサイズ比較回路、ルーチン又はアプリケーション
２２６０    レイアウト構成回路、ルーチン又はアプリケーション
２２６５    水平レイアウト結合回路、ルーチン又はアプリケーション
２２７０    垂直レイアウト結合回路、ルーチン又はアプリケーション
２２７５    メディア関連づけ回路、ルーチン又はアプリケーション
【図１１】
2005235204.tif 000003
【図１２】
2005235204.tif 000004
【図１３】
2005235204.tif 000005
【図１４】
2005235204.tif 000006
【図１５】
2005235204.tif 000007
【図１６】
2005235204.tif 000008
【図１７】
2005235204.tif 000009
【図１８】
2005235204.tif 000010
【図１９】
2005235204.tif 000011
【図２０】
2005235204.tif 000012
【図２１】
2005235204.tif 000013
【図２２】
2005235204.tif 000014
【図１】
2005235204.tif 000015
【図２】
2005235204.tif 000016
【図３】
2005235204.tif 000017
【図４】
2005235204.tif 000018
【図５】
2005235204.tif 000019
【図６】
2005235204.tif 000020
【図７】
2005235204.tif 000021
【図８】
2005235204.tif 000022
【図９】
2005235204.tif 000023
【図１０】
2005235204.tif 000024