(57)【特許請求の範囲】
【請求項１】
同一対象物の画像について、データ量の異なる複数のレベルの複数の画像データを蓄積したデータベースから、要求された画像データを読み込んで、キャッシュ領域としてのメモリに格納するデータ読み込み部と、
指定された表示領域を記述した前記複数レベルの画像データを前記データ読み込み部に要求するデータ要求部と、
前記メモリから、前記表示領域を記述した画像データを読み出して、前記表示領域の画像を描く描画部と
を備え、
前記データ要求部は、ユーザの要求レベルに応じ、どこまで高いレベルの画像データを用いるか決定し、決定した高さレベルまでの複数レベルの画像データを前記データ読み込み部に要求し、
前記データ読み込み部は、要求された複数レベルのデータを、データ量のより小さい低レベルの画像データから先に前記データベースから読み込んで前記メモリに格納し、
前記描画部は、データ量のより小さい低レベルの画像データから先に前記メモリから読み込み、読み込み完了順に画像データを描画するようになっており、ユーザの要求レベルに最も近いレベルの画像データを前記メモリから優先的に探し、見つかった画像データを前記メモリから読み込み描画し、その後、前記表示領域について、前記データ読み込み部によって新しく読み込まれたデータが前記メモリにあるか否かチェックし、新しく読み込まれたデータがある場合には、新しく読み込まれたデータを描画する、
画像表示装置。
【請求項２】
同一対象物の画像について、データ量の異なる複数のレベルの複数の画像データを蓄積したデータベースから、要求された画像データを読み込んで、キャッシュ領域としてのメモリに格納するデータ読み込みステップと、
指定された表示領域を記述した前記複数レベルの画像データの読み込みを要求する読み込み要求ステップと、
前記メモリから、前記表示領域を記述した画像データを読み出して、前記表示領域の画像を描くステップと
を有し、
前記読み込み要求ステップでは、ユーザの要求レベルに応じ、どこまで高いレベルの画像データを用いるか決定し、決定した高さレベルまでの複数レベルの画像データを要求し、
前記データ読み込みステップは、要求された複数レベルのデータを、データ量のより小さい低レベルの画像データから先に前記データベースから読み込んで前記メモリに格納し、
前記描くステップでは、データ量のより小さい低レベルの画像データから先に前記メモリから読み込み、読み込み完了順に画像データを描画するようになっており、ユーザの要求レベルに最も近いレベルの画像データを前記メモリから優先的に探し、見つかった画像データを前記メモリから読み込み描画し、その後、前記表示領域について、前記データ読み込みステップによって新しく読み込まれたデータが前記メモリにあるか否かチェックし、新しく読み込まれたデータがある場合には、新しく読み込まれたデータを描画する、
画像表示方法。
【請求項３】
同一対象物の画像について、データ量の異なる複数のレベルの複数のデータを蓄積したデータベースから、要求された画像データを読み込んで、キャッシュ領域としてのメモリに格納するデータ読み込みステップと、
指定された表示領域を記述した前記複数レベルの画像データの読み込みを要求する読み込み要求ステップと、
前記メモリから、前記表示領域を記述した画像データを読み出して、前記表示領域の画像を描くステップと
を有し、
前記読み込み要求ステップでは、ユーザの要求レベルに応じ、どこまで高いレベルの画像データを用いるか決定し、決定した高さレベルまでの複数レベルの画像データを要求し、
前記データ読み込みステップは、要求された複数レベルのデータを、データ量のより小さい低レベルの画像データから先に前記データベースから読み込んで前記メモリに格納し、
前記描くステップでは、データ量のより小さい低レベルの画像データから先に前記メモリから読み込み、読み込み完了順に画像データを描画するようになっており、ユーザの要求レベルに最も近いレベルの画像データを前記メモリから優先的に探し、見つかった画像データを前記メモリから読み込み描画し、その後、前記表示領域について、前記データ読み込みステップによって新しく読み込まれたデータが前記メモリにあるか否かチェックし、新しく読み込まれたデータがある場合には、新しく読み込まれたデータを描画する画像表示方法を、コンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
前記データ読み込み部が前記描画部とは非同期で動作する請求項１記載の画像表示装置。
【請求項５】
前記データ読み込みステップが、前記描くステップとは非同期で行われる請求項２記載の画像表示方法。
【請求項６】
前記データ読み込みステップが、前記描画ステップとは非同期で行われる請求項３記載の記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を表示する技術及び外部デバイスからデータを読み込むための技術に関する。
【０００２】
【従来の技術】
画像を表示するコンピュータのアプリケーションにおいて、ユーザ入力命令に応じて、表示画像を異なるデータの画像に切換えるものが広く知られている。
【０００３】
【発明が解決しようとする課題】
画像を表示する場合、前もって、データ格納デバイスから対象画像のデータを読み込んでおく必要がある。ＣＤ−ＲＯＭドライブのように低速のデバイスからデータを読み込む場合、相当の読み込み時間がかかる。そのため、表示画像を高速に切換えようとしても、次の画像データの読み込みに時間がかかり、次の画像が高速に表示されない。また、巨大画像を多数のデータに分けて格納しているような場合、画面にその巨大画像の一部分を表示した状態で、画面のスクロールや表示倍率の拡大縮小などを行おうとすると、前述の画像切り換えと同様に次部分のデータの読み込み作業が発生する。このデータの読み込みの待ち時間のために、高速なスクロールや拡大縮小ができない。グラフィックユーザインタフェース上では、スクロールや拡大縮小の動作が止まってしまったように見え、ユーザは不愉快に感じる。
【０００４】
従がって、本発明の目的は、高速に画像が表示されているとユーザに感じさせることにある。
【０００５】
本発明の別の目的は、画像の高速スクロールや高速拡大縮小を行ったとき、スクロールや拡大縮小の動作が確かに行われているとユーザに認識させることである。
【０００６】
本発明の更に別の目的は、外部デバイスから効率的にデータを読み込めるようにすることにある。
【０００７】
【課題を解決するための手段】
本発明に従がう画像表示装置は、同一対象物の画像について、データ量の異なる複数のレベルの複数の画像データを蓄積したデータベースから、要求された画像データを読み込んでメモリに格納するデータ読み込み部と、指定された表示領域を記述した前記複数レベルの画像データをデータ読み込み部に要求するデータ要求部と、メモリから、表示領域を記述した画像データを読み出して、表示領域の画像を描く描画部とを備える。そして、データ要求部は、ユーザの要求レベルに応じ、どこまで高いレベルの画像データを用いるか決定し、決定した高さレベルまでの複数レベルの画像データをデータ読み込み部に要求する。データ読み込み部は、要求された複数レベルのデータを、データ量のより小さい低レベルの画像データから先に前記データベースから読み込んで前記メモリに格納する。前記描画部は、データ量のより小さい低レベルの画像データから先に前記メモリから読み込み、読み込み完了順に画像を描画するようになっており、ユーザの要求レベルに最も近いレベルの画像データを前記メモリから優先的に探し、見つかった画像データを前記メモリから読み込み描画し、その後、前記表示領域について、前記データ読み込み部によって新しく読み込まれたデータが前記メモリにあるか否かチェックし、新しく読み込まれたデータがある場合には、新しく読み込まれたデータを描画する。
【０００８】
この画像表示装置によれば、同一の表示領域について、データ量の少ないデータが先に読み込まれて、後からデータ量の多いデータが読み込まれる。高速スクロールなどを行なうとき、データ量の少ないデータが迅速に読み込まれて直ちに表示されるから、当初表示される画像はデータ量の少ない粗雑なものではあるが、スクロールが止まるとユーザが感じることはない。その後、データ量の大きいデータに基づくより精細な画像も後を追って表示される。
【０００９】
描画部は、データベースから読み込まれてメモリに格納された画像データの中で前記要求レベルに最も近いレベルの画像データをメモリから探して表示するようにすることができる。これにより、既に読み込まれているデータの中で要求レベルに最も近いレベルのデータを用いて描画することができる。つまり、高レベルのデータが既に読み込まれているにも拘わらず低レベルのデータ用いて描画するという無駄が防止される。
【００１２】
本発明は典型的にはコンピュータにより実施することができるが、そのためのコンピュータプログラムは、ディスク型ストレージ、半導体メモリおよび通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。
【００１３】
【発明の実施の形態】
図１は、本発明の一実施形態の全体構成を示す。
【００１４】
コンピュータにインプレメントされた表示システム１は、マウスやキーボードのような入力装置５からユーザ要求を受け、多数の画像データからなる画像データベースを蓄積したＣＤ−ＲＯＭドライブ３から、表示すべき画像のデータを読み込み、レンダリングを行ってその画像をディスプレイ７の画面に表示する。
【００１５】
表示システム１は、表示アプリケーション１３と非同期ローダ９とを有し、非同期ローダが９は表示アプリケーション１３とは非同期で動作する。表示システム１は、コンピュータ内のメモリ（典型的にはＲＡＭ）１１内の領域を割り当てられ、そのメモリ領域上にリクエストデータリスト１７、完了データリスト１９、及び１又は複数の一時リスト２３を作る。また、表示システム１５は、ＳＲＡＭのような高速メモリを用いたキャッシュ領域１５も使用する。
【００１６】
表示システム１において、表示アプリケーション１３は、ディスプレイ７画面上に、１又は複数個の画像表示ウィンドウを開くことができ、開いた画像表示ウィンドウの各々に対応した一時リスト２３をメモリ１１上に作る。表示アプリケーション１３は、それら画像表示ウィンドウに対するスクロールや拡大縮小や表示・消去やウィンドウ配置変えなどについてのユーザ要求を入力装置５から受け、各ウィンドウに表示すべき画像の画像データ名を決定し、その画像データ名をリクエストデータリスト１７に書き込む（以下、リクエストデータリスト１７に書き込まれるデータ名を「リクエストデータ名」という）。
【００１７】
非同期ローダ９は、リクエストデータリスト１７からリクエストデータ名を読み、そのリクエストデータ名に該当する画像データをＣＤ−ＲＯＭドライブ３から読み込む。そして、非同期ローダ８９は、読み込みの完了した画像データ２１をキャッシュ領域１５に格納し、その読み込みの完了した画像データ２１のデータ名（以下、「完了データ名」という）とポインタとを完了データリスト１９に書き込み、同時に、全てのウィンドウの一時リスト２３にもその完了データ名を書く。なお、ＣＤ−ＲＯＭドライブ３から読み込んだ画像データが表示アプリケーション１３が処理できないデータ形式のものであるとき、非同期ローダ９は、その読み込んだ画像データに対して初期化処理を行ってこれを表示アプリケーション１３が処理できる所定形式のものに変換した後に、その変換した画像データをキャッシュ領域１５に格納する。
【００１８】
表示アプリケーション１３は、頻繁に完了データリスト１９を参照して、各ウィンドウに表示すべき画像データのデータ名を見つけ出し、そのデータ名とセットのポインタを用いてその画像データをキャッシュ領域１５から読み込み、レンダリングを行って各ウィンドウに画像を表示する。
【００１９】
図２は、ＣＤ−ＲＯＭドライブ３内のＣＤ−ＲＯＭに格納されている画像データベースの構成を示す。
【００２０】
同一対象物の画像３１（例えば、ある写真の画像、日本全域の地図の画像など）が多数の画像データ（例えば多数のファイル）に別れて格納されている。それら多数の画像データは、画像３１内の一定面積に対応するデータ量の多寡によって複数段階のレベルに別れている。以下の説明では、図２に示すように、データ量の最も多いレベル「１」から最も少ないレベル「４」までの４段階のレベルがあるものとし、データ量のより「多い」レベルを、より「高い」レベルと呼ぶことにする。
【００２１】
図２に示すように、最低レベル「４」では、画像３１の領域全体の記述が、１つの小サイズ（少ないデータ量）の画像データ４００になっている。次のレベル「３」では、画像３１内の一つの部分領域３３の記述が、１つの小サイズ画像データ３００になっている。その上のレベル「２」では、上記部分領域３３の記述が複数の小サイズ画像データ２００から構成されている、或いは、大きいサイズの画像データ２０１になっている。最高レベル「１」では、上記部分領域３３の記述が更に多数の小サイズ画像データ１００から構成されている、又は、更に巨大な画像データ１０１になっている。
【００２２】
具体例を挙げれば、画像３１が特定の写真である場合、レベル「４」の画像データ４００は、その写真を最低の解像度で読み取った最も粗雑な画像を記述したものであり、次のレベル「３」のデータ３００はより解像度が高く、その上のレベル「２」のデータ２００又は２０１は更に高く、そして、最高レベル「１」のデータ１００又は１０１は最高の解像度でその写真を読み取った最も精細な画像を記述したものである。或いは、画像３１が日本全域の地図である場合、レベル「４」の画像データ４００は、最小縮尺の全国地図であり、次のレベル「３」のデータ３００はより縮尺が大きく、その上のレベル「２」のデータ２００又は２０１は更に大きく、そして、最高レベル「１」のデータ１００又は１０１は最大縮尺の詳細地図を記述したものである。
【００２３】
従がって、例えば画像３１内の選択した領域３５をウィンドウに表示しようとした場合、最低レベル「４」の小サイズデータ４００は１個読み込めば良いので、短時間で読み込みが完了し、粗雑な画像ではあるが高速に表示できる。次のレベル「３」のデータ３００は数個読み込む必要があり少し時間がかかり、その上のレベル「２」のデータはもっと多くの個数読み込む必要があるからもっと時間がかかる。最高レベル「１」のデータ１００は非常に多くの個数読み込む必要があるから最も時間がかかるが、精細な画像が表示できる。そこで、同じ領域３５に対して、複数レベルのデータを低レベルのものから先に読み込んでいって、読み込み完了順に次々と表示していくことにより、ユーザから見ると殆ど待つことなく描画が開始させるような画像表示が可能となり、高速スクロールや高速拡大縮小がユーザに動作が止まっているように感じさせること無く行うことが可能となる。
【００２４】
なお、ユーザが要求する表示の精細度や地図の縮尺に応じて、どこまで高いレベルのデータを用いるかは違ってくる。例えば、ユーザが中間的な解像度の写真画像を要求しているならば、最高解像度の写真データまで読み込む必要はなく、要求された解像度に最も近い解像度のデータまで読めば良い。また、ユーザが中間的な縮尺の地図画像を要求しているならば、最大縮尺の地図データまで読み込む必要はなく、その要求された縮尺に最も近い縮尺のデータまで読み込めば良い。
【００２５】
図３は、表示アプリケーション１３と非同期ローダ９との間の情報の受け渡しの詳細を示している。図４は、非同期ローダ９の動作を示し、図５及び図６は表示アプリケーション１３の動作を示す。以下、これらの図を参照して詳細に動作を説明する。
【００２６】
メモリ上には図３に示すように、リクエストデータリスト１７及び完了データリスト１９がある。また、例えば現在２つの画像表示ウィンドウが開いているとすると、その２つの画像表示ウィンドウにそれぞれ対応した２つの一時リスト２３、２３がある。更にメモリ上には、不足フラグ４１及びこれに付属した不足容量レジスタ４３がある（図１では図示省略）。不足フラグ４１は、キャッシュ領域１５が満杯で新たに読み込まれた画像データが書き込めない場合にオンされ、不足容量レジスタ４３には、そのときのキャッシュ領域１５の不足容量が書かれる。また、必ずしもそうする必要はないが、この実施形態では、レベル「４」の画像データ４００だけは表示システム１の起動時にＣＤ−ＲＯＭドライブ３から読み込まれてメモリに常駐している。他のレベルの画像データは、必要に応じて読み込まれてキャッシュ領域１５に書き込まれる。
【００２７】
表示システム１３は、各画像表示ウィンドウについてそれぞれ図５に示す処理を行う。図５に示すように、表示システム１３は、対象の画像表示ウィンドウに関して、その表示範囲（ウィンドウに表示すべき画像内の領域範囲）を変化させるイベントが発生したかどうかを監視する（ステップＳ１１）。例えば、ウィンドウのスクロールや、画像の拡大縮小（地図の場合は縮尺の変更）や、ウィンドウのサイズの変更や、重なり合ったウィンドウの配置の変更などのユーザ要求の入力は、ウィンドウの表示範囲を変化させるイベントである。このようなイベントが発生すると、表示アプリケーション１３は、そのウィンドウの新しい表示範囲を計算し直し、その新しい表示範囲をカバーする全ての画像データ（レベル「４」のデータ４００は除く）のデータ名をリクエストデータリスト１７に書き込む（Ｓ１２）。このとき、レベルの低い画像データのデータ名ほどリクエストデータリスト１７の先頭の方に位置するように書く。従がって、図３に示すように、典型的には、レベル「３」のリクエストデータ名が先頭になり、次にレベル「２」のデータ名、次にレベル「１」の順でリクエストデータ１７に書き込まれる（図３では、各レベルにつき１個のデータ名しか示してないが、表示範囲を複数のデータがカバーするならば、その全てのデータ名が書かれる）。また、リクエストデータ名と共に、リクエスト時刻（書き込み時刻）もリクエストデータ１７に書いておく。続いて、表示アプリケーション１３は、その新しい表示範囲と前の表示範囲とを比較して、その差分、つまり新しい表示範囲に新たに含まれることになった領域（例えば、スクロールを行ったり画像倍率を縮小（縮尺を小さく）したときに、そのウィンドウに新たに入って来た領域）を、無効範囲として登録する（Ｓ１３）。ここで、無効範囲とは、その範囲のレンダリングつまり描画が未だ済んでいない領域を意味する。
【００２８】
一方、非同期ローダ９は、図４に示すように、リクエストデータリスト１７内のリクエストデータ名を先頭から順に読み（Ｓ１）、そのデータ名が完了リスト１９内にあるか否かチェックして（Ｓ２）、あれば次のリクエストデータ名を読むというようにして、リクエストデータリスト１７内で先頭から順に未読み込みのデータ名を探していく。未読み込みのリクエストデータ名を見つけると、非同期ローダ９は、ＣＤ−ＲＯＭドライブ３からそのデータ名の画像データを読み込み、読み込みが完了するとその画像データをキャッシュ領域１５に格納する（Ｓ４）。キャッシュ領域１５への格納が終わると、その画像データのデータ名と、キャッシュ領域１５内のその画像データのポインタとを完了データリスト１９の先頭に書く（Ｓ５）（完了データリスト１９に書き込み済みのデータ名は１つずつ後ろにずれる）。更に、その完了データ名を、全ての一時リスト２３、２３にも書く（Ｓ６）。この動作により、同じ表示範囲に関して、最もレベルの低い画像データ、つまり最も短時間に読み込み完了となる画像データが最初に読み込まれ、最もレベルの高い画像データ、つまり表示範囲の全データが読み込み完了となるまで最も時間のかかるデータが、最も後に読み込まれる。従がって、図３に示すように、同じ表示範囲に関して、例えばレベル「３」の画像データ３００、レベル「２」が画像データ２００、レベル「１」の画像データ１００の順序で読み込まれキャッシュ領域１５に格納されることになる。
【００２９】
なお、非同期ローダ９は、画像データの読み込み前に、キャッシュ領域１５の空き容量をチェックして、その画像データをキャッシュ領域１５に格納できるか判断する（Ｓ３）。空き容量が不足の場合には、その画像データの読み込みを留保し、図３に示す不足フラグ４１をオンにし、レジスタ４３にキャッシュ領域１５の不足容量を書く（Ｓ７）。そして、その読み込みを留保した画像データのデータ名をリクエストデータリストの後尾に追加する（Ｓ８）。
【００３０】
再び図５を参照して、表示アプリケーション１３の後続の動作を説明する。表示アプリケーション１３は、前述したように、対象の画像表示ウィンドウの表示領域が変化すると、その新しい表示範囲をカバーする全ての画像データのリクエストを出す。その後、表示アプリケーション１３は、対象のウィンドウの一時リスト２３を参照し（Ｓ１６）、その一時リスト２３に対象のウィンドウの表示領域をカバーする画像データ名が記載されているか否かチェックする（Ｓ１７）。記載されているならば、その画像データは、その対象ウィンドウの表示領域に関して新しく読み込まれた画像データであることを意味する。このステップ１６のチェックは、ウィンドウの表示範囲が変化していないときにも、定期的（例えば１秒間隔や２秒間隔など）に行なう（Ｓ１４）。この定期的なチェックの目的は、例えばスクロールなどが停止したとき、高レベルの画像データはその停止時点からある程度遅れて読み込まれて来るため、その遅れて読み込まれた高レベルの画像データを検出するためである。なお、この定期的なチェックの際は、表示範囲に変化はないので、無効範囲は一応なしと設定する。
【００３１】
ステップＳ１６のチェックで、対象ウィンドウの表示範囲について新しいデータが読み込まれたことを検出すると、表示アプリケーション１３は、そのウィンドウの表示範囲の中で、その新しく読み込まれた画像データがカバーする領域を、無効範囲に追加する（Ｓ１７）。このステップＳ１７の以前の段階では、スクロールなどで表示範囲に新たに入った領域だけが無効範囲として登録されていたが、ステップＳ１７では、表示範囲内の既存の領域であっても、新たに今までより高レベルの画像データが読み込まれた領域については、その領域も無効範囲として登録される。
【００３２】
次に、ステップＳ１７のチェック結果に関わらず、表示アプリケーション１３は、図３に示した完了データリスト１９を参照して、そこに各ウィンドウの表示領域をカバーする画像データ名があるか否かをチェックする（Ｓ１９）。このときは、ユーザの要求レベル（画像の精細度又は地図の縮尺など）に最も近いレベルのデータから優先的に探す。つまり、最高精細度や最大縮尺が要求されているならば、最高レベル「１」のデータを最初に探し、無ければ次のレベル「２」、それも無ければ次のレベル「３」を探す。もし、要求レベルのデータが見つかれば、それより低いレベルのデータは探さない。目的のデータ名を発見すると、表示アプリケーション１３は、そのデータ名のデータをキャッシュ領域１５から読み込み、先に登録した無効領域を描画して対象ウィンドウに表示する（Ｓ２０）。なお、目的のデータ名が完了データリスト１９から発見できなかった場合は、メモリに常駐している最低レベルの画像データ４００を用いて無効範囲の描画を行う。この後、全てのウィンドウの一時リストをクリアする（Ｓ２１）。
【００３３】
この後、表示アプリケーション１３は、図６に示す処理に入り、リクエストデータリスト１７、完了データリスト１９及びキャッシュ領域１５のガーベージコレクション（不要データ除去）及び最適化を行う。すなわち、図６に示すように、キャッシュ領域１５から読み込んだ画像データのデータ名を完了データリスト１９の先頭に移す（Ｓ２２）。これにより、最後に描画に使ったデータ、つまり次のサイクルの描画でも使う可能性が最も高いデータ名が、完了データリスト１９の先頭に来るので、次のサイクルでもそのデータを迅速に発見して読み出すことができるようになる。次に、表示アプリケーション１３は、図３に示す不足フラグ４１を参照し、これがオンであるならば、レジスタ４３に書かれている不足容量に達するまで、キャッシュ領域１５内の画像データと完了データリスト１９内のデータ名を旧いものから順に（つまり、完了データリスト１９の後尾から順に）消去する（Ｓ２４）。これにより、非同期ローダ９が新たに読み込んだデータをキャッシュ領域１５に書き込めるようになる。また、消去した旧いデータは、再び使われる可能性が低いので問題が無い。次に、表示アプリケーション１３は、リクエストデータリスト１７を参照し、その先頭にあるデータ名のリクエスト時刻（つまり、最新のリクエスト時刻）よりもリクエスト時刻が所定時間以上旧いリクエストデータ名を消去する（Ｓ２５）。これにより、既に使われる可能性の低くなった旧いリクエストデータ名がリクエストデータリスト１７から除去される。
【００３４】
以上の処理により、ウィンドウの高速スクロールや高速の表示倍率変更を行うと、直ちに低レベルの画像がウィンドウに表示されるので、ユーザから見て、最初は粗雑な画像が表示されるものの、スクロールや倍率変更の動作が停止しないので快適である。そして、より高レベルの精密な画像は順次に遅れて表示されてくることになる。
【００３５】
また、非同期ローダ９の動作は要求されたデータを単純に読み込むことであって、表示領域の変化などを考慮する必要がないため、間に休みを置くことなく連続的にデータを読み込みこんでいくことができ、また、その連続的な読み込みのためにＣＤ−ＲＯＭドライブ３もディスク回転を停止する暇が無いため、結果として、各データの読み込み時間も短縮する。また、リクエストデータリストやキャッシ領域のガーベージコレクションや最適化も高速読み込みに貢献する。
【００３６】
図７は、本発明の別の実施形態を示す。
【００３７】
この実施形態では、非同期ローダ９は、互いに非同期で動作する非同期読み込みモジュール５１と、非同期初期化モジュール５３を有している。非同期読み込みモジュール５１は、読み込んだデータのデータ名を中間データリスト５５に書き、この中間データリスト５３は非同期初期化モジュール５３にとってのリクエストデータリストとなる。非同期初期化モジュール５３は、中間データリスト５５に書かれたデータ名のデータに対して初期化を施した後、そのデータ名を完了データリスト１９に書く。
【００３８】
図８は、また別の実施形態を示す。
【００３９】
ＣＤ−ＲＯＭドライブ３から提供される画像データには、例えば、２次元ラスタイメージデータのデータ６１、２次元ベクタイメージデータのデータ６３、３次元ラスタイメージデータのデータ６５、３次元ベクタイメージデータのデータ６７、テキストベースデータのデータ６９など、データ形式において種類の異なるデータがある。これら種類の異なるデータを組み合わせて又は選択的に用いて画像を表示する場合、各データ種類毎に専用の非同期ローダ７１〜７９が設けられていて、それぞれの種類のデータの読み込み及び初期化を行う。リクエストデータリスト１９及び完了リスト１７も、図示の共通のものに変えて、各非同期ローダ７１〜７９毎に別のものを用いてもよい。
【００４０】
以上、本発明の実施形態を説明したが、これらの実施形態はあくまで本発明の説明のための例示であり、本発明をこれら実施形態にのみ限定する趣旨ではない。従って、本発明は、上記実施形態以外の様々な形態でも実施することができるものである。
【図面の簡単な説明】
【図１】本発明の一実施形態の構成を示すブロック図。
【図２】ＣＤ−ＲＯＭに格納されている画像データベースの構成を示す説明図。
【図３】表示アプリケーション１３と非同期ローダ９との間の情報の受け渡しの詳細を示したブロック図。
【図４】非同期ローダ９の動作を示すフローチャート。
【図５】図６と組み合わせて表示アプリケーション１３の動作を示すフローチャート。
【図６】図５と組み合わせて表示アプリケーション１３の動作を示すフローチャート。
【図７】本発明の別の実施形態を示すブロック図。
【図８】本発明のまた別の実施形態を示すブロック図。
【符号の説明】
１  表示システム
３  ＣＤ−ＲＯＭドライブ
９  非同期ローダ
１３  表示アプリケーション
１５  キャッシュ領域
１７  リクエストデータリスト
１９  完了データリスト
２３  一時リスト
【図１】
0003706740.tif 000002
【図２】
0003706740.tif 000003
【図３】
0003706740.tif 000004
【図４】
0003706740.tif 000005
【図５】
0003706740.tif 000006
【図６】
0003706740.tif 000007
【図７】
0003706740.tif 000008
【図８】
0003706740.tif 000009