(57)【要約】【課題】メモリ容量が小さい端末では、画像を閲覧している途中にメモリ容量をオーバーし、ユーザの要求に応じた表示が不可能になる。【解決手段】符号化された画像データを断片的に入力しキャッシュして再生する画像処理方法であって、画像の注目領域が特定されると、その注目領域Ｆが変更されることにより画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定し、越えると判定されるとキャッシュメモリに格納されているキャッシュデータから削除すべきデータ量Ｙを求め（Ｓ１１）、その注目領域Ｆから削除する単位領域までの距離を測定し、その距離に基づいて、キャッシュデータからデータを削除する削除領域Ｒをタイル単位で決定し（Ｓ１４）、その決定された削除領域Ｒに含まれるキャッシュデータを削除する（Ｓ１６）。【選択図】  図９
2004153562.tif 000002
【特許請求の範囲】
【請求項１】
符号化された画像データを断片的に入力しキャッシュして再生する画像処理方法であって、
画像の注目領域を特定する注目領域特定工程と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定工程と、
前記判定工程で越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定工程と、
前記注目領域特定工程で特定された注目領域から削除する単位領域までの距離を測定する距離測定工程と、
前記注目領域と前記距離測定工程で測定された前記距離に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定工程と、
前記削除領域決定工程で決定された前記削除領域に含まれるキャッシュデータを削除する削除工程と、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばサーバからの符号化データされた画像データをクライアントで断片的に受信してキャッシュして表示する技術に関するものである。
【０００２】
【従来技術】
インターネット上でＷＷＷサーバにＷｅｂブラウザからアクセスして、文書データや画像データ等を閲覧することが盛んに行われている。この仕組みは、インターネット上に情報を公開するＷＷＷサーバと、その情報を閲覧する複数のクライアントがあり、各クライアントはＷｅｂブラウザを使用して、そのサーバの情報を閲覧するものである。このＷＷＷサーバは、ホームページ（Ｈｏｍｅ  Ｐａｇｅ）といわれる公開したい情報をＨＴＭＬで記述した文書を有しており、それをクライアント側のＷｅｂブラウザが取り込んで、クライアントコンピュータに表示する。クライアント側のＷｅｂブラウザは、表示しているページ内のリンクを辿って行き、自分が必要な情報を得ることができる。
【０００３】
更に、Ｗｅｂサーバが管理しているファイルをダウンロードする方法として、Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  （以下、ＦＴＰと略す）という方法がある。このＦＴＰは、ネットワークを通して、サーバ上にあるファイルを１度にクライアントコンピュータに転送する仕組みである。
【０００４】
また画像データファイルへ断片的にアクセスして表示するためのプロトコルとして、Ｆｌａｓｈｐｉｘ／ＩＩＰがある。このＩＩＰは、Ｆｌａｓｈｐｉｘという画像データファイルフォーマットに最適なプロトコルになっており、画像データの部分アクセスの単位はＦｌａｓｈｐｉｘのタイル単位に行うものである。
【０００５】
一方、このＩＩＰをそのままＪＰＥＧ２０００に適用した場合、ＪＰＥＧ２０００の各スケーラビリティの符号化データは、そのスケーラビリティより１つ下のスケーラビリティのデータからの差分データであるため、クライアント側で受信した断片的な符号化データをキャッシュしておく必要がある。
【０００６】
【発明が解決しようとする課題】
しかし、断片的な符号化データをクライアント側で全て保存すると、最終的にクライアントが最高解像度、最高ＳＮＲで画像全体をブラウズした場合に、サーバのＪＰＥＧ２０００ビットストリームの全データがクライアントにキャッシュされることになる。このことは、メモリ容量が小さい端末では、画像を閲覧している途中にメモリ容量をオーバーし、ユーザの要求に応じた表示が不可能になってしまうという問題がある。更に、ＪＰＥＧ２０００は差分データであるので、メモリ容量が飽和し、新たに受信したデータが既にキャッシュされていたデータに上書きされるようなことが生じると、正確な画像表示（ユーザが望む表示）ができなることも起こり得る。
【０００７】
本発明は上記従来例に鑑みてなされたもので、キャッシュしている符号化された画像データの内、再生画像に影響の少ないキャッシュデータを削除してキャッシュにおけるデータのオーバフローを防止しながらユーザの要求に応じた表示を行うことを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明の画像処理方法は以下のような手段を備える。即ち、
符号化された画像データを断片的に入力しキャッシュして再生する画像処理方法であって、
画像の注目領域を特定する注目領域特定工程と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定工程と、
前記判定工程で越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定工程と、
前記注目領域特定工程で特定された注目領域から削除する単位領域までの距離を測定する距離測定工程と、
前記注目領域と前記距離測定工程で測定された前記距離に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定工程と、
前記削除領域決定工程で決定された前記削除領域に含まれるキャッシュデータを削除する削除工程と、
を有することを特徴とする画像処理方法。
【０００９】
【発明の実施形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１０】
図１は、本実施の形態に係るクライアントやサーバの構成を説明するブロック図で、この装置は例えばパーソナルコンピュータやワークステーション等で構成されていてもよい。
【００１１】
ＣＰＵ１０１は、システム全体の動作を制御しており、一次記憶１０２に格納されたプログラムに基づいて各種制御動作を実行する。一次記憶１０２は主にメモリ（ＲＡＭ）であり、二次記憶１０３に記憶されたプログラムなどを読み込んで格納する。二次記憶１０３は、例えばハードディスクなどがこれに該当する。一般に一次記憶１０２の容量は二次記憶１０３の容量よりも小さく、一次記憶１０２に格納しきれないプログラムやデータなどは二次記憶１０３に格納される。また、長時間記憶しなければならないデータなども二次記憶１０３に格納される。本実施の形態では、プログラムを二次記憶１０３に格納しておき、そのプログラム実行時に一次記憶１０２に読み込んで格納し、その一次記憶１０２に記憶されているプログラムに従ってＣＰＵ１０１が処理を行う。入力デバイス１０４は、例えば、マウスやキーボードなどがこれに該当し、入力デバイス１０４が操作されることにより、プログラムなどに割り込み信号を発生して、所望のデータの入力を行うのに使用される。出力デバイス１０５は、例えば、モニタやプリンタなどが考えられる。この装置の構成方法は他にも様々な形態が考えられるが、本発明の主眼ではないので、それらの説明を省略する。
【００１２】
図２は、本実施の形態に係るネットワークの概略を説明する図である。
【００１３】
図において、２０１，２０２はそれぞれユーザ（クライアント）を示しており、図１で説明した装置構成を有する。ユーザ２０１或いは２０２は、有線、無線を問わず、ネットワーク２０３を介してサーバ２０４と通信することが可能である。サーバ２０４は、図１の構成を有し、二次記憶１０３に相当する画像ファイルを蓄積する大容量の記憶装置（ハードディスク）２０５を備えている。大容量の記憶装置２０５は、例えばハードディスクなどがこれに該当する。このハードディスクには、ＪＰＥＧ２０００符号化方式により符号化された画像データが数多く格納されている。ユーザ２０１，２０２は、サーバ２０４が格納しているＪＰＥＧ２０００画像データから、断片化されたデータを受信して保存する。
【００１４】
本実施の形態では、既に生成済みのＪＰＥＧ２０００ファイルのデータを断片的に受信し、それらをキャッシュしたクライアントが、それらキャッシュデータを削除する方法について説明する。
【００１５】
各ユーザは、Ｗｉｎｄｏｗｓ（登録商標）マシンを使用してホームページを開いて、そこに書かれているＪＰＥＧ２０００の画像へのリンクをクリック（指示）することで、ＪＰＥＧ２０００の画像をユーザの用途に適した画像サイズや解像度で表示するために必要な断片的なデータを取得し、それらのデータをキャッシュする。そして、ユーザのキャッシュ容量の制限値を越えると、キャッシュマネージャのような働きを持つプログラムが動き、ユーザのキャッシュデータを削除する場合を想定する。
【００１６】
図３は、一般的なＪＰＥＧ２０００の符号化データを説明する図で、Ｌａｙｅｒ−ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ−ｃｏｍｐｏｎｅｎｔ−ｐｏｓｉｔｉｏｎ  ｐｒｏｇｒｅｓｓｉｏｎ（以下、ＬＲＣＰと記す）に沿って記録されたＪＰＥＧ２０００ファイルの構成を示している。このＬＲＣＰに準じた場合、ｌａｙｅｒ  ／  ｒｅｓｏｌｕｔｉｏｎ  ／  ｃｏｍｐｏｎｅｎｔ  ／  ｐｏｓｉｔｉｏｎの順に記録される。このようなデータの並び方はｐｒｏｇｒｅｓｓｉｏｎ  ｏｒｄｅｒと呼ばれる。
【００１７】
図４は、ＪＰＥＧ２０００の符号化データにおける解像度（画像サイズ）とＲｅｓｏｌｕｔｉｏｎ番号との関係を示す図である。
【００１８】
最も小さい解像度の画像のｒｅｓｏｌｕｔｉｏｎ番号を「０」とし、ｒｅｓｏｌｕｔｉｏｎ番号が一つ増加するごとに画像の幅と高さが２倍になっていく。また、各ｌａｙｅｒ内は、ｒｅｓｏｌｕｔｉｏｎ番号の小さい順にデータが格納されている。Ｌａｙｅｒ番号は復元する画像の原画に対するＳ／Ｎ比に対応し、ｌａｙｅｒ番号が小さいほどＳ／Ｎ比が悪くなる。一つのＪＰＥＧ２０００ファイル内でのｒｅｓｏｌｕｔｉｏｎ番号とｌａｙｅｒ番号、ｃｏｍｐｏｎｅｎｔ番号の最大値は、エンコーダによって予め設定され、そのパラメータに従ってエンコードされており、その情報は符号化データの中に格納されている。各パケット（パケット）は、そのパケット内に格納されているコードブロック（ｃｏｄｅ−ｂｌｏｃｋ）の情報を管理しているパケットヘッダ部と、各ｃｏｄｅ−ｂｌｏｃｋの符号化データを含んでいる。
【００１９】
このようなＪＰＥＧ２０００符号化データを使えば、各ユーザは、サーバ２０４にある全ての画像データを取得しなくても、必要な部分のデータのみをサーバ２０４から受信することが可能である。ユーザの受信データの単位としては、ＪＰＥＧ２０００のパケット、或いはパケットよりも更に小さい符号化単位であるｃｏｄｅ−ｂｌｏｃｋ単位が考えられる。本実施の形態では、ユーザがサーバ２０４から受信するデータ単位としてパケット単位を想定する。
【００２０】
図５は、パケット単位のリクエストおよびレスポンスの概念図を示す図である。
【００２１】
ユーザ２０１は、サーバ２０４に画像のタイル番号とｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌとｌａｙｅｒ，ｃｏｍｐｏｎｅｎｔ，ｐｏｓｉｔｉｏｎ番号を指定して、データを要求する。これによりサーバ２０４は、画像５０３のコードストリームを解析して、その指定されたタイル番号、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌとｌａｙｅｒ，ｃｏｍｐｏｎｅｎｔ，ｐｏｓｉｔｉｏｎ番号に相当するパケットデータを抜き出してユーザ２０１に送り返す。
【００２２】
本実施の形態では、サーバ２０４にあるオリジナル画像は、最大解像度サイズ２０４８×２０４８［画素］、８×８からなる６４枚のタイル（Ｔｉｌｅｓ）に分割されており、ｃｏｍｐｏｎｅｎｔ数が「３」で、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０  〜  ３，即ち、４つの画像サイズ方向の階層を持っており、２つのｌａｙｅｒに分けられていると仮定する。
【００２３】
図６は、オリジナル画像の各階層のデータ構造を説明する図である。
【００２４】
図６に示すように、オリジナル画像を構成するそれぞれのタイルには、左上のタイルからシーケンスな番号が振ってある。従って、サーバ２０４には、図７の７０１で示すようなデータが保存されている。
【００２５】
図７は、サーバ２０４で管理されているＪＰＥＧ２０００符号化データの構成を説明する図で、７０３はメインヘッダ、７０２はタイル０の符号化データを示している。
【００２６】
［タイル単位でのデータの削除］
クライアント（ユーザ）２０１では、サーバ２０４から送られてきた断片的なＪＰＥＧ２０００ビットストリームをキャッシュする。そしてユーザ２０１では、データのキャッシュに利用できるメモリ容量を予め把握しておき、サーバ２０４から送られてきた断片的なＪＰＥＧ２０００ビットストリームのキャッシュデータが、キャッシュメモリ容量を溢れる前にビットストリームを消去する。
【００２７】
図８は、本実施の形態に係るユーザ（クライアント）におけるキャッシュ制御処理を示すフローチャートである。
【００２８】
まずステップＳ１で、今回サーバから送られてくる画像データが、画像のどの部分領域に相当するのかを把握し、その表示される画像領域を注目領域Ｆとして特定する。例えば、図６に示すような画像において、今回のデータの受信が、ｒｅｓｏｌｕｔｉｏｎ  ３の太枠で示す領域６０１を表示するためのものである場合、タイル３３〜３５，４１〜４３，４９〜５１の９枚のタイルが注目領域Ｆとして特定される。
【００２９】
次にステップＳ２に進み、ユーザ２０１のキャッシュメモリの容量を取得し、キャッシュデータの削除が必要か否かを判断するスレッショルド値を決める。ここでは、受信したＪＰＥＧ２０００のパケットデータをキャッシュするために、利用可能なメモリ容量の１００％を充てるのであれば、このスレッショルド値はメモリ容量と等しくなる。しかし、ＪＰＥＧ２０００の断片的に受信したビットストリーム以外のデータ（例えば、画像のメタ情報など）も、同じメモリ容量の中に保存する場合には、利用可能なメモリ容量の一部がＪＰＥＧ２０００符号データのキャッシュに利用される。或いは、同じシステムで複数のＪＰＥＧ２０００符号データをキャッシュする場合には、ある画像に利用できるメモリ容量のスレッショルド値は、使用可能なメモリ容量よりも小さな値に設定される。例えば、メモリ容量が３Ｍ［バイト］に対して、この画像のキャッシュのスレッショルド値として２Ｍ［バイト］の値が設定される。このスレッショルド値を決める場合、ハードディスクなどの２次記憶媒体でも良いが、本実施の形態では、説明を簡単にするために、メモリサイズを基準としてスレッショルド値を決めるものとする。次にステップＳ３に進み、これらから受信する断片化されたＪＰＥＧ２０００符号データのバイト数を取得する。
【００３０】
次にステップＳ４に進み、ステップＳ３で取得したバイト数分の受信データをキャッシュするとステップＳ２で決定されたスレッショルド値を越えてしまうか判断する。つまり、スレッショルドの値から現在キャッシュされているデータ量を引いた値よりも、ステップＳ３で得られた値が大きければスレッショルド値を越えると判断し、ステップＳ３で得られた値が小さければスレッショルド値を越えないと判断する。こうしてスレッショルド値を越える判断した場合はステップＳ５へ進み、越えないと判断した場合ステップＳ６へ進む。例えば、ステップＳ２で決定されたスレッショルド値が２Ｍ［バイト］、既にキャッシュされているＪＰＥＧ２０００のパケットデータ量が１．９５Ｍ［バイト］の場合、ステップＳ３で取得した受信データのバイト数が１２０Ｋ［バイト］であれば、受信データをそのままキャッシュするとスレッショルド値を越えてしまうと判断し、ステップＳ５へ進むことになる。
【００３１】
ステップＳ５では、ステップＳ３で取得したバイト数をキャッシュしても、キャッシュ容量がスレッショルド値以下になるように、キャッシュデータの中からタイル（Ｔｉｌｅ）単位で符号化データを削除する。例えば、ステップＳ３で取得したバイト数が１２０Ｋ［バイト］，ステップＳ２で決定されたスレッショルド値が２Ｍ［バイト］の場合、ステップＳ５では、２Ｍ−１２０Ｋ＝１．８８Ｍ［バイト］以下になるまで、キャッシュデータの削除が行われる。そしてステップＳ６に進み、受信したデータをキャッシュする。次にステップＳ７で、この画像に対する要求が終了したか判断する。要求が終了していなければ、ステップＳ３へ戻り、要求が終了すればこのキャッシュ制御処理を終了する。
【００３２】
次に、図８のステップＳ５のキャッシュデータの削除処理を図９のフローチャートを参照して説明する。図９は、このステップＳ５の処理を示すフローチャートである。
【００３３】
まずステップＳ１１で、キャッシュメモリから削除すべきデータ量Ｙを取得し、このキャッシュデータの削除処理で削除されたデータ量を計算する変数Ｄｅｌに初期値として「０」を代入する。本実施の形態では、ユーザが既に、画像全体をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １の最大ＳＮＲで表示しており、現在、図６の領域６０２を最大ＳＮＲで、即ち、タイル１６〜２１，５６〜６１で囲まれる３６枚のタイルの領域をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２，最大ＳＮＲで表示していたとする。このとき、キャッシュメモリには、図７に示す、画像のヘッダ部分のデータ７０１、全タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １を構成するパケットデータ７０４，７０５と、領域６０２の３６枚のタイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２を構成するパケットデータ７０６，７０８が格納されている。つまり、領域６０２の３６枚のタイルに関しては、図１０（Ｂ）の１００２で示すように、各タイルのヘッダデータ７０７、各タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０を構成するパケット群７０４、および各タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １を構成するパケット群７０５と、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２を構成するパケット群７０６が、ユーザ２０１のキャッシュメモリに保存されている。そしてそれ以外のタイルに対しては、図１０（Ａ）の１００１で示すように、図１０（Ｂ）の１００２で示すキャッシュデータからｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２を構成するパケット群７０６を除いたのパケットデータがキャッシュされている。これらのデータを合わせたサイズが、１．９５Ｍ［バイト］、スレッショルド値が２Ｍ［バイト］、受信したデータ量が１２０Ｋ［バイト］であった場合、削除すべきデータ量ＹはＹ＝１．９５＋０．１２−２．０＝０．０７Ｍ［バイト］＝７０Ｋ［バイト］として取得できる。つまり、７０Ｋ［バイト］以上のデータを削除する必要がある。
【００３４】
次にステップＳ１２に進み、図８のステップＳ１で特定した注目領域Ｆを取得する。例えば、現在、図６の領域６０２で示される領域をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２で表示していたユーザが、タイル４２を中心として拡大表示を要求し、領域６０１をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３で表示することを望んだ場合、注目領域Ｆとしてタイル３３〜３５，４１〜４３，４９〜５１の９枚のタイルが取得される。
【００３５】
次にステップＳ１３に進み、ステップＳ１２で取得した注目領域Ｆから遠いタイル群を含む領域をデータ削除領域Ｒとして取得する。例えば、図６のタイル０〜７で構成される、破線で囲まれた領域６０３がデータ削除領域Ｒとして取得される。
【００３６】
次にステップＳ１４に進み、ステップＳ１３で取得したデータ削除領域Ｒに含まれるタイルに対して、データを削除するタイルの順番を決定する。例えば、図６の領域６０３内部のタイルの場合、データ削除の順番として、右方向のタイルから順に番号を振る。つまりデータ削除順番が一番目のタイルＴ＿ｄｅｌ（１）がタイル７、データ削除順番が８番目のタイルＴ＿ｄｅｌ（８）がタイル０となる。
【００３７】
次にステップＳ１５に進み、データ削除順番をカウントする変数Ｘに初期値として「１」を代入する。次にステップＳ１６に進み、削除順番がＸであるタイルＴ＿ｄｅｌ（Ｘ）のキャッシュデータの中から、タイルヘッダ部分７０１とｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のパケットデータを除いた、全てのキャッシュデータを削除する。例えば、Ｘ＝１でＴ＿ｄｅｌ（１）がタイル７であれば、タイル７のキャッシュデータは、図１０（Ａ）の１００１で示すデータであるので、ｒｅｓｏｌｕｔｉｏｎ  １を構成するパケット群７０５と、ｒｅｓｏｌｕｔｉｏｎ  ０，ｌａｙｅｒ  ２を構成するパケット群１００３を削除する。
【００３８】
次にステップＳ１７に進み、この削除処理で削除されたデータ量を累積する変数Ｄｅｌに、上述のステップＳ１６で削除したデータ量を加算する。次にステップＳ１８に進み、この削除処理で削除されたデータ量Ｄｅｌと、この削除処理で削除すべきデータ量Ｙとを比較し、実際に削除したデータ量Ｄｅｌが削除すべきデータ量Ｙを越えたかどうかを判定し、越えていればこの処理を終了する。一方、まだ越えていない場合にはステップＳ１９に進み、最後にデータを削除したタイルの削除番号Ｘがデータ削除領域Ｒに含まれるタイル数Ｎより小さいかを判断する。タイル数Ｎよりも削除番号Ｘが小さければステップＳ２０へ進み、そうでなければ、削除領域Ｒに含まれる全てのタイルのキャッシュデータを削除したものとみなして、新たな削除領域Ｒを取得するためにステップＳ１３へ進む。ステップＳ２０では、削除番号Ｘを一つインクリメントして次の削除番号とする。
【００３９】
例えば、削除すべきデータ量Ｙが７０Ｋ［バイト］、削除番号１のタイルＴ＿ｄｅｌ（１）で削除したデータサイズが５０Ｋ［バイト］である場合、ステップＳ１７において削除したデータ量Ｄｅｌの値が５０Ｋ［バイト］になるため、ステップＳ１８では、Ｙ（＝７０Ｋ）＞Ｄｅｌ（＝５０Ｋ）となりステップＳ１９へ進む。ステップＳ１９では、Ｘ（＝１）＜Ｎ（＝８）であるのでステップＳ２０に進み、削除番号Ｘが＋１されて「２」に変更され、次にステップＳ１６に進み、Ｔ＿ｄｅｌ（２）であるタイル６のデータが削除されることとなる。
【００４０】
［実施の形態１］
次に、図９のステップＳ１３においてデータ削除領域Ｒを取得する処理について図１１のフローチャートを参照して説明する。図１１は、本発明の実施の形態１に係るステップＳ１３の削除領域Ｒを取得する処理を示すフローチャートである。
【００４１】
まずステップＳ３１で、図８のステップＳ１で特定された注目領域Ｆの中心点を含むタイルＴ＿ｃｅｎを特定する。図６の領域６０１で示される注目領域Ｆに対して、タイル４２が、このタイルＴ＿ｃｅｎとなる。画像の左上のタイルを０行、０列のタイルと定義し、この中心のタイルＴ＿ｃｅｎをＣｙ行、Ｃｘ列で表す場合、タイル４２の位置は、Ｃｘ＝２，Ｃｙ＝５で表される。次にステップＳ３２に進み、ステップＳ３１で特定された中心タイルＴ＿ｃｅｎから、キャッシュデータの存在する上下左右の端に位置するタイルまでのタイル数を計算する。つまり、画像の端に位置する行或いは列が、このキャッシュ制御処理で削除領域Ｒとして既に選ばれ、削除できるキャッシュデータが存在しない場合には、その行或いは列を除いて、タイル数を計算する。
【００４２】
これを図１２を参照して説明する。
【００４３】
図１２において、タイル４２から上下左右の端までのタイル数をそれぞれＮ＿ｕｐ，Ｎ＿ｄｏｗｎ，Ｎ＿ｌｅｆｔ，Ｎ＿ｒｉｇｈｔとすると、まだ、一度も削除領域Ｒの選択がなされていない場合には、
Ｎ＿ｕｐ＝Ｃｙ，  Ｎ＿ｄｏｗｎ＝画像の最大行番号−Ｃｙ
Ｎ＿ｌｅｆｔ＝Ｃｘ，Ｎ＿ｒｉｇｈｔ＝画像の最大列番号−Ｃｘ
として計算する。もし、画像の０行からＸ行が既にデータ削除領域Ｒとして選択されており、削除すべきデータがない場合には、Ｎ＿ｕｐからＸを引いて調整する。同様に、画像の最も下の位置にある行が削除されている場合にはＮ＿ｄｏｗｎを、画像の左端及び右端の数列が削除されている場合には、それぞれＮ＿ｌｅｆｔ，Ｎ＿ｒｉｇｈｔから、既にデータ削除を行った列数を引いて調整する。従って、まだ一度も削除領域Ｒの指定が行われていない場合、注目領域６０１に対しては、Ｎ＿ｕｐ＝５，Ｎ＿ｄｏｗｎ＝２，Ｎ＿ｌｅｆｔ＝２，Ｎ＿ｒｉｇｈｔ＝５となる。
【００４４】
次にステップＳ３３に進み、Ｎ＿ｍａｘとして、ステップＳ３３で得られた４つの値、Ｎ＿ｕｐ，Ｎ＿ｄｏｗｎ，Ｎ＿ｒｉｇｈｔ，Ｎ＿ｌｅｆｔの中から最も大きい値を持つ変数を取得する。ここでは、注目領域６０１に対してＮ＿ｕｐとＮ＿ｒｉｇｈｔが共に「５」であり最大値となっている。
【００４５】
次にステップＳ３４に進み、ステップＳ３３で得られた最大値を持つ変数（Ｎ＿ｕｐ，Ｎ＿ｒｉｇｈｔ）から中心タイルＴ＿ｃｅｎから画像端までのタイル数が最も多い方向を決定する。いま最大値を持つ変数としてＮ＿ｕｐが選ばれた場合は、この方向は、画像の上方向、即ち、行番号の小さくなる方向になる。またＮ＿ｒｉｇｈｔが選ばれた場合は、この方向は、画像の右方向、即ち列番号が大きくなる方向になる。それ以外に、例えば例として、Ｎ＿ｄｏｗｎが選ばれた場合には、画像の下方向、即ち行番号の大きくなる方向になり、Ｎ＿ｌｅｆｔが選ばれた場合は、画像の左方向、即ち列番号が小さくなる方向になる。但し、上述のように、Ｎ＿ｍａｘに該当する変数が２つある場合、次のような３つの条件を設ける。
【００４６】
１．Ｎ＿ｕｐ，Ｎ＿ｄｏｗｎは、Ｎ＿ｒｉｇｈｔ，Ｎ＿ｌｅｆｔに優先する。
【００４７】
２．Ｎ＿ｕｐは、Ｎ＿ｄｏｗｎに優先する。
【００４８】
３．Ｎ＿ｌｅｆｔは、Ｎ＿ｒｉｇｈｔに優先する。
【００４９】
即ち、水平方向の値よりも垂直方向の値が優先し、列、行共に番号が小さくなる方向が優先する。従って、上述の注目領域６０１では、Ｎ＿ｍａｘとしてＮ＿ｕｐとＮ＿ｒｉｇｈｔが該当していたが、垂直方向のＮ＿ｕｐが優先的に選ばれる。
【００５０】
次にステップＳ３５に進み、ステップＳ３４で選ばれた方向を基に、キャッシュデータを削除する行又は列をデータ削除領域Ｒとして決定する。但し、ここではステップＳ３４で、上述のようにして、Ｎ＿ｕｐが選ばれた場合には、図１２に示す領域１２０１で示される行が削除領域Ｒとして決定される。またＮ＿ｄｏｗｎが選ばれた場合には、領域１２０２で示される行が削除領域Ｒとして決定される。更に、Ｎ＿ｌｅｆｔが選ばれた場合には、領域１２０３が削除領域Ｒとして決定され、Ｎ＿ｒｉｇｈｔが選ばれた場合は、領域１２０４が削除領域Ｒとして決定される。
【００５１】
従って、このステップＳ３５では、ステップＳ３４でＮ＿ｕｐが選ばれているので、注目領域６０１に対して、領域１２０１に該当する一番上の行が削除領域Ｒとして決定されることになる。
【００５２】
こうして図９のステップＳ１４に進み、データ削除領域Ｒの中でデータを削除する順番として、基本的に、注目領域Ｆからなるべく離れたタイルからデータを削除するように番号が付される。
【００５３】
図１３は、キャッシュデータを削除する順番を決定する方法（ステップＳ１４：図９）を説明するフローチャートである。
【００５４】
まずステップＳ４１で、図１１のステップＳ３３において、Ｎ＿ｍａｘに該当する値として、Ｎ＿ｕｐ，Ｎ＿ｄｏｗｎ，Ｎ＿ｒｉｇｈｔ，Ｎ＿ｌｅｆｔの中のどの値が選ばれたのかをみる。もしＮ＿ｍａｘとして、Ｎ＿ｕｐ又はＮ＿ｄｏｗｎのいずれかが選ばれた場合には、ステップＳ４２へ進み、Ｎ＿ｒｉｇｈｔ又はＮ＿ｌｅｆｔのいずれかが選ばれた場合にはステップＳ４５へ進む。つまり、削除領域Ｒとして、行方向のタイル群が選ばれた場合にはステップＳ４２へ進み、列方向のタイル群が選ばれた場合にはステップＳ４５へ進むことになる。本実施の形態１では、Ｎ＿ｍａｘとしてＮ＿ｕｐが選ばれているのでステップＳ４２へ進む。
【００５５】
ステップＳ４２では、Ｎ＿ｒｉｇｈｔとＮ＿ｌｅｆｔの値を比較し、どちらの値が大きいのか判断する。Ｎ＿ｒｉｇｈｔの値が大きければステップＳ４３へ、Ｎ＿ｌｅｆｔの値が大きければステップＳ４４へ進む。つまり、右側のタイルの数が多ければステップＳ４３へ、左側のタイル数が多ければステップＳ４４へ進む。ステップＳ４３に進んだ場合は、削除領域Ｒとして、横方向に並ぶタイルの行が選ばれており、かつ、注目領域Ｆが左側に寄っているため、削除領域Ｒの右端のタイルから左方向へ順にデータ削除番号を振る。一方、ステップＳ４４に進んだ場合は、削除領域Ｒとして、横方向に並ぶタイルの行が選ばれており、かつ、注目領域が右側に寄っているため、削除領域Ｒの左端のタイルから右方向へ順にデータ削除番号を振る。
【００５６】
本実施の形態１では、Ｎ＿ｌｅｆｔ＝２，Ｎ＿ｒｉｇｈｔ＝５であるので、ステップＳ４２からステップＳ４３に進み、削除領域Ｒである図１２の領域１２０１において、タイル７から順に左方向へデータ削除の順番が振られることになる。つまり、タイル７が削除データ番号「１」、タイル６が削除データ番号「２」、以下同様に番号を振り、タイル０が削除データ番号「８」となる。
【００５７】
またステップＳ４１からステップＳ４５に進んだ場合は、Ｎ＿ｄｏｗｎとＮ＿ｕｐの値を比較し、どちらの値が大きいのか判断する。Ｎ＿ｄｏｗｎの方が大きい場合はステップＳ４６へ、Ｎ＿ｕｐの方が大きい場合にはステップＳ４７へ進む。つまり、注目領域Ｆより下にあるタイルの行数が多ければステップＳ４６へ、注目領域Ｆより上側にあるタイルの行数が大きければステップＳ４７へ進む。ステップＳ４６に進んだ場合は、削除領域Ｒとして縦方向に並ぶタイルの列が選ばれており、かつ、注目領域Ｆが上側に寄っているため、削除領域Ｒの下端のタイルから上方向へ順にデータ削除番号を振る。一方、ステップＳ４７に進んだ場合は、削除領域Ｒとして縦方向に並ぶタイルの列が選ばれており、かつ、注目領域Ｆが下側に寄っているため、削除領域Ｒの上端のタイルから下方向へ順にデータ削除番号を振る。
【００５８】
従って、本実施の形態１の場合、削除領域Ｒは、タイル０〜７が含まれている行であり、削除順番「１」がタイル７、削除順番「２」がタイル６、以下順に左方向に順に削除順番が付され、削除番号「８」がタイル０となっている。
【００５９】
図１４（Ａ）（Ｂ）は、この削除領域Ｒのタイルデータがキャッシュされている状態を説明する図である。この図１４（Ａ）の１４０２で示すように各タイルがｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２，ｌａｙｅｒ  ２までのデータでキャッシュされているとすると、１２０Ｋ［バイト］のデータを削除するためには、図１４に示すタイル７，６，５のキャッシュデータの中で、１４０２で示す合計１６５Ｋ［バイト］のデータを削除することになる。従って、削除後のキャッシュデータは、図１６（Ａ）の１６０１に示すような状態になる。
【００６０】
このようなデータ削除方法を取ることにより、現在の表示に重要な注目領域に相当する部分領域のタイルのデータは保持され、現在の表示に対して、比較的重要度の低いと考えられる、注目領域から遠いタイルからキャッシュデータが削除される。
【００６１】
また、タイル毎に一番データ量の少ないｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のデータ以外のパケットデータを削除するため、キャッシュメモリに大容量の空エリアを設けることが可能になり、削除データの計算による負荷が軽減される。
【００６２】
また、各タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のデータを削除せずに保持しておくことで、全くデータがキャッシュされていないタイルがなくなる。これにより、より高解像度の画像表示が要求されても、保持しているデータからデコードされた画像を一時的に拡大して表示することで、その画像表示の要求後、その領域の画像データを受信するまで、全く画像が表示されない事態が発生するのを防止できる。またいつでも、画像全体を把握できる画像を直ちに表示できるという効果もある。
【００６３】
上述したキャッシュデータを削除の順番は、上記実施の形態で示したものに固定するものではなく、それ以外の順をつけても良いことは容易に推察できる。
【００６４】
また、本実施の形態１では説明を簡単にするために、タイル単位で削除領域を特定したが、本発明はこれに限定されるものでなく、例えば、Ｐｒｅｃｉｎｃｔやｃｏｄｅ−ｂｌｏｃｋ単位としてもよい。Ｐｒｅｃｉｎｃｔの場合は、データの削除単位はタイルと同様にパケットとなり、ｃｏｄｅ−ｂｌｏｃｋの場合には、そのコードブロックのデータを構成するサブバンドからなる符号データが単位となる。
【００６５】
［実施の形態２］
［特定したタイルのパケット単位でのデータ削除］
前述の実施の形態１では、注目領域から遠いタイルで構成される行又は列を削除領域Ｒとして指定し、その中のタイルに対して、削除順番を割り当て、その削除領域Ｒのタイルを、その削除順番に従って一枚ずつ、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のデータを除いた全てのパケットデータを削除した。
【００６６】
しかし、削除対象として特定されたタイルのキャッシュデータに含まれるｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １を除く全てのパケットを単位としてではなく、領域内に含まれる全てのタイルに対して全体的なＳＮＲや解像度を低くし、キャッシュデータ量を削減する方法も考えられる。この場合、前述の実施の形態１と異なるのは、図９のデータ削除処理におけるステップＳ１６以下である。
【００６７】
図１５は、この実施の形態２に係る削除処理を説明するフローチャートで、前述の図９と同じ動作をするステップには図９と同じ番号を付して、その説明を省略する。
【００６８】
また本実施の形態２では、ユーザが既に画像全体を、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２の最大ＳＮＲのデータとして既にキャッシュしているものとする。従って、キャッシュメモリには、画像のヘッダ部分のデータ７０１と全タイルに対して、図１０（Ｂ）の１００２で示すように、各タイルのヘッダデータ７０７、各タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０を構成するパケット群７０４、及び各タイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ１を構成するパケット群７０５（図１０（Ａ））と、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２を構成するパケット群７０６が、ユーザ２０１のキャッシュメモリに保存されている。また、図６の領域６０２をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２で表示していたユーザが、タイル４２を中心として拡大表示を要求し、領域６０１をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３で表示することを望み、注目領域Ｆとしてタイル３３〜３５，４１〜４３，４９〜５１の９枚のタイルが取得されているものとする。ステップＳ１１からステップＳ１４は、実施の形態１の図９と同様である。
【００６９】
つまり、ステップＳ１１では、キャッシュから削除すべきデータ量Ｙを取得し、今回のデータ削除処理で削除されるデータ量を累積する変数Ｄｅｌに「０」を代入する。ステップＳ１２では、ステップＳ１で特定した注目領域Ｆを取得する。ステップＳ１３では、ステップＳ１２で取得した注目領域Ｆから遠いタイル群を含む領域をデータ削除領域Ｒとして取得する。本実施の形態２の場合、図６の領域６０３が削除領域Ｒとして取得される。そしてステップＳ１４では、ステップＳ１３で取得したデータ削除領域Ｒに含まれるタイルに対して、データの削除を行う順番を決定する。本実施の形態２の場合、削除順番「１」がタイル７、削除順番「２」がタイル６、以下、タイル５、タイル４…の順に削除順番が振られ、削除順番「８」がタイル０となっている。
【００７０】
ステップＳ５１では、データ削除領域Ｒの中で、キャッシュされている解像度が最も高いタイル群ＴＲを特定する。本実施の形態２では、領域６０３で示される削除領域Ｒに含まれるタイルは全て同じｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２までキャッシュされているので、タイル群ＴＲと削除領域Ｒとは一致している。次にステップＳ５２に進み、ステップＳ５１で特定されたタイル群ＴＲの中でデータの削除順番が小さいタイルＴＲ＿ｄｅｌを特定する。
【００７１】
本実施の形態２では、削除領域Ｒとタイル群ＴＲとが等しいので、データ削除順番の一番小さいタイル７がＴＲ＿ｄｅｌとして特定される。次にステップＳ５３に進み、タイルＴＲ＿ｄｅｌの最高解像度のデータを削除する。ここでＴＲ＿ｄｅｌであるタイル７において、キャッシュされている最高解像度のデータはｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２の７０６（図７）であるので、このデータ７０６がキャッシュから削除される。従って、タイル７のキャッシュデータは、図１０（Ｂ）の１００２の状態から図１０（Ａ）の１００１で示す状態になる。
【００７２】
次にステップＳ１７に進み、この削除処理で削除されたデータ量を累積する変数Ｄｅｌに、ステップＳ５３で削除したデータ量を加算する。次にステップＳ１８に進み、削除されたデータ量Ｄｅｌと、削除すべきデータ量Ｙとを比較し、実際に削除したデータ量Ｄｅｌが削除すべき量Ｙを越えたかどうかを調べ、越えた時はこの処理を終了する。
【００７３】
一方、まだ越えていない場合はステップＳ５４に進み、ステップＳ５１で特定されたタイル群ＴＲから、ステップＳ５３で最高解像度のキャッシュデータを削除したタイルＴＲ＿ｄｅｌを外す。つまり、タイル７はタイル群ＴＲから外され、このタイル群ＴＲには、タイル０からタイル６までの７枚のタイルが残ることになる。次にステップＳ５５に進み、タイル群ＴＲが空集合になったかどうかを判断する。まだ、タイル群ＴＲに含まれるタイルが残っている場合はステップＳ５２へ戻り、次のＴＲ＿ｄｅｌを特定して、前述した処理を実行する。
【００７４】
一方、タイル群ＴＲに含まれるタイルが一枚も無くなるステップＳ５６に進み、削除領域Ｒに含まれる全てのタイルのキャッシュデータとして、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のみになっているかどうかを判断する。ここで全てのタイルのキャッシュデータがｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １である場合は、もはや、この削除領域Ｒの中に削除できるキャッシュデータがないと判断してステップＳ１３へ戻り、次のデータ削除領域Ｒを取得する。一方、ステップＳ５６で、削除領域Ｒの中のキャッシュデータがｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のみではない場合はまだ削除できるキャッシュデータがあると判断してステップＳ５１に戻り、前述した処理を実行する。
【００７５】
上述の実施の形態２によれば、削除領域Ｒがタイル０〜７が含まれている行であり、削除順番「１」がタイル７、削除順番「２」がタイル６、以下順に左方向に順に削除順番「８」がタイル０となっている。そして、図１４（Ａ）の１４０２で示すように、各タイルがｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２，ｌａｙｅｒ  ２までのデータをキャッシュしていたとすると、１２０Ｋ［バイト］のデータを削除するためには、タイル７，６，５，４のキャッシュデータのうち、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２のデータを削除する。即ち、３０Ｋ［バイト］×４タイル＝１２０Ｋ［バイト］のデータが削除され、キャッシュデータは、図１６（Ｂ）の１６０２で示すような状態になる。
【００７６】
従って、この実施の形態２によれば、削除領域Ｒに含まれる全てのタイルから解像度方向に少しずつデータを削除するため、削除領域Ｒに含まれる領域を閲覧しても、その領域に含まれる各タイルの符号化データがより多く残っている可能性が高くなり、新たに要求された画像に対応して要求されるパケットデータの数を減らすことも可能になる。
【００７７】
また本実施の形態２では、削除領域Ｒのデータを解像度方向に削除する場合で説明したが、ＳＮＲ方向に削除する方法でも本質的には同様に実現できる。その場合、ステップＳ５１で特定されるタイル群ＴＲは最もＳＮＲが高い、即ち、キャッシュされているｌａｙｅｒが多いタイルの集合である。また、ステップＳ５３では、タイルＴＲ＿ｄｅｌの中で最高ＳＮＲのデータが削除される。例えば、図１０（Ｂ）の１００２で示すようなキャッシュデータがある場合、タイルの中で最も高いＳＮＲのデータが削除されるので、ｌａｙｅｒ  ２を構成するパケットデータ１００６，１００５，１００４（図１０（Ｂ））が消去されることになる。
【００７８】
またｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  のデータを削除する場合の削除データ量と、ＳＮＲのデータを削除する場合の削除データ量を比較し、削除データ量が大きい方を削除する場合も本質的には同様に実現できる。例えば、図１０（Ｂ）の１００２で示される１８個のパケットが保存されている時、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ方向で削除する場合には、図７の７０６で示される６個のパケットを削除することになり、ｌａｙｅｒ方向で削除する場合には、１００４，１００５，１００６で示される９個のパケットを削除することになる。そこで、図７の７０６で示す６個のパケットのデータ量と、１００４，１００５，１００６の９個のパケットのデータ量とを比較し、データ量が大きい方を削除することとなる。
【００７９】
また、本実施の形態２では、説明を簡単にするために、タイル単位で削除領域を特定したが、本発明はこれに限定されるものでなく、例えばＰｒｅｃｉｎｃｔやｃｏｄｅ−ｂｌｏｃｋの単位でも、同様の考え方に基づいたキャッシュデータの削除を行うことができる。例えば、Ｐｒｅｃｉｎｃｔを単位とした場合は、データの削除単位はタイルと同様にパケットとなり、ｃｏｄｅ−ｂｌｏｃｋの場合には、そのコードブロックのデータを構成するサブバンドからなる符号データが単位となる。
【００８０】
［実施の形態３］
［表示に利用された最後の時間が最も古いタイルのデータから削除］
前述の実施の形態１，２では、純粋に、注目領域Ｆからの距離だけで、キャッシュデータを削除するタイルを選択していた。しかし、最後に表示に利用された時刻をタイル毎に保存しておき、最もアクセスされた時間が古いタイルを削除データ領域として定める様にしてもよい。このように表示された時刻によって削除するためには、タイル毎にその表示に使用された時刻を管理する時間管理テーブルが必要となる。
【００８１】
図１７は、本発明の実施の形態３に係る管理テーブルの作成処理を説明するフローチャートである。
【００８２】
ステップＳ６１で、サーバ２０４に対して閲覧したいＪＰＥＧ２０００画像のメインヘッダ（ｍａｉｎ  ｈｅａｄｅｒ）７０１を要求し、それに応答してサーバ２０４から送られるメインヘッダを受信する。次にステップＳ６２に進み、その受信したメインヘッダを解析し、閲覧したいＪＰＥＧ２０００画像を構成しているタイル数を計算する。これはメインヘッダ７０１のＳＩＺマーカに記されている最高解像度の画像サイズを表すパラメータＸｓｉｚ（１８０１），Ｙｓｉｚ（１８０２）及び最高解像度時のタイルサイズを表すパラメータＸＴｓｉｚ（１８０３），ＹＴｓｉｚ（１８０４）により計算できる。
【００８３】
本実施の形態３では、図６に示すように、２０４８×２０４８［画素］のオリジナル画像を２５６×２５６［画素］のタイルで分割しているので、横方向に（２０４８÷２５６＝）８タイル、縦方向にも同様に（２０４８÷２５６＝）８タイルが配列されているので、合計（８×８＝）６４枚のタイルと計算される。
【００８４】
次にステップＳ６３に進み、ステップＳ６２で計算されたタイル数を基に、各タイルのアクセス管理テーブルを作成する。例えば、図１９（Ａ）の１９０１で示すようなアクセス管理テーブルが作成される。初期状態では、まだ画像の表示にどのタイルも利用されていないので、全てのタイルの「Ｌａｓｔ  Ａｃｃｅｓｓ  Ｔｉｍｅ（最新アクセス時刻）」には、初期値、例えばＮＵＬＬが入っている。
【００８５】
次にステップＳ６４に進み、ユーザの表示要求に応じて、パケットデータを要求する。例えば、全てのタイルに対して、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １，ｌａｙｅｒ  ２までのデータを要求する。次にステップＳ６５に進み、ステップＳ６４で要求されたタイルに関して、アクセス管理テーブルを更新する。例えば、全てのタイルに対して、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １，ｌａｙｅｒ  １のデータを要求した場合、図１９（Ｂ）の１９０２で示すように、全てのタイルに対して、テーブルの「Ｌａｓｔ  Ａｃｃｅｓｓ  Ｔｉｍｅ」の項目が、そのアクセス要求がなされた時刻「１０：２２：３４」に更新される。
【００８６】
次にステップＳ６６に進み、ステップＳ６４で要求されたパケットデータに関して、サーバ２０４に要求を発行する必要があるかどうかを判断する。既に、キャッシュ済みのパケットデータでステップＳ６４の要求に応えることができ、サーバ２０４にデータの要求を発行しないならステップＳ６９へ進む。
【００８７】
キャッシュされたデータだけではステップＳ６４の要求に応えることができない場合はステップＳ６７へ進む。例えば、最初の画像表示の段階では、まだ、どのタイルのパケットデータも受信されていないので、サーバ２０４にデータを要求する必要があるためステップＳ６７へ進むことになる。このステップＳ６７では、サーバ２０４にパケットデータを要求し、それに応答して送られてくるパケットデータを受信する。次にステップＳ６８に進み、ステップＳ６７で受信したデータをキャッシュする。次にステップＳ６９に進み、そのキャッシュデータから作成されるＪＰＥＧ２０００ビットストリームをデコードして表示する。次にステップＳ７０に進み、この画像に対する要求が終わったかどうかを判断し、要求がまだ続くならステップＳ６４へ戻り、この画像への要求が終了したなら、この処理フローを終了する。
【００８８】
図２０は、図１７のステップＳ６８のキャッシュ制御処理を示すフローチャートである。このフローチャートにおいて、前述の実施の形態１の図８のフローチャートと異なるのは、アクセス管理テーブルの値を基に、削除するべきタイルを特定する点である。従って、図２０のステップで図８と同様の動作をするものには図８と同じ番号を付している。
【００８９】
まずステップＳ２は、ユーザ２０１のメモリ容量を取得し、キャッシュデータの削除が必要か否かを判断するスレッショルド値を決める。次にステップＳ３で、受信する断片化されたＪＰＥＧ２０００符号データのバイト数を取得する。次にステップＳ４に進み、ステップＳ３で取得した受信データのバイト数をキャッシュすると、ステップＳ２で決定されたスレッショルド値を越えてしまうか判断する。つまり、スレッショルドの値から現在キャッシュされているデータ量を引いた値よりも、ステップＳ３で得られた値が大きければ、スレッショルド値を越えると判断し、ステップＳ３で得られた値が小さければ、スレッショルド値を越えないと判断する。スレッショルド値を越える判断した場合はステップＳ７１に進み、越えないと判断した場合ステップＳ６へ進む。
【００９０】
ステップＳ７１では、削除すべきデータ量Ｙを算出し、更に、実際に削除したデータ量を累積する変数Ｄｅｌに「０」を代入して初期化する。次にステップＳ７２に進み、図１９（Ｃ）に示すようなアクセス管理テーブルを参照し、それぞれのタイルについて、最後に利用された時刻を比較し、利用された時刻が現在の時刻から最も遠いもの、つまりアクセス時刻が最も古いタイル群Ｘを特定する。例えば、画像全体をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  １で表示した後、図６の領域６０２をｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２に拡大表示した場合、図１９（Ｃ）の１９０３で示すように、アクセス管理テーブルにおけるタイル１６〜２１、タイル２４〜２９、タイル３２〜３７、タイル４０〜４５、タイル４８〜５３および、タイル５６〜６１の３６枚のタイルに関しては、最後にアクセスされた時刻が更新される。そのため、残りの２８枚のタイルはアクセス時刻が古いタイル群Ｘとして特定されることになる。
【００９１】
次にステップＳ７３に進み、ステップＳ７２で特定されたタイル群Ｘの中から最もタイル番号の若いタイルＡを特定し、そのタイルをキャッシュデータを削除する対象のタイル候補とする。例えば、図６の領域６０２を除く領域がタイル群Ｘとして特定されている場合には、その中でも最もタイル番号が若いタイル０がタイルＡとして特定される。
【００９２】
次にステップＳ５に進み、前述の実施の形態１と同様に、ステップＳ３で取得したバイト数をキャッシュしても、キャッシュ容量がスレッショルド値以下になるように、タイルＡのキャッシュデータの中からｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １を形成するパケットを除いた全てのキャッシュデータを削除する。次にステップＳ７４に進み、ステップＳ５で削除したデータ量を、実際に削除したデータ量を累積している変数Ｄｅｌに加算する。次にステップＳ７５に進み、削除すべきデータ量Ｙと削除したデータ量Ｄｅｌとを比較し、削除すべきデータ量Ｙより削除したデータ量Ｄｅｌの方が大きければステップＳ６へ進んで、次に受信するデータをキャッシュする。
【００９３】
一方、ステップＳ７５で、削除したデータ量Ｄｅｌの方が小さければステップＳ７６へ進み、ステップＳ５でキャッシュデータを削除したタイルＡをタイル群Ｘから外し、次にステップＳ７３に戻って、タイルＡを特定し直す。
【００９４】
尚、本実施の形態３では、アクセス管理テーブルとして、図１９（Ａ）乃至（Ｃ）に示すようなテーブルを用いたが、このテーブルに限るものではない。
【００９５】
また、本実施の形態３では説明を簡単にするために、タイル単位で削除領域を特定したが、本発明はこれに限定されるものでなく、例えば、Ｐｒｅｃｉｎｃｔやｃｏｄｅ−ｂｌｏｃｋでも同様の考え方に基づいたキャッシュデータの削除を行うことができる。例えば、Ｐｒｅｃｉｎｃｔの場合は、データの削除単位はタイルと同様にパケットとなり、ｃｏｄｅ−ｂｌｏｃｋの場合には、そのコードブロックのデータを構成するサブバンドからなる符号データが単位となる。
【００９６】
更に、本実施の形態３では、最後にアクセスされた時刻を保存し、その時刻に基づいてキャッシュデータを削除するタイルを特定したが、前述の実施の形態１乃至３のそれぞれと組み合わせて利用することも可能である。つまり、ステップＳ７１で特定されたタイル群Ｘから、ステップＳ７２において、キャッシュデータを削除するタイルＡを選ぶときに、前述の実施の形態１で行ったように、注目領域Ｆから最も離れたタイルをタイルＡと特定しても良い。
【００９７】
また、キャッシュデータを削除する単位も、前述の実施の形態２のように、ステップＳ７２で特定されたタイルＡのキャッシュデータから、最も解像度の高いデータのみを削除する、或いは、最もＳＮＲが高いデータのみを削除するということも可能である。
【００９８】
また、実施の形態１乃至３におけるキャッシュ方法については、キャッシュされている各パケットデータを個別に削除できるような方法であれば、どのような方法でキャッシュされていても構わない。
【００９９】
［実施の形態４］
まず最初に上述した実施の形態１〜３にも適用される全体の処理の流れについて、図２３のフローチャートを参照して説明する。この処理は、前述のユーザ２０１（２０２）からサーバ２０４に対して表示要求を発行することにより実行される処理で、前述したキャッシュ処理の前提となるものである。
【０１００】
まずステップＳ８１で、ユーザからの表示要求を受け付ける。本実施の形態４の場合、図６に示す領域６０１を、最大ＳＮＲ、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３で表示することがユーザによる表示要求とする。次にステップＳ８２に進み、ステップＳ８１で受け付けた要求とキャッシュデータを比較し、要求を満たすために充分なデータがキャッシュの中に保存されているかどうか判定する。キャッシュ内に必要なデータが全て含まれていればステップＳ８７に進み、そのキャッシュされているデータを用いて画像を表示する。しかし、その表示要求に応じた画像を表示するために不足しているデータがあればステップＳ８３に進んで、サーバ２０４に対して、その不足している分の画像データを要求する。
【０１０１】
本実施の形態４では、キャッシュメモリには、画像のヘッダ部分のデータ７０１、タイル１６〜２１、５６〜６１で囲まれる領域６０２の３６枚のタイルからなり、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ２を構成する図１０（Ｂ）の１００２で示されるデータ群、及びそれ以外のタイルに関しては、図１０（Ａ）の１００１で示されるデータ群がキャッシュされている。従って、ステップＳ８１で取得した表示要求を満たすためには、領域６０１に含まれるタイル３３〜３５，４１〜４３，４９〜５１からなる９枚のタイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３，ｌａｙｅｒ  ２のパケットデータ群７０８が不足しているのでステップＳ８３に進むことになる。
【０１０２】
ステップＳ８３では、これら不足しているデータをサーバ２０４に要求するためのリクエストを作成する。本実施の形態４では、領域６０１に含まれる９枚のタイルのｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３，ｌａｙｅｒ  ２を形成するパケット群７０８を要求するためのリクエストが作成される。次にステップＳ８４に進み、ステップＳ８３で作成したリクエストをサーバ２０４に発行する。次にステップＳ８５に進み、サーバ２０４からのレスポンスデータを受信する。次にステップＳ８６に進み、ステップＳ８５で受信したデータをキャッシュする。そしてステップＳ８７に進み、そのキャッシュしたデータを使って画像の表示処理を行う。これにより、本実施の形態４では、領域６０１がｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ３，ｌａｙｅｒ  ２で表示されることになる。
【０１０３】
また上述の実施の形態におけるキャッシュ方法については、キャッシュされている各パケットデータを個別に削除できるような方法であれば、どのような方法でキャッシュされていても構わない。しかし、どのようなキャッシュ方法であっても、キャッシュ容量を制限以内に抑えることが目的であるため、物理的にデータをメモリ上から削除する必要がある。
【０１０４】
例えば、図２１に示すように、タイル、パケット、コードブロックといったそれぞれのデータの削除単位毎に一つのファイルを形成し、更に、それらを管理する管理ファイルを作成し、キャッシュデータの削除の際には、該当するデータをキャッシュしているファイルを削除し、管理ファイルを更新するといった方法が考えられる。このようなキャッシュ作成方法の場合、物理的にキャッシュデータをキャッシュメモリから容易に削除することが可能である。
【０１０５】
また、図２２（Ａ）の２２０１で示すように、タイル、パケット、コードブロックといった削除単位を複数まとめて一つのファイルで保存する方法でもよい。その場合、一つのファイルでキャッシュデータを管理するため、データの管理が簡単になる反面、削除対象となるデータを消去するためには、図２２（Ｂ）の２２０３で示すように、データを消去した後に物理的に残ってしまう空白部分を削除することが必要になる。従って、図２２の例では、Ｔｉｌｅ  Ｎ，Ｐａｃｋｅｔ  Ｋが保存されていた２２０３に該当するＹ［バイト］分だけ、それ以降のデータを前に移動させる必要がある。
【０１０６】
図２４は、この場合のキャッシュデータ削除処理の流れを説明するフローチャートである。
【０１０７】
まずステップＳ９１で、データを削除するキャッシュのファイル名を保存しておく。例えば、データを削除するキャッシュファイル名が「ａｂｃ．ｉｉｐ２ｋ」であれば、その名称を保存しておく。次にステップＳ９２に進み、Ｔｅｍｐファイルを作成する。このＴｅｍｐファイルが最終的にはキャッシュデータ削除後のファイルとなるのだが、同一の名称を避けるために、例えば「ｔｅｍｐ．ｉｉｐ２ｋ」や「ａｂｃ＿ｔｍｐ．ｉｉｐ２ｋ」というような仮の名前を付けたファイルを作成する。ここでは、「ｔｅｍｐ．ｉｉｐ２ｋ」とする。
【０１０８】
次にステップＳ９３に進み、データを削除したいキャッシュファイルをオープンする。次にステップＳ９４に進み、その削除対象のキャッシュデータまでのオフセット値Ｖと削除データの長さＬを取得する。
【０１０９】
図２２の例では、Ｔｉｌｅ  Ｎ，Ｐａｃｋｅｔ  Ｋのデータを削除したいので、Ｖ＝Ｘ［バイト］，Ｌ＝Ｙ［バイト］となる。次にステップＳ９５に進み、キャッシュファイルの先頭からＶ［バイト］のデータをＴｅｍｐファイルの先頭からコピーする。従って、キャッシュ管理データ２２０４を含めたデータをＴｅｍｐファイルにコピーすることになる。次にステップＳ９６に進み、キャッシュファイルの先頭から（Ｖ＋Ｌ）［バイト］目からキャッシュファイルの終わりまでを、ステップＳ９５でコピーしたＴｅｍｐファイルの後ろにコピーする。次にステップＳ９７に進み、Ｔｅｍｐファイル、キャッシュファイル共にファイルをクローズする。そしてステップＳ９８に進み、キャッシュファイルを削除する。従って、この時点で「ａｂｃ．ｉｉｐ２ｋ」が削除され、Ｔｅｍｐファイルのファイル「ｔｅｍｐ．ｉｉｐ２ｋ」にキャッシュデータが保存されていることになる。次にステップＳ９９に進み、そのＴｅｍｐファイルの名前を、ステップＳ９１で保存したファイル名、例えば、この例では「ａｂｃ．ｉｉｐ２ｋ」に変更する。
【０１１０】
これにより、物理的にファイルサイズを小さくすることが可能である。但し、この方法を取る場合には、ステップＳ９７において、一時的にでもほぼ同じサイズのファイルが２つキャッシュメモリの中に存在することになる。従って、図８のステップＳ１でキャッシュ用メモリ容量からスレッショルド値を決定する際に、この点を考慮し、スレッショルド値として、使用可能なメモリ容量の約半分の値を設定する必要がある。この他にも様々なキャッシュ作成方法が考えられるが、本件の主願ではないので省略する。
【０１１１】
以上説明したように本実施の形態４によれば、キャッシュされた断片的な符号データを効率良く削除することができ、オリジナル画像を閲覧する際に、オリジナル画像の符号データ量と同じ大きさのメモリ容量を必要としない。
【０１１２】
キャッシュされたデータが削除された後、ユーザが再び、そのデータを必要とする表示要求を行った場合でも、少なくともｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，  ｌａｙｅｒ  １のデータが削除されずに保持されているので、データを要求している間に、一時的にキャッシュに保持されているデータをデコードして表示することができる。
【０１１３】
［他の実施の形態］
本発明の目的は前述したように、本実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１１４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【０１１５】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【０１１６】
上述した本実施の形態に係る画像処理装置及びその方法は、以下の実施態様で表わすことが出来る。
【０１１７】
［実施態様１］  符号化された画像データを断片的に入力しキャッシュして再生する画像処理方法であって、
画像の注目領域を特定する注目領域特定工程と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定工程と、
前記判定工程で越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定工程と、
前記注目領域特定工程で特定された注目領域から削除する単位領域までの距離を測定する距離測定工程と、
前記注目領域と前記距離測定工程で測定された前記距離に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定工程と、
前記削除領域決定工程で決定された前記削除領域に含まれるキャッシュデータを削除する削除工程と、
を有することを特徴とする画像処理方法。
【０１１８】
［実施態様２］  符号化された画像データを断片的に入力しキャッシュして再生する画像処理方法であって、
画像の注目領域を特定する注目領域特定工程と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定工程と、
前記判定工程で越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定工程と、
前記画像データを構成する単位領域の使用状況を管理するアクセス時間管理工程と、
前記注目領域と前記使用状況に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定工程と、
前記削除領域決定工程で決定された前記削除領域に含まれるキャッシュデータを削除する削除工程と、
を有することを特徴とする画像処理方法。
【０１１９】
［実施態様３］  前記判定工程では、前記画像データをキャッシュするキャッシュメモリの残量と、前記変更された注目領域を表示するためのデータ量とに基づいて前記キャッシュメモリの許容量を越えるかどうかを判定することを特徴とする実施態様１又は２に記載の画像処理装置。
【０１２０】
［実施態様４］  前記画像データはＩＳＯ／ＩＥＣ−１５４４４に準拠したＪＰＥＧ２０００符号化データであることを特徴とする実施態様１乃至３のいずれか１項に記載の画像処理方法。
【０１２１】
［実施態様５］  前記画像データは、ＪＰＥＧ２０００の断片化されたパケット単位に入力されることを特徴とする実施態様４に記載の画像処理方法。
【０１２２】
［実施態様６］  前記単位領域は、ＪＰＥＧ２０００のタイルに相当することを特徴とする実施態様４に記載の画像処理方法。
【０１２３】
［実施態様７］  前記削除工程では、パケット単位で削除することを特徴とする実施態様４又は５に記載の画像処理方法。
【０１２４】
［実施態様８］  前記削除工程では、前記削除領域のｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のパケットを除く全てのパケットのデータを削除することを特徴とする実施態様４又は５に記載の画像処理方法。
【０１２５】
［実施態様９］  前記単位領域は、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １を除くパケットであり、パケット単位で選択し１回以上数回に分けて削除されることを特徴とする実施態様８に記載の画像処理方法。
【０１２６】
［実施態様１０］  前記単位領域は、ＪＰＥＧ２０００のプリシンクト（ｐｒｅｃｉｎｃｔ）であることを特徴とする実施態様４又は５に記載の画像処理方法。
【０１２７】
［実施態様１１］  前記プリシンクトは、前記削除工程でパケット単位に削除されることを特徴とする実施態様１０に記載の画像処理方法。
【０１２８】
［実施態様１２］  前記単位領域は、ＪＰＥＧ２０００のコードブロック（ｃｏｄｅ−ｂｌｏｃｋ）であることを特徴とする実施態様４又は５に記載の画像処理方法。
【０１２９】
［実施態様１３］  前記単位領域は、同じｒｅｓｏｌｕｔｉｏｎ、同じｌａｙｅｒを構成するために必要なサブバンドからＬＬ成分を除いたデータから構成されるｃｏｄｅ−ｂｌｏｃｋのデータであることを特徴とする実施態様１２に記載の画像処理方法。
【０１３０】
［実施態様１４］  符号化された画像データを断片的に入力しキャッシュして再生する画像処理装置であって、
画像の注目領域を特定する注目領域特定手段と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定手段と、
前記判定手段により越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定手段と、
前記注目領域特定手段により特定された注目領域から削除する単位領域までの距離を測定する距離測定手段と、
前記注目領域と前記距離測定手段により測定された前記距離に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定手段と、
前記削除領域決定手段により決定された前記削除領域に含まれるキャッシュデータを削除する削除手段と、
を有することを特徴とする画像処理装置。
【０１３１】
［実施態様１５］  符号化された画像データを断片的に入力しキャッシュして再生する画像処理装置であって、
画像の注目領域を特定する注目領域特定手段と、
前記注目領域が変更されることにより、前記画像データをキャッシュしているキャッシュデータ量がキャッシュメモリの許容量を越えるかどうかを判定する判定手段と、
前記判定手段により越えると判定されると前記キャッシュメモリに格納されているキャッシュデータから削除すべきデータ量を求める削除データ量決定手段と、
前記画像データを構成する単位領域の使用状況を管理するアクセス時間管理手段と、
前記注目領域と前記使用状況に基づいて、キャッシュデータからデータを削除する削除領域を前記単位領域を単位として決定する削除領域決定手段と、
前記削除領域決定手段により決定された前記削除領域に含まれるキャッシュデータを削除する削除手段と、
を有することを特徴とする画像処理装置。
【０１３２】
［実施態様１６］  前記判定手段では、前記画像データをキャッシュするキャッシュメモリの残量と、前記変更された注目領域を表示するためのデータ量とに基づいて前記キャッシュメモリの許容量を越えるかどうかを判定することを特徴とする実施態様１４又は１５に記載の画像処理装置。
【０１３３】
［実施態様１７］  前記画像データはＩＳＯ／ＩＥＣ−１５４４４に準拠したＪＰＥＧ２０００符号化データであることを特徴とする実施態様１４乃至１６のいずれか１項に記載の画像処理装置。
【０１３４】
［実施態様１８］  前記画像データは、ＪＰＥＧ２０００の断片化されたパケット単位に入力されることを特徴とする実施態様１７に記載の画像処理装置。
【０１３５】
［実施態様１９］  前記単位領域は、ＪＰＥＧ２０００のタイルに相当することを特徴とする実施態様１７に記載の画像処理装置。
【０１３６】
［実施態様２０］  前記削除手段は、パケット単位で削除することを特徴とする実施態様１７又は１８に記載の画像処理装置。
【０１３７】
［実施態様２１］  前記削除手段は、前記削除領域のｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のパケットを除く全てのパケットのデータを削除することを特徴とする実施態様１７又は１８に記載の画像処理装置。
【０１３８】
［実施態様２２］  前記単位領域は、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １を除くパケットであり、パケット単位で選択し１回以上数回に分けて削除されることを特徴とする実施態様２０に記載の画像処理装置。
【０１３９】
［実施態様２３］  前記単位領域は、ＪＰＥＧ２０００のプリシンクト（ｐｒｅｃｉｎｃｔ）であることを特徴とする実施態様１７又は１８に記載の画像処理装置。
【０１４０】
［実施態様２４］  前記プリシンクトは、前記削除手段でパケット単位に削除されることを特徴とする実施態様２３に記載の画像処理装置。
【０１４１】
［実施態様２５］  前記単位領域はＪＰＥＧ２０００のコードブロック（ｃｏｄｅ−ｂｌｏｃｋ）であることを特徴とする実施態様１７又は１８に記載の画像処理装置。［実施態様２６］  前記単位領域は、同じｒｅｓｏｌｕｔｉｏｎ、同じｌａｙｅｒを構成するために必要なサブバンドからＬＬ成分を除いたデータから構成されるｃｏｄｅ−ｂｌｏｃｋのデータであることを特徴とする実施態様２５に記載の画像処理装置。
【０１４２】
以上説明したように本実施の形態によれば、キャッシュされた断片的な符号データを効率よく削除することができ、サーバ側にあるオリジナル画像を閲覧する際に、オリジナル画像の符号データ量と同じ大きさのメモリ容量を必要としない。また、注目領域を特定し、そこからの空間的に遠いタイル、或いは、現在の時刻から表示された最後の時間が時間的に遠いタイルを削除対象とするため、複雑な計算を必要としない。
【０１４３】
更に、キャッシュデータ削除の際に、ｒｅｓｏｌｕｔｉｏｎ  ｌｅｖｅｌ  ０，ｌａｙｅｒ  １のデータを必ず残しておくことにより、ユーザの要求がキャッシュされているデータよりも高解像度、高ＳＮＲであり、不足分のデータをサーバ側からダウンロードする場合にも、キャッシュされているデータを利用して、低解像度・低ＳＮＲの画像を一時的に表示することも可能であるという利点がある。
【０１４４】
【発明の効果】
以上説明したように本発明によれば、キャッシュしている符号化された画像データの内、再生画像に影響の少ないキャッシュデータを削除してキャッシュにおけるデータのオーバフローを防止しながらユーザの要求に応じた表示を行うことができるという効果がある。
【図面の簡単な説明】
【図１】本実施の形態に係るクライアントやサーバの構成を説明するブロック図である。
【図２】本実施の形態に係るネットワークの概略を説明する図である。
【図３】一般的なＪＰＥＧ２０００の符号化データを説明する図である。
【図４】ＪＰＥＧ２０００の符号化データにおける解像度（画像サイズ）とＲｅｓｏｌｕｔｉｏｎ番号との関係を示す図である。
【図５】パケット単位のリクエストおよびレスポンスの概念図を示す図である。
【図６】オリジナル画像の各階層のデータ構造を説明する図である。
【図７】本実施の形態に係るサーバに保存されているＪＰＥＧ２０００符号化データを説明する図である。
【図８】本発明の実施の形態１に係る符号化データのキャッシュを説明するフローチャートである。
【図９】図８のステップＳ５のキャッシュデータの削除処理を示すフローチャートである。
【図１０】本実施の形態に係るクライアントにおけるタイルのキャッシュデータの一例を示す図である。
【図１１】図９のステップＳ１３のキャッシュデータの削除領域Ｒの取得処理を示すフローチャートである。
【図１２】実施の形態１に係るデータ削除領域Ｒの取得アルゴリズムを説明する図である。
【図１３】本実施の形態に係る、キャッシュデータを削除する順番を決定する方法（ステップＳ１４：図９）を説明するフローチャートである。
【図１４】実施の形態に係る削除領域Ｒのタイルデータがキャッシュされている状態を説明する図である。
【図１５】本発明の実施の形態２に係る削除処理を説明するフローチャートである。
【図１６】実施の形態２に係る削除領域Ｒにおけるデータ削除後のキャッシュデータの一例を示す図である。
【図１７】本発明の実施の形態３に係る管理テーブルの作成処理を説明するフローチャートである。
【図１８】ＪＰＥＧ２０００のメインヘッダ内のＳＩＺマーカを説明する図である。
【図１９】本発明の実施の形態３に係るアクセス管理テーブルの一例を説明する図である。
【図２０】実施の形態３に係る図１７のステップＳ６８のキャッシュ制御処理を示すフローチャートである。
【図２１】本発明の実施の形態４に係るキャッシュ管理用ファイルを説明する図である。
【図２２】本発明の実施の形態４に係るキャッシュ管理データとキャッシュデータの削除を説明する図である。
【図２３】本発明の実施の形態４に係るユーザからサーバへの表示要求に伴う処理の概要を説明するフローチャートである。
【図２４】本発明の実施の形態４に係るキャッシュデータの削除処理を説明するフローチャートである。
【図１】
2004153562.tif 000003
【図２】
2004153562.tif 000004
【図３】
2004153562.tif 000005
【図４】
2004153562.tif 000006
【図５】
2004153562.tif 000007
【図６】
2004153562.tif 000008
【図７】
2004153562.tif 000009
【図８】
2004153562.tif 000010
【図９】
2004153562.tif 000011
【図１０】
2004153562.tif 000012
【図１１】
2004153562.tif 000013
【図１２】
2004153562.tif 000014
【図１３】
2004153562.tif 000015
【図１４】
2004153562.tif 000016
【図１５】
2004153562.tif 000017
【図１６】
2004153562.tif 000018
【図１７】
2004153562.tif 000019
【図１８】
2004153562.tif 000020
【図１９】
2004153562.tif 000021
【図２０】
2004153562.tif 000022
【図２１】
2004153562.tif 000023
【図２２】
2004153562.tif 000024
【図２３】
2004153562.tif 000025
【図２４】
2004153562.tif 000026