この発明の実施の形態について図面を参照しながら詳細に説明する。
図1は、この発明の実施の形態に係る文書管理装置1の構成例を概略的に示すブロック図である。
上記文書管理装置1は、画像入出力装置2に接続されたPC等により構成される。また、上記画像入出力装置2は、PCとしての文書管理装置1へ画像を提供するものであれば良い。たとえば、画像入出力装置2としては、スキャナ、スキャナを具備するデジタル複合機(MFP)、デジタルカメラ、ネットワーク上のコンピュータ(例えば、ネットワークディスクやWWWサーバ)などが想定される。
図1に示すように、文書管理装置1は、CPU11、RAM12、ROM13、入出力インターフェース(I/F)14、ハードディスクドライブ(HDD)15、表示器ドライバ16、表示器17、マウスドライバ18、マウス19、キーボードインターフェース(I/F)20及びキーボード21などにより構成されている。マウス19とキーボード21とは入力装置でもある。
上記CPU11は、文書管理装置1全体の制御を司るものである。また、上記CPU11は、上記ROM13に記憶されている制御プログラムや上記HDD15に記憶されているアプリケーションプログラムを実行することにより様々な機能を実現している。上記RAM12は、作業用のデータなどを一時的に格納するメモリである。上記ROM13は、当該文書管理装置(PC)1が動作するための基本的な制御プログラムなどが予め記憶されている不揮発性のメモリである。
上記入出力インターフェース14は、外部装置から画像などのデータを入力するためのインターフェースである。図1に示す構成例では、上記入出力インターフェース14は、画像入出力装置2から画像を取得するためのインターフェースとして機能する。なお、図1では、1つの入出力インターフェース14を図示しているが、上記文書管理装置1は、複数の入出力インターフェース14が設けられる構成であっても良い。
上記HDD15は、磁気ディスクなどにより構成された記憶装置である。上記HDD15には、各種のデータがファイル形式で記憶される。つまり、当該文書管理装置1が管理対象とする文書を構成するデータは、ファイルとして上記HDD15に記憶される。
また、上記HDD15には、データテーブルとしての第1のファイル管理テーブル23、第2のファイル管理テーブル24、文書管理テーブル25、色管理テーブル26などが設けられている。
上記第1のファイル管理テーブル23および第2のファイル管理テーブル24は、管理対象となる文書を構成するデータのファイルに関する管理情報(ファイル管理情報)を記憶するテーブルである。上記文書管理テーブル25は、管理対象となる文書に関する管理情報(文書管理情報)を記憶するテーブルである。上記色管理テーブル26は、管理対象となる文書に関連づけられる色に関する情報(色管理情報)を記憶するテーブルである。なお、各データテーブル23〜26については、後で詳細に説明する。
また、上記HDD15には、少なくとも、PCを文書管理装置1として機能させるためのアプリケーションプログラム(文書管理用プログラム)27、および、設定情報28が記憶されている。
上記文書管理用プログラム27は、後述する、文書管理情報の登録処理、イメージ生成処理、文書検索画面の表示処理、文書マップ生成処理、文書検索処理などの各種の処理をPCに実行させるためのプログラムにより構成される。すなわち、上記文書管理用プログラム27を実行することにより、PCは、文書管理情報を登録する機能、イメージを生成する機能、文書検索画面を表示する機能、文書マップを生成する機能、および、文書検索を行う機能などの各種の機能を実現する。
上記表示器ドライバ16は、上記表示器17の表示内容を制御する駆動回路などにより構成される。上記表示器ドライバ16は、上記表示器17に表示する画像の信号を表示器17へ出力するインターフェースとして機能する。上記マウスドライバ18は、マウス19に入力された情報を検知する回路などにより構成される。上記マウスドライバ18では、マウス19の動き、マウス19に設けられたボタンへの入力、あるいは、マウス19に設けられたホイールの回転量などを検知する。上記マウスドライバ18は、マウス19の動き、マウス19のボタンへの入力、あるいは、マウス19のホイールの回転量などを示す信号をCPU11へ通知するようになっている。
上記キーボードインターフェース20は、キーボード21に入力された情報を検知し、上記CPU11へ通知するものである。上記キーボード21は、文字、数字あるいは記号などの複数のキーにより構成される。上記キーボード21の各キーへの入力は、上記キーボードインターフェース20により検知され、入力されたキーを示す信号としてCPU11に通知されるようになっている。
図2は、上記マウス19の構成例を示す図である。
上記マウス19は、図2に示すように、動作検知機構31、右ボタン32、左ボタン33、ホイール34などを有している。上記マウス19は、図2に示す状態で平面上に置かれた状態で操作される。図2に示す状態のマウス19は、ユーザの手で保持される。ユーザは、平面上で図2に示す状態のマウス19を動かし、必要に応じて上記右ボタン32、左ボタン33及びホイール34を操作する。
上記動作検知機構31は、平面上におけるマウス19の動きを信号に変換するための機構である。たとえば、上記動作検知機構31は、マウス19の動きに応じて回転する球体とその球体の動きを信号に変換する機構により構成される。また、上記動作検知機構31は、平面上におけるマウス19の動きを検知する光学センサと光学センサにより検知したマウス19の動きを信号に変換する機構などにより構成されるものであっても良い。上記動作検知機構31は、図2に示す状態で平面に接する側に設けられる。すなわち、ユーザが図2に示す状態で保持したマウス19を動かすと、上記動作検知機構31は、平面上におけるマウス19の動きを検知する。また、上記動作検知機構31が検知したマウスの動きを示す信号は、上記マウスドライバ18へ出力される。
上記右ボタン32は、図2に示す状態においてマウス19本体の右側に設けられたボタンである。この右ボタン32は、たとえば、図2に示す状態のマウス19本体をユーザが右手で保持した場合、ユーザの人差し指や中指などで操作されるボタンである。上記左ボタン33は、図2に示す状態においてマウス19本体の左側に設けられたボタンである。この左ボタン33は、たとえば、図2に示す状態のマウス19本体をユーザが右手で保持した場合、ユーザの中指あるいは薬指などで操作されるボタンである。
上記ホイール34は、図2に示す状態においてマウス19中央部付近に設けられた回転部材である。図2に示す例では、ホイール34は、右ボタン32と左ボタンとの間に設けられている。たとえば、上記ホイール34は、図2に示す状態のマウス19本体を保持したユーザの人差し指、中指あるいは薬指などで操作される。
また、上記ホイール34は、一定方向にのみ回転するように設置されている。図2に示す例では、上記ホイール34は、手前から奥への方向(図2の下から上への方向)とその逆の方向(図2の下から上への方向)に回転する。以下の説明では、上記ホイール34の回転方向については、手前から奥(図2の下から上)への回転方向を正方向とし、その奥から手前(図2の下から上)への回転方向を逆方向として説明を行うものとする。
また、上記ホイール34は、ボタンとしても機能するようにしても良い。この場合、上記ホイール34は、ホイール34自体を押下げることにより特定の入力が行われるようになっている。さらには、上記ホイール34を右あるいは左に押し倒すことにより特定の入力できるようにしても良い。
次に、上記文書管理装置1により管理される文書の表示画面(文書検索画面)について説明する。
図3は、上記文書管理装置1の表示器17に表示した文書検索画面(文書の表示画面)40の表示例を示す図である。
上記文書管理装置1では、上記表示器17に表示した表示ウインドウに文書検索画面40を表示する。この文書検索画面40では、図3に示すように、ユーザによる操作に応じて、当該文書管理装置1が管理している文書を構成する各ページの画像をページ単位で表示する。図3に示すような文書検索画面40に表示される画像を参照することにより、ユーザは、所望の文書を検索するようになっている。
図3に示す表示例において、上記文書検索画面40には、各種の操作キーなどからなるツールバーの他、画像表示領域41、文書マップ(検索用バー)42、矢印43などが表示される。
上記画像表示領域41は、上記表示器17に表示される文書検索画面40としての表示ウインドウの略中央の領域である。上記画像表示領域41には、ユーザが操作に応じて文書を構成する1または複数ページの画像がページ単位で表示される。
上記文書マップ42は、上記文書検索画面40の右端の領域に表示される。上記文書マップ42では、当該文書管理装置1で管理している各文書を示すバー(線)を時系列順に積み重ねて表示している。これは、当該文書管理装置1で管理している各文書が積み重なった状態を示している。図3に示す文書マップ42では、最上部のバーが最新の文書時刻を有する文書(最も新しい文書)を示し、最下部のバーが最古の文書時刻を有する文書(最も古い文書)を示している。つまり、図3に示す文書マップ42において、積み重ねられている各バーは、上側であればあるほど、新しい文書を示しており、下側であればあるほど、古い文書を示している。
上記矢印43は、上記文書検索画面40において上記文書マップ42に隣接する領域に表示される。上記矢印43では、上記画像表示領域41に表示している画像が属する文書を示すバーの文書マップ42上における位置を示している。つまり、上記矢印43は、文書マップ42上における表示中の文書を示すバーの位置を示している。
また、上記文書マップ42において、各文書に対応する各バーは、各文書に対応づけられている色により表示される。上記文書マップ42に表示される各文書に対応する各バーの色は、例えば、文書を構成するデータのファイルが保存されているフォルダごとに設定される。この場合、同一フォルダにデータが保存されている文書は、同じ色で表示され、異なるフォルダにデータが保存されている文書は、異なる色で表示される。これにより、ユーザは、上記文書マップ42に表示されている色によって、各文書が保存されているフォルダを直感的に認識することができる。なお、上記文書マップ42に表示される各文書に対応するバーの色は、文書としてのファイルの拡張子あるいは文書を開くためのアプリケーションごとに設定するようにしても良い。
次に、上記文書検索画面40の画像表示領域41に表示する画像の切り替えについて説明する。
図4は、上記文書管理装置1で管理する文書と上記画像表示領域41に表示する画像との関係を示す図である。
上記文書管理装置1で管理する各文書は、図4に示すように、1ページあるいは複数のページからなっている。また、図3に示すような文書検索画面40の画像表示領域41に表示する画像は、上記マウス19あるいはキーボード21への入力に応じて切り替えられるようになっている。上記画像表示領域41に表示する画像の切換としては、文書の切り換えとページの切り換えとがある。
上記文書管理装置1では、図4に示すように、複数の文書を文書の作成時刻あるいは更新時刻などの文書時刻に基づいて時系列順に管理する。このような各文書の順序は、上記文書マップ42に積み重ねて表示する各文書に対応するバーの表示順にも反映される。従って、上記文書マップ42には、図3に示すように、各文書に対応するバーが時系列順に積み重ねて表示される。
さらに、上記文書管理装置1では、図4に示すように、各文書における複数のページをページ順に管理する。
上記文書管理装置1では、マウス19あるいはキーボード21への縦方向(図3の上下方向)の操作に応じて、上記文書検索画面40において表示する文書を切り換える。また、上記文書管理装置1では、マウス19あるいはキーボード21への横方向(図3の左右方向)の操作に応じて、上記文書検索画面40において表示するページを切り換える。
すなわち、ユーザがマウス19やキーボード21などにより縦方向の操作を行った場合、上記文書管理装置1は、上記文書検索画面40の画像表示領域41に表示する文書を切り換える。この結果、上記文書検索画面40の画像表示領域41には、ユーザによる縦方向の操作に応じて切り換えた文書の代表画像(例えば、当該文書の1ページ目の画像)が表示される。また、ユーザがマウス19やキーボード21などにより横方向の操作を行った場合、上記文書管理装置1は、上記文書検索画面40の画像表示領域41に表示するページを切り換える。この結果、上記文書検索画面40の画像表示領域41には、ユーザによる横方向の操作に応じて切り換えられたページの画像が表示される。
まず、上記文書検索画面40の画像表示領域41に表示する画像を文書単位で切り換える場合について説明する。
文書の切り替えは、ユーザがマウス19あるいはキーボード21などの入力デバイスにより文書の切り換えを指示することにより行われる。ここでは、上述したように、上記画像表示領域41に表示する画像としての文書は、縦方向(上下方向)の操作に応じて切り換えられるものとする。たとえば、キーボード21の上下のカーソルキー(上キー及び下キー)への入力、あるいは、マウス19などのポインティングデバイスによる縦方向の操作に応じて、文書が切り換えられる。また、本実施の形態では、マウス19のホイール34の回転に応じて、文書を切り換える。マウス19のホイール34による文書に切り替え処理については後で詳細に説明する。
上記のような操作によって文書が切り換えられた場合、上記文書検索画面40の画像表示領域41には、当該文書の代表画像としての1ページ目の画像が表示される。つまり、マウス19あるいはキーボード21などにより文書を切り換えられるごとに、上記画像表示領域41には、各文書の1ページ目の画像が順次表示される。なお、各文書の代表画像は、当該文書の各ページから特定のページを代表画像として設定するようにしても良い。
すなわち、上記画像表示領域41に表示する文書の代表画像(1ページ目の画像)を切り換える場合、ユーザは、マウス19あるいはキーボード21などの入力デバイスにより文書の切り換えを指示する。すると、上記文書管理装置1は、上記画像表示領域41に表示する文書のページ目の画像を各文書の時系列順に順次切り換える。
次に、上記文書検索画面40の画像表示領域41に表示する画像をページ単位で切り換える場合について説明する。
ページの切り替えは、ユーザがマウス19あるいはキーボード21などの入力デバイスによりページの切り換えを指示することにより行われる。ここでは、上述したように、上記画像表示領域41に表示する画像としてのページは、横方向の操作に応じて切り換えられるものとする。たとえば、キーボードの左右カーソルキー(右キー及び左キー)への入力などに応じてページが切り替えられる。
上記のような操作によってページが切り換えられるごとに、上記文書検索画面40の画像表示領域41には、表示中の文書を構成する各ページの画像が順次表示される。すなわち、特定の文書における特定のページを上記画像表示領域41に表示させる場合、ユーザは、まず、上述した文書の切り換えによって上記画像表示領域41に所望の文書の1ページの画像を表示させる。このような表示状態において、当該ユーザは、マウス19あるいはキーボード21などによりページの切り換えを指示する。すると、上記文書管理装置1は、表示中の文書を構成する各ページの画像をページ順に上記画像表示領域41に順次表示する。
次に、上記のように構成される文書管理装置1において文書を管理するための各種のデータテーブル23〜26について説明する。
上記文書管理装置1では、管理対象の各文書を構成するデータがファイルとして上記HDD15などに記憶される。上記HDD15に記憶された文書を構成するデータのファイルは、上記第1のファイル管理テーブル23及び第2のファイル管理テーブル24により管理される。また、上記HDD15に記憶されたファイルに対応する文書の管理情報は、上記文書管理テーブル25により管理される。また、上記文書検索画面40の文書マップ42において各文書を示すバーの色については、上記色管理テーブル26により管理される。
まず、上記第1のファイル管理テーブル23及び第2のファイル管理テーブル24について説明する。
図5は、上記第1のファイル管理テーブル23の構成例を示す図である。また、図6は、上記第2のファイル管理テーブル24の構成例を示す図である。
上記第1のファイル管理テーブル23および第2のファイル管理テーブル24は、文書管理装置1により管理する各文書としての各ファイルに関する管理情報を記憶するテーブルである。
図5及び図6に示すように、上記第1のファイル管理テーブル23および第2のファイル管理テーブル24では、各ファイルの管理情報として、パス、サイズ、作成時刻、更新時刻、アクセス時刻などを格納するように構成されている。
上記パスとしては、当該ファイルが存在するドライブ名及びフォルダ名を示す情報とともに、当該ファイルのファイル名を示す情報が記憶される。上記サイズとしては、当該ファイルのデータサイズを記憶される。上記作成時刻としては、当該ファイルを作成した日時が記憶される。上記更新時刻としては、当該ファイルを更新した日時が記憶される。上記アクセス時刻としては、当該ファイルに一番最後にアクセスした日時が記憶される。
また、上記第1のファイル管理テーブル23では、過去の時点における各ファイルの管理情報が記憶されている。ここで、過去の時点とは、たとえば、前回、当該文書管理装置1を起動させた時点である。これに対して、上記第2のファイル管理テーブル24では、現在のファイルの一覧を示している。従って、上記第2のファイル管理テーブル24は、ファイルの更新および追加に応じて随時更新される。
たとえば、当該文書管理装置1が起動する際、その時点での第2のファイル管理テーブル24の情報が第1のファイル管理テーブルとして保存され、新たな第2のファイル管理テーブル24が作成(更新)される。この第2のファイル管理テーブル24には、新たに追加されたファイルおよび更新されたファイルに関する管理情報が記憶される。言い換えると、前回の起動時のファイルと今回の起動時のファイルとの差異は、上記第1のファイル管理テーブル23と上記第2のファイル管理テーブル24との差分として現れる。本実施の形態では、ファイルの更新状況(新規登録あるいは更新)は、上記第1のファイル管理テーブル23と上記第2のファイル管理テーブル24との差分により判断するようになっている。
ここで、ファイルの新規登録の例として、上記文書管理装置1が上記入出力インターフェース14を介して複数ページの画像からなる文書を取得した場合を想定する。この場合、上記入出力インターフェース14を介して取得した文書のデータは、新規登録のファイルとして上記HDD15に記憶される。この際、上記第2のファイル管理テーブル24には、当該ファイルに関する管理情報を格納するフィールドが追加され、新規登録のファイルの管理情報として、パス、サイズ、作成時刻、更新時刻、アクセス時刻などが記憶される。なお、この場合、上記第1のファイル管理テーブル23の情報は、変更されずに保持される。
また、ファイルの更新の例として、上記第2のファイル管理テーブル24に管理情報が存在するファイルを更新した場合を想定する。この場合、更新されたファイルは、上記HDD15内の既存のファイルに上書き保存される。この際、上記第2のファイル管理テーブル24における当該ファイルの管理情報は、サイズ、更新時刻、アクセス時刻などの情報が更新したファイルに基づいて書き換えられる。なお、この場合も、上記第1のファイル管理テーブル23の情報は、変更されずに保持される。
次に、上記文書管理テーブル25について説明する。
図7、図8及び図9は、文書管理テーブル25の構成例を示す図である。
文書管理テーブル25は、上記第1ファイル管理テーブル23により管理されるファイルを文書として管理するためのテーブルである。図7、図8及び図9に示すように、上記文書管理テーブル25では、文書に関する管理情報として、順序、文書ID、状態、ページ数、文書時刻、ファイル名、色IDなどが記憶されている。
上記順序としては、各文書の表示順位を示す情報が記憶される。上述のように、各文書は、図3に示すような文書検索画面40において、文書時刻に基づく時系列順に表示される。従って、上記文書管理テーブル25では、文書時刻が新しい順に各文書の順序を管理する。
上記文書IDとしては、各文書を識別するための各文書に与えられたユニークなID情報が記憶される。
上記状態としては、各文書の処理状態を示す情報が記憶される。たとえば、上記状態としては、「更新」状態であることを示す情報、あるいは、「完了」状態であることを示す情報が記憶される。「完了」は、当該文書の更新(更新あるいは新規登録)が完了している状態であることを示す。「更新」は、当該文書が更新(更新あるいは新規登録)待ちの状態であることを示す。
上記ページ数としては、当該文書のページ数を示す情報が記憶される。上記ページ数は、当該文書の状態が「完了」となった際に確定される。
上記文書時刻としては、各文書の作成時刻あるいは更新時刻が記憶される。たとえば、上記文書時刻としては、上記第1のファイル管理テーブル23において管理されている当該文書に対応するファイルの更新時刻が記憶される。
上記ファイル名としては、当該文書に対応するファイルを示す情報が記憶される。たとえば、上記ファイル名としては、各文書に対応するファイルについての、ドライブ名、フォルダ名及びファイル名が記憶される。
上記色IDとしては、各文書を示す情報を表示するための色を示す情報が記憶される。また、上記色IDとは、色を識別するための各色に与えられたユニークなID情報である。なお、上記色IDに対応する実際の色を示す情報は、上記色管理テーブル26により示される。
また、上記文書管理テーブル25は、後述する文書管理情報の登録処理により更新される。たとえば、図7に示す文書管理テーブル25では、9つの文書が管理されている。この状態において、文書ID「1008」の文書が更新され、文書ID「1010」の文書と文書ID「1011」の文書とが新たに追加されたものとする。この場合、後述する文書管理情報の登録処理では、図7に示す文書管理テーブル25には、状態を「更新」と設定した3つの文書(文書ID「1008」、文書ID「1010」および文書ID「1011」)が登録される。この場合、図8に示すような文書管理テーブル25が作成される。
また、図8に示す文書管理テーブル25では、文書ID「1008」、文書ID「1010」、文書ID「1011」の3つの文書の状態が「更新」として記憶されている。図8に示すように、上記文書管理テーブル25において状態が「更新」と設定されている文書については、順次、後述するイメージ生成処理が行われる。つまり、イメージ生成処理による処理が完了した文書は、状態が「完了」に書換られる。従って、文書ID「1008」、文書ID「1010」、文書ID「1011」の3つの文書のイメージ生成処理が完了すると、図8に示す文書管理テーブル25は、図9に示す文書管理テーブル25に書換られる。
なお、各文書のページ数は、後述するイメージ生成処理により生成されたイメージの数により確定するものとする。このため、上記文書管理テーブル25では、図8に示すように、状態が「更新」となっている各文書のページ数が空欄となっている。したがって、状態が「更新」から「完了」に変更された文書については、図9に示すように、後述するイメージ生成処理により生成されたイメージの数がページ数として記憶される。
次に、上記色管理テーブル26について説明する。
図10は、色管理テーブル26の構成例を示す図である。
上記色管理テーブル26は、色ID、色(実際の色を示す情報)、および、フォルダを関連づけているテーブルである。上記のように、上記文書管理テーブル25では、各文書に対応づけられている色を色IDで示している。従って、各文書が対応する色は、上記文書管理テーブル25の色IDと上記色管理テーブル26の色とにより判断される。なお、各文書に対応づけられている色とは、上記文書検索画面40の文書マップ42に表示する各文書に対応するバーの色である。
また、上述したように、本実施の形態では、上記文書検索画面40の文書マップ42に表示される各文書に対応するバーの色がフォルダごとに設定されるものとしている。従って、上記色管理テーブル26では、図10に示すように、各フォルダに対応する色IDと色とを示している。なお、上記文書マップ42に表示される各文書に対応するバーの色をファイルの拡張子あるいは文書を開くためのアプリケーションごとに設定する場合、上記色管理テーブル26では、各拡張子あるいはアプリケーションに対応する色IDと色とが記憶される。
次に、上記文書管理装置1における文書管理情報の登録処理について説明する。
図11は、文書管理装置1における文書管理情報の登録処理を説明するためのフローチャートである。
まず、上記文書管理装置1が起動する場合、つまり、上記文書管理装置1としてのPCが文書管理用プログラム27を起動する場合、上記CPU11は、まず、前回のファイル情報として、上記HDD15内の上記第1のファイル管理テーブル23を読み出す(ステップS101)。上記第1のファイル管理テーブル23を読み出すと、上記CPU11は、現在のファイル情報として、上記HDD15内の上記第2のファイル管理テーブル24を読み出す(ステップS102)。
上記第1のファイル管理テーブル23と上記第2のファイル管理テーブル24とを読み出すと、上記CPU11は、上記第1のファイル管理テーブル23に格納されている全てのファイルの管理情報(前回のファイル情報)と上記第2のファイル管理テーブル24に格納されている全てのファイルの管理情報(現在のファイル情報)との差分を検出する差分ファイルの検出処理を行う(ステップS103)。この差分ファイルの検出処理により検出された差分ファイルを示す情報は、たとえば、RAM12などに一時的に保存される。
上記差分ファイルの検出処理は、前回のファイル情報の作成時から現在の間に、更新されたファイル、あるいは、新規に追加されたファイルを抽出する処理である。なお、アクセス時刻については、本実施の形態では、差分ファイルとして検出する対象としないものとする。
すなわち、前回のファイル情報に存在せずに現在のファイル情報に存在するファイル、つまり、上記第2のファイル管理テーブル24にのみ存在するファイルは、新規に追加されたファイルであると判断する。
また、現在のファイル情報における更新時刻と前回のファイル情報における更新時刻とが異なるファイル、つまり、上記第1のファイル管理テーブル23と上記第2のファイル管理テーブル24とで更新時刻が異なるファイルは、更新されたファイルであると判断する。
なお、現在のファイル情報に存在せずに前回のファイル情報に存在するファイル、つまり、上記第1のファイル管理テーブル23にのみ存在するファイルは、削除されたファイルであると判断する。
たとえば、図5に示す第1のファイル管理テーブル23と図6に示す第2のファイル管理テーブル24とによる差分ファイルの検出処理では、ファイル名が「file8.txt」、「file10.doc」、「filel1.xls」の3つのファイルが差分ファイルとして検出される。
この場合、パスが「C:¥folder2¥file8.txt」のファイル(ファイル名「file8.txt」)は、更新時刻が異なっている。したがって、ファイル名「file8.txt」のファイルは、更新されたファイルであると判断する。
また、パスが「C:¥folder3¥file10.doc」のファイル(ファイル名「file10.doc」)とパスが「C:¥folder4¥file11.xls」のファイル(ファイル名「filel1.xls」とは、第2のファイル管理テーブル24のみに存在する。従って、ファイル名「file10.doc」のファイルとファイル名「filel1.xls」のファイルとは、新規に追加されたファイルであると判断する。
上記のような差分ファイルの検出処理により差分ファイルが検出された場合(ステップS104、YES)、上記CPU11は、検出された差分ファイルの管理情報を順次読み出し、上記文書管理テーブル25の更新処理を行う(ステップS105〜S112)。この文書管理テーブル25の更新処理は、上記差分ファイルの検出処理により検出された全ての差分ファイルに対する処理が完了するまで繰り返し実行される。
すなわち、上記差分ファイルの検出処理により検出された差分ファイルがある場合(ステップS104、YES)、上記CPU11は、上記差分ファイルの検出処理により検出された差分ファイルの管理情報を1つ読み出す(ステップS105)。1つの差分ファイルを読み出すと、上記CPU11は、当該差分ファイルが更新されたファイル(更新時刻が変更されたファイル)であるか、新規に追加するファイルであるかを判断する(ステップS106)。
この判断により読み出した差分ファイルが更新されたファイルであると判断した場合(ステップS106、YES)、上記CPU11は、上記文書管理テーブル25において当該ファイルに対応する文書の管理情報を更新する処理を行う(ステップS107)。
また、上記判断により読み出した差分ファイルが更新されたファイルでないと判断した場合、つまり、当該差分ファイルが新規に追加するファイルであると判断した場合(ステップS106、NO)、上記CPU11は、当該差分ファイルが新規に作成されたフォルダ(新規フォルダ)に記憶されたファイルであるであるか否かを判断する(ステップS108)。この判断では、当該ファイルが記憶されているフォルダが上記色管理テーブル26により色が管理されているフォルダであるか否かにより新規フォルダであるか否かを判断する。つまり、上記色管理テーブル26において色が設定されているフォルダは、既存のフォルダであるものと判断する。
例えば、パスが「C:¥folder3¥file10.doc」のファイルについては、図10に示す色管理テーブルにおいて、「C:¥folder3」のフォルダには、既に色が割り当てられている。この場合、「C:¥folder3」のフォルダは、新規フォルダでないと判断する。これに対して、パスが「C:¥folder4¥file11.xls」のファイルについては、図10に示す色管理テーブルにおいて、「C:¥folder4」のフォルダには、色が割り当てられていない。この場合、「C:¥folder4」のフォルダは、新規のフォルダであると判断する。
上記判断により新規フォルダであると判断した場合(ステップS108、YES)、上記CPU11は、当該新規フォルダに割り当てる色を生成する(ステップS109)。たとえば、新規フォルダには、他のフォルダに割り当てられていない新しい色を割り当てるものとする。この生成した色には、ユニークな色IDが割り当てられる。当該新規フォルダに割り当てる色を生成すると、上記CPU11は、当該新規フォルダに対する色情報として、新規フォルダに色とその色の色IDとを対応づけた色情報を上記色管理テーブル26に追加する(ステップS110)。
当該差分ファイルが記憶されている新規フォルダに対する色情報を追加すると、上記CPU11は、当該差分ファイルに対応する文書の管理情報を上記文書管理テーブル25に追加する新規文書の追加処理を行う(ステップS112)。
また、上記判断により新規フォルダでないと判断した場合(ステップS108、NO)、上記CPU11は、上記色管理テーブル26により当該ファイルが記憶されているフォルダに割り当てる色IDを取得する(ステップS111)。この場合、上記CPU11は、当該差分ファイルに対応する文書の管理情報を上記文書管理テーブル25に追加する新規文書の追加処理を行う(ステップS112)。
また、上記ステップS111及びS112の新規文書の追加処理では、上記第2のファイル管理テーブル24と上記色管理テーブル26とを参照することにより、新たに追加されたファイルに対応する文書の管理情報を生成する。
たとえば、文書の管理情報における文書時刻には、当該差分ファイルの更新時刻が用いられる。文書の管理情報におけるファイル名には、当該差分ファイルのパスが用いられる。文書の管理情報における文書IDは、既存の文書と識別するため、新たに生成されるユニークな情報が用いられる。文書の管理情報における色IDは、当該差分ファイルが記憶されているフォルダに対応づけられている色の色IDが用いられる。ただし、文書の管理情報におけるページ数は空欄とされ、文書の管理情報における状態が「更新」とされる。これは、後述するイメージ生成処理によって当該ファイルからイメージデータを生成する際に、文書の管理情報におけるページ数を確定させるためである。
また、上記差分ファイルの検出処理により差分ファイルが検出されなかった場合、あるいは、上記差分ファイルの検出処理により検出した全ての差分ファイルに対する処理が完了した場合(ステップS104、NO)、上記CPU11は、今回の起動時のファイル情報として現在の第2のファイル管理テーブル24に格納されている情報を、上記第1のファイル管理テーブル23に記憶する(ステップS113)。従って、上記第1のファイル管理テーブル23には、当該差分ファイルの検出処理を行った際(今回の起動時)のファイル情報が記憶される。これにより、次回の起動時に、当該第1のファイル管理テーブル23に格納されている情報が前回のファイル情報として用いられる。
上記のような処理により、上記文書管理テーブル25には、更新されたファイルに対応する文書の管理情報、および、新たに追加されたファイルに対する文書の管理情報が状態を「更新」として登録される。なお、状態が「更新」の文書は、後述する文書のイメージ生成処理により状態が「完了」となり、ページ数が確定する。
次に、文書のイメージ生成処理について説明する。
上記文書管理情報の登録処理では、上記文書管理テーブル25に更新されたファイルおよび新規登録されたファイルに対応する文書の管理情報が「更新」状態として登録される。このような「更新」の状態のファイルは、表示用のイメージが生成されていないことを示している。このため、「状態」が「更新」となっている文書については、表示用のイメージを生成する必要がある。このような文書の表示用のイメージを生成する処理をイメージ生成処理と呼ぶこととする。
図12は、文書管理装置1におけるイメージ生成処理を説明するためのフローチャートである。
すなわち、上記のような文書管理情報の登録処理が完了すると、上記CPU11は、表示用のイメージを生成するイメージ生成処理を行う。上記イメージ生成処理が起動すると、CPU11は、上記文書管理テーブル25から全ての文書の管理情報を読込む(ステップS201)。上記文書管理テーブル25から文書の管理情報を読込むと、上記CPU11は、各文書の管理情報における文書時刻に基づいて全ての文書の管理情報を整列する(ステップS202)。これにより、上記文書管理テーブル25は、全ての文書の管理情報が文書時刻順(時系列順)に並び替えられた状態となる。例えば、図8に示す例では、最新の3つの文書が「更新」の状態となっている。
上記文書管理テーブル25における文書の管理情報を文書時刻に基づいて整列させると、上記CPU11は、イメージ生成処理が施されていない文書(未処理の文書)が存在するか否かを判断する(ステップS203)。この判断により未処理の文書が存在すると判断すると、上記CPU11は、未処理の文書の管理情報を1文書ごとに読み出す(ステップS204)。この時、上記CPU11は、時系列の新しい文書から読み出される。
未処理の1つの文書の管理情報を読み出すと、上記CPU11は、読み出した文書の管理情報における「状態」が「更新」であるか否かを判断する(ステップS205)。この判断により「状態」が「更新」であると判断した場合(ステップS205、YES)、上記CPU11は、当該文書の表示用のイメージを生成する処理を行う(ステップS206)。
なお、このイメージ生成処理において、当該文書の表示用のイメージとしては、文書を構成する各ページのビットマップイメージを生成するものとする。また、本実施の形態では、当該文書の表示用のイメージデータは、プリント用のイメージデータとして作成されるものとする。各文書のデータは、テキストデータ、あるいは、画像データなどの種々の形式のデータで形成される。
上記文書管理装置1では、種々の形態のデータからなる文書を管理対象する。このため、上記文書管理装置1では、文書を構成する各ページのデータをそれぞれプリント用のイメージデータとして生成する。通常、種々のアプリケーションプログラムで使用される種々の形式のデータは、当該アプリケーションプログラムにおいてプリント用のイメージが作成されるようになっている。例えば、文書がテキストデータである場合、当該文書の表示用のイメージは、たとえば、ワードプロセッサのアプリケーションプログラムによりプリント用のイメージとして生成される。
このようなイメージ生成処理により表示用のイメージデータを生成すると、上記CPU11は、当該文書を構成する各ページの画像(各ページの表示用のイメージデータ)を、それぞれイメージデータのファイルとしてHDD15に保存する(ステップS207)。これにより、当該文書のページ数分のイメージデータのファイルがHDD15に保存される。当該文書の各ページのイメージデータのファイルをHDD15に保存すると、上記CPU11は、上記文書管理テーブル25の当該文書の管理情報とおける「状態」を「完了」に変更する(ステップ208)。さらに、上記CPU11は、イメージデータとして生成したファイル数からページ数を特定し、文書管理テーブル25における当該文書の管理情報としてページ数を設定する(ステップS209)。
また、上記未処理の文書がなった場合、つまり、上記文書管理テーブル25における全ての文書の「状態」が「完了」となった場合(ステップS203、NO)、上記CPU11は、イメージ生成処理を終了する。
上記のように、本実施の形態では、各文書の表示用のイメージデータは、当該文書の各ページごとに1ファイルとして生成されるものとする。また、各文書の表示用のイメージデータは、TIF、PDFなどどのような形式でも良い。本実施の形態では、JPEG形式が用いられる。
ただし、各ページのイメージとしての表示用のイメージデータの各ファイルは、文書IDとページ番号からファイル名が特定できるものとする。たとえば、表示用のイメージデータのファイルは、それぞれ「文書ID−ページ番号.jpg」というファイル名で保存されるものとする。
例えば、図8に示す文書管理テーブル25において「C:¥folder4¥file11.xls」の文書が3ページの画像により構成されるものとする。この場合、「C:¥folder4¥file11.xls」文書についての表示用のイメージ生成処理では、3ページの表示用のイメージデータ(3つのJPEG形式の画像データのファイル)が生成される。
また、「C:¥folder4¥file11.xls」の文書は、図8に示すように、文書IDが「1011」である。このため、「C:¥folder4¥file11.xls」の文書の表示用のイメージデータとしては、「1011−001.jpg」、「1011−002.jpg」、および、「1011−003.jpg」というファイル名の3つのファイルが生成される。
この場合、図8に示す文書管理テーブル25における文書IDが「1011」の文書の管理情報は、図9に示すように、「状態」が「完了」、「ページ数」が「3」に設定される。なお、図9は、図8に示す状態の文書管理テーブル25に対する上記イメージ生成処理が完了した場合の文書管理テーブル25の例を表すものである。
なお、上記イメージ生成処理は、他の処理と並行して実行するようにしても良い。つまり、上記イメージ生成処理は、他の処理のバックグラウンドで実行するようにしても良い。たとえば、「状態」が「更新」となっている文書が多い場合、あるいは、「状態」が「更新」となっている文書のページ数が多い場合、上記イメージ生成処理は、処理に時間がかかる可能性がある。したがって、上記イメージ生成処理の実行中であっても、上記CPU11は、後述するような文書検索画面40の表示処理などを行うようにするようにしても良い。
次に、上記文書検索画面(文書検索用の表示ウインドウ)40を表示する際の表示処理について説明する。
図13は、上記文書検索画面40の表示処理を説明するためのフローチャートである。
まず、上記文書検索画面40を表示(起動)する場合、上記CPU11は、まず、文書管理テーブル25に格納されている全ての文書の管理情報を読込む(ステップS301)。上記文書管理テーブル25に格納されている全ての文書の管理情報を読込むと、上記CPU11は、読み込んだ全ての文書の管理情報を文書時刻の新しい順(時系列順)に整列させる(ステップS302)。
全ての文書の管理情報を時系列順に整列させると、上記CPU11は、たとえば、上記RAM12上に現在表示している文書を示す情報を格納する現在文書(表示文書)の格納領域を確保する。現在文書の格納領域を確保すると、上記CPU11は、現在文書の格納領域に最も新しい文書を示す情報を設定する(ステップS303)。ここで、上記現在文書の格納領域には、現在文書を示す情報として、上記文書管理テーブル25において文書の管理情報として格納されている「順序」が設定されるものとする。言い換えると、上記CPU11は、各文書に与えられた「順序」により、現在表示している文書(現在文書)を示すようになっている。
さらに、上記CPU11は、たとえば、上記RAM12上に現在表示している文書のページ数を示す情報を格納する現在ページ(表示ページ)の格納領域を確保する。現在ページの格納領域を確保すると、上記CPU11は、現在ページの格納領域に文書の代表ページ(本実施の形態では1ページ目)を示す情報を設定する(ステップS304)。ここで、上記現在ページの格納領域には、現在ページを示す情報としてページ数が設定されるものとする。
すなわち、上記CPU11は、初期表示の画像として、最も新しい文書の代表ページ(1ページ目)を表示する。このため、上記CPU11は、現在文書を「1」と設定し、現在ページを「1」と設定する。現在文書を「1」と設定し、かつ、現在ページを「1」と設定すると、上記CPU11は、当該ページ(順序が「1」の文書における「1」ページ目の画像)の表示用のイメージデータのファイルを取得する(ステップS305)。
このイメージの取得処理では、上記文書管理テーブル25を参照して表示すべきページのイメージデータのファイルが特定される。すなわち、上記CPU11は、上記文書管理テーブル25を参照することにより、現在文書として設定されている「順序」(この場合は「1」)に対応する文書IDを取得する。現在文書の文書IDを取得すると、上記CPU11は、現在ページとして設定されている「ページ番号」(この場合は「1」)により現在文書の文書IDと当該ページ番号とからなるイメージデータのファイルを特定する。
たとえば、図9に示す文書管理テーブル25の例では、「順序」が「1」の文書IDは「1011」である。この場合、上記文書ID「1011」の1ページ目のイメージファイルは、「1011−001.jpg」という名前で保存されている。従って、現在文書が「1」で、現在ページが「1」に設定されている場合、上記CPU11は、図9に示す文書管理テーブル25を参照すると、「1011−001.jpg」をイメージデータのファイルとして特定する。
上記のようなイメージ取得処理によりイメージデータのファイルを取得すると、上記CPU11は、当該ファイルのイメージデータを上記文書検索画面40の画像表示領域41に表示する(ステップS306)。上記画像表示領域41に取得したファイルのイメージデータを表示すると、上記CPU11は、全ての文書の時系列順に示す文書マップ42を生成する文書マップ生成処理を行う(ステップS307)。この文書マップ生成処理については、後で詳細に説明する。
上記文書マップ生成処理により文書マップ42を生成すると、上記CPU11は、生成した文書マップ42を上記文書検索画面40における所定の表示領域に表示する(ステップS308)。上記文書検索画面40に文書マップ42を表示すると、上記CPU11は、当該文書マップ42における現在文書の位置を特定する(ステップS309)。現在文書の位置を特定すると、上記CPU11は、上記文書マップ42上における現在文書の位置を示す矢印43を表示する(ステップS310)。
上記のような文書検索画面の表示処理により、上記表示器17には、表示ウインドウに文書検索画面40としての初期画面が表示される。
次に、上記文書マップ生成処理について説明する。
図14は、文書マップ生成処理を説明するためのフローチャートである。
上記文書マップ42の生成処理を開始すると、上記CPU11は、上記文書検索画面40において文書マップ42を表示するための表示領域を確保する(ステップS401)。上記文書マップ42の表示領域は、予め設定されているものとする。また、上記ステップS401において、上記CPU11は、確保した文書マップ42の表示領域を、白色などの初期値としての色で表示するものとする。
たとえば、上記文書マップ42の表示領域は、図3に示すように、上記文書検索画面40の右端の幅20ピクセル、高さ640ピクセルの大きさの領域として設定される。なお、ここでは、文書マップ42の表示領域は、図3に示すように、座標値(X,Y)が、(0、0)、(20、0)、(0、640)および(20、640)の4点で示される矩形の領域である場合を想定して説明するものとする。
上記文書検索画面40における文書マップ42の表示領域を確保すると、上記CPU11は、描画を開始する初期座標値を設定する(ステップS402)。ここでは、初期座標値は、上記文書マップ42の表示領域の最上端として、Y座標を「0」(Y=0)に設定するものとする。
上記初期座標値を設定すると、上記CPU11は、上記文書管理テーブル25から「順序」の小さい順に文書の管理情報を読み出す。すなわち、上記CPU11は、当該文書マップ42の表示領域にバーを描画していない文書(未描画の文書)が上記文書管理テーブル25に存在するか否かを判断する。この判断により上記文書管理テーブル25に未描画の文書があると判断した場合(ステップS403)、上記CPU11は、未描画の文書のうち最も「順序」の小さい文書の管理情報を読み出す(ステップ404)。
文書の管理情報を読み出すと、上記CPU11は、読み出した文書に割り当てられている色IDを特定する(ステップ405)。当該文書の色IDを特定すると、上記CPU11は、上記色管理テーブル26を参照して、当該文書の色IDに対応する実際の色を確定する(ステップS406)。これにより、確定した色が上記文書マップ42において当該文書を示すバー(線)を描画する色となる。
当該文書を示すバーを描画する色を判断すると、上記CPU11は、上記文書マップ42の表示領域における現在の座標値に、当該文書を示すバー(線)を確定した色で描く(ステップS407)。ここで、各文書を示すバーは、Y方向に1ピクセル分の幅(高さ)を有する線であるものとする。この場合、最初の文書については、上記文書マップ42の表示領域におけるYの初期座標値((0、Y)から(20、Y))に1ピクセル分の幅(高さ)を有するバーを描く。
当該文書を示すバーを描くと、上記CPU11は、「Y=Y+1」とすることにより、Y方向の座標値を1ピクセル分増やす(ステップ408)。Y方向の座標値を1ピクセル分増やすと、上記CPU11は、Y方向の座標値が文書マップ42の表示領域を超えたか否かを判断する。この判断によりY方向の座標値が文書マップ42の表示領域を超えたと判断した場合(ステップS409、YES)、上記CPU11は、文書マップ42の生成処理を終了する。
また、上記判断によりY方向の座標値の表示領域が超えていないと判断した場合(ステップS409、NO)、上記CPU11は、上記ステップS403に戻る。これにより、上記CPU11は、文書マップ42の表示領域に未描画の文書がなくなるまで、上記ステップS403〜S409を繰り返し実行する。すなわち、上記ステップS403〜S409の処理は、上記文書管理テーブル25により管理されている全ての文書について繰り返し実行される。
上記のような処理により、各文書を示すバーが各文書に対応する色で時系列順に積み重ねて表示された文書マップ42が生成される。
次に、文書検索処理について説明する。
図15、図16及び図17は、文書検索処理を説明するためのフローチャートである。
まず、上述した文書検索画面の表示処理により、上記表示器17には、最も文書時刻が新しい文書の1ページ目の画像を表示した文書検索画面40を表示しているものとする(ステップS501)。このステップS501の処理は、図13と同様であるので、説明及びサブフローのフローチャートを省略する。
この状態において、上記CPU11は、上記マウス19あるいは上記キーボード21による利用者からの入力を待つ(ステップS502)。この状態において、上記CPU11は、上記マウス19あるいは上記キーボード21への入力の有無を検知している。また、上記マウス19のホイール34への入力は、所定時間内におけるホイール34の回転量が変動量として入力される。上記キーボード21の各キーあるいは上記マウス19の左右ボタン32、33への入力は、どのキーが入力されたかが検知される。
上記マウス19あるいは上記キーボード21への入力を検知すると(ステップS502、YES)、上記CPU11は、入力された指示内容が終了の指示であるか否かを判断する(ステップS503)。この判断により入力された指示内容が終了の指示であると判断した場合(ステップS503、YES)、上記CPU11は、上記文書検索画面40を消し、処理を終了する。
また、上記判断により入力された指示内容が終了の指示でないと判断した場合(ステップS503、NO)、上記CPU11は、入力された指示内容が上記マウス19のホイール34への入力であったか否かを判断する(ステップS504)。
上記マウス19のホイール34への入力でないと判断した場合(ステップS504、YES)、上記CPU11は、右への移動を指示する右キーへの入力であるか(ステップS510)、左への移動を指示する左キーへの入力であるか(ステップS514)、下への移動を指示する下キーへの入力であるか(ステップS520)、上への移動を指示する上キーへの入力であるかを判断する(ステップS524)。なお、右キー、左キー、下キー及び上キー以外のキー入力であれば、上記CPU11は、上記ステップS502へ戻り、再び入力待ちの状態となる。
すなわち、入力が右キーであると判断した場合(ステップS510、YES)、上記CPU11は、現在ページを1つ増やし、「現在ページ=現在ページ+1」とする(ステップS511)。この場合、上記CPU11は、文書管理テーブル25から現在文書のページ数を取得し、上記ステップS511で設定した現在ページが現在文書のページ数を越えていないかを確認する(ステップS512)。上記ステップS511で設定した現在ページが現在文書のページ数を超えていると判断した場合、上記CPU11は、現在ページを現在文書のページ数、つまり、現在文書の最終ページとする(ステップS513)。
また、入力が左キーであると判断した場合(ステップS514、YES)、上記CPU11は、現在ページを1つ減らし、「現在ページ=現在ページ−1」とする(ステップS515)。この場合、上記CPU11は、表示しようとしている現在ページが「0」となっていないかを確認する(ステップS516)。上記ステップS515で設定した現在ページが「0」となっていると判断した場合、上記CPU11は、現在ページを「1」、つまり、現在文書の最初のページとする(ステップS517)。
上記ステップS510〜S517により現在ページを変更すると、上記CPU11は、上記文書管理テーブル25における「順序」と「文書ID」との対応関係により、現在文書の文書IDを取得する。現在文書の文書IDを取得すると、上記CPU11は、現在文書の文書IDと現在ページとにより、当該ページのイメージのファイルを取得する(ステップS518)。当該ページのイメージのファイルを取得すると、上記CPU11は、上記文書検索画面40の画像表示領域41に当該ページのイメージを表示する(ステップS519)。
また、入力が下キーであると判断した場合(ステップS520、YES)、上記CPU11は、現在文書を1つ増やし、「現在文書=現在文書+1」とする(ステップS521)。この場合、上記CPU11は、文書管理テーブル25から最大順序(最も文書時刻が古い文書の「順序」)を取得し、上記ステップS521で設定した現在文書が最大順序を越えていないかを確認する(ステップS522)。ここで、上記ステップS521で設定した現在文書が最大順序を超えていると判断した場合、上記CPU11は、現在文書を最大順序、つまり、現在文書を最も文書時刻が古い文書とする(ステップS523)。
また、入力が上キーであると判断した場合(ステップS524、YES)、上記CPU11は、現在文書を1つ減らし、「現在文書=現在文書−1」とする(ステップS525)。この場合、上記CPU11は、上記ステップS525で設定した現在文書が「0」となっているか否かを確認する(ステップS526)。上記ステップS525で設定した現在文書が「0」となったと判断した場合、上記CPU11は、現在文書を「1」、つまり、現在文書を文書時刻が最新の文書とする(ステップS527)。
上記ステップS520〜S527により現在文書を変更すると、上記CPU11は、現在ページを各文書の代表ページとしての「1」に設定する(ステップS519)。これにより現在文書と現在ページとが設定されると、上記CPU11は、上記文書管理テーブル25における「順序」と「文書ID」との対応関係により、現在文書の文書IDを取得する。現在文書の文書IDを取得すると、上記CPU11は、現在文書の文書IDと現在ページとにより、当該ページのイメージのファイルを取得する(ステップS529)。当該ページのイメージのファイルを取得すると、上記CPU11は、上記文書検索画面40の画像表示領域41に当該ページのイメージを表示する(ステップS530)。
さらに、上記CPU11は、当該文書検索画面40の文書マップ42における現在文書の位置を特定する(ステップS531)。現在文書の位置を特定すると、上記CPU11は、上記文書マップ42における現在文書の位置を示す矢印43を表示する(ステップS532)。なお、上記ステップS531及びS532の処理は、上記ステップS528〜S530の処理と並行して行うようにしても良い。
また、上記判断によりマウス19のホイール34への入力があったと判断した場合(ステップS504、YES)、上記CPU11は、上記マウス19のホイール34の回転量に応じた文書検索処理を行う。
すなわち、上記判断によりマウス19のホイール34への入力があったと判断した場合(ステップS504、YES)、上記CPU11は、所定時間内の上記ホイール34の回転量を変動量として取得する(ステップS540)。上記ホイール34の回転量は、上記マウスドライバ18により検出される。上記マウスドライバ18により検出されたホイールの回転量は、上記CPU11へ通知される。これにより、上記CPU11では、所定時間内のホイール34の回転量を変動量として取得するようになっている。
上記のような変動量を取得すると、上記CPU11は、取得した変動量を文書移動量に変換する(ステップS541)。上記文書移動量は、移動文書数と移動方向(ホイールの回転方向)とを示すものとする。上記移動文書数とは、表示を切り換える文書の数(移動すべき文書の数)を示すものである。上記移動方向とは、ホイールの回転方向に対応し、文書を移動させる方向を示すものである。
本実施の形態では、移動方向は、文書移動量の正負で表されるものとする。すなわち、ホイール34を正方向に回転させた場合、「文書移動量=+(移動文書数)」とし、文書移動量は、正の値とする。このように文書移動量が正の値の場合、文書が「順序」の順に切り換えられることを示すものとする。また、ホイール34を逆方向に回転させた場合、「文書移動量=−(移動文書数)」とし、文書移動量は負の値とする。このように文書移動量が負の値の場合、文書が「順序」の逆の順に切り換えられることを示すものとする。
たとえば、ユーザが上記ホイール34を正方向に回転させた場合、上記文書移動量は、正の値となり、文書が「順序」の順に切り換えられることを示すものとする。また、ユーザが上記ホイール34を逆方向に回転させた場合、上記文書移動量は、負の値となり、文書が「順序」の逆の順序で切り換えられることを示すものとする。
なお、上記ホイール34の回転量と変動量と文書移動量との関係については、後で詳細に説明する。
上記ホイール34に入力された回転量に基づく変動量を文書移動量に変換すると(ステップS541)、上記CPU11は、現在文書を文書移動量分だけ移動させた文書(「現在文書=現在文書+文書移動量」)に設定する(ステップS542)。この場合、上記CPU11は、上記ステップS542で設定した現在文書が「0」以下となっていないかを確認する(ステップS543)。上記ステップS542で設定した現在文書が「0」以下となっていると判断した場合(ステップS543、YES)、上記CPU11は、現在文書を「1」、つまり、現在文書を文書時刻が最新の文書とする(ステップS544)。
また、上記ステップS542で設定した現在文書が「0」以下となっていないと判断した場合(ステップS543、NO)、上記CPU11は、さらに、文書管理テーブル25から最大順序(最も文書時刻が古い文書の「順序」)を取得し、上記ステップS542で設定した現在文書が最大順序を越えていないかを確認する(ステップS545)。ここで、上記ステップS542で設定した現在文書が最大順序を超えていると判断した場合(ステップS545、YES)、上記CPU11は、現在文書を最大順序、つまり、現在文書を最も文書時刻が古い文書とする(ステップS546)。
上記ステップS540〜S546により現在文書を変更すると、上記CPU11は、現在ページを各文書の代表ページとしての「1」に設定する(ステップS547)。これにより現在文書と現在ページとが設定されると、上記CPU11は、上記文書管理テーブル25における「順序」と「文書ID」との対応関係により、現在文書の文書IDを取得する。現在文書の文書IDを取得すると、上記CPU11は、現在文書の文書IDと現在ページとにより、当該ページのイメージのファイルを取得する(ステップS548)。当該ページのイメージのファイルを取得すると、上記CPU11は、上記文書検索画面40の画像表示領域41に当該ページのイメージを表示する(ステップS549)。
さらに、上記CPU11は、当該文書検索画面40の文書マップ42における現在文書の位置を特定する(ステップS550)。現在文書の位置を特定すると、上記CPU11は、上記文書マップ42における現在文書の位置を示す矢印43を表示する(ステップS551)。なお、上記ステップS550及びS551の処理は、上記ステップS547〜S549の処理と並行して行うようにしても良い。
上記のように、図15、図16及び図17に示す処理では、ユーザが入力したマウス19のホイール34の回転量に応じた変動量を文書移動量に変換し、文書移動量に応じて時系列順に整列された文書を切り換え、文書移動量に応じて切り換えた文書の画像を表示器に表示する。これにより、マウス19のホイール34を回転させて、1ページ目の画像を表示する文書を効率良く切り換えることができる。この結果、ユーザは、当該文書管理装置1で管理している文書を効率よく検索することができ、所望の文書を容易に見つけることができる。
次に、マウス19のホイール34の回転量と変動量と文書移動量との関係について説明する。
上記マウス19のホイール34の回転量と上記CPU11が取得する変動量と関係は、予め設定情報により設定されているものである。また、上記CPU11が取得する変動量と文書移動量との関係も、設定情報により設定されているものとする。これらの設定情報は、ユーザが任意の値に変更できるようにしても良い。本実施の形態においてS540、S521、S525は入力制御部に相当し、S521、S525、S540は処理部に相当し、S528〜S532、S547〜S551は表示制御部に相当している。
たとえば、上記マウス19のホイール34の1回転に対する変動量が「2880」とする。この場合、変動量が「1」に対して移動文書数を「1」とすると、ホイール34の1回転に対して2880の文書が移動する。これは、上記画像表示領域41に表示される画像(各文書の代表ページの画像)が、ホイール34の1回転で2880文書分の画像が切り替わることとなる。
このような設定では、上記画像表示領域41に表示される文書の移動量がおおき過ぎる。このような場合、ユーザは、上記画像表示領域41に表示される文書の画像から所望の文書を発見しずらくなる。したがって、たとえば、変動量が「120」に対して移動文書数を「1」と設定する。この設定では、ホイール34の1回転で上記画像表示領域41に表示される文書が24文書分移動する。このため、ユーザが所望の文書を検索しやすくすることができる。
また、マウス19のホイール34には、所定間隔、つまり、一定の回転量ごとに、ひっかかりのあるものがある。このようなホイール34を有するマウス19を用いた文書管理装置1では、ホイール34の回転に伴うひっかかりの間隔ごとに1文書を切り替えるようにしても良い。これは、ひっかかりの起こるホイール34の回転量に応じた変動量に対して移動文書数を「1」に設定することにより実現できる。この場合、ホイール34を操作するユーザが、ひっかかりの感覚を感じるごとに1文書が切り換わる。このため、操作感が良い。
また、変動量に対する移動文書数は、各文書ごとに設定するようにしても良い。これは、文書管理テーブル25において、各文書の管理情報として、移動文書数「1」に対する変動量を設定しておくことにより実現できる。このように各文書ごとに移動文書数「1」に対する変動量を設定した場合、ユーザにより入力された変動量に対する移動文書数は、表示中の文書から順に各文書の移動文書数「1」に対する変動量を積算した値と、ユーザにより入力された変動量とを比較することにより求められる。
たとえば、各文書の重要度あるいは使用頻度などに基づいて、重要度が高い文書には、移動文書数「1」に対する変動量を大きく設定し、重要度が低い文書には、移動文書数「1」に対する変動量を小さく設定おくようにする。このような設定では、一定の割合でホイール34を回転させている場合、重要度の高い文書の画像は、長い時間表示され、重要度の低い文書の画像は、短時間しか表示されないこととなる。また、一気にホイール34を回転させた場合、表示される文書の画像が、重要度の高い文書の画像に切り換わる確立が高くなる。
上記のように、各文書の重要度あるいは使用頻度などに応じて各文書の移動文書数「1」に対する変動量を設定した場合、ユーザは、重要度の高い文書の画像を見つけやすくなり、操作性が向上する。
次に、上記ホイール34を用いた文書検索処理の第1の変形例について説明する。
第1の変形例では、上記マウス19のホイール34を用いた文書検索処理の変形例として、上記文書移動量が所定の値(N)よりも小さい場合、上記文書検索画面40に表示する文書の1ページ目の画像を1文書ずつ切り換えるようにしたものである。
図18は、上記マウス19のホイール34を用いた文書検索処理の第1の変形例を説明するためのフローチャートである。図18に示す第1の変形例は、上述したステップS541の処理に続く処理の変形例である。具体的には、第1の変形例は、上記ステップS541で算出した文書移動量に基づく移動すべき文書の数(移動文書数)が所定の値よりも小さい場合の処理例を示すものである。このため、前述した処理と同様な処理については詳細な説明を省略する。
上述したように、上記ステップS541で算出される文書移動量は、移動すべき文書の数(移動文書数)とホイール34の回転方向とを示す値である。上記移動文書数は、上記ホイール34の回転量に応じた変動量を所定の割合で文書数に置き換えたものである。また、ホイール34の回転方向は、文書移動量が正の値であるか負の値であるかにより示される。つまり、文書移動量が正の値である場合、ホイール34が正方向に回転されたことを示し、文書移動量が負の値である場合、ホイール34が逆方向に回転されたことを示している。
図18に示すように、本第1の変形例では、上記ステップS541でマウス19のホイール34の回転量に応じた変動量を文書移動量を変換すると、上記CPU11は、文書移動量に基づく移動文書数が所定の値(N)よりも小さいか否かを判断する(ステップS601)。この判断により移動文書数が所定の値(N)以上であると判断した場合(ステップS601、YES)、上記CPU11は、上記ステップS542へ進む。すなわち、移動文書数が所定の値以上であれば、上記CPU11は、上記ステップS542〜S511の処理により、文書移動量に応じて上記文書検索画面40に表示する文書を切り換える。
また、上記判断により移動文書数が所定の値(N)よりも小さいと判断した場合(ステップS601、NO)、上記CPU11は、たとえば、RAM12上にカウンタをセットし、移動文書数をカウント値として格納する。このカウンタ値が0となった場合(ステップS602、YES)、上記CPU11は、上記ステップS501へ進み、入力待ちの状態となる。
また、上記移動文書数としてのカウンタ値が「0」でない場合(ステップS602、NO)、上記CPU11は、上記文書移動量が正の値か否かを判断する(ステップS603)。
この判断により上記文書移動量が正の値であると判断した場合、つまり、上記ホイール34が正方向に回転されたと判断した場合(ステップS603、YES)、上記CPU11は、上記ステップS521〜S523及びS528〜S532と同様な処理により、各文書に設定されている「順序」の順序で、上記文書検索画面40に表示する文書を、表示中の文書から文書移動量に応じた「順序」の文書まで、1文書づつ切り換える処理を行う(ステップS621〜S623、S628〜S632)。
つまり、ステップS621〜S623、S628〜S632において、上記文書検索画面40には、表示中の文書から文書移動量に応じた「順序」の文書まで、1文書づつ古い文書の1ページ目の画像が順に画像表示領域41に表示されるとともに、各文書の文書マップ42上の位置を示す矢印43が表示される。
また、上記判断により上記文書移動量が負の値であると判断した場合、つまり、上記ホイール34が逆方向に回転されたと判断した場合(ステップS603、NO)、上記CPU11は、上記ステップS525〜S532と同様な処理により、各文書に設定されている「順序」とは逆の順序で、上記文書検索画面40の表示する文書を、表示中の文書から文書移動量に応じた「順序」の文書まで、1文書づつ切り換える処理を行う(ステップS625〜S632)。
つまり、ステップS625〜S632において、上記文書検索画面40には、表示中の文書から文書移動量に応じた「順序」の文書まで、1文書づつ新しい文書の1ページ目の画像が順に画像表示領域41に表示されるとともに、各文書の文書マップ42上の位置を示す矢印43が表示される。
上記ステップS632までの処理が完了すると、上記CPU11は、移動文書数を示すカウンタ値を1つ減算し(ステップS633)、上記ステップS602へ進む。したがって、上記ステップS602〜S633の処理は、移動文書数の分だけ繰り返し実行される。これにより、上記文書検索画面40の画像表示領域41には、移動文書数分の各文書の1ページ目の画像が、1文書ごとに順次表示される。
なお、上記ステップS602〜S633の処理において、上記文書検索画面40の画像表示領域41には、各文書の1ページ目の画像が予め設定された表示時間分だけ表示されるものとする。このような各文書の1ページ目の画像の表示時間は、ユーザが設定するようにしても良い。
上記のように、上記第1の変形例では、ホイールの回転量に基づく移動文書数が所定の値よりも小さい場合、上記文書検索画面40の画像表示領域41に表示する文書の1ページ目の画像は、ホイールの回転方向に応じた順序で、1文書づつ切り換わるようにしたものである。すなわち、ユーザがホイールを少しずつ回転させたり、ゆっくり回転させたりすると、上記文書検索画面の画像表示領域41に表示される文書(1ページ目の画像)は、ホイールの回転方向に応じた順序で、表示中の文書から1文書づつ切り換わる。これにより、上記文書検索画面の画像表示領域41に表示される文書を、ホイールの回転方向に応じた順序で、スムーズに1文書づつ切り換えることができる。この結果、ユーザは、所望の文書を見つけやすくすることができる。
さらに、ホイールの回転量に基づく移動文書数が所定の値以上である場合、上記文書検索画面40の画像表示領域41に表示する文書の1ページ目の画像が移動文書数に応じた文書数分切り換わるようにしたものである。すなわち、ユーザがホイールを一気に大きく回転させると、上記文書検索画面の画像表示領域41に表示される文書(1ページ目の画像)は、表示中の文書から回転量に応じた文書数分だけ切り換わる。これにより、ユーザは、表示中の文書とは文書時刻が大きく異なる文書に素早く切り換えたい場合、ホイールを一気に大きく回転させることで、上記文書検索画面の画像表示領域41に表示される文書を一気に切り換えることができる。
このように、上述した第1の変形例によれば、ユーザの意図に応じて表示する文書の切り換えることがが可能となる。この結果、操作性が向上し、ユーザが所望の文書を効率よく検索することが可能となる。
次に、上記ホイール34を用いた文書検索処理の第2の変形例について説明する。
第2の変形例では、上記マウス19のホイール34を用いた文書検索処理の変形例として、上記文書移動量が所定の値以上である場合、表示する文書の1ページ目の画像を、文書移動量に応じた移動先の文書の数文書前から移動先の文書まで、1文書づつ順に切り換えるようにしたものである。
図19は、上記マウス19のホイール34を用いた文書検索処理の第2の変形例を説明するためのフローチャートである。図19に示す第2の変形例は、上述したステップS601の処理に続く処理の変形例である。具体的には、第2の変形例は、第1の変形例の上記ステップS601で移動文書数が所定の値以上と判断した場合の処理例を示すものである。このため、前述した処理と同様な処理については詳細な説明を省略する。
すなわち、本第2の変形例では、上記ステップS601で文書移動量に基づく移動文書数が所定の値(N)以上であると判断した場合(ステップS601、YES)、上記CPU11は、たとえば、RAM12上にカウンタをセットし、このカウンタのカウント値nとして初期値n0を格納する(ステップS701)。これにより、上記カウンタのカウント値nは、「n=n0」と設定される。上記初期値n0は、「1≦n0<N」を満たす値であり、予め設定されている値であるものとする。
上記カウンタに初期値n0を格納すると、上記CPU11は、ホイール34の回転量に応じた変動量から算出した文書移動量が正の値か否かを判断する(ステップS702)。
この判断により上記文書移動量が正の値であると判断した場合、つまり、上記ホイール34が正方向に回転されたと判断した場合(ステップS702、YES)、上記CPU11は、「現在文書+文書移動量−n」を「現在文書」と設定する(ステップS703)。上記ステップS703で設定した「現在文書」、つまり、「現在文書+文書移動量−n」が「最大順序」以下である場合(ステップS704、NO)、上記CPU11は、上記ステップS628〜S632と同様な処理により、「現在文書+文書移動量−n」で示される文書の1ページ目の画像と当該文書の位置を示す矢印とを上記文書検索画面40に表示する(ステップS709〜713)。
なお、上記ステップS703で設定した「現在文書」、つまり、「現在文書+文書移動量−n」が「最大順序」よりも大きい場合(ステップS704、NO)、上記CPU11は、「順序」が「最大順序」の文書を現在文書に設定(「現在文書」を「最大順序」に設定)する(ステップS705)。この場合、上記CPU11は、「最大順序」の文書(現在文書)の1ページ目の画像と当該現在文書の位置を示す矢印43とを上記文書検索画面40に表示する(ステップS709〜713)。
また、上記判断により上記文書移動量が負の値であると判断した場合、つまり、上記ホイール34が逆方向に回転されたと判断した場合(ステップS702、NO)、上記CPU11は、「現在文書+文書移動量+n」を「現在文書」に設定する(ステップS706)。上記ステップS706で設定した「現在文書」、つまり、「現在文書+文書移動量+n」が「0」以下でない場合(ステップS707、NO)、上記CPU11は、上記ステップS628〜S632と同様な処理により、「現在文書+文書移動量+n」で示される「現在文書」の1ページ目の画像と当該「現在文書」の位置を示す矢印43とを上記文書検索画面40に表示する(ステップS709〜713)。
なお、上記ステップS706で設定した「現在文書」、つまり、「現在文書+文書移動量+n」が「0」以下である場合(ステップS707、YES)、上記CPU11は、「順序」が「1」の文書を「現在文書」に設定(「現在文書」を「1」の文書に設定)する(ステップS705)。この場合、上記CPU11は、「順序」が「1」の文書(現在文書)の1ページ目の画像と当該現在文書の位置を示す矢印43とを上記文書検索画面40に表示する(ステップS709〜713)。
上記ステップS714までの処理が完了すると、上記CPU11は、「n=n−1」とすることにより、カウンタ値nを1つ減算する(ステップS714)。カウンタ値nを1つ減算すると、上記CPU11は、カウント値nが「0」となったか否か判断する(ステップS715)。この判断によりカウント値nが「0」になったと判断した場合(ステップS715、YES)、上記CPU11は、上記ステップS502へ進み、入力待ちの状態となる。
また、上記判断によりカウント値nが「0」でないと判断した場合(ステップS715、NO)、上記CPU11は、上記ステップS702へ戻る。従って、上記ステップS702〜S715の処理は、カウント値nが「0」となるまで繰り返し実行される。これにより、上記文書検索画面40の画像表示領域41には、文書移動量に応じた「順序」のn0番分手前の順序の文書から文書移動量に応じた「順序」の文書まで、1文書ごとに各文書の1ページ目の画像が順次表示される。
上記のように、第2の変形例では、ユーザが正方向にホイールを所定値以上回転させた場合、上記文書検索画面40に表示される文書は、「現在文書+文書移動量−n0」の文書に切り替えられる。さらに、上記文書検索画面40には、「現在文書+文書移動量−n0」から「現在文書+文書移動量」までの各文書を1文書ごと順次表示されるようにしたものである。
また、ユーザが逆方向にホイールを所定値以上回転させた場合も、同様に、上記文書検索画面40に表示される文書は、「現在文書+文書移動量+n0」の文書へ切り替えられる。さらに、上記文書検索画面40には、「現在文書+文書移動量+n0」から「現在文書+文書移動量」までの各文書を1文書ごと順次表示されるようにしたものである。
これにより、第2の変形例によれば、ホイールを一気に回転させた場合であっても、ユーザが所望の文書を飛び越してしまう可能性が低くなる。この結果、効率的な文書検索が可能となる。また、第2の変形例によれば、上記文書検索画面40には、ホイールの回転に応じて複数の文書が表示される。このため、ユーザは、ホイールの回転に応じて移動した文書の位置(たとえば、文書時刻等)が認識しやくなる。
なお、上述した実施の形態では、マウスのホイールの回転量に応じた変動量を文書移動量に変換するものについて説明したが、上記実施の形態は、マウスのホイールに限定されるものではない。つまり、ユーザの意図に応じて上下方向の変動量を入力できるものは、上述した実施の形態におけるマウスのホイールの代わりに用いることができる。たとえば、トラックボールあるいはタッチパットなどのポインティングデバイスは、上記マウスのホイールの代わりとして本実施の形態に適用することが可能である。
また、上記タッチパットについては、上記文書管理装置1は、ユーザがバット部を指でなぞった量を変動量として取得するようにすれば良い。タッチパットでは1/4回転を3文書分あるいは半回転を6文書分のようにタッチパット上の中心から触った点の角度の変化量を変動量として検出し、換算することもできる。また、トラックボールについては、上記文書管理装置1は、ユーザがボールを回転させた量を変動量として取得するようにすれば良い。ただし、一般的なトラックボールあるいはタッチパットでは、回転あるいは移動の方向性が不特定である。このため、上記文書管理装置1では、上下方向の移動量を上下方向の変動量として取得し、その上下方向の変動量を文書移動量に変換することにより、上記同様な実施の形態が実現可能となる。
なお、本実施の形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。また、このように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
1…文書管理装置、2…画像入出力装置、11…CPU、12…RAM、13…ROM、14…入出力インターフェース、15…ハードディスクドライブ、16…表示器ドライバ、17…表示器、18…マウスドライバ、19…マウス、20…キーボードインターフェース、21…キーボード、23…第1のファイル管理テーブル、24…第2のファイル管理テーブル、25…文書管理テーブル、26…色管理テーブル、27…文書管理用プログラム、28…設定情報、31…動作検知機構、32…右ボタン、33…左ボタン、34…ホイール、40…文書検索画面、41…画像表示領域、42…文書マップ、43…矢印