(57)【要約】【課題】特定のデータ構造を有する文書データのうち一部分のみをキャッシュすること。【解決手段】情報処理装置は、ボディ部分と位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、供給されたデータをキャッシュするキャッシュ手段と、対象ページ情報がキャッシュ手段に記憶されていない場合、文書データのボディ部分に記述されたページ構造情報から対象オブジェクト情報を取得し、対象位置情報を取得し、さらに、対象ページ情報、取得した対象オブジェクト情報および対象位置情報を含むデータセットをキャッシュ手段に供給する処理を解析処理として行い、対象ページ情報がキャッシュ手段に記憶されている場合、キャッシュ手段から対象ページ情報を含むデータセットを読み出す処理を解析処理として行う解析手段と、解析処理により取得された情報を用いて、表示データを生成する生成手段とを有する。【選択図】図１
2009252088.tif 000002
【特許請求の範囲】
【請求項１】
文書に含まれるオブジェクトを特定するオブジェクト情報および前記文書のページ構造を示すページ構造情報が記述されたボディ部分と、前記オブジェクトが記憶されている位置を示す位置情報が記述された位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、
供給されたデータをキャッシュするキャッシュ手段と、
前記文書記憶手段に記憶された文書データの１ページを対象ページとして、前記対象ページの表示を指示する指示手段と、
前記対象ページを特定する対象ページ情報が前記キャッシュ手段に記憶されていない場合、前記文書記憶手段に記憶された文書データのボディ部分に記述されたページ構造情報から、前記対象ページに表示されるオブジェクトを特定する情報を対象オブジェクト情報として取得し、前記位置情報部分から、前記対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、前記対象ページ情報、前記取得した対象オブジェクト情報および対象位置情報を含むデータセットを前記キャッシュ手段に供給する処理を解析処理として行い、前記対象ページ情報を含むデータセットが前記キャッシュ手段に記憶されている場合、前記キャッシュ手段から、前記対象ページ情報を含むデータセットを読み出す処理を解析処理として行う解析手段と、
前記解析処理により取得された情報を用いて、表示装置の制御に用いられる表示データを生成する生成手段と
を有する情報処理装置。
【請求項２】
前記データセットは、更新された時刻を示す時刻情報を含み、
前記対象オブジェクトのオブジェクト情報を含むデータセットが前記キャッシュ手段に記憶されていない場合、かつ、前記キャッシュ手段に記憶されているデータセットの量が所定のしきい値を超えた場合、前記キャッシュ手段に記憶されている複数のデータセットのうち、前記時刻情報により示される時刻が古いものから優先的に削除するよう前記キャッシュ手段を制御するキャッシュ制御手段を有し、
前記キャッシュ制御手段は、データが削除された後に、前記解析処理により取得されたオブジェクト情報および位置情報を含むデータセットを記憶するよう前記キャッシュ手段を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データセットは、削除の可否を示すフラグを含み、
前記キャッシュ制御手段は、最も優先的に削除されるべきデータセットのフラグが削除否であることを示す場合、その次に削除されるべきデータセットを削除する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記文書データは、文書名を含み、
前記データセットは、前記文書名を含み、
前記キャッシュ手段に記憶されているデータセットに含まれる文書名が、前記指示手段により表示が指示された文書データの文書名と異なる場合、前記キャッシュ制御手段は、記憶されているデータセットを削除するよう前記キャッシュ手段を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
文書に含まれるオブジェクトを特定するオブジェクト情報および前記文書のページ構造を示すページ構造情報が記述されたボディ部分と、前記オブジェクトが記憶されている位置を示す位置情報が記述された位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、供給されたデータをキャッシュするキャッシュ手段とを有するコンピュータ装置に、
前記文書記憶手段に記憶された文書データの１ページを対象ページとして、前記対象ページの表示を指示するステップと、
前記対象ページを特定する対象ページ情報が前記キャッシュ手段に記憶されていない場合、前記文書記憶手段に記憶された文書データのボディ部分に記述されたページ構造情報から、前記対象ページに表示されるオブジェクトを特定する情報を対象オブジェクト情報として取得し、前記位置情報部分から、前記対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、前記対象ページ情報、前記取得した対象オブジェクト情報および対象位置情報を含むデータセットを前記キャッシュ手段に供給する処理を解析処理として行い、前記対象ページ情報を含むデータセットが前記キャッシュ手段に記憶されている場合、前記キャッシュ手段から、前記対象ページ情報を含むデータセットを読み出す処理を解析処理として行うステップと、
前記解析処理により取得された情報を用いて、表示装置の制御に用いられる表示データを生成するステップと
を実行させるプログラム。
【請求項６】
文書に含まれるオブジェクトを特定するオブジェクト情報および前記文書のページ構造を示すページ構造情報が記述されたボディ部分と、前記オブジェクトが記憶されている位置を示す位置情報が記述された位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、供給されたデータをキャッシュするキャッシュ手段とを有するコンピュータ装置に、
前記文書記憶手段に記憶された文書データの１ページを対象ページとして、前記対象ページの表示を指示するステップと、
前記対象ページを特定する対象ページ情報が前記キャッシュ手段に記憶されていない場合、前記文書記憶手段に記憶された文書データのボディ部分に記述されたページ構造情報から、前記対象ページに表示されるオブジェクトを特定する情報を対象オブジェクト情報として取得し、前記位置情報部分から、前記対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、前記対象ページ情報、前記取得した対象オブジェクト情報および対象位置情報を含むデータセットを前記キャッシュ手段に供給する処理を解析処理として行い、前記対象ページ情報を含むデータセットが前記キャッシュ手段に記憶されている場合、前記キャッシュ手段から、前記対象ページ情報を含むデータセットを読み出す処理を解析処理として行うステップと、
前記解析処理により取得された情報を用いて、表示装置の制御に用いられる表示データを生成するステップと
を実行させるプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定のデータ構造を有する文書データを処理する技術に関する。
【背景技術】
【０００２】
ＰＤＦ（Portable Document Format）は、独自のデータ構造を有する、文書データの書式である。ＰＤＦはいわゆるテキスト形式やＨＴＭＬ（HyperText Markup Language）形式、画像データ（ＢＭＰ形式）などと比較すると情報量が多く、その内容を解析して表示するには程度の時間が必要である。一度表示したページであっても、表示した内容をすべて記憶しておかない限り、再度表示する際にも再度解析が必要である（例えば、特許文献１−４参照）。携帯型の情報処理装置においては特に、実装できるメモリ容量は制限されるので、表示した内容をすべて記憶しておくのは困難である。
【０００３】
【特許文献１】特開２０００−１７２２４８号公報
【特許文献２】特開平８−１９０５４７号公報
【特許文献３】特表２０００−５１１３６４号公報
【特許文献４】特開２００３−８５１６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
これに対し本発明は、特定のデータ構造を有する文書データのうち一部分のみをキャッシュする技術を提供する。
【課題を解決するための手段】
【０００５】
本発明は、文書に含まれるオブジェクトを特定するオブジェクト情報および前記文書のページ構造を示すページ構造情報が記述されたボディ部分と、前記オブジェクトが記憶されている位置を示す位置情報が記述された位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、供給されたデータをキャッシュするキャッシュ手段と、前記文書記憶手段に記憶された文書データの１ページを対象ページとして、前記対象ページの表示を指示する指示手段と、前記対象ページを特定する対象ページ情報が前記キャッシュ手段に記憶されていない場合、前記文書記憶手段に記憶された文書データのボディ部分に記述されたページ構造情報から、前記対象ページに表示されるオブジェクト（以下「対象オブジェクト」という）を特定する情報を対象オブジェクト情報として取得し、前記位置情報部分から、前記対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、前記対象ページ情報、前記取得した対象オブジェクト情報および対象位置情報を含むデータセットを前記キャッシュ手段に供給する処理を解析処理として行い、前記対象ページ情報を含むデータセットが前記キャッシュ手段に記憶されている場合、前記キャッシュ手段から、前記対象ページ情報を含むデータセットを読み出す処理を解析処理として行う解析手段と、前記解析処理により取得された情報を用いて、表示装置の制御に用いられる表示データを生成する生成手段とを有する情報処理装置を提供する。
この情報処理装置によれば、対象ページ情報、前記対象オブジェクト情報および対象位置情報を含むデータセットがキャッシュ手段に記憶される。
【０００６】
好ましい態様において、前記データセットは、更新された時刻を示す時刻情報を含み、この情報処理装置は、前記対象オブジェクトのオブジェクト情報を含むデータセットが前記キャッシュ手段に記憶されていない場合、かつ、前記キャッシュ手段に記憶されているデータセットの量が所定のしきい値を超えた場合、前記キャッシュ手段に記憶されている複数のデータセットのうち、前記時刻情報により示される時刻が古いものから優先的に削除するよう前記キャッシュ手段を制御するキャッシュ制御手段を有し、前記キャッシュ制御手段は、データが削除された後に、前記解析処理により取得されたオブジェクト情報および位置情報を含むデータセットを記憶するよう前記キャッシュ手段を制御してもよい。
この情報処理装置によれば、キャッシュ手段に記憶されているデータセットの量が所定のしきい値を超えた場合、時刻情報により示される時刻が古いデータセットから優先的に削除される。
【０００７】
別の好ましい態様において、前記データセットは、削除の可否を示すフラグを含み、前記キャッシュ制御手段は、最も優先的に削除されるべきデータセットのフラグが削除否であることを示す場合、その次に削除されるべきデータセットを削除してもよい。
この情報処理装置によれば、削除否であることを示すフラグが含まれるデータセットは削除されない。
【０００８】
さらに別の好ましい態様において、前記文書データは、文書名を含み、前記データセットは、前記文書名を含み、前記キャッシュ手段に記憶されているデータセットに含まれる文書名が、前記指示手段により表示が指示された文書データの文書名と異なる場合、前記キャッシュ制御手段は、記憶されているデータセットを削除するよう前記キャッシュ手段を制御してもよい。
この情報処理装置によれば、記憶されている文書名が、表示が指示された文書データのの文書名と異なっている場合、データセットが削除される。
【０００９】
また、本発明は、文書に含まれるオブジェクトを特定するオブジェクト情報および前記文書のページ構造を示すページ構造情報が記述されたボディ部分と、前記オブジェクトが記憶されている位置を示す位置情報が記述された位置情報部分とを含むデータ構造を有する文書データを記憶する文書記憶手段と、供給されたデータをキャッシュするキャッシュ手段とを有するコンピュータ装置に、前記文書記憶手段に記憶された文書データの１ページを対象ページとして、前記対象ページの表示を指示するステップと、前記対象ページを特定する対象ページ情報が前記キャッシュ手段に記憶されていない場合、前記文書記憶手段に記憶された文書データのボディ部分に記述されたページ構造情報から、前記対象ページに表示されるオブジェクトを特定する情報を対象オブジェクト情報として取得し、前記位置情報部分から、前記対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、前記対象ページ情報、前記取得した対象オブジェクト情報および対象位置情報を含むデータセットを前記キャッシュ手段に供給する処理を解析処理として行い、前記対象ページ情報を含むデータセットが前記キャッシュ手段に記憶されている場合、前記キャッシュ手段から、前記対象ページ情報を含むデータセットを読み出す処理を解析処理として行うステップと、前記解析処理により取得された情報を用いて、表示装置の制御に用いられる表示データを生成するステップとを実行させるプログラムを提供する。
さらに、本発明は、上記のプログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。
このプログラムによれば、対象ページ情報、前記対象オブジェクト情報および対象位置情報を含むデータセットがキャッシュ手段に記憶される。
【発明を実施するための最良の形態】
【００１０】
１．構成
図１は、本発明の一実施形態に係る情報表示装置１の機能構成を示す図である。情報表示装置１は、情報処理装置の一例である。文書記憶手段１１は、特定のデータ構造を有する文書データを記憶する。特定のデータ構造とは、ボディ部分および位置情報部分とを含むデータ構造である。ボディ部分には、文書に含まれるオブジェクトを特定するオブジェクト情報および文書のページ構造を示すページ構造情報が記述される。位置情報部分には、オブジェクトが記憶されている位置（アドレス）を示す位置情報が記述される。キャッシュ手段１２は、供給されたデータをキャッシュする。「キャッシュする」とは、データを一時的に記憶することをいう。また、「キャッシュ」とはデータを一時的に記憶する記憶領域をいう。指示手段１３は、文書記憶手段１１に記憶された文書データの１ページを対象ページとして、対象ページの表示を指示する。解析手段１４は、対象オブジェクトのオブジェクト情報（以下「対象オブジェクト情報」という）および位置情報（以下「対象位置情報」という）を取得する処理を含む解析処理を行う。キャッシュ手段１２に記憶されているデータに応じて２通りの解析処理が行われる。対象ページを特定する対象ページ情報がキャッシュ手段１２に記憶されていない場合、文書記憶手段１１に記憶された文書データのボディ部分から、指定されたページに表示されるオブジェクトを特定する情報を対象オブジェクト情報として取得し、位置情報部分から、対象オブジェクトが記憶されている位置を示す情報を対象位置情報として取得し、さらに、対象ページ情報、取得した対象オブジェクト情報および対象位置情報を含むデータセットをキャッシュ手段１２に供給する処理が解析処理として行われる。対象ページ情報を含むデータセットがキャッシュ手段１２に記憶されている場合、キャッシュ手段１２から、対象ページ情報を含むデータセットを読み出す処理が解析処理として行われる。生成手段１５は、解析処理により取得された情報を用いて、表示装置２０の制御に用いられる表示データを生成する。
【００１１】
ここで、データセットは、自身が更新された時刻を示す時刻情報を含んでいる。キャッシュ制御手段１６は、対象オブジェクトのオブジェクト情報を含むデータセットがキャッシュ手段１２に記憶されていない場合、かつ、キャッシュ手段１２に記憶されているデータセットの量が所定のしきい値を超えた場合、キャッシュ手段１２に記憶されている複数のデータセットのうち、時刻情報により示される時刻が古いものから優先的に削除するようキャッシュ手段１２を制御する。さらにキャッシュ制御手段１６は、データが削除された後に、前記解析処理により取得されたオブジェクト情報および位置情報を含むデータセットを記憶するようキャッシュ手段１２を制御する。ここでさらに、データセットは、削除の可否を示すフラグを含み、キャッシュ制御手段１６は、最も優先的に削除されるべきデータセットのフラグが削除否であることを示す場合、その次に削除されるべきデータセットを削除する。
【００１２】
また、文書データは、文書名を含み、データセットは、対応する文書名を含んでいる。キャッシュ手段１２に記憶されているデータセットに含まれる文書名が、指示手段１３により表示が指示された文書データの文書名と異なる場合、キャッシュ制御手段１６は、記憶されているデータセットを削除するようキャッシュ手段１２を制御する。
制御手段１９は、データの比較や入出力その他必要な処理を行う。
【００１３】
図２は、情報表示装置１のハードウェア構成を示す図である。この例で、情報表示装置１は、電子ペーパである。ＣＰＵ（Central Processing Unit）１０１は、情報表示装置１の構成要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１０２は、情報表示装置１の起動に必要なプログラムやデータを記憶する不揮発性の記憶装置である。ＲＡＭ（Random Access Memory）１０３は、ＣＰＵ１０１がプログラムを実行する際のワークエリアとして機能する記憶装置である。ＶＲＡＭ（Video Random Access Memory）１０４は、表示体１０７に表示させる画像（以下「メイン画像」という）を示すデータを記憶する記憶装置である。ＶＲＡＭ１０４は、メイン画像の記憶領域を有しており、メイン画像はその記憶領域に記憶される。Ｉ／Ｏ（Input/Output）１０５は、データや信号の入出力を管理するインターフェースである。ＵＩ（User Interface）ボタン群１０６は、ユーザの操作に応じた信号を出力する装置、例えば、ボタン（書き換えボタンやページ送りボタン、決定ボタンなど）・キーパッド・ホイール・レバー・タッチパネル・ペンデバイスなどの操作子を含む入力装置である。補助記憶装置１１５は、表示体１０７に表示することが可能なデータを記憶する記憶装置、例えば、フラッシュメモリやＨＤＤ（Hard Disk Drive）である。この例で、補助記憶装置１１５は、文書データの記憶領域およびキャッシュとしての記憶領域を有する。ＵＩボタン群１０６はＩ／Ｏ１０５に接続されており、ＵＩボタン群１０６から出力された信号はＩ／Ｏ１０５を介してＣＰＵ１０１に入力される。タイマＴは、時間を示す信号を出力する計時装置である。
【００１４】
表示体１０７は、記憶性表示素子である電気泳動表示素子を有する電気泳動ディスプレイ（Electrophoretic Display、以下「ＥＰＤ」という）である。表示制御部１０８は、表示体１０７の描画制御を行う信号を出力する装置である。以下、必要に応じて表示体１０７と表示制御部１０８をあわせて「メインディスプレイ」という。電源オン・オフ回路１１１は、表示制御部１０８・ＣＰＵ１０１などの要素への電力の供給を行ったり停止したりする回路である。以下、ある構成要素に電力を供給することを「電源をオンする」と、電力の供給を停止することを「電源をオフする」という。電源制御部１１２は、情報表示装置１の電源管理を行う装置である。具体的には、電源制御部１１２は、電源オン・オフ回路１１１を制御して表示制御部１０８およびＣＰＵ１０１の電源をオンまたはオフする。また、電源制御部１１２は、電池１１３の残量を監視する。電池１１３は、表示制御部１０８・ＣＰＵ１０１・ＲＡＭ１０３など、情報表示装置１の構成要素に電力を供給する。バス１１４は、構成要素間での信号の伝送に用いられる伝送路である。
【００１５】
指紋センサ１１７は、ユーザの指紋を静電的に読み取り、読み取った指紋の画像を示す信号を出力する装置である。指紋センサ１１７はＩ／Ｏ１０５に接続されており、指紋センサ１１７から出力された信号はＩ／Ｏ１０５を介してＣＰＵ１０１に入力される。ネットワークＩＦ（Interface）１１８は、ネットワークを介した通信に用いられるインターフェースである。
【００１６】
ＲＯＭ１０２は、以下で説明する処理を行う制御プログラムを記憶している。ＣＰＵ１０１がこの制御プログラムを実行することにより、図１に示される機能が情報表示装置１に実装される。ここで、ＣＰＵ１０１は、指示手段１３、解析手段１４、生成手段１５および制御手段１９の一例である。補助記憶装置１１５は、文書記憶手段１１およびキャッシュ手段１２の一例である。
【００１７】
図３は、情報表示装置１の外観を示す図である。情報表示装置１は、筐体の前面に表示体１０７の表示面、およびＵＩボタン群１０６を有する。
以下においては、文書データの書式がＰＤＦである場合を例として説明する。
【００１８】
図４Ａおよび図４Ｂは、ＰＤＦの書式を例示する図である。ＰＤＦ形式のファイル（データ）は、ヘッダ（File Header）、ボディ（File Body）、相互参照表（Cross Reference Table）、トレーラ（File Trailer）、ファイル終端部分の５つの部分を含む。これらの部分は互いに分離しており、例えばボディの中に相互参照表が含まれているということはない。
【００１９】
ヘッダには、ＰＤＦのバージョンを示すバージョン番号が記述される。ボディには、オブジェクト（ＰＤＦの規格では「間接オブジェクト」といわれる）の並び（列）が記述される。間接オブジェクトには、ラベル（識別子）が付与される。ラベルは、オブジェクトを特定するオブジェクト番号（object number）および更新された回数を示す生成番号（generation number）を含む。オブジェクト番号は、オブジェクトを特定するオブジェクト情報の一例である。オブジェクトには、例えば以下の種類がある。（１）カタログ（Catalog）：ページ群への参照などを指定する。（２）ページ群（Pages）：各ページを集めたオブジェクト。それぞれのページオブジェクトへの参照を指定する。（３）ページ（Page）：このオブジェクトが一ページを表す。ページ群オブジェクトとページオブジェクトの組み合わせにより、その文書のページ構造（ページツリー）が示される。すなわち、ページ群オブジェクトおよびページオブジェクトは、文書のページ構造を示すページ構造情報の一例である。（４）フォント（Font）：フォントを指定する。（５）ストリーム（stream）：表示する文章や図形の情報を記述する。なお、これらはあくまでオブジェクトの種類の一例である。
【００２０】
相互参照表には、各間接オブジェクトの、ファイル内における記憶位置（格納位置、あるいはオフセット）が記述される。相互参照表は、位置情報部分の一例である。相互参照表は、キーワード「xref」を含む行で始まる。２行目にあるのは「サブセクション」である。相互参照表は１つ以上のサブセクションを含むことができる。この例の場合は、オブジェクト番号０から９個のオブジェクトが含まれるサブセクションであることを示している。３行目以降に記述されているのは、個々の相互参照のエントリである。各エントリのうち、最後が「ｎ」になっているものは「使用中エントリ（in-use entry）」である。使用中エントリは、ファイルの先頭からオブジェクトの先頭までの１０桁のバイトオフセット、５桁の生成番号、使用中エントリであることを示すキーワード「ｎ」、および２文字のＥＯＬ（End Of Line）を含む。各エントリのうち、最後が「ｆ」になっているのが「フリーエントリ（free entry）」である。フリーエントリは、次のフリーエントリの１０桁のオブジェクト番号、５桁の生成番号、フリーエントリであることを示すキーワード「ｆ」、および２文字のＥＯＬを含む。相互参照表により、間接オブジェクトのランダムアクセスが可能になる。
【００２１】
トレーラには、相互参照表のオフセットを示すオフセット情報や、特殊な辞書が記述される。フッタには、ファイルが終端することや、トレーラのオフセットを示すオフセット情報が記述される。
【００２２】
２．動作
２−１．全体動作
図５は、情報表示装置１の動作を示すフローチャートである。ステップＳ１００において、文書の表示を指示するイベントすなわちＰＤＦファイルの解析をトリガするイベント、この例では、ユーザによるキー入力が行われる。このイベントが発生すると、ＣＰＵ１０１は、ＰＤＦファイルの解析を指示する。この指示は、処理の対象となる文書データ（以下、「対象文書データ」という）を特定する情報、およびその文書のうち表示されるページ（以下、「対象ページ」という）を特定する情報を含んでいる。ＣＰＵ１０１は、ユーザのキー入力に応じて、処理の対象となる文書データおよびページを決定する。
【００２３】
ＰＤＦファイルの解析が指示されると、ステップＳ１１０において、ＣＰＵ１０１は、対象ページに関するデータがキャッシュに記憶されているか判断する。具体的には、ＣＰＵ１０１は、対象オブジェクト情報すなわち対象ページに表示されるオブジェクトのオブジェクト情報、および対象位置情報すなわち対象オブジェクトの位置情報がキャッシュに記憶されているか判断する。対象ページに関するデータがキャッシュに記憶されていると判断された場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１０１は、処理をステップＳ１３０に移行する。対象ページに関するデータがキャッシュに記憶されていると判断された場合（Ｓ１１０：ＮＯ）、ＣＰＵ１０１は、処理をステップＳ１２０に移行する。
【００２４】
ステップＳ１２０において、ＣＰＵ１０１は、解析処理として通常解析を行う。通常解析とは、従来行われている、ＰＤＦのデータ構造に従った解析処理をいう。通常解析は、実行される順番に、ヘッダ解析、フッタ解析、トレーラ解析およびボディ解析を含む。ヘッダ解析において、ＣＰＵ１０１は、ＰＤＦのバージョン情報を取得する。フッタ解析において、ＣＰＵ１０１は、ＰＤＦファイルの終端位置、およびトレーラが記憶されている位置を示すオフセット情報を取得する。トレーラ解析において、ＣＰＵ１０１は、相互参照表のオフセット情報および特殊な辞書を取得する。さらに、トレーラ解析において、ＣＰＵ１０１は、相互参照表を参照してすべてのオブジェクトのオフセット情報を取得する。以下、ヘッダ解析、フッタ解析およびトレーラ解析をまとめて、「初期解析」という。
【００２５】
ボディ解析において、ＣＰＵ１０１は、対象ページの内容およびページ表示に関するデータを取得する。ボディ解析はさらに、カタログ解析、ページツリー解析、コンテンツ解析およびリソース辞書解析に区分される。カタログ解析において、ＣＰＵ１０１は、文書名、文書の内容やアウトライン、アーティクルスレッド、その他の属性を定義する他のオブジェクトの参照を取得する。さらに、カタログ解析において、ＣＰＵ１０１は、アウトラインとサムネイルのどちらを自動的に表示するかとか、ドキュメントを開いたときに最初のページ以外の位置を表示するといった、ドキュメントを画面上にどのように表示するかについての情報を取得する。さらに、カタログ解析において、ＣＰＵ１０１は、対象オブジェクト情報を取得する。ページツリー解析において、ＣＰＵ１０１は、文書のページツリーすなわちページ構造を解析する。文書のページ構造は、前述のようにページ群オブジェクトおよびページオブジェクトによって規定される。最後に、ＣＰＵ１０１は、解析により取得した情報をキャッシュに追加する。
【００２６】
図６は、ボディ解析の一例を示すフローチャートである。ＣＰＵ１０１は、カタログデータを、ページツリーデータ（ページ群オブジェクトおよびページオブジェクト）が現れるまで順次データを解析し、解析した結果を記憶する（ステップＳ１２１〜Ｓ１２３）。次にＣＰＵ１０１は、指定されたページオブジェクトまで順次ページツリーを解析し、解析した結果を記憶する（ステップＳ１２４〜Ｓ１２６）。ステップＳ１２７において、ＣＰＵ１０１は、対象オブジェクトのオブジェクト番号を取得する。ステップＳ１２８において、ＣＰＵ１０１は、対象オブジェクトのオフセット情報を取得する。ステップＳ１２９において、ＣＰＵ１０１は、キャッシュを更新する。
【００２７】
図７は、ページツリーの具体例を示す図である。ページ群オブジェクトＰＡは、子要素としてページ群オブジェクトＰＢ、ＰＣおよびＰＤを有する。ページ群オブジェクトＰＢは、子要素としてページオブジェクトＰＥおよびＰＥを有する。このようにしてページツリーを辿っていくと、図７の文書は、順番に、ページオブジェクトＰＥ、ＰＦ、ＰＫ、ＰＬ、ＰＨ、ＰＩおよびＰＪを有することが解析される。これらのページオブジェクトに対して、順番に、１、２、３、…、７というようにページ番号が割り当てられる。
【００２８】
カタログ解析およびページツリー解析を完了すると、ＣＰＵ１０１は、キャッシュに記憶させるデータセットを生成する。データセットは、そのデータセットが更新された時刻、文書名、ブックマークフラグ（ブックマークの要否、すなわち削除の可否を示すフラグ）、対象ページのページ番号を示す対象ページ情報、対象オブジェクト情報および対象位置情報を含む。ＣＰＵ１０１は、生成したデータセットを、キャッシュに記憶させる。キャッシュにおいて、データセットは、表の形式で記憶される。以下、この表を「アクセステーブル」という。すなわちアクセステーブルは、対象ページ情報、対象オブジェクト情報および対象位置情報を含むデータセットを複数記録している。
【００２９】
コンテンツ解析およびリソース解析において、ＣＰＵ１０１は、表示に関するコンテンツ解析およびリソース解析を行う。すなわち、ＣＰＵ１０１は、ページの表示に関するデータを取得する。
【００３０】
再び図５を参照して説明する。ステップＳ１３０において、ＣＰＵ１０１は、解析処理として高速解析を行う。高速解析とは、通常解析のボディ解析のうち、カタログ解析およびページツリー解析をアクセステーブル解析で置換した処理をいう。アクセステーブル解析において、ＣＰＵ１０１は、対象ページのページ番号を検索キーとしてアクセステーブルを検索する。対象ページのページ番号を発見すると、ＣＰＵ１０１は、アクセステーブルから、対象ページに対応するオブジェクト番号およびオフセット情報を取得する。
【００３１】
図８は、アクセステーブル解析の一例を示すフローチャートである。ＣＰＵ１０１は、対象ページのページ番号が現れるまでアクセステーブルを順次検索し、検索した結果を記憶する（ステップＳ１３１〜Ｓ１３３）。ステップＳ１３４において、ＣＰＵ１０１は、対象オブジェクトのオブジェクト番号を取得する。ステップＳ１３５において、ＣＰＵ１０１は、対象オブジェクトのオフセット情報を取得する。ステップＳ１３６において、ＣＰＵ１０１は、キャッシュを更新する。
【００３２】
再び図５を参照して説明する。ステップＳ１４０において、ＣＰＵ１０１は、表示データを作成する。表示データは、対象オブジェクトのオブジェクト情報および位置情報を用いて生成される。
【００３３】
２−２．キャッシュの更新
図９は、キャッシュの更新処理を示すフローチャートである。図９のフローは、図６のステップＳ１２９の処理および図８のステップＳ１３６の処理に相当するものである。ステップＳ２００において、ＣＰＵ１０１は、これから行うべき処理が、データセットの追加、更新時刻の更新およびデータセットの削除のうちいずれの処理であるか決定する。処理対象の文書データに含まれる文書名がアクセステーブルに記録された文書名と異なる場合、ＣＰＵ１０１は、データセットの削除を行うことを決定する。対象ページに関するデータがキャッシュに記憶されていない場合、すなわちステップＳ１２０の処理が実行された場合、ＣＰＵ１０１は、データセットの追加を行うことを決定する。対象ページに関するデータがキャッシュに記憶されていた場合、すなわちステップＳ１３０の処理が実行された場合、ＣＰＵ１０１は、更新時刻の更新を行うことを決定する。データセットの追加を行うと判断された場合（Ｓ２００：データセット追加）、ＣＰＵ１０１は、処理をステップＳ２１０に移行する。時刻の更新を行なうと判断された場合（Ｓ２００：時刻更新）、ＣＰＵ１０１は、処理をステップＳ２５０に移行する。データセットの削除を行うと判断された場合（Ｓ２００：データセット削除）、ＣＰＵ１０１は、処理をステップＳ２７０に移行する。
【００３４】
ステップＳ２１０において、ＣＰＵ１０１は、アクセステーブルの使用数、すなわちアクセステーブルに記録されているデータセットの数がしきい値を超えたか判断する。データセットの数がしきい値を超えたと判断された場合（Ｓ２１０：ＹＥＳ）、ＣＰＵ１０１は、処理をステップＳ２２０に移行する。データセットの数がしきい値を超えていないと判断された場合（Ｓ２１０：ＮＯ）、ＣＰＵ１０１は、処理をステップＳ２４０に移行する。
【００３５】
ステップＳ２２０において、ＣＰＵ１０１は、アクセステーブルの中から、更新時刻が一番古いデータセットを検索する。ステップＳ２３０において、ＣＰＵ１０１は、発見したデータセットをアクセステーブルから削除する。ただしＣＰＵ１０１は、ステップＳ２２０において更新時刻が一番古いデータセットのブックマークフラグがブックマーク「要」すなわち削除「否」を示す場合、ＣＰＵ１０１は、更新時刻が２番目に古いデータセットを検索する。以下、更新時刻が２番目に古いデータセットのブックマークフラグがブックマーク「要」である場合、ＣＰＵ１０１は、更新時刻が３番目に古いデータセットを検索するというように、ブックマーク「不要」のデータセットが現れるまで更新時刻が古いものから順に検索する。
【００３６】
ステップＳ２４０において、ＣＰＵ１０１は、ボディ解析により取得したデータから必要なデータ（更新時刻、文書名、ブックマークフラグ、対象ページ情報、対象オブジェクト情報および対象位置情報）を抽出し、抽出したデータを含むデータセットをアクセステーブルに追加する。
【００３７】
ステップＳ２５０において、ＣＰＵ１０１は、データセットの更新時刻を現在時刻に書き換える。
【００３８】
ステップＳ２６０において、ＣＰＵ１０１は、データセットに含まれるブックマークフラグを書き換える。ブックマークフラグの書き換えは、ＵＩボタン群１０６を介したユーザの指示入力に応じて行われる。ステップＳ２７０において、ＣＰＵ１０１は、アクセステーブルの使用数を更新、すなわち１増加させる。ただし、ＣＰＵ１０１は、アクセステーブルの使用数が既に最大値に達している場合は、使用数を増加させない。アクセステーブルの使用数を更新すると、ＣＰＵ１０１は、図９に示される処理を終了する。
【００３９】
ステップＳ２８０において、ＣＰＵ１０１は、アクセステーブルに記録されたすべてのデータセットを削除する。これにより、アクセステーブルの使用数はゼロになる。データセットを削除すると、ＣＰＵ１０１は、処理を再びステップＳ２００に移行する。
【００４０】
２−３．効果
以上で説明したように、本実施形態によれば、オブジェクト情報および位置情報のように、表示データの生成に必要な情報は、キャッシュから取得される。これにより、文書データの解析時間が短縮される。これは、ページ数の多い（例えば１００ページ以上）文書の場合に特に有効である。また、ブックマークが設定されたページに関するデータはキャッシュから削除されないので、再表示が高速に行われる。
【００４１】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく種々の変形実施が可能である。以下、変形例をいくつか説明する。変形例の説明において実施形態と共通する要素には共通の参照符号が用いられる。以下で説明する変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００４２】
３−１．変形例１
アクセステーブルに記録されるデータセットに含まれる情報は、実施形態で説明したものに限定されない。少なくとも対象ページ情報、対象オブジェクト情報および対象位置情報を含むものであれば、どのようなデータセットが用いられてもよい。
【００４３】
例えば、データセットは、更新時刻を含まなくてもよい。この場合、キャッシュは、ＦＩＦＯ（First In First Out）型のメモリである。すなわち、データセット自体が更新時刻を含まなくても、図９のステップＳ２３０において、古いものから順番に削除される。このとき、ＣＰＵ１０１は、最も古いデータセットのブックマークフラグがブックマーク「要」である場合、一旦キャッシュからデータセットを削除した後で、そのデータセットをもう一度キャッシュに書き込んでもよい。
【００４４】
別の例で、データセットは、ブックマークフラグを含まなくてもよい。この場合、情報表示装置１は、ページブックマークに関する機能は有さない。例えば、図９のステップＳ２３０において、データセットは単純に更新時刻の古いものから順に削除される。
【００４５】
さらに別の例で、データセットは、文書名を含まなくてもよい。この場合、情報表示装置１は、文書名が異なっている場合にアクセステーブルの内容を消去する機能（図９のステップＳ２７０）を有さない。このときＣＰＵ１０１は、他の条件（例えば、ユーザの指示入力）によりアクセステーブルの内容を消去してもよいし、アクセステーブルの内容を消去する機能を有していなくてもよい。
【００４６】
３−２．変形例２
文書データのフォーマットはＰＤＦに限定されない。オブジェクト情報およびページ構造情報が記述されたボディ部分と、位置情報が記述された位置情報部分とを含むデータ構造を有するものであれば、どのようなデータ構造を有する文書データが用いられてもよい。
【００４７】
３−３．他の変形例
情報表示装置１のハードウェア構成は図２で示されるものに限定されない。必要な機能構成を実現できるものであれば、どのようなハードウェア構成を有する装置が用いられてもよい。また上述の実施形態では情報表示装置１が電子ペーパである例について説明したが、必要な機能を有するものであれば、パーソナルコンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話機など電子ペーパ以外の装置であってもよい。実施形態において情報表示装置１は表示装置（表示体１０７）を内蔵していたが、表示装置は外付けであってもよい。
【００４８】
また、情報表示装置１の機能構成とハードウェア構成の対応関係は、実施形態で説明したものに限定されない。補助記憶装置１１５がキャッシュとしての記憶領域を有していたが、ＲＡＭ１０３等、補助記憶装置１１５以外の記憶装置がキャッシュとして機能してもよい。あるいは、ＣＰＵ１０１が専用のキャッシュメモリを有していてもよい。
【００４９】
さらに、実施形態では、ＣＰＵ１０１が、指示手段１３、解析手段１４、生成手段１５および制御手段１９としての機能を兼ね備えていた。しかし、ＣＰＵ１０１以外のプロセッサがこれらの機能の一部または全部を有していてもよい。
【００５０】
上述の実施形態においてＣＰＵ１０１によって実行されるプログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリ（フラッシュＲＯＭなど）などのコンピュータ読取り可能な記録媒体に記憶した状態で提供されてもよい。また、このプログラムは、インターネットのようなネットワーク経由でダウンロードされてもよい。
【図面の簡単な説明】
【００５１】
【図１】一実施形態に係る情報表示装置１の機能構成を示す図である。
【図２】情報表示装置１のハードウェア構成を示す図である。
【図３】情報表示装置１の外観を示す図である。
【図４Ａ】ＰＤＦの書式を例示する図である。
【図４Ｂ】ＰＤＦの書式を例示する図である。
【図５】情報表示装置１の動作を示すフローチャートである。
【図６】ボディ解析の一例を示すフローチャートである。
【図７】ページツリーの具体例を示す図である。
【図８】アクセステーブル解析の一例を示すフローチャートである。
【図９】キャッシュの更新処理を示すフローチャートである。
【符号の説明】
【００５２】
１…情報表示装置、１１…文書記憶手段、１２…キャッシュ手段、１３…指示手段、１４…解析手段、１５…生成手段、１６…キャッシュ制御手段、１９…制御手段、２０…表示装置、１０１…ＣＰＵ、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…ＶＲＡＭ、１０５…Ｉ／Ｏ、１０６…ＵＩボタン群、１０７…表示体、１０８…表示制御部、１１１…電源オン・オフ回路、１１２…電源制御部、１１３…電池、１１４…バス、１１５…補助記憶装置、１１７…指紋センサ、１１８…ネットワークＩＦ
【図１】
2009252088.tif 000003
【図２】
2009252088.tif 000004
【図３】
2009252088.tif 000005
【図４Ａ】
2009252088.tif 000006
【図４Ｂ】
2009252088.tif 000007
【図５】
2009252088.tif 000008
【図６】
2009252088.tif 000009
【図７】
2009252088.tif 000010
【図８】
2009252088.tif 000011
【図９】
2009252088.tif 000012