本発明の実施の形態によるシステムについて添付図面を参照しながら説明する。本システムは、デジタル画像ファイル、デジタルオーディオファイル、テキストファイル、実行可能なプログラム、プログラムファイル及び動画ファイル等のデータオブジェクトを管理するためのものである。
図1乃至図4に示すように、本システムが表示するウインドウ20はサムネール画面21とレイアウト/序列インターフェース22で構成されている。サムネール画面21には種々のデータオブジェクトを表すサムネール23が表示される。図1及び図3に示されているように、それぞれのサムネール23には対応するデータオブジェクトの中心となる画像が含まれている。他の図に示されているサムネールについても同様の画像が含まれているが、便宜上の理由からこれらの図には画像を表示していない。
サムネール23は4つあるグラフィック表示レイアウト、即ち、図1に示すラインレイアウト、図2に示すサークルレイアウト、図3に示す格子レイアウト、それに図4に示す螺旋レイアウトのいずれかに表示することができる。以下詳述するように、これらのレイアウトでは種々のデータオブジェクトを表すサムネールを配列するためにX−Y座標を使用する。
図1に示されているように、サムネール画面21上の中央に位置した注目サムネール25は注目輪郭線24によって囲まれている。注目輪郭線24は注目サムネール25がユーザの入力に従い処理対象となることを示している。例えば、サムネール23を閲覧する旨の入力があると、サムネール23はサムネール画面21上を注目輪郭線24を通過するように動的にスクロールされる。スクロールは図1,図2、図16及び図17に示されている矢印Pの方向で、現在実行されているレイアウトに従った経路に沿って行われる。このように、多数のウインドウを用いた従来の方法とは異なり、複数のサムネール23を単一のサムネール画面21上に動的表示することで複数あるサムネール23の中の特定のサムネールを捜すことができる。単一のサムネール画面21上での操作であるため、データオブジェクトを表す複数のサムネール23の操作に当たっては、一連のサムネール23のみについて注意を払えばよく、この点で多数画面を用いた場合に比べて利便性が高い。以下に詳述するように、サムネール23は上下左右への移動、スクロール、サムネール画面21上でズーミング処理され、サムネール23に対する注目度を変えることができる。
情報タブ26が注目輪郭線24内で注目サムネール25の下部に表示される。情報タブ26には、ファイル名、日付、サイズ及び注目サムネール25に対応したデータオブジェクトのファイル形式等の注目サムネール25に関する更なる情報が含まれている。
レイアウト/序列インターフェース22は、サムネール23の表示領域の下側で、サムネール画面21の下部に表示され、レイアウトインターフェース27と序列インターフェース28を有する。レイアウトインターフェース27にはアイコン27a乃至27dが表示されており、これらは4つのレイアウトを示している。ユーザは、例えば、マウスとカーソルを使い、アイコン27a乃至27dのうちのいずれかを選択することによって所望のレイアウトを選択することができる。現在選択されているレイアウトを表すアイコンはレイアウト/序列インターフェース22の中で中央部分に表示されている。中央のアイコンをクリックするか、あるいはアイコン27eをクリックすることにより選択されているアイコンを変更することができる。アイコン27eをクリックする毎に、アイコン27a乃至27dの場所が順番に入れ替わる。アイコン27a乃至27dによりユーザはリスト形式で選択していた場合に比べるとレイアウトの選択がより幅広くなる。
序列インターフェース28は、選択したレイアウトでのサムネール23の配列序列を選択するためのものであり、4つの配列序列のうちの1つを選択することができる。その4つの配列序列は、データオブジェクトの名前(name)、データオブジェクトの形式(type)、データファイルのサイズ(size)及びファイルを記憶した日時(time)に基づき決定される。序列インターフェース28は画面の右側下部に表示され、4つの配列序列の内容を文字28a乃至28dで示している。この例では、選択されている配列序列を表す"name"の語28aはレイアウト/序列インターフェース22の中央付近に表示される。選択するアイコンを変えるには該当する文字をクリックするかアイコン28eをクリックすればよい。
ここで、4つのレイアウトについて更に詳細に説明する。図1に示すように、ラインレイアウトでは、サムネール23は一本の傾いたラインに沿って一部が重なり合った形で整列される。このサムネールのラインと交差する別の傾いたラインに沿ってデータオブジェクトのファイル名31が表示される。このラインレイアウトでは先頭のサムネールと末尾のサムネールが明らかであるので、ユーザは容易にデータオブジェクトの数を把握することができる。
図2及び図16に示すように、サークルレイアウトでは円形リングの円弧上にサムネール23が一部重なり合って配列される。サムネール23のファイル名31はサムネール用の円弧に対して鏡面位置にある第2の円弧に沿って表示される。図示しないが、サークルレイアウト上のサムネールが数枚の場合には、サムネール画面21にはサムネールの円形リングの全体が表示される。このとき、ファイル名はサムネールの円形リングの下の円形リングに沿って表示される。円形リングはサムネールの数が増えるにつれて大きくなり、サムネール用の円形リングの一部は表示されなくなる。円形リングに含まれるサムネールの数が所定数までは、円形リングの大きさが増すにつれて円弧の半径は大きくなるが、サムネールの数が所定数を越えると、円形リングは所定の大きさとなり、図2に示すように、所定の半径の円弧だけが表示される。このようにサムネールの数が所定数を越えると、円弧の半径はサムネールの数に係わらず固定となる。もしサムネール23の数に応じて円弧を変えるようにすれば、サムネール23の数が増大したときの円弧は直線に近い状態になってしまうからである。
図3に示すように、格子レイアウトでは、サムネール23は水平方向及び垂直方向に配列される。即ち、サムネール23は水平方向に延びる列と垂直方向に延びる桁上の固定位置に表示される。格子レイアウトの一列に配列するサムネールの数は、横に並べて配列したときにいくつのサムネールを画面上に完全に表示できるかにより決まる。図3に示した例では、一列に5枚のサムネールを横置きに配列している。この例では、一列に含まれるサムネールが重なり合わないようにした状態では、5枚のサムネールからなる一列を画面上に完全な形で表示することができる。サムネールを追加するには行数を追加すればよい。即ち、桁方向を引き延ばすようにしてサムネールを追加すればよい。表示状態に応じて5枚以上若しくは5枚以下のサムネールを一列に含めるようにするのが好ましい。横方向に隣接するサムネール23の両サイドは接しているが、上下方向に隣接するサムネール23は上辺と下辺との間にスペースがある。ファイル名31はそれぞれのサムネール23の下側に表示される。格子レイアウトは、サムネール23が重ならないという意味において、他のレイアウトに比べてより完全な行の表示をすることができる。
図4は、螺旋レイアウトによるサムネール23がサムネール画面21に表示されている状態を示したものである。サムネール23は異なった大きさで表示されており、3次元の螺旋に沿って配列されたサムネール23を横から見ているように表示されている。即ち、螺旋の手前側部分にあるサムネール23bに比べると螺旋の奥側にあるサムネール23aの方が小さいサイズで表示されている。螺旋はサムネール23を配列した円環輪35a乃至35cからできており、それぞれの円環35a,35b、35cにはおよそ10枚のサムネール23が配列されている。螺旋レイアウトでは多数のサムネール23を一つの線に沿って同時に表示することができるというメリットがある。
次に、ウインドウ20を表示するためのファイル管理システムの構成についてファイル管理システムの種々の特徴を含めて説明する。図5に示すように、ファイル管理システムは、コンピュータ1、メモリカード2,ディスプレイ3及ぶユーザ用入力装置4から構成されている。
メモリカード2はどのようなタイプのメモリカードであってもよい。例えば、メモリスティック(登録商標)、スマートメディア(登録商標)、コンパクトフラッシュ(登録商標)等のメモリカードが利用可能である。メモリカード2には多数の写真、歌、その他の種類のデータオブジェクトのデータファイルが記憶される。システムの他のモジュールによりデータオブジェクトをメモリカード2に書き込んだり、データオブジェクトをメモリカード2から読み取ったりすることができる。ユーザ入力装置4は、例えば、キーボード、ジョグダイヤル、ゲームコントローラあるいはマウスやペンのようなオン・スクリーン・ユニットの様なものであり、コマンドを入力することができるインターフェースであれば種類を問わない。
コンピュータ1にはメモリカード2を挿入するためのスロット2a、メモリカードインターフェース10,CPU11,ROM12,RAM13、ハードディスク14,ユーザインターフェース15,ディスプレイインターフェース16及びネットワークインターフェース17が備わっており、これら全てはバス16により接続されている。ユーザインターフェース15はユーザ入力装置4に接続されている。ディスプレイインターフェース16はディスプレイ3に接続されている。ネットワークインターフェース17はネットワーク5に接続されている。
図6はコンピュータ1の機能的なモジュールを示したものである。図示されているように、コンピュータ1は、ファイルマネージャ11,レイアウト/序列マネージャ12,サーチマネージャ13、プログラムマネージャ14及びレイアウト/序列・テンプレート・ストック15としての機能を有する。かかる機能的モジュールはハードディスク14に保持されている応用ソフトにより実現されるか、あるいはネットワーク5から読み出された応用ソフトにより実現される。
ファイルマネージャ11はメモリカード2からデータオブジェクトを読みとりRAM13のようなメモリに読み出したデータオブジェクトを記憶する。
レイアウト/序列・テンプレート・ストック15はハードディスク14のようなメモリであり、4つのレイアウトと4つの序列それぞれの組み合わせのレイアウト/序列・テンプレートを保持している。それぞれのレイアウト/序列・テンプレートには、対応するレイアウトに対する2つの規則が含まれている。一つはサムネール23の相対的位置を設定するための規則であり、もう一つはサムネール23の移動に関する規則である。
レイアウト/序列・テンプレートの規則については後述する。サムネール23の相対的位置については、格子レイアウト用のレイアウト/序列・テンプレートには次のような規則が設定されている。即ち、サムネールの序列で6番目に相当するものを除いて、それぞれのサムネールは直前のサムネールの右側に位置するという規則である。サムネールの序列が6番目の場合には、そのサムネールは次の列であって直前の列の1番目のサムネールの下に配列され、これが格子配列の次の列のスタートとなる。ラインレイアウト、サークルレイアウト及び螺旋レイアウト用のテンプレートは、サムネールをそれぞれライン、サークル及び螺旋に沿って配列するという規則を含んでいる。
サムネールの移動に関する規則については、格子テンプレートには、格子レイアウトのサムネールは図16に示すように移動するという規則が埋め込まれている。この移動は以下に説明するようにユーザがサムネールを閲覧する場合に実行される。ラインレイアウト、サークルレイアウト及び螺旋レイアウト用のテンプレートには、それぞれサムネールが直線、円及び螺旋に沿って移動するという規則が埋め込まれている。
プログラムマネージャ14はレイアウト/序列・テンプレート・ストック15から現在選択されているレイアウトと序列用のレイアウト/序列・テンプレートを読み出す。プログラムマネージャ14はこのテンプレートをファイルマネージャ11に書き込み、ファイルマネージャ11が記憶したデータオブジェクトに対してこのテンプレートを適用する。プログラムマネージャ14はレイアウト/序列・テンプレート・ストック15かテンプレートを読み出し、レイアウトや序列が変えられる度に読み出したテンプレートをファイルマネージャ11に書き込む。いかなる時においても、表示規則は1つだけがアクティブメモリにあればよいからである。
レイアウト/序列マネージャ12はファイルマネージャ11にあるデータオブジェクトに関する情報を読み、現在選択しているレイアウトに対応するサムネール23を引き出す。レイアウト/序列・マネージャ12はディスプレイ2を制御してサムネールの表示を行う。
サーチエンジン13を用いて、入力したサーチ条件に基づきデータオブジェクトの検索を行うことができる。サーチエンジン13はファイルマネージャ11に複数の条件を書き込む。ディスプレイ3は画面21を切り替えてサーチ条件を満足するデータオブジェクトのサムネールのみを表示する。サーチエンジン13はキーワード検索や、日付、サイズ、色といったファイル属性による検索に対応している。
次に、コンピュータ1の動作について図7乃至図10に示したフローチャートを参照しながら説明する。S1において、コンピュータ1のオペレーティングシステムはメモリカード2がスロット2aに挿入されている場合には、メモリカード2を認識する。その結果、オペレーティングシステムは、ファイルマネージャ11、レイアウト/序列マネージャ12及び図6に示した他の機能的モジュールの機能を実行する応用ソフトを立ち上げる。この応用ソフトはハードディスク14から読み出すか、あるいはネットワーク5からダウンロードする。S2では、ファイルマネージャ11がメモリカード2にデータオブジェクトが記憶されているかどうかの判断をする。もしデータオブジェクトが記憶されていなければ(S2:NO)、ソフトはここで終了する。
一方、メモリカード2にデータオブジェクトが記憶されていれば(S2:YES)、S3において、ファイルマネージャ11はメモリカード2のデータオブジェクトを一度にRAM13に取り込む。S4では、プログラムマネージャ14はデータオブジェクトのサムネール表示のために、現在選択されているレイアウトと序列の判定を行う。この例では、レイアウトのディフォルト設定としてラインレイアウトが、序列のディフォルト設定としてファイル名が選ばれている。プログラムマネージャ14はレイアウト/序列・テンプレート・ストック15から該当するレイアウト/序列テンプレートを取り出し、そのレイアウト/序列テンプレートをRAM12に記憶する。プログラムマネージャ14はテンプレートをファイルマネージャ11に書き込み、そのテンプレートをファイルマネージャ11にあるそれぞれのデータオブジェクトに適用する。
S5では、レイアウト/序列マネージャ12が現在選択しているレイアウトと序列に従いサムネール23のデータビューを引き出し、ディスプレイ2を制御してサムネールの表示を行う。
各サムネール23はファイルマネージャ11により読み出されると直ちに表示され、ロード処理の間サムネールは現在選択されているレイアウトに従って画面上に動的に表示される。即ち、図11に示すように、最初にロードされたデータオブジェクトのサムネール23cは画面21の左上隅に表示されてから画面21の中央に向かって移動する。サムネール23cの大きさに適合した大きさの注目輪郭線24がサムネール23cを囲うように表示される。
図12に示すように、2番目にロードされたデータオブジェクトのサムネール23dが同様に画面21の左上隅に表示され、画面21の中央に向かって移動する。このとき、最初のサムネール23cはわずかに左下側に移動する。サムネール23dが画面21の中央に位置すると、サムネール23dが現在選択されているサムネールであることを示すために、サムネール23dの周囲には注目輪郭線24が表示される。このように、中央に位置するサムネールは常にユーザが注目対象としているサムネールを表すことになる。図13と図14に示すように、この処理は全てのデータオブジェクトがメモリカード2からファイルマネージャ11にロードされるまで継続する。ユーザは全てのデータオブジェクトがロードされるまで待つ必要はなく、残りのデータオブジェクトがロードされている間であってもサムネールの閲覧を開始することができる。
ロード処理の間及びロード処理の後で、レイアウト/序列マネージャ12はディスプレイ3の制御を行い、ラインレイアウト上のサムネールを振り子が振れるように往復揺動運動させながら動的に表示する。注目サムネール25の中心は揺動運動の中心となり移動しない。図15には、揺動運動の過程で一方の側に最大に振れた時のサムネールの位置を実線で示してあり、揺動運動の過程で他方の側に最大に振れた時のサムネールの位置を点線で示してある。サムネールを往復揺動運動させることにより、重なっている各サムネールの大部分あるいは全部が短時間画面上に現れる。その結果、ユーザは表示されたサムネールの一枚一枚についての把握がしやすくなる。例えば、サムネールのラインが左右に揺動すると、サムネール23fの左右の下側部分23f’、23f”が交互に画面上に現れる。格子レイアウトを除く他のレイアウトでも同様な動的表示が行われ、各サムネールの大部分あるいは全部が短時間画面上に現れる。
サムネールのレイアウトが移動することで、ユーザは動的にサムネールと関わりを持つことができる。例えば、ユーザはレイアウトの変更をしたり、サムネールの序列(S6)を変更することで、現在選択している(S7)データオブジェクトをよりよく見えるようにすることができるし、またサムネールを閲覧することができる(S8)。
ユーザがサムネールの閲覧をしたい場合には(S8:YES)、S9で、プログラムマネージャ14がユーザからの閲覧入力を受け取る。S10では、レイアウト/序列マネージャ12がユーザからの閲覧入力に従い、ディスプレイ3を制御してサムネール23の表示法を調整する。S11では、レイアウト/序列マネージャ12が、ユーザから入力を受け取っている間は、ディスプレイ3の表示画面を連続的に調整する。ユーザが閲覧入力を中止すると(S11:NO)、プログラムはS6に戻る。
単一の閲覧入力があった場合、即ち、キーボード上の矢印キーを一度だけ押圧した場合は、ユーザが選択したサムネール25を現在選択しているサムネールに隣接しているサムネールに変更をしたいということである。即ち、連続するサムネールのうち、中央にあるサムネールの直前若しくは直後のサムネールに変更することを意味する。レイアウト/序列マネージャ12はディスプレイ3を制御して、対象になっている隣接するサムネールが画面の中央に向かう方向に連続するサムネールを1ポジションだけゆっくりとシフトする。注目輪郭線24は画面21の中央にほぼ留まった状態にあるが、隣接するサムネールが中央に向かってシフトする際、注目輪郭線24も隣接するサムネールに向かってわずかに移動し、表示レイアウトの浮遊移動のスムーズ性を高めている。
ユーザが矢印キーを押し続けている場合のように、閲覧入力が連続的になされている場合には、レイアウト/序列マネージャ12はディスプレイ3を制御して、連続するサムネールが画面21上の注目輪郭線24を通過して流れるようにする。このようにすることによって、メモリカード2に多数のデータオブジェクトが格納されている場合に、全てのサムネールを一度にディスプレイ3上に表示できないにしても、ユーザはロードされた全てのデータオブジェクトのサムネールを閲覧することができる。
サークルレイアウトの場合、サムネールの配列軌跡をなす円が回転して、その上に配列されているサムネール23が注目輪郭線24を通過する。これによってユーザは円軌跡に沿ってサムネール23の閲覧をすることができる。サムネール23は環状に配列されているため、初めと終わりを意識する必要がない。上述のように、円環に多数のサムネール23を含んでいる場合には、図2に示すように、サムネール23の一部だけが一度に円弧状に配列表示される。閲覧動作が行われている間中、表示されているサムネール23は順次画面上に現れ、消えていく。これによって、表示されるサムネール23は一定間隔で変更されることになる。
格子レイアウトの場合、閲覧動作の間、全てのサムネール23は同じ位置に留まっている。ユーザが水平方向へのスクロール入力をすると、図16に示すように、格子全体が矢印Pの方向に画面21上をジグザグ移動する。格子は、実際は、画面21の幅と同じかあるいは小さいが、理解を容易にするために、図16には格子の幅を画面21の幅よりも大きく描いてある。別々の列のサムネール23は注目輪郭線24を通って浮遊移動する。各列の同じ側の端部から出発して列が連続的に次から次へと続く。ラインレイアウトの場合と同様に、注目輪郭線24はわずかに移動して次のサムネールを捕らえるような動きをする。ユーザが水平方向へのスクロール入力をすると、注目サムネール25を含む一列分のサムネール23が、一度に注目輪郭線24を通って移動する。格子の水平方向の寸法は、一度に全てのサムネールを表示できるサムネール数に設定されている。本実施の形態では、5枚のサムネールを表示できるように設定されている。従って、ユーザにとって閲覧が容易である。もし格子の水平方向の大きさを大きくすると2次元で考えなければならないところ、基本的には1次元で考えればすむからである。その結果、格子レイアウトでは、ユーザは主として鉛直方向に閲覧することになる。
螺旋レイアウトの場合、ユーザが水平方向へのスクロール入力をすると、螺旋が鉛直方向に渦巻き回転し、サムネール23が注目輪郭線24を通過する。螺旋の渦巻き回転量は、スクロール対象のサムネール23の数によって決まる。多数のサムネールを連続スクロールするときは、図17に示すように、螺旋の半径を小さくしサムネール間距離を短くして回転螺旋を絞り込んだ形で表示する。この場合でもサムネール23は注目輪郭線24を通過しながら移動する。所定時間以上に亘って閲覧入力が継続する場合には、サムネール23の移動速度が加速される。このとき、サムネール23の表示は閲覧速度に適合した大きさに調整される。即ち、螺旋レイアウトの螺旋は、閲覧速度が増加すると収斂表示され、閲覧速度が減少すると拡張表示される。このように螺旋の形状を視覚的に変化させることにより、ユーザは閲覧速度の変化を体感することができる。同様に、サークルレイアウトの表示の場合も、閲覧速度と閲覧時間に基づいて収斂表示されたり拡張表示されたりする。
図4に戻って、ユーザが螺旋を鉛直方向へのスクロールするための入力をすると、全体の螺旋が1ピッチだけ回転せずに鉛直方向にシフトする。ここで、1ピッチとは螺旋のリング間距離である。その結果、現在の注目サムネール23は注目輪郭線24からはずれ、スクロールの方向によって直ぐ上のリングか直ぐ下のリングの中の最も大きいサムネール23が注目輪郭線24内にシフトする。図4に示した例で、鉛直方向に1枚のサムネール分全体をシフトするよう入力をすると、螺旋は下方向に1ピッチDだけシフトし、リング35bのサムネール25’が注目輪郭線24の外側にシフトし、代わってリング35aのサムネール25”が注目輪郭線24内に収まる。このように隣のリングへジャンプすることによって、間に存在する10枚のサムネールを飛び越すことになり、他のレイアウトの場合に比べるとより素早くより多くのサムネールを閲覧することができる。更に、1回のジャンプで、別のリングに含まれる10枚のサムネールを画面21の中に呼び込むことができる。
ユーザがレイアウト若しくはサムネールの序列を変えたい場合には(S6:YES)、プログラムは図8に示したフローチャートのS20に進む。S20では、ユーザが選択したレイアウト若しくは序列が決定される。S21では、プログラムマネージャ14が新たに選択したレイアウト若しくは序列に対する規則を決定し、レイアウト/序列・テンプレート・ストック15から該当するテンプレートを引き出す。S22では、プログラムマネージャ14がそのテンプレートをファイルマネージャ11にあるデータオブジェクトに適用する。S23では、レイアウト/序列マネージャ12がディスプレイ上に新たな映像を提供し、ディスプレイ3を制御する。
S21とS22における処理が実行されて新たなレイアウトが提供されると、選択したレイアウトを表すアイコンは右側にシフトして画面下側の中央付近に位置し、このアイコンを表すレイアウトが選択されていることを示す。直前に選択されていたレイアウトを表すアイコンは左側にシフトし、他の選択されていないレイアウトを表すアイコンの隣に並ぶ。これによってユーザはいつレイアウトのアイコンを選択したかの把握がしやすくなる。同時に、サムネール23は直前のレイアウトから新たに選択したレイアウトに沿って再配置される。
例えば、図1に示すように、ラインレイアウトでサムネール23の表示がされているときに、ユーザがサークルレイアウトを選択すると、ラインレイアウト用のアイコン27dとサークルレイアウト用のアイコン27aはそれぞれ左方向と右方向に移動してそれぞれの位置が入れ替わる。そして、サムネール23はサークルレイアウトになるように移動し、図2に示したような表示状態となる。アイコンの実際の移動が画面上で見ることができる。また、ラインレイアウトで規定される位置にあるサムネールが新たに選択したサークルレイアウトで規定される位置に移動する様子を視認することができる。これによってユーザは新たに選択したレイアウトが正しく実行されたことを確認することができる。
S21とS22の処理を実行して新たな序列に再配列する場合には、新たなレイアウトに切り換えるときと同様に、新たに選択する序列を表した文字を左側にシフトして画面下側の中央付近に移動し、その文字に相当する序列が選択されていることを示す。このとき直前に選択されていた文字は右側にシフトし、他の選択されていない序列の文字の隣に並ぶ。同時に、サムネール23は直前の序列による並びから新たに選択された序列による並びに再配置される。
図18に示した例は、サムネール23が名前順に配列されている状態で、ユーザが"type"の語を選択した場合を示している。この例では、サムネール23gを除く他の全てのサムネール23は同じ種類である。サムネール23gは音楽ファイルであり、残りのサムネールは画像ファイルである。序列に関する"type"の文字が選択されると、サムネール23gがラインの配列から抜け出し、ラインの先頭位置にシフトする。直前に先頭位置にあったサムネール23h及びサムネール23hとサムネール23gの間にあったサムネール23iは1サムネール間距離だけ後にずれ、新たにラインを形成する。直前の序列から新たに選択した序列へのサムネールの実際の移動をユーザは視認することができ、序列の変更が行われたことがわかるようにしている。
ユーザがあるサムネールに注目したい場合には、そのサムネールを注目輪郭線24に移動した状態でサムネールのサイズを拡大することができる。ユーザが現在選択しているデータオブジェクトを注目したい場合(S7:YES)には、プログラムは図9に示したフローチャートのS30に進む。S30では、キーボードのリターンキーからの入力を受け取るか、あるいはキーボードと同様な入力装置から入力を受け取り、注目サムネール25が選択されていることを把握する。S31乃至S33の処理の結果、画面の表示状態は図19に示すようになる。S31では、レイアウトマネージャ12が注目輪郭線24にある注目サムネール25を拡大する。S32では、プログラムマネージャ14はサムネール画面21の下側にあるレイアウトインターフェース27と序列インターフェース28を無効にし、S33ではコマンドインターフェース40を有効にする。コマンドインターフェース40には種々のアプリケーション起動用のアイコン40a、40b、40cが表示されている。また、矢印40dが表示されており、ユーザからの指示があったときに起動するアプリケーションのアイコンを指している。ユーザは、水平方向へのスクロール動作を行うことにより矢印40dの位置を変えることができる。注目サムネール25がオーディオファイルの場合には、プログラムマネージャ14はその注目サムネール25が選択されたときにオーディオファイルの演奏を行う。注目サムネール25が動画ファイルの場合には、プログラムマネージャ14は注目サムネール25が選択されたときに動画の再生を行う。
S34では、ユーザはコマンドインターフェース40を介して選択したデータオブジェクトに関する様々な処理を実行することができる。ユーザが選択したデータオブジェクトの処理をしない場合には(S34:NO)、S35においてその旨の入力を受け付ける。例えば、矢印40dがアイコン40a,40b,40cの全てを挟み込んだ状態でユーザが再度リターンキーを押すと、これは特定のアプリケーションを選択していないことの入力となる。S36では、レイアウト/序列マネージャ12がサムネール注目サムネール25の大きさを元の小さいサイズに戻す。次いで、プログラムはS6若しくはS30に戻る。
一方、もしユーザが選択したデータオブジェクトの処理を行う場合には(S34:YES)、プログラムは図10に示したフローチャートのS40に進む。S40では、ユーザが選択したデータオブジェクトに対してどのような処理をしたいかの選択をする。例えば、ユーザは選択したデータオブジェクトに関するアプリケーションを起動することができ、編集インターフェースを使ってそのデータオブジェクトの編集をしたり、ブックマークインターフェースを使ってそのデータオブジェクトにブックマークを付すこともできる。ユーザがアプリケーションの起動を選択した場合には、S41において、ユーザは所望のアプリケーションの選択をすることができる。S42では、プログラムマネージャ14がオペレーティングシステムにアクセスし、選択したアプリケーションを起動する。S43では、ファイルマネージャ11が選択したデータオブジェクトを起動したアプリケーションに渡し、S44では、レイアウト/序列マネージャ12が注目サムネール25の大きさを縮小して元の大きさにする。S45では、プログラムマネージャ14が起動したアプリケーションを前面に移動する。起動したアプリケーションがユーザが希望したものである場合には(S46:YES)、S47においてユーザは新たなアプリケーションを使用し、このプログラムは終了する。起動したアプリケーションがユーザが希望したものでない場合には、プログラムはS6に戻る。
アプリケーションを終了させると、直ちにサムネールが画面から完全に消失するのではなく、サムネールは画面の外に飛び出すようにして消失し、アプリケーションの終了を印象づけている。
次に、各レイアウトにおけるサムネールの相互位置と移動を決定するためのレイアウト/序列テンプレートについて詳細に説明する。プログラムマネージャ14には、注目輪郭線24の位置をサムネール画面21の中央若しくは中央付近に設定するための情報が含まれている。全てのレイアウト用のテンプレートには、サムネール画面21上で64画素に相当する一定値をサムネール間距離とする設定がされている。
ラインレイアウトについては、サムネールはライン上に64画素間隔で配列されている。ラインの長さはLであり、この長さLはサムネールの数nと一定値64画素を掛けた値に等しい(L=64n)。
サムネールラインの往復揺動運動を実行させるためのレイアウト/序列テンプレートの内容について図20を参照しながら説明する。ラインレイアウトの揺動運動は閲覧中でも継続している。サムネールの中心とファイル名の中心はそれぞれライン1とライン2上にあって、64画素相当分の距離だけ離間している。図20に示したライン1と2は、往復揺動運動の最大振幅位置におけるものである。ライン1と2の移動は次の式により与えられる。
ここで、x、yはサムネール画面21上の座標であり、tは秒で表される時間、c0とc1はサムネール画面21の中心の座標値である。
図20に示した例では、c0とはサムネール画面21の上部からサムネール画面21の中央までの距離を表しており、c1はサムネール画面21の右端からサムネール画面21の中央までの距離を表している。図20に示されている角θは次の式によって定義される。
サークルレイアウト用のテンプレートについて図21を参照しながら説明する。サムネールサークルとファイル名サークルの半径rは次の式によって定義される。
サムネールサークルの中心は次の式に基づいて定まる。
ファイル名サークルの中心は次の式に基づいて定まる。
サムネールサークルにおけるそれぞれのサムネールの位置は次の式に基づいて定まる。
ファイル名サークルにおけるそれぞれのファイル名の位置は次の式に基づいて定まる。
次に、螺旋レイアウト用のテンプレートについて図22を参照しながら説明する。螺旋上のそれぞれのサムネールのx、y及びz座標は次の式に基づいて定まる。
ここで、iは全てのサムネールの中の注目サムネールを表すサムネール番号を示している。例えば、サムネール群の中の2番目のサムネールの位置は、iに2を代入すれば求まる。jはnからiを引いた数、即ち、j=i−nで定義される。nは注目画素のサムネール番号である。例えば、目標サムネールが注目サムネールの場合、jは0となる。それぞれのサムネールの大きさはz軸上の座標値で定まる。
次に、閲覧中のサムネールの移動を規定したテンプレートの内容について図23乃至図25を参照しながら説明する。図23(b)に示した例では、4枚のサムネール232乃至234がラインレイアウトに従って配列されている。枠a内に示されているように、サムネール233が現在の注目サムネール25である。
注目サムネール25をサムネールライン上の次に高い位置にあるサムネール、即ち、サムネール232に置き換えたい場合は、ユーザはその旨の入力をする。すると、レイアウト/序列マネージャ12は、図23(b)にある枠b内に示すように、注目サムネール25として画面中央にあるサムネール232を基準としてサムネール231乃至234の目標位置Diを設定する。図23(a)と図23(b)に示したそれぞれの枠b内を比較するとわかるように、サムネール231乃至234の新たに設定した目標位置Diは現在位置Siとは異なっている。そこで、図23(a)と図23(b)に示したそれぞれの枠c内を比較するとわかるように、レイアウト/序列マネージャ12は徐々にサムネール23の表示を変更する。その変更は、図23(a)と図23(b)の枠d内を比較するとわかるように、サムネール231乃至234の目標位置Diが現在位置Siに一致するまで行われる。
次に、上記のような態様でプログラムマネージャ14がサムネールの表示変更を行う処理について図24を参照しながら説明する。このプログラムは画面の更新毎に実行される。画面は、1秒間に30回の一定時間間隔で更新される。最初にS50において、注目サムネール25ユーザからの入力により変更される。注目サムネール25を変更するための入力がない場合には、プログラムはここで終了する。次いで、S51において、カウンタのサムネール番号iが1に設定される。サムネール番号iは対象にしているサムネールを示している。
S52では、i番目のサムネールの目標位置Diは、S50で選択された新たな注目サムネールに基づき設定される。目標位置Diもまた現在のレイアウトに基づき設定される。例えば、現在のレイアウトが螺旋レイアウトの場合、目標位置Diは螺旋レイアウト用テンプレートによって決められている螺旋形上のいずれかの位置になる。このことは全てのレイアウトについて当てはまる。
S53では、i番目のサムネールの新たな位置Sinewがサムネールの現在位置Sipresentと目標位置Diに基づき計算される。この新たな位置Sinewは次の式に基づき決定される。
即ち、図25に示すように、i番目のサムネールの現在位置Sipresentと目標位置Diの間の距離は5分割される。新たな位置Sinewは現在位置Sipresentからの距離の5分の1のところに設定される。
S54では、サムネール番号を1インクリメントして、処理の対象を一連のサムネール群の中の次のサムネールに移行する。サムネール群の中の全てのサムネールについての処理が完了すると(S55:YES)、このプログラムは終了する。
このプログラムが繰り返し実行されることにより、サムネールはそれぞれ目標位置に到達する。S53における処理が行われるために、サムネールは最初早く移動するが、新たな目標位置に近づくにつれて移動速度は減速し、目標位置にゆっくりと収まる。この動きによってサムネールが新たな目標位置に収まったことを体感させる効果がある。
上述のように、閲覧操作中、注目輪郭線24はわずかに移動して次のサムネールを捕らえるかのような動きを見せる。テンプレートにはこの動きを表すための情報が含まれている。
図26と図27は、オーディオファイルの大きさと内容に基づき、オーディオファイルを表すサムネールを視覚的に表示する方法の一例を示したものである。図26に示すように、音楽ファイル54にはファイル情報54aと音楽データ54bが含まれている。ファイル情報54aには、歌のタイトル、アーチスト名及び演奏時間が情報として含まれている。音楽ファイル54のサムネールを作るには、音楽データの一部を読み出すことから始める。このとき読み出すデータ量は音楽ファイルの大きさに依存する。もし音楽ファイルが大きいものであれば、多くのデータ量を読み出す。読み出したデータをいくつかに分割する。この例では、読み出したデータを300に分割する。分割データには16ビットのデータが3単位含まれている。図26には、ある分割データに16進表示で0f、7e、57の3単位の16ビットデータが含まれている例が示されている。各分割領域にある16ビットのデータを用いて、R、G、Bそれぞれの色について256階調のカラー表示を行うことができる。図26の例では、0f、7e、57の3つの16ビットデータを用いてR、G、Bそれぞれの階調を決めている。
オーディオファイル用のサムネールは、読み出した音楽データを分割したときの分割数と同じ数に分割する。この例ではサムネールは300(=15×20)に分割される。各分割領域の16ビットデータ3単位によって定まる色階調はサムネールの対応する部分の色を表示するのに用いられる。サムネールの対応する部分とは、図26の上から2番目の矩形内に示されている。表示される全ての部分のR、G、Bの値が定まると、図26の上から3番目の矩形内に示されているように、各領域の表示の境界にぼかしを入れる。図26の一番下の矩形内に示されているように、種々のファイル情報を大文字の文字列でぼかしの入った画像の上に重ねて表示する。
図27に示すように、表示部分の数は、対応するデータファイルのサイズに応じて増減される。即ち、大きいデータファイルのサムネールは数多くの領域に分割された状態で表示され、小さいデータファイルのサムネールは数少ない領域に分けられた状態で表示される。
特定の実施の形態を例にとって本発明を詳述したが、本発明は上述した実施の形態に限定されず、特許請求の範囲に記載した範囲で種々の変形や改良が可能である。
例えば、上記実施の形態では、データオブジェクトはメモリカードからコンピュータに取り込むようにしたが、メモリカードの代わりにフラッシュメモリ、記録可能なメディア、ハードディスクあるいはCD−ROMのような付属の記憶装置を用いてもよい。あるいは、データオブジェクトをネットワークサーバから提供するようにしてもよいし、あるいはコンピュータに付属の記憶装置とネットワークの組み合わせによって提供するようにしてもよい。
また、データオブジェクトは、スタンドアロンのアプリケーションやブラウザーアプレットを用いることによってネットワークプロトコルで転送するようにしてもよい。このような形を採れば、オンライン・マルチメディア・フォトアルバムとして利用することができる。この場合、ユーザがサーバにデータオブジェクトをアップロードし、別の人が端末からそのデータオブジェクトを閲覧することになる。あるいは、ユーザのコンピュータ自体をサーバとして用いてもよい。
データオブジェクトがCD−ROMで供給される場合には、コンピュータがCD−ROMを認識すると、データオブジェクトはCD−ROMからファイルマネージャに自動的に読み込まれる。しかしながら、図28に示すように、読み込み動作を実行したり、選択したレイアウトに従いサムネールを表示したり、別のレイアウトを選択した場合にサムネールやアイコンの表示を変更したりするような全ての実行可能なアプリケーションはCD−ROMによって提供されなければならない。
この点はメモリカードを用いた場合と対照的である。図29に示すように、実行可能なアプリケーションは、コンピュータのハードディスク上に存在するか、あるいはネットワークから提供される。メモリカードを用いた方が好ましい理由は、実行可能なアプリケーションをメモリカード上にあるデータファイルだけでなく他の多くのデータファイルにも使える点にある。また、実行可能なアプリケーションはデータファイルとは無関係にアップグレードすることができる。更に、CD−ROM若しくはメモリカードから起動したアプリケーションは最前列のアプリケーションであるが、CD−ROMから起動した場合には他のアプリケーションを使用することはできない。メモリカードを使用した場合には他のアプリケーションを使用することができる。
上記実施の形態では、S41において単一のデータオブジェクトに対してアプリケーションを起動するようにしたが、アプリケーションの起動は1以上のデータオブジェクトに対して行うようにしてもよい。例えば、ユーザはブックマークインターフェースを用いて、複数のサムネールにブックマークを付し、ブックマークの付された全てのサムネールに対してアプリケーションを起動するようにしてもよい。
レイアウトインターフェース27にはレイアウトを示すためにアイコンが使われており、序列インターフェース28には序列を示す言葉が使われているが、レイアウトや序列と関係づけるために他の種類の指標を使用してもよい。
また、上記実施の形態では、レイアウトと序列は予め決められているものを使ったが、ユーザが新たなレイアウトや序列を決めることができるようにしてもよい。新たなレイアウトはビジュアルプログラミング機能を利用して定義することができる。ユーザはこのビジュアルプログラミング機能を用いて、一連のサムネールの位置や大きさを定めたり、データオブジェクトを表す別の種類の繰り返しパターンを作成してもよい。そのような新しいレイアウトはプラグインアーキテクチャを介して提供してもよい。別の種類の序列についても、これをユーザが決め、新たなファイル属性を序列パラメータのリストに追加すればよい。サーチの基準についても序列パラメータとして記憶し、使用するようにすることができる。
上記実施の形態では、サムネールや全体のレイアウトは選択した序列に係わらず同様に表示されるが、選択した序列に応じてサムネールやレイアウトを表示するようにしてもよい。例えば、序列としてファイルサイズを選択した場合には、図30に示すように、各サムネールの表示サイズは、全部のデータオブジェクトのファイルサイズの範囲に対する相対的フィルサイズに相当するようにしてもよい。格子レイアウト、ラインレイアウト及びサークルレイアウトのような2次元のレイアウトでは、サムネールの大きさはX及びY方向の大きさで規定すればよいが、螺旋レイアウトでは、サムネールの相対的大きさを同じ寸法で若しくはサムネールに厚さを付して表すようにしてもよい。
時間の序列を選択した場合には、データオブジェクトの時間的接近度合いに応じてサムネール表示の並び若しくはパターンを変えるようにしてもよい。例えば、2つのデータオブジェクトの時間間隔を2枚のサムネールの配列距離の差として表示するようにしてもよい。図31に示した例では、サムネール23mとサムネール23nで表される2つのデータオブジェクトは比較的短い時間差のものであるので、これら2枚のサムネールは比較的短い距離SDだけ離間した状態で表示されている。一方、サムネール23oとサムネール23pで表される2つのデータオブジェクトは比較的長い時間差のものであるので、これら2枚のサムネールは比較的長い距離LD離間した状態で表示されている。
他の方法として、サムネールを全体としてグループ化し、図31に示すように、サムネールの時間的接近度合いに応じてそれぞれのグループを分けるようにしてもよい。例えば、一定の時間枠毎に画像のコレクションをしているとか、あるいは一連のファイルを作成しているような場合には、画像若しくはファイルを時間枠に基づいてグループ化するようにし、ある程度の時間差がある画像やファイルをグループ分けする。図32に示した例では、15分以内の時間差で撮られたデジタル写真を同じグループにし、各グループを境界線55a乃至55dで囲うようにしている。即ち、15分以上の時間差で撮った写真については別のグループにしている。このようなグループを交互に異なった色で示すようにしてもよいし、あるいは文字ラベルを付すようにしてもよい。
連続度、全経過時間、及び画像判断の基準の観点から、全画像を対象にするようなより複雑化したアルゴリズムを用いて、グループ化を動的に行うようにしてもよい。連続度,全経過時間、及び画像判断の基準をどのように行い、グループ化を調整するかの例としては、デジタルカメラで撮った画像の場合があげられる。
連続撮像画像は、撮像した全ての画像間の時間間隔を判定し、平均時間間隔を算出し、各時間間隔と平均時間間隔を比較することにより判別がつく。平均時間間隔よりも長い時間間隔か短い時間間隔の画像であるかは、サムネールを異なるグループに表示するかどうかを決定するための重み付け要素となる。
全経過時間は、最初の画像を撮像した時から最後の画像を撮像した時までの全体の時間を指す。どのサムネールを同一のグループに含めるかの判定に用いる標準的時間差は、経過時間によって変えてもよい。例えば、最初の画像を撮像してから1時間しか経過していないような場合には、標準時間差を10分に設定してもよい。しかしながら、10時間も経過しているような場合には、標準時間差を1時間としてもよい。
画像判断の基準とは、例えば、輝度レベル、色、画像のパターン認識のようなある基準を用いて、画像を同一のグループに含めるかどうかを決定することを意味する。各画像はある基準について分析され、同じ特性を持っている画像のサムネールは同一のグループに含められる。
アイコンのようなダイナミックエレメントをサムネールの代わりに使い、データオブジェクトを表現するようにしてもよい。しかしながら、サムネールはデータオブジェクト自体を表したものであり、アイコンよりもサムネールのようが好ましい。例えば、画像がサムネールになっている場合には、サムネールは画像自体を縮小表示したものである。アイコンはファイル形式の一般的な表示形態であり、同じ形式の画像は全て同じアイコンになる。
注目画素25を示すための注目輪郭線24は設けなくてもよい。注目輪郭線24はユーザの入力によって生じる動作の注視点である。注目輪郭線24を設けない場合には、単に注目画素25を注目領域に置くだけとなる。
本実施の形態では、メモリカード2をスロット2aに挿入したときに、アプリケーションを起動するようにしたが、ユーザ入力装置4からの入力に基づいてメモリカード2を選択した場合に、アプリケーションを起動するようにしてもよい。
本実施の形態では、何らかのメモリカードを選択するか挿入した場合に同じアプリケーションを起動するようにしたが、メモリカードに記憶されているデータによって、あるいはメモリカードの種類によって別のアプリケーションを起動するようにしてもよく、またある種のメモリカードに対してのみアプリケーションを起動するようにしてもよい。
本実施の形態では、システムをユーザ制御型にした場合について説明したが、自発型のシステムにしてもよい。例えば、ランダムにサムネールを表示するスライドショーモードを組み込み、ユーザ制御によらず自動的に実行するようにしてもよい。これはあるフォルダ内に含まれる画像をランダムに表示するスライドショープログラムと同様のものである。このスライドショーモードは、ユーザからの入力が一定時間なかった場合に、スクリーンセーバーの態様で開始するようにしてもよい。ユーザは何らかの入力を行うことで、容易にこのスクリーンセーバーモードを中断することができる。また、ユーザがこのスライドショー機能を直接開始するようにすることもできる。